]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
networkd: use socket activation when starting networkd
authorMichael Biebl <biebl@debian.org>
Wed, 26 Aug 2020 14:54:45 +0000 (16:54 +0200)
committerMichael Biebl <biebl@debian.org>
Wed, 26 Aug 2020 14:54:45 +0000 (16:54 +0200)
Add After=systemd-networkd.socket to avoid a race condition and networkd
falling back to the non-socket activation code.

Also add Wants=systemd-networkd.socket, so the socket is started when
networkd is started via `systemctl start systemd-networkd.service`.
A Requires is not strictly necessary, as networkd still ships the
non-socket activation code. Should this code be removed one day, the
Wants should be bumped to Requires accordingly.

See also 5544ee85163733eaa50f598fcf3bd9421d4a42f9.

Fixes: #16809
units/systemd-networkd.service.in

index 6ccbb5a95d0b272b83adf505e70d99a8e334170d..938aef9d17920e493bb523ab5607029b5f9e7d62 100644 (file)
@@ -13,10 +13,10 @@ Documentation=man:systemd-networkd.service(8)
 ConditionCapability=CAP_NET_ADMIN
 DefaultDependencies=no
 # systemd-udevd.service can be dropped once tuntap is moved to netlink
-After=systemd-udevd.service network-pre.target systemd-sysusers.service systemd-sysctl.service
+After=systemd-networkd.socket systemd-udevd.service network-pre.target systemd-sysusers.service systemd-sysctl.service
 Before=network.target multi-user.target shutdown.target
 Conflicts=shutdown.target
-Wants=network.target
+Wants=systemd-networkd.socket network.target
 
 [Service]
 AmbientCapabilities=CAP_NET_ADMIN CAP_NET_BIND_SERVICE CAP_NET_BROADCAST CAP_NET_RAW