diff options
Diffstat (limited to 'target/linux/kirkwood/base-files/etc')
-rw-r--r-- | target/linux/kirkwood/base-files/etc/board.d/02_network | 109 |
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 |