configure switch at boot time based on vlan*ports
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Wed, 4 Jan 2006 20:08:27 +0000 (20:08 +0000)
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Wed, 4 Jan 2006 20:08:27 +0000 (20:08 +0000)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@2822 3c298f89-4303-0410-b956-a3cf2f4a3e73

package/base-files/default/etc/hotplug.d/net/10-net

index 0417b39..fb7b128 100644 (file)
@@ -7,11 +7,19 @@ setup_eth()
        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" ] && \
+               [ "$(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"
+               }
        done
 }