Possible DHCP bug with sending ping after ACK

Shaun Louie sal at microplex.com
Tue Dec 2 23:13:21 UTC 2008


I've downloaded, built, and installed DHCP server software version 4.0.0 
on Fedora 5 and 6 systems.  When a client device performs DHCP 
discovery, the server will usually send the ICMP ping request 
immediately after the DHCP ACK (see attached WireShark capture file).  I 
took a look at the code, and the ping is supposed to be sent before the 
DHCP OFFER to check if other devices on the network are using the IP 
address.  I added some log_info calls to make sure icmp_echorequest was 
being called before the OFFER was sent, and it was.  I've observed that 
the DHCP OFFER is sent immediately after the DISCOVER arrives (doesn't 
wait for ping timeout), which may be blocking the ping from being sent 
(separate socket).  I'm not sure, but this could cause problems if the 
device being configured with an IP responds to the ping sent after the 
ACK.  The DHCP server may cancel the lease or something else equally as bad.

The solution to this problem might be finding out why the OFFER doesn't 
wait for the ping timeout.  This might be an easy fix for someone that's 
more familiar with the code than I am.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: dhcp.cap
Type: application/octet-stream
Size: 2164 bytes
Desc: not available
URL: <https://lists.isc.org/pipermail/dhcp-workers/attachments/20081202/ae38d5a1/attachment.obj>

More information about the dhcp-workers mailing list