mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2024-09-19 10:58:59 +03:00
74fd46691e
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
45 lines
1.0 KiB
Bash
45 lines
1.0 KiB
Bash
#!/bin/sh
|
|
|
|
port_net_echo() {
|
|
[ -n "$pi_ifname" ] && grep -q "$pi_ifname" /proc/net/dev && {
|
|
if [ "$pi_preinit_net_messages" = "y" ] || [ "$pi_failsafe_net_message" = "true" ] && [ "$pi_preinit_no_failsafe_netmsg" != "y" ]; then
|
|
netmsg $pi_broadcast "$1"
|
|
fi
|
|
}
|
|
}
|
|
|
|
preinit_ip_deconfig() {
|
|
if [ -z "$pi_ifname" ]; then
|
|
ifconfig $ifname 0.0.0.0 down
|
|
else
|
|
grep -q "$pi_ifname" /proc/net/dev && {
|
|
ifconfig $pi_ifname 0.0.0.0 down
|
|
}
|
|
fi
|
|
[ -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
|
|
|
|
[ -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/$ifname/vlan/0/ports"
|
|
port_net_echo $1
|
|
}; done
|
|
|
|
echo "0 ${cpu_port:-5u*}" > "/proc/switch/$ifname/vlan/0/ports"
|
|
|
|
} || port_net_echo $1
|
|
}
|
|
|
|
|