openwrtv4/target/linux/ramips/base-files/etc/uci-defaults/network
Gabor Juhos 1f3400d3b4 ramips: Add switch setup to uci network defaults
Add switch setup to uci network defaults.

The 'lan' attribute is used to decide into which vlan to put the
port.
Currently 'disable' is never set, but the intention is to use this
for devices like the 8devices Carambola, which only has two ports
hooked up to the SoC.

Signed-off-by: Tobias Diedrich <ranma+openwrt@tdiedrich.de>

SVN-Revision: 33300
2012-08-29 10:37:38 +00:00

212 lines
4.1 KiB
Bash
Executable file

#!/bin/sh
. /etc/functions.sh
. /lib/ramips.sh
. /lib/functions/uci-defaults.sh
if [ ! -x /usr/sbin/maccalc ]; then
echo "$0: maccalc not found!"
return
fi
ramips_setup_rt3x5x_vlans()
{
if [ ! -x /sbin/swconfig ]; then
# legacy default
ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
return
fi
local wanports=""
local lanports=""
for port in 5 4 3 2 1 0; do
if [ `swconfig dev rt305x port $port get disable` = "1" ]; then
continue
fi
if [ `swconfig dev rt305x port $port get lan` = "0" ]; then
wanports="$port $wanports"
else
lanports="$port $lanports"
fi
done
ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
ucidef_add_switch "rt305x" "1" "1"
ucidef_add_switch_vlan "rt305x" "1" "$lanports 6t"
ucidef_add_switch_vlan "rt305x" "2" "$wanports 6t"
}
ramips_setup_interfaces()
{
local board="$1"
ucidef_set_interface_loopback
case $board in
all0256n | \
all5002 | \
dir-615-h1 | \
wl-330n)
ucidef_set_interface_lan "eth0.1"
;;
3g-6200n | \
argus-atp52b | \
b2c | \
nw718 | \
psr-680w | \
sl-r7205 | \
w502u | \
wr6202)
ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
;;
f5d8235-v1 | \
f5d8235-v2 | \
ur-336un)
ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
;;
v11st-fe)
ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
ucidef_add_switch "switch0" "1" "1"
ucidef_add_switch_vlan "switch0" "1" "1 2 3 4 5t"
ucidef_add_switch_vlan "switch0" "2" "0 5t"
;;
rt-n15 | \
wl-351)
ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
ucidef_add_switch "switch0" "1" "1"
ucidef_add_switch_vlan "switch0" "1" "0 1 2 3 5t"
ucidef_add_switch_vlan "switch0" "2" "4 5t"
;;
rt-n56u)
ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
ucidef_add_switch "switch0" "1" "1"
ucidef_add_switch_vlan "switch0" "1" "0 1 2 3 8t"
ucidef_add_switch_vlan "switch0" "2" "4 8t"
;;
freestation5 | \
wcr-150gn)
ucidef_set_interfaces_lan_wan "eth0.2" "eth0.1"
;;
wli-tx4-ag300n)
ucidef_set_interface_lan "eth0"
;;
*)
RT3X5X=`cat /proc/cpuinfo | grep RT3.5`
if [ -n "${RT3X5X}" ]; then
ramips_setup_rt3x5x_vlans
else
ucidef_set_interfaces_lan_wan "eth0" "eth1"
fi
;;
esac
}
ramips_setup_macs()
{
local board="$1"
local lan_mac=""
local wan_mac=""
case $board in
all0256n | \
all5002 | \
dir-615-h1)
lan_mac=$(ramips_get_mac_binary factory 40)
;;
3g-6200n | \
argus-atp52b | \
bc2 | \
f5d8235-v1 | \
nw718 | \
psr-680w | \
rt-n15 | \
sl-r7205 | \
wl-351)
lan_mac=$(ramips_get_mac_binary factory 4)
wan_mac=$(/usr/sbin/maccalc add "$lan_mac" 1)
;;
w306r-v20)
lan_mac=$(ramips_get_mac_binary factory 4)
wan_mac=$(/usr/sbin/maccalc add "$lan_mac" 5)
;;
fonera20n)
lan_mac=$(ramips_get_mac_binary factory 40)
wan_mac=$(/usr/sbin/maccalc add "$lan_mac" 1)
;;
dir-300-b1 |\
dir-300-b2 |\
dir-600-b1)
lan_mac=$(ramips_get_mac_binary devdata 16388)
wan_mac=$(/usr/sbin/maccalc add "$lan_mac" 1)
;;
dir-620-a1)
lan_mac=$(ramips_get_mac_binary factory 4)
lan_mac=$(maccalc or "$lan_mac" "02:00:00:00:00:00")
wan_mac=$(/usr/sbin/maccalc add "$lan_mac" 1)
;;
esr-9753 | \
ur-336un)
lan_mac=$(ramips_get_mac_binary devdata 16388)
wan_mac=$(/usr/sbin/maccalc add "$lan_mac" 1)
;;
nbg-419n | \
wcr-150gn)
lan_mac=$(ramips_get_mac_binary factory 4)
wan_mac=$(ramips_get_mac_binary factory 40)
;;
f5d8235-v2)
lan_mac=$(ramips_get_mac_binary "u-boot" 262148)
wan_mac=$(/usr/sbin/maccalc add "$lan_mac" 1)
;;
rt-n56u)
lan_mac=$(ramips_get_mac_binary factory 4)
wan_mac=$(ramips_get_mac_binary factory 32772)
;;
all0239-3g | \
w502u)
lan_mac=$(ramips_get_mac_binary factory 40)
wan_mac=$(ramips_get_mac_binary factory 46)
;;
wl341v3)
lan_mac=$(ramips_get_mac_binary board-nvram 65440)
wan_mac=$(/usr/sbin/maccalc add "$lan_mac" 1)
;;
wli-tx4-ag300n)
lan_mac=$(ramips_get_mac_binary factory 4)
;;
esac
[ -n "$lan_mac" ] && ucidef_set_interface_macaddr lan $lan_mac
[ -n "$wan_mac" ] && ucidef_set_interface_macaddr wan $wan_mac
}
[ -e /etc/config/network ] && exit 0
touch /etc/config/network
board=$(ramips_board_name)
ramips_setup_interfaces $board
ramips_setup_macs $board
uci commit network
exit 0