[systemd-devel] systemd-networkd questions

Marcel Holtmann marcel at holtmann.org
Wed Nov 13 14:06:46 PST 2013


Hi Bill,

>> Without criticizing any of the existing solutions, some of the things
>> that motivated my interest in this is that I think we need: something
>> easily configured via plain configuration files by a sysadmin,
>> something that would take a limited amount of space (including its
>> dependencies) so it could be reasonably used in an initrd, something
>> which would be fast/efficient, so not e.g. calling out to external
>> tools/daemons for stuff like dhcp/ipv4ll.
> 
> On this specific point... are you *sure* you want to be rewriting a
> dhcp/dhcpv6 client?

yes, we want to do exactly that.

> (I ask, because we've gone through at least three over history here, and
> dealing with the assorted corner cases between vendors and configuration
> bits required would seem to make it one area not worth trying to reinvent.)

I wonder who this magical we is in this statement ;)

Speaking from ConnMan history, we actually went through the whole process of fork+exec of dhclient/udhcpc/autoipd for a period of time. But really early on, it was clear that this is not acceptable. Just spawning external processes and hoping for the best is not an approach that is sustainable. The state machine is way more complex and they are interdependencies between them.

For example just the simple case of DHCPv4 and IPv4-LL is something you need to run through a single state machine to get this working as it is suppose to be. Inside ConnMan we actually got this right since they guys running the Nao robots are using this heavily. Or have a look at DHCPv6 and prefix delegation. Having to spawn 3 instances of dhclient to get your local network configured is just crazy. None of these clients are synchronized with each other. Also just the simple fact of setting up 6to4 as fallback are these tiny details you want to account for.

Since a little over 2 years, ConnMan is running its own DHCP client and server. It runs in commercial devices like the Nest and other devices. It is significant more stable, more feature complete and faster. I presented our numbers at LinuxCon Vancouver a few years back. Look it up if you are interested.

Regards

Marcel



More information about the systemd-devel mailing list