Some checks failed
Build Kernel / Build all affected Kernels (push) Has been cancelled
Build all core packages / Build all core packages for selected target (push) Has been cancelled
Build and Push prebuilt tools container / Build and Push all prebuilt containers (push) Has been cancelled
Build Toolchains / Build Toolchains for each target (push) Has been cancelled
Build host tools / Build host tools for linux and macos based systems (push) Has been cancelled
Coverity scan build / Coverity x86/64 build (push) Has been cancelled
45 lines
674 B
Bash
Executable File
45 lines
674 B
Bash
Executable File
#!/bin/sh
|
|
|
|
ifup_all=
|
|
|
|
if_call() {
|
|
local interface="$1"
|
|
for mode in $modes; do
|
|
ubus call network.interface $mode "{ \"interface\" : \"$interface\" }"
|
|
done
|
|
}
|
|
|
|
case "$0" in
|
|
*ifdown) modes=down;;
|
|
*ifup)
|
|
modes="down up"
|
|
;;
|
|
*) echo "Invalid command: $0";;
|
|
esac
|
|
|
|
while :; do
|
|
case "$1" in
|
|
-a)
|
|
ifup_all=1
|
|
shift
|
|
;;
|
|
*)
|
|
break
|
|
;;
|
|
esac
|
|
done
|
|
|
|
[ "$modes" = "down up" ] && ubus call network reload
|
|
if [ -n "$ifup_all" ]; then
|
|
for interface in $(ubus -S list 'network.interface.*'); do
|
|
if_call "${interface##network.interface.}"
|
|
done
|
|
exit
|
|
else
|
|
ubus -S list "network.interface.$1" > /dev/null || {
|
|
echo "Interface $1 not found"
|
|
exit
|
|
}
|
|
if_call "$1"
|
|
fi
|