From 61e505c685222027d23a21535fc5dfcc33f63614 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Tue, 14 Sep 2021 14:42:48 +0200 Subject: [dhcpc-busybox] Fix udev activation of interface/dhcp service Or rather, work around unknown issue. --- .../dhcpc-busybox/data/etc/udev/rules.d/99-openslx-net.rules | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'core/modules/dhcpc-busybox') diff --git a/core/modules/dhcpc-busybox/data/etc/udev/rules.d/99-openslx-net.rules b/core/modules/dhcpc-busybox/data/etc/udev/rules.d/99-openslx-net.rules index 17c0068c..8aa11f0d 100644 --- a/core/modules/dhcpc-busybox/data/etc/udev/rules.d/99-openslx-net.rules +++ b/core/modules/dhcpc-busybox/data/etc/udev/rules.d/99-openslx-net.rules @@ -1 +1,8 @@ -ACTION=="add", SUBSYSTEM=="net", KERNEL=="br0|br-nic-*", TAG+="systemd", ENV{SYSTEMD_ALIAS}="/sys/subsystem/net/devices/$name", ENV{SYSTEMD_WANTS}="network-interface@$name.service" +# This doesn't reliably trigger. It's a rare race condition, on some machines it always works, on others it's +# maybe a 1:20 chance it doesn't work. Apparently udev tries to remember whether a device was already handled +# by systemd and ignores further add events. So if you think this problem doesn't exist anymore, make sure +# you're not just lucky and not hitting this issue, and also make sure you understand what the initial problem +# was. I assume it's something to with switching from initrd to final root, but this isn't worth the effort tbh. +#ACTION=="add", SUBSYSTEM=="net", KERNEL=="br0|br-nic-*", TAG+="systemd", ENV{SYSTEMD_ALIAS}="/sys/subsystem/net/devices/$name", ENV{SYSTEMD_WANTS}="network-interface@$name.service" +# So use a more crude approach that triggers every time (consecutive invocations shouldn't do anything) +ACTION=="add", SUBSYSTEM=="net", KERNEL=="br0|br-nic-*", RUN+="/usr/bin/systemctl --no-block start network-interface@$name.service" -- cgit v1.2.3-55-g7522