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:
parent
9290539ca9
commit
9aa4490502
1 changed files with 47 additions and 31 deletions
|
@ -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 port in $2; do
|
||||||
|
json_add_string "" "$port"
|
||||||
|
done
|
||||||
|
json_select ..
|
||||||
|
json_select ..
|
||||||
|
}
|
||||||
|
|
||||||
|
board=$(board_name)
|
||||||
|
board_config_update
|
||||||
|
|
||||||
|
lan_list=""
|
||||||
for lan in /sys/class/net/lan*; do
|
for lan in /sys/class/net/lan*; do
|
||||||
lan_list="$lan_list $(basename $lan)"
|
lan_list="$lan_list $(basename $lan)"
|
||||||
done
|
done
|
||||||
ucidef_set_bridge_device switch
|
ucidef_set_bridge_device switch
|
||||||
ucidef_set_interface_lan "$lan_list"
|
ucidef_set_interface_wan "$lan_list"
|
||||||
}
|
ucidef_set_interface "lan" ifname "lan1:t" protocol "static" vlan 100
|
||||||
|
|
||||||
rtl838x_setup_macs()
|
|
||||||
{
|
|
||||||
local board="$1"
|
|
||||||
local lan_mac
|
|
||||||
local wan_mac
|
|
||||||
local label_mac
|
|
||||||
|
|
||||||
|
lan_mac=""
|
||||||
|
wan_mac=""
|
||||||
|
label_mac=""
|
||||||
case $board in
|
case $board in
|
||||||
allnet,all-sg8208m|\
|
*)
|
||||||
netgear,gs110tpp-v1)
|
wan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
|
||||||
lan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
|
|
||||||
label_mac=$lan_mac
|
label_mac=$lan_mac
|
||||||
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
[ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac
|
lan_mac=$(macaddr_setbit_la $wan_mac)
|
||||||
[ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" $wan_mac
|
|
||||||
[ -n "$label_mac" ] && ucidef_set_label_macaddr $label_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_update
|
|
||||||
board=$(board_name)
|
|
||||||
rtl838x_setup_switch
|
|
||||||
rtl838x_setup_macs $board
|
|
||||||
board_config_flush
|
board_config_flush
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
|
|
Loading…
Reference in a new issue