>>>>> On Thu, 12 Oct 2006 15:46:48 +0200,
>>>>> Klaus Darilion said:


> I tried to test the caching of lame servers in bind9 (9.2.4-1sarge1),
> and reviewing the source code, I came to the conclusion that this
> feature is only used as long as there is at least on authoritative name
> server which is not in the lame-cache. As soon as all authoritative name
> servers of a certain domain are in the "lame" state, bind "restarts" the
> lame settings and tries again although all servers are marked as lame.


> Is my conclusion correct?


That's basically correct.

> If yes, is there an option to change this behavior (if all servers are
> marked as lame bind should not try at all)?


Not with 9.2.4, but BIND 9.4 caches the lame information per
and doesn't try any lame server (whether or not
there is a non-lame server):

1880. [func] The lame cache is now done on a
basis as some servers only appear to be lame for
certain query types. [RT #14916]

I think this implements what you want to see.

(Note: the behavior in 9.2.4 made sense because there are known
(broken) nameservers that behave as being lame only for certain query
types. See Section 2.2 of draft-ietf-dnsop-bad-dns-res-06.txt)

> Further, I not only want to cache lame name servers, but also name
> servers which are down. Is this possible?


Not exactly, but the fact that a server is down is cached as
a penalized RTT, which makes that server less preferred in subsequent
server selection.

JINMEI, Tatuya
Communication Platform Lab.
Corporate R&D Center, Toshiba Corp.
jinmei@isl.rdc.toshiba.co.jp