1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2024-09-18 00:14:15 +03:00
openwrt-xburst/target/linux/brcm47xx/base-files/lib/preinit/15_set_preinit_interface_brcm
hauke 98837afb76 [brcm47xx]: activate failsafe on all ports of the switch and not just port 0.
Sometimes the port 0 was the WAN port or there could be some device 
where the port 0 is not wired to an actual Ethernet port. Now telnet in 
failsafe will listen on all ports of the switch so user do not have to 
search for the correct port any more. This change will make the switch 
leak traffic between the WAN and the LAN port, but you should not use 
failsafe while connected to a untrusted network.


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33544 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-09-25 14:04:59 +00:00

40 lines
937 B
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
}
preinit_net_echo() {
preinit_ip
[ -d /proc/switch/eth0 ] && [ "$pi_ifname" = "eth0" ] && {
echo 1 > /proc/switch/eth0/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/eth0/vlan/0/ports
port_net_echo $1
}; done
echo "0 1 2 3 4 ${cpu_port:-5u*}" > /proc/switch/eth0/vlan/0/ports
} || port_net_echo $1
}