diff options
Diffstat (limited to 'target/linux/realtek/base-files')
-rwxr-xr-x | target/linux/realtek/base-files/etc/board.d/02_network | 78 |
1 files changed, 47 insertions, 31 deletions
diff --git a/target/linux/realtek/base-files/etc/board.d/02_network b/target/linux/realtek/base-files/etc/board.d/02_network index dc1465661b..84980c8982 100755 --- a/target/linux/realtek/base-files/etc/board.d/02_network +++ b/target/linux/realtek/base-files/etc/board.d/02_network @@ -4,40 +4,56 @@ . /lib/functions/uci-defaults.sh . /lib/functions/system.sh -rtl838x_setup_switch() -{ - local lan 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_lan "$lan_list" +ucidef_set_poe() { + json_select_object poe + json_add_string "budget" "$1" + json_select_array ports + for port in $2; do + json_add_string "" "$port" + done + json_select .. + 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) -rtl838x_setup_switch -rtl838x_setup_macs $board +board_config_update + +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 exit 0 |