dhcpcd no longer sends a ClientID by default

17 Nov 2008 • 2 min read

this is a small commit with big consequences. Basically it means that dhcpcd will no longer send a default ClientID. You have to specify this behavior. This change has been made so that we mirror the lease credentials sent by the in-kernel DHCP client, the ClientID itself is NOT mandatory for ethernet and it turns out some very badly written DHCP servers do not like ANY ClientID.How does this affect you? Well, DHCP leases work by ClientID. Now depending on the DHCP server you may or may not be affected. With ISC dhcp-4, dhcpcd will now get a different lease as ISC dhcp-4 treats a ClientID of the hardware family + address as being different from just using the chaddr field of the DHCP message. With dnsmasq-2.46 you get the same DHCP lease.Is this the right thing to do? Well, yes and no. It's the right thing to do by default in my eyes. This now mirrors the behavior of ISC dhclient, pump and Solaris DHCP client. Interestingly, firewire and infiniband users still get a default ClientID has the RFC's demand it because you cannot fit the hardware address in the DHCP chaddr field.Is the change final? Maybe not - depends on the user backlash I guess.