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>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@24186
3c298f89-4303-0410-b956-
a3cf2f4a3e73
#!/bin/sh
failsafe_ip() {
#!/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 && {
}
[ -n "$pi_ifname" ] && grep -q "$pi_ifname" /proc/net/dev && {
ifconfig $pi_ifname 0.0.0.0 down
}
fi
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"
preinit_net_echo() {
preinit_ip
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 {
# 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"
- echo "0 ${cpu_port:-5u*}" > /proc/switch/eth1/vlan/0/ports
+ echo "0 ${cpu_port:-5u*}" > "/proc/switch/$ifname/vlan/0/ports"