Default number of dns retries doubled

Carlos O'Donell carlos@systemhalted.org
Fri Aug 16 14:28:00 GMT 2013


On Fri, Aug 16, 2013 at 7:39 AM, Ángel González <keisial@gmail.com> wrote:
> resolv.conf(5) contains:
>>
>> attempts:n
>>                      sets  the  number  of  times  the resolver will send
>> a query to its name servers before giving up and returning an error to the
>> calling application.  The
>>                      default is RES_DFLRETRY (currently 2, see
>> <resolv.h>).  The value for this option is silently capped to 5.
>
>
> My /usr/include/resolv.h does indeed contain
>>
>> # define RES_DFLRETRY        2    /* Default #/tries. */
>
>
> /etc/resolv.conf only contains two nameserver lines.
>
> However, traffic sniffing shows 8 dns requests before giving up (4 to each
> nameserver).
>
> And a simple program confirms it:
>>
>> #include <resolv.h>
>>
>> int main() {
>>     res_init();
>>     printf("Timeout: %d\n", _res.retrans);
>>     printf("Attempts: %d\n", _res.retry);
>>     return 0;
>> }
>
>
> Output:
>>
>> Timeout: 5
>> Attempts: 4
>
>
> Any idea for this discrepancy?

A lot of reasons...

Is it issuing A and AAAA requests at the same time?

Are you requesting an FQDN and does the resolver have to go through
some redirection?

Cheers,
Carlos.



More information about the Libc-help mailing list