[openwrt/openwrt] realtek: use full range of assigned MAC addresses

LEDE Commits lede-commits at lists.infradead.org
Sun Nov 28 15:17:42 PST 2021


hauke pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/d1464afe1bb878a6202861b9bd2845be74f39b5f

commit d1464afe1bb878a6202861b9bd2845be74f39b5f
Author: Bjørn Mork <bjorn at mork.no>
AuthorDate: Mon Apr 12 14:27:25 2021 +0200

    realtek: use full range of assigned MAC addresses
    
    Some devices are assigned globally unique MAC addresses for all
    ports. These are stored by U-Boot in the second U-Boot enviroment
    ("sysinfo") as a range of start and end address.
    
    Use the full range if provided.
    
    Signed-off-by: Bjørn Mork <bjorn at mork.no>
---
 target/linux/realtek/base-files/etc/board.d/02_network | 9 ++++++---
 1 file changed, 6 insertions(+), 3 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
index 4eeb5768e3..93d6d4bd1e 100644
--- a/target/linux/realtek/base-files/etc/board.d/02_network
+++ b/target/linux/realtek/base-files/etc/board.d/02_network
@@ -25,11 +25,14 @@ ucidef_set_bridge_device switch
 ucidef_set_interface_lan "$lan_list"
 
 lan_mac=""
+lan_mac_end=""
 label_mac=""
 case $board in
 *)
-	lan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
-	label_mac=$lan_mac
+	lan_mac=$(mtd_get_mac_ascii u-boot-env2 mac_start)
+	lan_mac_end=$(mtd_get_mac_ascii u-boot-env2 mac_end)
+	label_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
+	[ -z "$lan_mac" ] && lan_mac=$label_mac
 	;;
 esac
 
@@ -38,7 +41,7 @@ ucidef_set_bridge_mac "$lan_mac"
 ucidef_set_network_device_mac eth0 $lan_mac
 for lan in $lan_list; do
 	ucidef_set_network_device_mac $lan $lan_mac
-	lan_mac=$(macaddr_setbit_la $lan_mac)
+	[ -z "$lan_mac_end" ] || [ "$lan_mac" == "$lan_mac_end" ] && lan_mac=$(macaddr_setbit_la $lan_mac)
 	lan_mac=$(macaddr_add $lan_mac 1)
 done
 [ -n "$label_mac" ] && ucidef_set_label_macaddr $label_mac



More information about the lede-commits mailing list