From: | "Pavel Kankovsky" <peak@argo.troja.mff.cuni.cz> |
To: | dhcp-bugs@isc.org |
Subject: | Zero delay between DHCPDECLINE a DHCPDISCOVER |
Date: | Mon, 26 Jun 2017 14:23:06 +0200 (CEST) |
The client in ISC DHCP 4.3.5 (and probably in older versions) does not
wait between sending DHCPDECLINE (bind_lease() in client/dhclient.c) and
sending DHCPDISCOVER (state_init() in client/dhclient.c).
If the call of script_go() in bind_lease() keeps failing (e.g. when
somethings breaks in dhclient-script), the client will spin in a
DHCPDISCOVER-DHCPDISCOVER-DHCPDECLINE loop as quickly (and as long) as
the server can respond.
RFC 2131 says clients should wait at least 10 seconds between DHCPDECLINE
and DHCPDISCOVER. See page 16:
[...] If the client detects that the address is already in use (e.g.,
through the use of ARP), the client MUST send a DHCPDECLINE message
to the server and restarts the configuration process. The client
SHOULD wait a minimum of ten seconds before restarting the
configuration process to avoid excessive network traffic in case of
looping.
--
Pavel Kankovsky aka Peak "Que sçay-je?"