realtek: clean up board.json generation

In this new setup the switch is treated as wan, lan1.100 is used as
our mgmt vlan.

The board mac is applied to eth0, switch and switch.1

The board mac is assigned with the LA bit set to all lan ports while
incrementing it.

Signed-off-by: John Crispin <john@phrozen.org>
This commit is contained in:
John Crispin 2020-11-28 11:44:44 +01:00
parent 9290539ca9
commit 9aa4490502

View File

@ -4,40 +4,56 @@
. /lib/functions/uci-defaults.sh . /lib/functions/uci-defaults.sh
. /lib/functions/system.sh . /lib/functions/system.sh
rtl838x_setup_switch() ucidef_set_poe() {
{ json_select_object poe
local lan lan_list json_add_string "budget" "$1"
json_select_array ports
for lan in /sys/class/net/lan*; do for port in $2; do
lan_list="$lan_list $(basename $lan)" json_add_string "" "$port"
done done
ucidef_set_bridge_device switch json_select ..
ucidef_set_interface_lan "$lan_list" json_select ..
} }
rtl838x_setup_macs()
{
local board="$1"
local lan_mac
local wan_mac
local label_mac
case $board in
allnet,all-sg8208m|\
netgear,gs110tpp-v1)
lan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
label_mac=$lan_mac
esac
[ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac
[ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" $wan_mac
[ -n "$label_mac" ] && ucidef_set_label_macaddr $label_mac
}
board_config_update
board=$(board_name) board=$(board_name)
rtl838x_setup_switch board_config_update
rtl838x_setup_macs $board
lan_list=""
for lan in /sys/class/net/lan*; do
lan_list="$lan_list $(basename $lan)"
done
ucidef_set_bridge_device switch
ucidef_set_interface_wan "$lan_list"
ucidef_set_interface "lan" ifname "lan1:t" protocol "static" vlan 100
lan_mac=""
wan_mac=""
label_mac=""
case $board in
*)
wan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
label_mac=$lan_mac
;;
esac
lan_mac=$(macaddr_setbit_la $wan_mac)
ucidef_set_interface_macaddr "lan" $lan_mac
ucidef_set_interface_macaddr "wan" $wan_mac
ucidef_set_bridge_mac "$wan_mac"
ucidef_set_network_device_mac eth0 $wan_mac
for lan in $lan_list; do
ucidef_set_network_device_mac $lan $lan_mac
lan_mac=$(macaddr_add $lan_mac 1)
done
[ -n "$label_mac" ] && ucidef_set_label_macaddr $label_mac
case $board in
netgear,gs110tpp-v1)
ucidef_set_poe 130 "$lan_list"
;;
esac
board_config_flush board_config_flush
exit 0 exit 0