summaryrefslogtreecommitdiffstats
path: root/core/modules/dhcpc-busybox
diff options
context:
space:
mode:
authorSimon Rettberg2021-09-14 14:42:48 +0200
committerSimon Rettberg2021-09-14 14:42:48 +0200
commit61e505c685222027d23a21535fc5dfcc33f63614 (patch)
tree48f1c4720eb07f82a3c0a10f975ae70adf362e48 /core/modules/dhcpc-busybox
parent[qemu] Fix invalid path for looking-glass-client to shm file (diff)
downloadmltk-61e505c685222027d23a21535fc5dfcc33f63614.tar.gz
mltk-61e505c685222027d23a21535fc5dfcc33f63614.tar.xz
mltk-61e505c685222027d23a21535fc5dfcc33f63614.zip
[dhcpc-busybox] Fix udev activation of interface/dhcp service
Or rather, work around unknown issue.
Diffstat (limited to 'core/modules/dhcpc-busybox')
-rw-r--r--core/modules/dhcpc-busybox/data/etc/udev/rules.d/99-openslx-net.rules9
1 files changed, 8 insertions, 1 deletions
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"