bcm63xx: Don't hardcode the switch ethernet interface in preinit.

Currently eth1 is hardcoded as the expected interface switches in diagmode.
This patch replaces the eth1 with the ifname, and also directly tests if
the interface specified by ifname has a switch attached.

Signed-off-by: Jonas Gorski <jonas.gorski+openwrt@gmail.com>

SVN-Revision: 24186
This commit is contained in:
Daniel Dickinson 2010-11-28 22:04:26 +00:00
parent b1b318750a
commit fec30c8c80
2 changed files with 10 additions and 10 deletions

View file

@ -1,9 +1,9 @@
#!/bin/sh
failsafe_ip() {
[ -d /proc/switch/eth1 ] && [ "$ifname" = "eth1" ] && {
ifconfig eth1 0.0.0.0 down
echo "0 1 2 3 4 ${cpu_port:-5u*}" > /proc/switch/eth1/vlan/0/ports
[ -d "/proc/switch/$ifname" ] && {
ifconfig "$ifname" 0.0.0.0 down
echo "0 1 2 3 4 ${cpu_port:-5u*}" > "/proc/switch/$ifname/vlan/0/ports"
}
[ -n "$pi_ifname" ] && grep -q "$pi_ifname" /proc/net/dev && {

View file

@ -16,9 +16,9 @@ preinit_ip_deconfig() {
ifconfig $pi_ifname 0.0.0.0 down
}
fi
[ -d /proc/switch/eth1 ] && [ "$ifname" = "eth1" ] && {
echo 1 >/proc/switch/eth1/reset
echo "0 1 2 3 4 ${cpu_port:-5u*}" > /proc/switch/eth1/vlan/0/ports
[ -d "/proc/switch/$ifname" ] && {
echo 1 > "/proc/switch/$ifname/reset"
echo "0 1 2 3 4 ${cpu_port:-5u*}" > "/proc/switch/$ifname/vlan/0/ports"
}
}
@ -26,17 +26,17 @@ preinit_ip_deconfig() {
preinit_net_echo() {
preinit_ip
[ -d /proc/switch/eth1 ] && [ "$ifname" = "eth1" ] && {
echo 1 >/proc/switch/eth1/reset
[ -d "/proc/switch/$ifname" ] && {
echo 1 > "/proc/switch/$ifname/reset"
# this would be easier if we blasted the message across all ports
# but we don't want packets leaking across interfaces
for port in $(seq 0 4); do {
echo "$port ${cpu_port:-5u*}" > /proc/switch/eth1/vlan/0/ports
echo "$port ${cpu_port:-5u*}" > "/proc/switch/$ifname/vlan/0/ports"
port_net_echo $1
}; done
echo "0 ${cpu_port:-5u*}" > /proc/switch/eth1/vlan/0/ports
echo "0 ${cpu_port:-5u*}" > "/proc/switch/$ifname/vlan/0/ports"
} || port_net_echo $1
}