diff options
Diffstat (limited to 'recipes/network-suspend-scripts/files/ifupdown')
-rw-r--r-- | recipes/network-suspend-scripts/files/ifupdown | 26 |
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 + |