From: Tom Gundersen <[email protected]>

We need to make sure no the systemd services are only considered
started when the network is actually up. Otherwise, things relying
on the network don't know when they can start.

This means that we need to use Type=forking or Type=oneshot, and in
the case of ifplugd we must daemonize and wait for the daemon to be
ready before we continue.

Also do some minor cleanup:
 - don't include env files that are not used
 - don't ignore return values

Signed-off-by: Tom Gundersen <[email protected]>
---

WARNING: THIS IS COMPLETELY UNTESTED.

Consider this a glorified bug report :-)

 systemd/net-auto-wired.service |    7 +++----
 systemd/netcfg.service         |    1 -
 2 files changed, 3 insertions(+), 5 deletions(-)

diff --git a/systemd/net-auto-wired.service b/systemd/net-auto-wired.service
index 3c5cf62..467b62e 100644
--- a/systemd/net-auto-wired.service
+++ b/systemd/net-auto-wired.service
@@ -4,11 +4,10 @@ Before=network.target
 Wants=network.target
 
 [Service]
+Type=forking
 EnvironmentFile=/etc/conf.d/netcfg
-EnvironmentFile=-/etc/ifplugd/ifplugd.conf
-ExecStart=-/usr/sbin/ifplugd -i $WIRED_INTERFACE -r /etc/ifplugd/netcfg.action 
-fIn -u0 -d10
-ExecStop=-/usr/sbin/ifplugd -k -i $WIRED_INTERFACE -r 
/etc/ifplugd/netcfg.action
-Type=simple
+ExecStart=/usr/sbin/ifplugd -i $WIRED_INTERFACE -r /etc/ifplugd/netcfg.action 
-fIw -d10
+ExecStop=/usr/sbin/ifplugd -i $WIRED_INTERFACE -r /etc/ifplugd/netcfg.action -k
 
 [Install]
 WantedBy=multi-user.target
diff --git a/systemd/netcfg.service b/systemd/netcfg.service
index a4e5ddc..e9dcfbc 100644
--- a/systemd/netcfg.service
+++ b/systemd/netcfg.service
@@ -6,7 +6,6 @@ Wants=network.target
 [Service]
 Type=oneshot
 RemainAfterExit=yes
-EnvironmentFile=/etc/conf.d/netcfg
 ExecStart=/usr/bin/netcfg-daemon start
 ExecStop=/usr/bin/netcfg-daemon stop
 
-- 
1.7.10

Reply via email to