summaryrefslogtreecommitdiffstats
path: root/src/network
diff options
context:
space:
mode:
Diffstat (limited to 'src/network')
-rw-r--r--src/network23
1 files changed, 17 insertions, 6 deletions
diff --git a/src/network b/src/network
index d65c899..12920de 100644
--- a/src/network
+++ b/src/network
@@ -338,16 +338,27 @@ set_interface()
{
INTERFACE="$2"
case "$1" in
- up)
+ up|up-old)
at_interface_up
- ip link set dev "$INTERFACE" up
+ if [ "$1" = old ]; then
+ ifconfig "$INTERFACE" up
+ else
+ ip link set dev "$INTERFACE" up
+ fi
sleep "${UP_SLEEP:-2}"
;;
- down|forcedown)
+ down|forcedown|down-old|forcedown-old)
at_interface_down
- ip addr flush dev "$INTERFACE" &>/dev/null
- if ! quirk nodown || [ "$1" = forcedown ]; then
- ip link set dev "$INTERFACE" down &>/dev/null
+ if [ "${1%-old}" != "$1" ]; then
+ ## ?
+ if ! quirk nodown || [ "$1" = forcedown-old ]; then
+ ifconfig "$INTERFACE" down
+ fi
+ else
+ ip addr flush dev "$INTERFACE" &>/dev/null
+ if ! quirk nodown || [ "$1" = forcedown ]; then
+ ip link set dev "$INTERFACE" down &>/dev/null
+ fi
fi
;;
*)