aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--target/linux/kirkwood/base-files/etc/board.d/02_network109
1 files changed, 67 insertions, 42 deletions
diff --git a/target/linux/kirkwood/base-files/etc/board.d/02_network b/target/linux/kirkwood/base-files/etc/board.d/02_network
index ebc70cfc2f..773730e642 100644
--- a/target/linux/kirkwood/base-files/etc/board.d/02_network
+++ b/target/linux/kirkwood/base-files/etc/board.d/02_network
@@ -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