1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2024-09-19 10:58:59 +03:00
openwrt-xburst/target/linux/brcm63xx/base-files/lib/preinit/15_set_preinit_interface_brcm63xx
cshore 74fd46691e 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>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@24186 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-11-28 22:04:26 +00:00

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
}