aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/kirkwood/base-files/lib/preinit/07_set_iface_mac
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/kirkwood/base-files/lib/preinit/07_set_iface_mac')
-rw-r--r--target/linux/kirkwood/base-files/lib/preinit/07_set_iface_mac25
1 files changed, 25 insertions, 0 deletions
diff --git a/target/linux/kirkwood/base-files/lib/preinit/07_set_iface_mac b/target/linux/kirkwood/base-files/lib/preinit/07_set_iface_mac
new file mode 100644
index 0000000000..75e9e886d9
--- /dev/null
+++ b/target/linux/kirkwood/base-files/lib/preinit/07_set_iface_mac
@@ -0,0 +1,25 @@
+. /lib/functions.sh
+. /lib/functions/system.sh
+
+preinit_set_mac_address() {
+ local mac
+
+ case $(board_name) in
+ checkpoint,l-50)
+ mac=$(mtd_get_mac_ascii bootldr-env lan1_mac_addr)
+
+ ip link set dev lan1 address $mac 2>/dev/null
+ ip link set dev lan2 address $(macaddr_add $mac 1) 2>/dev/null
+ ip link set dev lan3 address $(macaddr_add $mac 2) 2>/dev/null
+ ip link set dev lan4 address $(macaddr_add $mac 3) 2>/dev/null
+ ip link set dev lan5 address $(macaddr_add $mac 4) 2>/dev/null
+ ip link set dev lan6 address $(macaddr_add $mac 5) 2>/dev/null
+ ip link set dev lan7 address $(macaddr_add $mac 6) 2>/dev/null
+ ip link set dev lan8 address $(macaddr_add $mac 7) 2>/dev/null
+ ip link set dev dmz address $(macaddr_add $mac 8) 2>/dev/null
+ ip link set dev dsl address $(macaddr_add $mac 9) 2>/dev/null
+ ;;
+ esac
+}
+
+boot_hook_add preinit_main preinit_set_mac_address