aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/realtek/base-files/etc/board.d/02_network
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/realtek/base-files/etc/board.d/02_network')
-rwxr-xr-xtarget/linux/realtek/base-files/etc/board.d/02_network43
1 files changed, 43 insertions, 0 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
new file mode 100755
index 0000000000..dc1465661b
--- /dev/null
+++ b/target/linux/realtek/base-files/etc/board.d/02_network
@@ -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