diff options
Diffstat (limited to 'package/netifd/files/sbin')
| l--------- | package/netifd/files/sbin/ifdown | 1 | ||||
| -rwxr-xr-x | package/netifd/files/sbin/ifup | 27 | 
2 files changed, 28 insertions, 0 deletions
diff --git a/package/netifd/files/sbin/ifdown b/package/netifd/files/sbin/ifdown new file mode 120000 index 000000000..a0e5c176a --- /dev/null +++ b/package/netifd/files/sbin/ifdown @@ -0,0 +1 @@ +ifup
\ No newline at end of file diff --git a/package/netifd/files/sbin/ifup b/package/netifd/files/sbin/ifup new file mode 100755 index 000000000..1036943ab --- /dev/null +++ b/package/netifd/files/sbin/ifup @@ -0,0 +1,27 @@ +#!/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"  | 
