finally move buildroot-ng to trunk
[openwrt/svn-archive/archive.git] / package / switch / files / switch.sh
diff --git a/package/switch/files/switch.sh b/package/switch/files/switch.sh
new file mode 100644 (file)
index 0000000..a787a8c
--- /dev/null
@@ -0,0 +1,33 @@
+#!/bin/sh
+# Copyright (C) 2006 OpenWrt.org
+
+setup_switch_vlan() {
+       DIR="/proc/switch/$CONFIG_SECTION/vlan/$1"
+       [ -d "$DIR" ] || return 0
+       
+       config_get ports "$CONFIG_SECTION" "vlan$1"
+       echo "$ports" > "$DIR/ports"
+}
+
+setup_switch() {
+       config_cb() {
+               case "$1" in
+                       switch)
+                               [ -n "$2" -a -d "/proc/switch/$2" ] && {
+                                       echo 1 > "/proc/switch/$2/reset"
+                                       echo 1 > "/proc/switch/$2/enable"
+                                       echo 1 > "/proc/switch/$2/enable_vlan"
+                                       option_cb() {
+                                               case "$1" in
+                                                       vlan*) setup_switch_vlan "${1##vlan}";;
+                                               esac
+                                       }
+                               }
+                       ;;
+                       *)
+                               option_cb() { return 0; }
+                       ;;
+               esac
+       }
+       config_load network
+}