X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fsvn-archive%2Farchive.git;a=blobdiff_plain;f=openwrt%2Ftarget%2Flinux%2Fpackage%2Fbase-files%2Ffiles%2Fbrcm-2.6%2Fetc%2Fhotplug.d%2Fnet%2F09-net;fp=openwrt%2Ftarget%2Flinux%2Fpackage%2Fbase-files%2Ffiles%2Fbrcm-2.6%2Fetc%2Fhotplug.d%2Fnet%2F09-net;h=5e941e5a798d1a6adb52678fbe23d20232d82b68;hp=0000000000000000000000000000000000000000;hb=ba10f5db1dbbb09d3129618daaf7eadc99b91815;hpb=819179f1b5840ae4cbad95153e4db657fd1e7dba diff --git a/openwrt/target/linux/package/base-files/files/brcm-2.6/etc/hotplug.d/net/09-net b/openwrt/target/linux/package/base-files/files/brcm-2.6/etc/hotplug.d/net/09-net new file mode 100644 index 0000000000..5e941e5a79 --- /dev/null +++ b/openwrt/target/linux/package/base-files/files/brcm-2.6/etc/hotplug.d/net/09-net @@ -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