summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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