Is there a reason the reboot timeout is so long?

Here's what I observe. I connect to one network and get a lease. Later, I
connect to a different network. dhclient then spends an annoyingly long time
doing this:

DHCPREQUEST on iwm0 to 255.255.255.255
DHCPREQUEST on iwm0 to 255.255.255.255
DHCPREQUEST on iwm0 to 255.255.255.255
DHCPREQUEST on iwm0 to 255.255.255.255

Finally it gives up, and reverts to discover:

DHCPDISCOVER on iwm0 - interval 3

At which point I immediately get an offer, request, and ack.

In theory, the server should perhaps nack the request, but in pratice, dhcp
servers don't do that. Instead we wait for a very long timeout.

Reducing the timeout makes things go much smoother when switching networks,
but doesn't seem to have any ill effect when renewing on the same network.

Index: clparse.c
===================================================================
RCS file: /cvs/src/sbin/dhclient/clparse.c,v
retrieving revision 1.94
diff -u -p -r1.94 clparse.c
--- clparse.c   6 Feb 2016 19:30:52 -0000       1.94
+++ clparse.c   1 Jun 2016 19:30:16 -0000
@@ -86,7 +86,7 @@ read_client_conf(void)
        config->link_timeout = 10;
        config->timeout = 60;
        config->select_interval = 0;
-       config->reboot_timeout = 10;
+       config->reboot_timeout = 1;
        config->retry_interval = 300;
        config->backoff_cutoff = 15;
        config->initial_interval = 3;

Reply via email to