kirkwood: rework 02_network
authorSungbo Eo <mans0n@gorani.run>
Sat, 22 Jan 2022 11:30:05 +0000 (20:30 +0900)
committerSungbo Eo <mans0n@gorani.run>
Sat, 29 Jan 2022 14:50:28 +0000 (23:50 +0900)
Just like other targets do, introduce two setup functions for interfaces
and MAC addresses.

Signed-off-by: Sungbo Eo <mans0n@gorani.run>
target/linux/kirkwood/base-files/etc/board.d/02_network

index ebc70cfc2f3798da212d2f13f22706c83892b6f5..773730e642834c516cbcc9c9453bf0fe6534243e 100644 (file)
@@ -5,51 +5,76 @@
 . /lib/functions/uci-defaults.sh
 . /lib/functions/system.sh
 
-board_config_update
+kirkwood_setup_interfaces()
+{
+       local board="$1"
 
-board=$(board_name)
+       case "$board" in
+       checkpoint,l-50)
+               ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4 lan5 lan6 lan7 lan8 dmz" "eth0"
+               ;;
+       cisco,on100)
+               ucidef_set_interface_lan "eth0 eth1"
+               ;;
+       cloudengines,pogoe02|\
+       cloudengines,pogoplugv4|\
+       ctera,c200-v1|\
+       globalscale,sheevaplug|\
+       iom,iconnect-1.1|\
+       iom,ix2-200|\
+       netgear,readynas-duo-v2|\
+       raidsonic,ib-nas62x0|\
+       seagate,blackarmor-nas220|\
+       seagate,dockstar|\
+       seagate,goflexhome|\
+       seagate,goflexnet|\
+       zyxel,nsa310b|\
+       zyxel,nsa310s|\
+       zyxel,nsa325)
+               ucidef_set_interface_lan "eth0" "dhcp"
+               ;;
+       endian,4i-edge-200)
+               ucidef_set_interface_lan "port1 port2 port3 port4 eth1"
+               ;;
+       linksys,e4200-v2|\
+       linksys,ea3500|\
+       linksys,ea4500)
+               ucidef_set_interfaces_lan_wan "ethernet1 ethernet2 ethernet3 ethernet4" "internet"
+               ;;
+       *)
+               ucidef_set_interface_lan "eth0"
+               ;;
+       esac
+}
+
+kirkwood_setup_macs()
+{
+       local board="$1"
+       local lan_mac=""
+       local wan_mac=""
+       local label_mac=""
 
-case "$board" in
-checkpoint,l-50)
-       ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4 lan5 lan6 lan7 lan8 dmz" "eth0"
-       ;;
-cisco,on100)
-       ucidef_set_interface_lan "eth0 eth1"
-       ;;
-cloudengines,pogoe02|\
-cloudengines,pogoplugv4|\
-ctera,c200-v1|\
-globalscale,sheevaplug|\
-iom,iconnect-1.1|\
-iom,ix2-200|\
-netgear,readynas-duo-v2|\
-raidsonic,ib-nas62x0|\
-seagate,blackarmor-nas220|\
-seagate,dockstar|\
-seagate,goflexhome|\
-seagate,goflexnet|\
-zyxel,nsa310s)
-       ucidef_set_interface_lan "eth0" "dhcp"
-       ;;
-endian,4i-edge-200)
-       ucidef_set_interface_lan "port1 port2 port3 port4 eth1"
-       ;;
-linksys,e4200-v2|\
-linksys,ea3500|\
-linksys,ea4500)
-       ucidef_set_interfaces_lan_wan "ethernet1 ethernet2 ethernet3 ethernet4" "internet"
-       ucidef_set_interface_macaddr "wan" $( mtd_get_mac_ascii u_env eth1addr )
-       ;;
-zyxel,nsa310b|\
-zyxel,nsa325)
-       ucidef_set_interface_lan "eth0" "dhcp"
-       ucidef_set_interface_macaddr "lan" $( mtd_get_mac_ascii uboot_env ethaddr )
-       ;;
-*)
-       ucidef_set_interface_lan "eth0"
-       ;;
-esac
+       case "$board" in
+       linksys,e4200-v2|\
+       linksys,ea3500|\
+       linksys,ea4500)
+               wan_mac=$(mtd_get_mac_ascii u_env eth1addr)
+               ;;
+       zyxel,nsa310b|\
+       zyxel,nsa325)
+               lan_mac=$(mtd_get_mac_ascii uboot_env ethaddr)
+               ;;
+       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)
+kirkwood_setup_interfaces $board
+kirkwood_setup_macs $board
 board_config_flush
 
 exit 0