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@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html