On 02/02/2018 12:24, Riccardo Mottola wrote:
does dhpcd share code/features with dhcpcd found on other systems beyond
Every feature bar one found in ISC dhclient can be found in dhcpcd.
The one missing feature is the ability of the DHCP client to directly
update a DNS server with it's FQDN/hostname. My view is that this is
best left to the DHCP server to handle the update as frequently both are
on the same machine and thus no extra security is needed.
dhcpcd also supports a very similar script environment - most of the
variables have the same name and format.
No code is shared at all between the two projects.
Do you have any details on why dhcpcd failed and how dhclient worked,
like say packet captures?
I can probably guess though - some DHCP servers only work when the
client id is in a format they know. However, this is not RFC
compliant. Luckily dhcpcd can be configured to sent a client id the
DHCP server does like, but this is not out of the box config, but is
documented in said config.
Likewise dhclient doesn't work on links where a clientid is required
out of the box.
I too essentially always use dhclient, it works, while I had issues with
dhpcd. I have not yet a situation where the opposite true, but I am not
doubting there are.
dhcpcd not working where the others work has another unpleasant side
effect: not working during the installer.
I will see if I can find again a network where dhpcd fails.. I hope it
was like at home, at the office or at my parents, so it is something
easily to reproduce. If it is a network on a customer's site I might not
have access to it anymore.. who knows which one it was!
One thing I did not try at the time is to see if it was a purely dhcp
issue or also network card depndent (e.g. wireless would work, wired
not). I think to remember that fiddling with the media type helped on
the wired network, but I might confusing the issues and in any case
dhclient "did all the magic" dhcpcd not :)
I don't think dhclient does anything special with the media.
I will say that we have a PR where dhcpcd fails during the installer and
dhclient works, but this turned out to be a hardware failure with the
carrier detection. Swapping out the faulty hardware made the problem go
away. dhcpcd is very sensitive to carrier up/down events.
This has improved a lot in NetBSD-8 thanks to moving IPv4 DaD from
dhcpcd into the kernel which allows dhcpcd to maintain the lease on the
interface if the link flaps and still be a good network citizen.