From e93dca7cb328b346f04b6b9fb6d10e34db458d26 Mon Sep 17 00:00:00 2001
From: Matthias Schiffer <mschiffer@universe-factory.net>
Date: Wed, 6 May 2020 23:22:51 +0200
Subject: [PATCH] gluon-core: primary-mac: replace all eth0/eth1 lookups with
 lan/wan

The netdev() lookup is confusing to use: whenever a interface does not
exist during boot (for example VLAN) or when the address is overridden
from board.json (which is not obvious at all), it will yield either no
address, or a different address than expected.

To avoid this confusion, using board.json-based interface() is
preferable. This converts all uses of netdev() to the corresponding
lan/wan lookups, except for the final fallback for eth0.
---
 .../luasrc/lib/gluon/upgrade/010-primary-mac  | 64 +++++++++----------
 1 file changed, 32 insertions(+), 32 deletions(-)

diff --git a/package/gluon-core/luasrc/lib/gluon/upgrade/010-primary-mac b/package/gluon-core/luasrc/lib/gluon/upgrade/010-primary-mac
index 2974a29d2..fd1f1232d 100755
--- a/package/gluon-core/luasrc/lib/gluon/upgrade/010-primary-mac
+++ b/package/gluon-core/luasrc/lib/gluon/upgrade/010-primary-mac
@@ -57,14 +57,13 @@ end
 
 -- Entries are matched in the order they are listed
 local primary_addrs = {
-	{netdev('eth0'), {
-		{'x86'},
-		{'brcm2708'},
+	{interface('lan'), {
 		{'ar71xx', 'generic', {
-			'a40',
-			'a60',
-			'archer-c25-v1',
-			'archer-c60-v2',
+			'archer-c5',
+			'archer-c58-v1',
+			'archer-c59-v1',
+			'archer-c60-v1',
+			'archer-c7',
 			'archer-c7-v4',
 			'archer-c7-v5',
 			'carambola2',
@@ -77,11 +76,9 @@ local primary_addrs = {
 			'mr1750v2',
 			'om2p',
 			'om2pv2',
-			'om2pv4',
 			'om2p-hs',
 			'om2p-hsv2',
 			'om2p-hsv3',
-			'om2p-hsv4',
 			'om2p-lc',
 			'om5p',
 			'om5p-an',
@@ -99,32 +96,45 @@ local primary_addrs = {
 			'glinet,gl-ar750s-nor',
 			'ocedo,raccoon',
 		}},
+		{'brcm2708'},
 		{'ipq40xx', 'generic', {
 			'avm,fritzbox-4040',
-			'openmesh,a42',
-			'openmesh,a62',
 		}},
-		{'mpc85xx', 'p1020', {
-			'aerohive,hiveap-330',
+		{'ipq806x', 'generic', {
+			'netgear,r7800',
+		}},
+		{'lantiq', 'xway', {
+			'netgear,dgn3500b',
 		}},
 		{'ramips', 'mt7620', {
-			'miwifi-mini', 'tplink,c2-v1', 'c20-v1', 'c20i', 'c50',
+			'c20-v1',
+			'c20i',
+			'c50',
+			'tplink,c2-v1',
 		}},
+		{'x86'},
 	}},
-	{netdev('eth0'), {
+	{interface('wan'), {
 		{'ar71xx', 'generic', {
-			'archer-c5',
-			'archer-c58-v1',
-			'archer-c59-v1',
-			'archer-c60-v1',
-			'archer-c7',
+			'a40',
+			'a60',
+			'archer-c25-v1',
+			'archer-c60-v2',
+			'om2pv4',
+			'om2p-hsv4',
 		}},
-		{'ipq806x', 'generic', {
-			'netgear,r7800',
+		{'ipq40xx', 'generic', {
+			'linksys,ea6350v3',
+			'openmesh,a42',
+			'openmesh,a62',
 		}},
 		{'mpc85xx', 'p1020', {
+			'aerohive,hiveap-330',
 			'ocedo,panda',
 		}},
+		{'ramips', 'mt7620', {
+			'miwifi-mini',
+		}},
 	}},
 	{phy(1), {
 		{'ar71xx', 'generic', {
@@ -136,16 +146,6 @@ local primary_addrs = {
 			'dir-860l-b1',
 		}},
 	}},
-	{interface('lan'), {
-		{'lantiq', 'xway', {
-			'netgear,dgn3500b',
-		}},
-	}},
-	{board('wan'), {
-		{'ipq40xx', 'generic', {
-			'linksys,ea6350v3',
-		}},
-	}},
 	-- phy0 default
 	{phy(0), {
 		{}, -- matches everything
-- 
GitLab