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 |