aboutsummaryrefslogtreecommitdiffstats
path: root/package/netifd/files/sbin/ifup
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2011-10-21 01:47:49 +0000
committerFelix Fietkau <nbd@openwrt.org>2011-10-21 01:47:49 +0000
commit55aeabae10d9429de0453d6df4271426478b406b (patch)
treecb77e67888dff2800c29051dfe2673e40c56d2eb /package/netifd/files/sbin/ifup
parent2ccd191b76f600d99d4b8ee15bb8fd1d0f2cf616 (diff)
downloadupstream-55aeabae10d9429de0453d6df4271426478b406b.tar.gz
upstream-55aeabae10d9429de0453d6df4271426478b406b.tar.bz2
upstream-55aeabae10d9429de0453d6df4271426478b406b.zip
add an initial (experimental) version of netifd, disabled by default
SVN-Revision: 28499
Diffstat (limited to 'package/netifd/files/sbin/ifup')
-rwxr-xr-xpackage/netifd/files/sbin/ifup27
1 files changed, 27 insertions, 0 deletions
diff --git a/package/netifd/files/sbin/ifup b/package/netifd/files/sbin/ifup
new file mode 100755
index 0000000000..1036943ab2
--- /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"