move vlan and wifi setup into arch-specific base-files

SVN-Revision: 2973
This commit is contained in:
Felix Fietkau 2006-01-14 02:31:36 +00:00
parent 21c1b5ed5e
commit 69bc407e2d
3 changed files with 76 additions and 22 deletions

View file

@ -2,29 +2,9 @@
setup_eth() setup_eth()
{ {
for part in $(nvram get unused_ifnames); do for part in $(nvram get unused_ifnames); do
[ "$part" = "$INTERFACE" ] && return 0 [ "$part" = "$INTERFACE" ] && exit 0
done 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>&- >&- 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() find_name()

View file

@ -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

View file

@ -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