summaryrefslogtreecommitdiffstats
path: root/src/network
diff options
context:
space:
mode:
Diffstat (limited to 'src/network')
-rw-r--r--src/network16
1 files changed, 9 insertions, 7 deletions
diff --git a/src/network b/src/network
index ae74837..d65c899 100644
--- a/src/network
+++ b/src/network
@@ -336,17 +336,19 @@ set_iface() {
set_interface()
{
- INTERFACE=$2
- case $1 in
+ INTERFACE="$2"
+ case "$1" in
up)
at_interface_up
- ip link set dev $INTERFACE up
- sleep ${UP_SLEEP:-2}
+ ip link set dev "$INTERFACE" up
+ sleep "${UP_SLEEP:-2}"
;;
- down)
+ down|forcedown)
at_interface_down
- ip addr flush dev "$INTERFACE"
- quirk nodown || ip link set dev "$INTERFACE" down
+ ip addr flush dev "$INTERFACE" &>/dev/null
+ if ! quirk nodown || [ "$1" = forcedown ]; then
+ ip link set dev "$INTERFACE" down &>/dev/null
+ fi
;;
*)
return 1