move vlan and wifi setup into arch-specific base-files
authorFelix Fietkau <nbd@openwrt.org>
Sat, 14 Jan 2006 02:31:36 +0000 (02:31 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Sat, 14 Jan 2006 02:31:36 +0000 (02:31 +0000)
SVN-Revision: 2973

openwrt/package/base-files/default/etc/hotplug.d/net/10-net
openwrt/target/linux/package/base-files/files/brcm-2.4/etc/hotplug.d/09-net [new file with mode: 0644]
openwrt/target/linux/package/base-files/files/brcm-2.6/etc/hotplug.d/09-net [new file with mode: 0644]

index 9a4c450..8d2c6a8 100644 (file)
@@ -1,30 +1,10 @@
 #!/bin/sh
 setup_eth()
 {
-       for part in $(nvram get unused_ifnames); do
-               [ "$part" = "$INTERFACE" ] && return 0
+       for part in $(nvram get unused_ifnames); do
+               [ "$part" = "$INTERFACE" ] && exit 0
        done
-       [ -f /proc/net/wl0 ] && {
-               lsmod | grep wlcompat >&- || insmod wlcompat
-       }
-       iwconfig "$INTERFACE" 2>&- | grep -v 'no wireless' >&- && {
-               /sbin/wifi
-       }
-       [ -d /proc/switch ] || {
-               insmod switch-core
-               insmod switch-robo || insmod switch-adm
-       }
-       if="$(echo "$INTERFACE" | sed s,eth,et,)"
        ifconfig "$INTERFACE" up 2>&- >&-
-       for vlan in $(seq 0 15); do
-               [ "$(nvram get vlan${vlan}hwname)" = "$if" ] && {
-                       $DEBUG vconfig add "$INTERFACE" "$vlan"
-                       vports="$(nvram get vlan${vlan}ports)"
-                       [ \! -z "$vports" -a -d "/proc/switch/$INTERFACE" ] && \
-                               echo "$vports" > "/proc/switch/$INTERFACE/vlan/$vlan/ports"
-                               echo "1" > "/proc/switch/$INTERFACE/enable_vlan"
-               }
-       done
 }
 
 find_name()
diff --git a/openwrt/target/linux/package/base-files/files/brcm-2.4/etc/hotplug.d/09-net b/openwrt/target/linux/package/base-files/files/brcm-2.4/etc/hotplug.d/09-net
new file mode 100644 (file)
index 0000000..75604eb
--- /dev/null
@@ -0,0 +1,40 @@
+#!/bin/sh
+setup_eth()
+{
+       for part in $(nvram get unused_ifnames); do
+               [ "$part" = "$INTERFACE" ] && exit 0
+       done
+       [ -f /proc/net/wl0 ] && {
+               lsmod | grep wlcompat >&- || insmod wlcompat
+       }
+       iwconfig "$INTERFACE" 2>&- | grep -v 'no wireless' >&- && {
+               /sbin/wifi
+       }
+       [ -d /proc/switch ] || {
+               insmod switch-core
+               insmod switch-robo || insmod switch-adm
+       }
+       if="$(echo "$INTERFACE" | sed s,eth,et,)"
+       ifconfig "$INTERFACE" up 2>&- >&-
+       [ -d "/proc/switch/$INTERFACE" ] || return 0
+       echo "1" > "/proc/switch/$INTERFACE/enable_vlan"
+       for vlan in $(seq 0 15); do
+               [ "$(nvram get vlan${vlan}hwname)" = "$if" ] && {
+                       vports="$(nvram get vlan${vlan}ports)"
+                       [ -n "$vports" ] && echo "$vports" > "/proc/switch/$INTERFACE/vlan/$vlan/ports"
+                       $DEBUG vconfig add "$INTERFACE" "$vlan"
+               }
+       done
+}
+
+do_register()
+{
+       case "${INTERFACE%%[0-9]*}" in
+               eth) setup_eth;;
+       esac
+}
+
+
+case "$ACTION" in
+       add|register) do_register;;
+esac
diff --git a/openwrt/target/linux/package/base-files/files/brcm-2.6/etc/hotplug.d/09-net b/openwrt/target/linux/package/base-files/files/brcm-2.6/etc/hotplug.d/09-net
new file mode 100644 (file)
index 0000000..5e941e5
--- /dev/null
@@ -0,0 +1,34 @@
+#!/bin/sh
+setup_eth()
+{
+       for part in $(nvram get unused_ifnames); do
+               [ "$part" = "$INTERFACE" ] && exit 0
+       done
+       [ -d /proc/switch ] || {
+               insmod switch-core
+               insmod switch-robo || insmod switch-adm
+       }
+       if="$(echo "$INTERFACE" | sed s,eth,et,)"
+       ifconfig "$INTERFACE" up 2>&- >&-
+       [ -d "/proc/switch/$INTERFACE" ] || return 0
+       echo "1" > "/proc/switch/$INTERFACE/enable_vlan"
+       for vlan in $(seq 0 15); do
+               [ "$(nvram get vlan${vlan}hwname)" = "$if" ] && {
+                       vports="$(nvram get vlan${vlan}ports)"
+                       [ -n "$vports" ] && echo "$vports" > "/proc/switch/$INTERFACE/vlan/$vlan/ports"
+                       $DEBUG vconfig add "$INTERFACE" "$vlan"
+               }
+       done
+}
+
+do_register()
+{
+       case "${INTERFACE%%[0-9]*}" in
+               eth) setup_eth;;
+       esac
+}
+
+
+case "$ACTION" in
+       add|register) do_register;;
+esac