| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- #!/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
|