realtek: update the tree to the latest refactored version
[openwrt/openwrt.git] / target / linux / realtek / base-files / etc / board.d / 02_network
diff --git a/target/linux/realtek/base-files/etc/board.d/02_network b/target/linux/realtek/base-files/etc/board.d/02_network
new file mode 100755 (executable)
index 0000000..dc14656
--- /dev/null
@@ -0,0 +1,43 @@
+#!/bin/sh
+
+. /lib/functions.sh
+. /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"
+}
+
+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_flush
+
+exit 0