dhcpd ddns request 1 sec timeout

David W. Hankins David_Hankins at isc.org
Mon Jan 8 18:01:06 UTC 2007


On Sat, Jan 06, 2007 at 04:50:06PM +0900, Seiji T wrote:
> > The dhcp server is single threaded, so it blocks while the dns update
> > is done. If it waits too long it may miss other incoming dhcp requests.
> 
> I understand that but then, why is 1 sec okay and not 2 sec? Why not 500 msec?

The ddns routines use a stripped-down version of the BIND 8 "libres"
resolver library, you'll find it in the DHCP source tarball's "minires/"
subdirectory.

The BIND 8 libres uses a structure for configurable values such as
numbers of retries and timeouts, and is granular to seconds.

client/dhclient.c:              minires_ninit (&resolver_state);
client/dhclient.c:              resolver_state.retrans = 1;
client/dhclient.c:              resolver_state.retry = 1;
common/tree.c:                  minires_ninit (&resolver_state);
common/tree.c:                  resolver_state.retrans = 1;
common/tree.c:                  resolver_state.retry = 1;
server/ddns.c:          minires_ninit (&resolver_state);
server/ddns.c:          resolver_state.retrans = 1;
server/ddns.c:          resolver_state.retry = 1;
server/ddns.c:          minires_ninit (&resolver_state);
server/ddns.c:          resolver_state.retrans = 1;
server/ddns.c:          resolver_state.retry = 1;


Asynchronous DDNS updates are on our to-do list, at which point
we'll probably return to classic DNS defaults and resume retries.

-- 
David W. Hankins	"If you don't do it right the first time,
Software Engineer		you'll just have to do it again."
Internet Systems Consortium, Inc.	-- Jack T. Hankins


More information about the dhcp-users mailing list