aboutsummaryrefslogtreecommitdiffstats
path: root/meta/packages/network-suspend-scripts/network-suspend-scripts/ifupdown
diff options
context:
space:
mode:
Diffstat (limited to 'meta/packages/network-suspend-scripts/network-suspend-scripts/ifupdown')
-rw-r--r--meta/packages/network-suspend-scripts/network-suspend-scripts/ifupdown26
1 files changed, 26 insertions, 0 deletions
diff --git a/meta/packages/network-suspend-scripts/network-suspend-scripts/ifupdown b/meta/packages/network-suspend-scripts/network-suspend-scripts/ifupdown
new file mode 100644
index 0000000000..d458da6866
--- /dev/null
+++ b/meta/packages/network-suspend-scripts/network-suspend-scripts/ifupdown
@@ -0,0 +1,26 @@
+#!/bin/sh
+# Unloads/loads all interface that are up at time of suspend
+
+if [ "$1" = suspend ]; then
+ rm -f /var/run/ifstate-suspend
+ rm -f /var/run/ifstate-old
+ cp /var/run/ifstate /var/run/ifstate-old
+ cat /var/run/ifstate-old | (
+ IFS="="
+ while read IFACE LOGICAL; do
+ ifdown $IFACE
+ echo "$IFACE=$LOGICAL" >>/var/run/ifstate-suspend
+ done
+ rm -f /var/run/ifstate-old
+ )
+elif [ "$1" = resume ] && [ "$2" != standby ] && [ -f /var/run/ifstate-suspend ]; then
+ cat /var/run/ifstate-suspend | (
+ while read LINE; do
+ ifup $LINE
+ done
+ )
+ rm -f /var/run/ifstate-suspend
+fi
+
+: exit 0
+