Thread (1 message) 1 message, 1 author, 2015-03-09

Re: [PATCH] resolver.3: documents missing options used by _res structure defined in resolv.h and indicates defaults options

From: Stéphane Aulery <hidden>
Date: 2015-03-09 07:54:56

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:
quoted
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.
quoted
quoted
quoted
+.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:
quoted
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.

-- 
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help