[PATCH] Enable dhcpcd instead of dhclient



Hi List!

I'm the author of dhcpcd [1] (v3 and v4) and I'd like NetworkManager to use
it instead of dhclient. Well, at least make optional :)

Pros (dhcpcd-4)
small (55k vs 380k)
Compatible with most dhclient scripts
All configurables are tunable from the commandline (hostname, clientid,
etc)
As of dhcpcd-4.0.0-rc1 (hopefully out today), passes Apples Bonjour IPv4LL
conformance test (provided a link daemon signals dhcpcd about link change).
Supports ethernet, firewire and InfiniBand.
Supports Domain Search, Classless Static Routes and Node Specific Client
Indentifiers which I'm pretty sure no other dhcp client does.

Cons
Currently no IPv6 support as found in dhclient-4 (but it planed at some
point)
Only supports Linux and BSD based systems.
Doesn't support Token Ring, FDDI, etc.

OK, that's the sell.

I've created a patch (attached) that splits the dhclient specific portion
of nm-dhcp-manager.c out into nm-dhcp-dhclient.c and created
nm-dhcp-dhcpcd.c.
The immediate benefits are obvious - no munging of a config file and
smaller, more manageable code.

The selection of dhcp client has been autotooled, and detects wether the
client in question is supported by NetworkManager. Also, the path to the
client is now hardcoded at compile time. This is important, as OpenBSD and
FreeBSD have their in house dhclient with an in-compatible command line to
the ISC one. Luckily the ISC dhclient can be found in their pkgsrc / ports
sytems which the autotool should pickup. Also, dhcpcd versions prior to 4
won't work with NetworkManager at all.

Please apply this to NetworkManager :)

Thanks

Roy

[1] http://roy.marples.name/dhcpcd



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]