6964abef83
it to configure the interface. When the script is complete, dhclient monitors the routing socket and will terminate if its address is deleted or if its interface is removed or brought down. Because the routing socket is already open when dhclient-script is run, dhclient ignores address deletions for 10 seconds after the script was run. If the address that will be obtained is already configured on the interface before dhclient starts, and if dhclient-script takes more than 10 seconds (perhaps due to dhclient-*-hooks latencies), on script completion, dhclient will immediately and silently exit when it sees the RTM_DELADDR routing message resulting from the script reassigning the address to the interface. This change logs dhclient's reason for exiting and also changes the 10 second timeout to be effective from completion of dhclient-script rather than from when it was started. We now ignore RTM_DELADDR and RTM_NEWADDR messages when the message contains no interface address (which should not happen) rather than exiting. Not reviewed by: brooks (timeout) MFC after: 3 weeks |
||
---|---|---|
.. | ||
alloc.c | ||
bpf.c | ||
clparse.c | ||
conflex.c | ||
convert.c | ||
dhclient-script | ||
dhclient-script.8 | ||
dhclient.8 | ||
dhclient.c | ||
dhclient.conf | ||
dhclient.conf.5 | ||
dhclient.leases.5 | ||
dhcp-options.5 | ||
dhcp.h | ||
dhcpd.h | ||
dhctoken.h | ||
dispatch.c | ||
errwarn.c | ||
hash.c | ||
inet.c | ||
Makefile | ||
options.c | ||
packet.c | ||
parse.c | ||
privsep.c | ||
privsep.h | ||
tables.c | ||
tree.c | ||
tree.h |