summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoy Marples <roy@marples.name>2008-05-09 10:29:06 +0000
committerRoy Marples <roy@marples.name>2008-05-09 10:29:06 +0000
commit766ec96e3d6e1b8d7a73bbc46817b763d77d9b2a (patch)
tree09cda9a7ea6cbc8de8abb05b18169591318ba031
parenta854fe6d61257ff3dc6f4d2bc24baa42d80a9067 (diff)
downloadopenrc-766ec96e3d6e1b8d7a73bbc46817b763d77d9b2a.tar.gz
openrc-766ec96e3d6e1b8d7a73bbc46817b763d77d9b2a.tar.bz2
openrc-766ec96e3d6e1b8d7a73bbc46817b763d77d9b2a.tar.xz
Add ifdown_eth0=NO so that the interface stays up for WakeOnLan, Gentoo #220875
-rw-r--r--doc/net.example.BSD.in4
-rw-r--r--doc/net.example.Linux.in4
-rw-r--r--init.d/net.lo.in11
3 files changed, 16 insertions, 3 deletions
diff --git a/doc/net.example.BSD.in b/doc/net.example.BSD.in
index 31d6105..e78f616 100644
--- a/doc/net.example.BSD.in
+++ b/doc/net.example.BSD.in
@@ -87,6 +87,10 @@
# is how long we wait for carrier. The current default is 3 seconds
#carrier_timeout_eth0=-1
+# You may wish to disable the interface being brought down when stopping.
+# This is only of use for WakeOnLan.
+#ifdown_eth0="NO"
+
##############################################################################
# OPTIONAL MODULES
diff --git a/doc/net.example.Linux.in b/doc/net.example.Linux.in
index 80d5047..136072f 100644
--- a/doc/net.example.Linux.in
+++ b/doc/net.example.Linux.in
@@ -120,6 +120,10 @@
# tables you may have to set a global metric as the due to a simple read of
# the routing table taking over a minute at a time.
+# You may wish to disable the interface being brought down when stopping.
+# This is only of use for WakeOnLan.
+#ifdown_eth0="NO"
+
##############################################################################
# OPTIONAL MODULES
diff --git a/init.d/net.lo.in b/init.d/net.lo.in
index 8f53a86..cce62e5 100644
--- a/init.d/net.lo.in
+++ b/init.d/net.lo.in
@@ -663,9 +663,14 @@ stop()
fi
done
- ! yesno ${IN_BACKGROUND} && \
- [ "${IFACE}" != "lo" -a "${IFACE}" != "lo0" ] && \
- _down 2>/dev/null
+ # If not in background, and not loopback then bring the interface down
+ # unless overridden.
+ if ! yesno ${IN_BACKGROUND} && \
+ [ "${IFACE}" != "lo" -a "${IFACE}" != "lo0" ]; then
+ eval module=\$ifdown_${IFVAR}
+ module=${module:-YES}
+ yesno ${module} && _down 2>/dev/null
+ fi
type resolvconf >/dev/null 2>&1 && resolvconf -d "${IFACE}" 2>/dev/null