summaryrefslogtreecommitdiff
path: root/recipes/network-suspend-scripts/files/ifupdown
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/network-suspend-scripts/files/ifupdown')
-rw-r--r--recipes/network-suspend-scripts/files/ifupdown26
1 files changed, 26 insertions, 0 deletions
diff --git a/recipes/network-suspend-scripts/files/ifupdown b/recipes/network-suspend-scripts/files/ifupdown
new file mode 100644
index 0000000000..d458da6866
--- /dev/null
+++ b/recipes/network-suspend-scripts/files/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
+