summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2006-01-04 20:08:27 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2006-01-04 20:08:27 +0000
commita74090f6c1a519f362ba4ec5b5dc2a82ff6cc765 (patch)
treea5b80d727106259b345e772dcf26e5329de6d02c
parentc6bd6be8c7a75f9023b115a5fd010ead60a6f03c (diff)
configure switch at boot time based on vlan*ports
git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@2822 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r--package/base-files/default/etc/hotplug.d/net/10-net10
1 files changed, 9 insertions, 1 deletions
diff --git a/package/base-files/default/etc/hotplug.d/net/10-net b/package/base-files/default/etc/hotplug.d/net/10-net
index 0417b397f7..fb7b128eab 100644
--- a/package/base-files/default/etc/hotplug.d/net/10-net
+++ b/package/base-files/default/etc/hotplug.d/net/10-net
@@ -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
}