Differences from ISC

There are a number of differences between the OpenBSD dhclient and the ISC one. The most visable one is that the OpenBSD client runs a seperate instance for each interface and the ISC client runs one per system. The OpenBSD model is much easer to write startup scripts for, but somewhat harder to handle when you have multiple interfaces. This also leads to higher startup delay.

Another major change is that instead of polling for status, dhclient listens on the routing socket for link state change and 802.11 associate/deassociate messages. This means that the link state messages need to be correct and useful. Unfortunatly, this code appears to be very poorly tested and often quite broken.

There are other differences that should be summarized at some point in the future.

Integration issues

Integration into the startup process has been less smooth than initially anticipated. This section exists to document known issues.

Issue

Status

Last Update

dhclient eats CPU

Fixed in HEAD.

20050728

default route selection is arbitrary

known issue

20050727

reports of random dhclient deaths

probably link state related. The only cases I can confirm are related to wireless bugs where reassociation doesn't happen properly once an AP hasn't associated correctly. Sam is working on this issue and has committed a partial patch. May also be related to CPU eating bug. There was ample opertunity for walking off the end of buffers.

2005728

Poor behavior when moving between interfaces on the same network

known issue, solution may be difficult, particularly if it is going to work before /usr exists

20050727

NUL-terminated host-name fields get hex encoded

fixed in HEAD

20050725

server-name (sname) values containing invalid host characters cause leases to be rejected

Restritions removed in HEAD.

20050728

OpenBSD_dhclient (last edited 2008-06-17 21:38:09 by localhost)