diff options
| author | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2012-10-10 12:32:29 +0000 | 
|---|---|---|
| committer | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2012-10-10 12:32:29 +0000 | 
| commit | 9c8997d54dc9df184bfcedeabf0b3c85cf5e6753 (patch) | |
| tree | 46b83031a0da1b4458317413c00d13c252c72afa /package/network/config/netifd/files/sbin | |
| parent | eecf5b17520f6b3b6ffb45ac7dca298d93b27501 (diff) | |
packages: sort network related packages into package/network/
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33688 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/network/config/netifd/files/sbin')
| -rwxr-xr-x | package/network/config/netifd/files/sbin/devstatus | 12 | ||||
| l--------- | package/network/config/netifd/files/sbin/ifdown | 1 | ||||
| -rwxr-xr-x | package/network/config/netifd/files/sbin/ifstatus | 13 | ||||
| -rwxr-xr-x | package/network/config/netifd/files/sbin/ifup | 79 | 
4 files changed, 105 insertions, 0 deletions
diff --git a/package/network/config/netifd/files/sbin/devstatus b/package/network/config/netifd/files/sbin/devstatus new file mode 100755 index 000000000..3c35b26a4 --- /dev/null +++ b/package/network/config/netifd/files/sbin/devstatus @@ -0,0 +1,12 @@ +#!/bin/sh +. /usr/share/libubox/jshn.sh +DEVICE="$1" + +[ -n "$DEVICE" ] || { +	echo "Usage: $0 <device>" +	exit 1 +} + +json_init +json_add_string name "$DEVICE" +ubus call network.device status "$(json_dump)" diff --git a/package/network/config/netifd/files/sbin/ifdown b/package/network/config/netifd/files/sbin/ifdown new file mode 120000 index 000000000..a0e5c176a --- /dev/null +++ b/package/network/config/netifd/files/sbin/ifdown @@ -0,0 +1 @@ +ifup
\ No newline at end of file diff --git a/package/network/config/netifd/files/sbin/ifstatus b/package/network/config/netifd/files/sbin/ifstatus new file mode 100755 index 000000000..511cc1d8d --- /dev/null +++ b/package/network/config/netifd/files/sbin/ifstatus @@ -0,0 +1,13 @@ +#!/bin/sh +INTERFACE="$1" + +[ -n "$INTERFACE" ] || { +	echo "Usage: $0 <interface>" +	exit 1 +} + +ubus -S list "network.interface.$INTERFACE" >/dev/null || { +	echo "Interface $INTERFACE not found" +	exit 1 +} +ubus call network.interface."$INTERFACE" status diff --git a/package/network/config/netifd/files/sbin/ifup b/package/network/config/netifd/files/sbin/ifup new file mode 100755 index 000000000..e6dbb3541 --- /dev/null +++ b/package/network/config/netifd/files/sbin/ifup @@ -0,0 +1,79 @@ +#!/bin/sh + +ifup_all= +setup_wifi= + +if_call() { +	local interface="$1" +	for mode in $modes; do +		ubus call $interface $mode +	done +} + +case "$0" in +	*ifdown) modes=down;; +	*ifup) +		modes="down up" +		setup_wifi=1 +	;; +	*) echo "Invalid command: $0";; +esac + +while :; do +	case "$1" in +		-a) +			ifup_all=1 +			shift +		;; +		-w) +			setup_wifi= +			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" +	done +	[ -n "$setup_wifi" ] && /sbin/wifi up +	exit +else +	ubus -S list "network.interface.$1" > /dev/null || { +		echo "Interface $1 not found" +		exit +	} +	if_call "network.interface.$1" +fi + +if [ -n "$setup_wifi" ] && grep -sq config /etc/config/wireless; then +	. /lib/functions.sh + +	find_related_radios() { +		local wdev wnet +		config_get wdev "$1" device +		config_get wnet "$1" network + +		if [ -n "$wdev" ]; then +			for wnet in $wnet; do +				if [ "$wnet" = "$network" ]; then +					append radio_devs "$wdev" "$N" +				fi +			done +		fi +	} + +	local radio_devs +	local network="$1" +	config_load wireless +	config_foreach find_related_radios wifi-iface + +	local dev +	for dev in $(echo "$radio_devs" | sort -u); do +		/sbin/wifi up "$dev" +	done +fi  | 
