Allow udhcp to not send a clientid

Alkis Georgopoulos alkisg at gmail.com
Wed Apr 14 20:41:14 UTC 2010


Hi all,

I face the following problem with udhcpc: it always sends a clientid,
even if I specify --clientid=''.
Afaik the dhcp specs say that the client may or may not send a clientid,
but if it does, it must always send the same id.

The problem begins when other dhcp clients are used on the same PC. For
example, when a PC PXE-boots, it may get the following IPs:
 * 192.168.0.20 for the first PXE request,
 * 192.168.0.20 for the udhcpc request

OK so far. But if we reboot the PC, it now may get:
 * 192.168.0.21 for the PXE request because .20 is reserved for the
specific clientid that udhcpc sent before,
 * 192.168.0.21 for the udhcpc request

And if we reboot it one more time:
 * 192.168.0.22 for the PXE request because .21 is reserved for the
specific clientid that udhcpc sent before,
 * 192.168.0.22 for the udhcpc request,

etc, quickly exhausting the available lease range.

Dhclient, ipconfig and the intel PXE stack in my nic do not send a
clientid, and no lease problem occurs (I observed that
in /var/lib/dhcp3/dhcpd.leases). Is it possible to modify udhcpc so that
it also does not send a clientid? Or at least so that it doesn't send it
when --clientid='' is specified?
(sending an empty clientid is very different than not sending a clientid
at all).

I can propose a patch for this if it's an acceptable way to solve the
problem.

Kind regards,
Alkis Georgopoulos



More information about the busybox mailing list