diff options
Diffstat (limited to 'src/network')
-rw-r--r-- | src/network | 16 |
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 |