28 lines
452 B
Text
28 lines
452 B
Text
|
#!/bin/sh
|
||
|
|
||
|
case "$0" in
|
||
|
*ifdown) modes=down;;
|
||
|
*ifup) modes="down up";;
|
||
|
*) echo "Invalid command: $0";;
|
||
|
esac
|
||
|
|
||
|
if_call() {
|
||
|
local interface="$1"
|
||
|
for mode in $modes; do
|
||
|
ubus call $interface $mode
|
||
|
done
|
||
|
}
|
||
|
|
||
|
[[ "$1" == "-a" ]] && {
|
||
|
for interface in `ubus -S list 'network.interface.*'`; do
|
||
|
if_call "$interface"
|
||
|
done
|
||
|
exit
|
||
|
}
|
||
|
|
||
|
ubus -S list "network.interface.$1" > /dev/null || {
|
||
|
echo "Interface $1 not found"
|
||
|
exit
|
||
|
}
|
||
|
if_call "network.interface.$1"
|