[systemd-devel] Order between systemd-networkd and udev

Zheng, Fam famzheng at amazon.com
Mon Nov 30 21:25:13 UTC 2020


Hi,

Currently in systemd-networkd.service we have

After=... systemd-udevd.service ...

I know the point of it has been for tuntap as pointed out by comments
above, but I do wonder what ensures the ordering of NIC drivers (as
loaded by udevd) against networkd?

In my case I'm running the latest Ubuntu AMI as a guest of Xen (in EC2)
and it has a poor timing that xen_netfront.ko is loaded a bit late by
systemd-udevd, after networkd tries its (netplan) config and find
there's no
eth0.

If we do:

After=... systemd-udev-settle.service ...

then systemd-networkd.service will wait for the drivers to be loaded
and eth0 will appear. My issue will not reproduce.

So it seems to me we failed to synchronize between udev and networkd.

What am I missing?

Thanks,
Fam


More information about the systemd-devel mailing list