From: "Stéphane Aulery" <saulery-GANU6spQydw@public.gmane.org>
To: "Michael Kerrisk (man-pages)"
<mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: 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, 9 Mar 2015 11:38:53 +0100 [thread overview]
Message-ID: <20150309103853.GA10262@free.fr> (raw)
In-Reply-To: <54FD6CC3.1000706-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Le lundi 09 mars 2015 à 10:49:55, Michael Kerrisk (man-pages) a écrit :
> 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 :
> >
> >>>>> +.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:
> >>>
> >>> 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.
Thank you for your help.
> 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.
Options not implemented are explicitly mentioned. [1]
So for me it is.
I propose:
Send each query simultaneously and recursively to all servers.
[1] https://sourceware.org/git/?p=glibc.git;a=blob;f=resolv/res_debug.c;hb=95f386609f378063b35e0c4ede8c2d2ceea91f51#l564
Regards,
--
Stéphane Aulery
--
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
next prev parent reply other threads:[~2015-03-09 10:38 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)
[not found] ` <54FD6CC3.1000706-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-03-09 10:38 ` Stéphane Aulery [this message]
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=20150309103853.GA10262@free.fr \
--to=saulery-ganu6spqydw@public.gmane.org \
--cc=527136-forwarded-61a8vm9lEZVf4u+23C9RwQ@public.gmane.org \
--cc=linux-man-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w@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).