diff options
Diffstat (limited to 'package/network/config/netifd/files/sbin')
13 files changed, 394 insertions, 0 deletions
diff --git a/package/network/config/netifd/files/sbin/.svn/entries b/package/network/config/netifd/files/sbin/.svn/entries new file mode 100644 index 0000000..b8927cc --- /dev/null +++ b/package/network/config/netifd/files/sbin/.svn/entries @@ -0,0 +1,164 @@ +10 + +dir +36060 +svn://svn.openwrt.org/openwrt/trunk/package/network/config/netifd/files/sbin +svn://svn.openwrt.org/openwrt + + + +2013-01-29T14:40:04.101944Z +35383 +nbd + + + + + + + + + + + + + + +3c298f89-4303-0410-b956-a3cf2f4a3e73 + +devstatus +file + + + + +2013-03-17T12:13:19.000000Z +97e78aed908f5b22479f2482492aee86 +2011-10-23T17:22:14.121936Z +28545 +nbd +has-props + + + + + + + + + + + + + + + + + + + + +200 + +ifstatus +file + + + + +2013-03-17T12:13:19.000000Z +31a12bb1ab197fdc24f7d4a0288ab681 +2013-01-29T14:40:04.101944Z +35383 +nbd +has-props + + + + + + + + + + + + + + + + + + + + +273 + +ifup +file + + + + +2013-03-17T12:13:19.000000Z +1d80dbe8b2dd7b5fb6b8de73a2881e85 +2013-01-29T14:40:04.101944Z +35383 +nbd +has-props + + + + + + + + + + + + + + + + + + + + +1320 + +ifdown +file + + + + +2013-03-17T12:13:19.000000Z +7da3b21f78698f9c8d1fd0ed92022a46 +2011-10-21T01:47:49.907205Z +28499 +nbd +has-props + + +svn:special + + + + + + + + + + + + + + + + + +4 + diff --git a/package/network/config/netifd/files/sbin/.svn/prop-base/devstatus.svn-base b/package/network/config/netifd/files/sbin/.svn/prop-base/devstatus.svn-base new file mode 100644 index 0000000..869ac71 --- /dev/null +++ b/package/network/config/netifd/files/sbin/.svn/prop-base/devstatus.svn-base @@ -0,0 +1,5 @@ +K 14 +svn:executable +V 1 +* +END diff --git a/package/network/config/netifd/files/sbin/.svn/prop-base/ifdown.svn-base b/package/network/config/netifd/files/sbin/.svn/prop-base/ifdown.svn-base new file mode 100644 index 0000000..d222469 --- /dev/null +++ b/package/network/config/netifd/files/sbin/.svn/prop-base/ifdown.svn-base @@ -0,0 +1,5 @@ +K 11 +svn:special +V 1 +* +END diff --git a/package/network/config/netifd/files/sbin/.svn/prop-base/ifstatus.svn-base b/package/network/config/netifd/files/sbin/.svn/prop-base/ifstatus.svn-base new file mode 100644 index 0000000..869ac71 --- /dev/null +++ b/package/network/config/netifd/files/sbin/.svn/prop-base/ifstatus.svn-base @@ -0,0 +1,5 @@ +K 14 +svn:executable +V 1 +* +END diff --git a/package/network/config/netifd/files/sbin/.svn/prop-base/ifup.svn-base b/package/network/config/netifd/files/sbin/.svn/prop-base/ifup.svn-base new file mode 100644 index 0000000..869ac71 --- /dev/null +++ b/package/network/config/netifd/files/sbin/.svn/prop-base/ifup.svn-base @@ -0,0 +1,5 @@ +K 14 +svn:executable +V 1 +* +END diff --git a/package/network/config/netifd/files/sbin/.svn/text-base/devstatus.svn-base b/package/network/config/netifd/files/sbin/.svn/text-base/devstatus.svn-base new file mode 100644 index 0000000..3c35b26 --- /dev/null +++ b/package/network/config/netifd/files/sbin/.svn/text-base/devstatus.svn-base @@ -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/.svn/text-base/ifdown.svn-base b/package/network/config/netifd/files/sbin/.svn/text-base/ifdown.svn-base new file mode 100644 index 0000000..a687b74 --- /dev/null +++ b/package/network/config/netifd/files/sbin/.svn/text-base/ifdown.svn-base @@ -0,0 +1 @@ +link ifup
\ No newline at end of file diff --git a/package/network/config/netifd/files/sbin/.svn/text-base/ifstatus.svn-base b/package/network/config/netifd/files/sbin/.svn/text-base/ifstatus.svn-base new file mode 100644 index 0000000..8a951e6 --- /dev/null +++ b/package/network/config/netifd/files/sbin/.svn/text-base/ifstatus.svn-base @@ -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 status "{ \"interface\" : \"$INTERFACE\" }" diff --git a/package/network/config/netifd/files/sbin/.svn/text-base/ifup.svn-base b/package/network/config/netifd/files/sbin/.svn/text-base/ifup.svn-base new file mode 100644 index 0000000..af3aaa8 --- /dev/null +++ b/package/network/config/netifd/files/sbin/.svn/text-base/ifup.svn-base @@ -0,0 +1,79 @@ +#!/bin/sh + +ifup_all= +setup_wifi= + +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" + 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##network.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 "$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 diff --git a/package/network/config/netifd/files/sbin/devstatus b/package/network/config/netifd/files/sbin/devstatus new file mode 100755 index 0000000..3c35b26 --- /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 0000000..a0e5c17 --- /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 0000000..8a951e6 --- /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 status "{ \"interface\" : \"$INTERFACE\" }" diff --git a/package/network/config/netifd/files/sbin/ifup b/package/network/config/netifd/files/sbin/ifup new file mode 100755 index 0000000..af3aaa8 --- /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 network.interface $mode "{ \"interface\" : \"$interface\" }" + 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##network.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 "$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 |