linux-man.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Michael Kerrisk (man-pages)" <mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: "Stéphane Aulery" <saulery-GANU6spQydw@public.gmane.org>
Cc: mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
	527136-forwarded-61a8vm9lEZVf4u+23C9RwQ@public.gmane.org,
	linux-man-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCH] resolver.3: documents missing options used by _res structure defined in resolv.h and indicates defaults options
Date: Mon, 09 Mar 2015 10:49:55 +0100	[thread overview]
Message-ID: <54FD6CC3.1000706@gmail.com> (raw)
In-Reply-To: <20150309075456.GA1253-GANU6spQydw@public.gmane.org>

On 03/09/2015 08:54 AM, Stéphane Aulery wrote:
> Le lundi 09 mars 2015 à 08:24:38, Michael Kerrisk (man-pages) a écrit :
>> Hello Stéphane,
>>
>> On 03/08/2015 01:03 PM, Stéphane Aulery wrote:
>>> Hi Michael,
>>>
>>> I made another patch with all your remarks.
>>
>> Did you send it already. (No hurry--it's just that I wonder if I missed it.)
> 
> I was waiting your answers to the question bellow before.
> 
>>>>> +.B RES_BLAST
>>>>> +When resolvers want to even out the load on their nameservers, following
>>>>> +them. 
>>>>
>>>> I do not understand that last sentence. Could you clarify please.
>>>
>>> I must admit that it's not clear to me either. I think this means that
>>> server alias are swapped between each request. I have wrong? The word
>>> "blast" leaves me skeptical.
>>>
>>> What I found in code source:
>>>
>>> >From resolv.h:
>>>
>>> #define RES_BLAST       0x00020000      /* blast all recursive servers */
>>>
>>> Form res_send.c
>>>
>>> /*
>>> * Some resolvers want to even out the load on their nameservers.
>>> * Note that RES_BLAST overrides RES_ROTATE.
>>> */
>>> if (__builtin_expect ((statp->options & RES_ROTATE) != 0, 0) &&
>>>    (statp->options & RES_BLAST) == 0) {
>>>       struct sockaddr_in6 *ina;
>>>       unsigned int map;
>>>
>>>       n = 0;
>>>       while (n < MAXNS && EXT(statp).nsmap[n] == MAXNS)
>>>          n++;
>>>       if (n < MAXNS) {
>>>          ina = EXT(statp).nsaddrs[n];
>>>          map = EXT(statp).nsmap[n];
>>>          for (;;) {
>>>             ns = n + 1;
>>>             while (ns < MAXNS
>>>                && EXT(statp).nsmap[ns] == MAXNS)
>>>                ns++;
>>>             if (ns == MAXNS)
>>>                break;
>>>             EXT(statp).nsaddrs[n] = EXT(statp).nsaddrs[ns];
>>>             EXT(statp).nsmap[n] = EXT(statp).nsmap[ns];
>>>             n = ns;
>>>          }
>>>          EXT(statp).nsaddrs[n] = ina;
>>>          EXT(statp).nsmap[n] = map;
>>>       }
>>> }
>>
>> Okay -- I leave it to your discretion to choose what to do here.
> 
> No please, I need your help.

Sorry -- the code is not clear to me, and I don't have the time 
to investigate deeper.

Google turns up this detail from the O'Reilly DNS and BIND
book:

    "Blast" all recursive servers by sending queries to 
    the simultaneously. Not implemented yet.

The first sentence makes sense. I'm not sure whether
the second is true for glibc or not. But, I just grepped
the entire C source code for Fedora 20, and found no users 
of RES_BLAST, so indeed maybe it is not implemented.

Thanks,

Michael



-- 
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Linux/UNIX System Programming Training: http://man7.org/training/
--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  parent reply	other threads:[~2015-03-09  9:49 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20090505194602.GA7897@cavendish.icomputing.pl>
     [not found] ` <20090505194602.GA7897-5yFI+unmBBOGLCdkNPoglKYQbZ+eox6S@public.gmane.org>
2015-03-07 20:58   ` [PATCH] resolver.3: documents missing options used by _res structure defined in resolv.h and indicates defaults options Stéphane Aulery
     [not found]     ` <1425761903-22748-1-git-send-email-saulery-GANU6spQydw@public.gmane.org>
2015-03-08  8:20       ` Michael Kerrisk (man-pages)
     [not found]         ` <54FC0642.6050800-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-03-08 12:03           ` Stéphane Aulery
     [not found]             ` <20150308120348.GB2050-GANU6spQydw@public.gmane.org>
2015-03-09  7:24               ` Michael Kerrisk (man-pages)
     [not found]                 ` <54FD4AB6.3090102-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-03-09  7:54                   ` Stéphane Aulery
     [not found]                     ` <20150309075456.GA1253-GANU6spQydw@public.gmane.org>
2015-03-09  9:49                       ` Michael Kerrisk (man-pages) [this message]
     [not found]                         ` <54FD6CC3.1000706-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-03-09 10:38                           ` Stéphane Aulery
2015-03-09 20:44                           ` Stéphane Aulery
     [not found]                             ` <1425933851-16360-1-git-send-email-saulery-GANU6spQydw@public.gmane.org>
2015-03-10  6:12                               ` Michael Kerrisk (man-pages)
2015-03-10 10:46                               ` walter harms
     [not found]                                 ` <54FECB89.5000401-fPG8STNUNVg@public.gmane.org>
2015-03-10 23:33                                   ` Stéphane Aulery

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=54FD6CC3.1000706@gmail.com \
    --to=mtk.manpages-re5jqeeqqe8avxtiumwx3w@public.gmane.org \
    --cc=527136-forwarded-61a8vm9lEZVf4u+23C9RwQ@public.gmane.org \
    --cc=linux-man-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=saulery-GANU6spQydw@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).