[v2] fff-network: Move ETH0MAC to network.*

Submitted by Adrian Schmutzler on Nov. 14, 2017, 10:41 a.m.

Details

Message ID 1510656060-2062-1-git-send-email-freifunk@adrianschmutzler.de
State Rejected
Headers show

Commit Message

Adrian Schmutzler Nov. 14, 2017, 10:41 a.m.
ETH0MAC is relevant only for ONE_PORT devices. For those,
ROUTERMAC is typically evaluated by former w2mesh, now phy0.
Thus, we can obtain the w2ap MAC by only shifting the bit
of ROUTERMAC.

In configurenetwork, instead of setting it for BATMAN mode,
we just unset it for the other two modes.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>

---

Changes in v2:
- Also fix lower part of configurenetwork.

NOT TESTED.
---
 src/packages/fff/fff-network/ar71xx/network.tl-mr3020-v1     | 3 +++
 src/packages/fff/fff-network/ar71xx/network.tl-wa850re-v1    | 3 +++
 src/packages/fff/fff-network/ar71xx/network.tl-wa860re-v1    | 3 +++
 src/packages/fff/fff-network/ar71xx/network.tl-wa901nd-v2    | 3 +++
 src/packages/fff/fff-network/ar71xx/network.ubnt-bullet-m    | 3 +++
 src/packages/fff/fff-network/ar71xx/network.ubnt-loco-m-xw   | 3 +++
 src/packages/fff/fff-network/ar71xx/network.ubnt-nano-m      | 3 +++
 src/packages/fff/fff-network/ar71xx/network.ubnt-unifi       | 3 +++
 src/packages/fff/fff-network/files/usr/sbin/configurenetwork | 8 ++++----
 9 files changed, 28 insertions(+), 4 deletions(-)

Patch hide | download patch | download mbox

diff --git a/src/packages/fff/fff-network/ar71xx/network.tl-mr3020-v1 b/src/packages/fff/fff-network/ar71xx/network.tl-mr3020-v1
index facaf91..84f4cb7 100644
--- a/src/packages/fff/fff-network/ar71xx/network.tl-mr3020-v1
+++ b/src/packages/fff/fff-network/ar71xx/network.tl-mr3020-v1
@@ -1,3 +1,5 @@ 
+. /lib/functions/fff/network
+
 WANDEV=eth0
 SWITCHDEV=eth0
 CLIENT_PORTS=""
@@ -9,3 +11,4 @@  ONE_PORT="YES"
 
 ETHMESHMAC=$(cat /sys/class/net/eth0/address)
 ROUTERMAC=$(cat /sys/class/net/eth0/address)
+ETH0MAC=$(macFlipLocalBit "$(cat /sys/class/ieee80211/phy0/macaddress)")
diff --git a/src/packages/fff/fff-network/ar71xx/network.tl-wa850re-v1 b/src/packages/fff/fff-network/ar71xx/network.tl-wa850re-v1
index 372750c..f04e440 100644
--- a/src/packages/fff/fff-network/ar71xx/network.tl-wa850re-v1
+++ b/src/packages/fff/fff-network/ar71xx/network.tl-wa850re-v1
@@ -1,3 +1,5 @@ 
+. /lib/functions/fff/network
+
 WANDEV=eth0
 SWITCHDEV=eth0
 CLIENT_PORTS=""
@@ -8,3 +10,4 @@  ONE_PORT="YES"
 . /etc/network.mode
 
 ROUTERMAC=$(cat /sys/class/ieee80211/phy0/macaddress)
+ETH0MAC=$(macFlipLocalBit "$ROUTERMAC")
diff --git a/src/packages/fff/fff-network/ar71xx/network.tl-wa860re-v1 b/src/packages/fff/fff-network/ar71xx/network.tl-wa860re-v1
index 372750c..f04e440 100644
--- a/src/packages/fff/fff-network/ar71xx/network.tl-wa860re-v1
+++ b/src/packages/fff/fff-network/ar71xx/network.tl-wa860re-v1
@@ -1,3 +1,5 @@ 
+. /lib/functions/fff/network
+
 WANDEV=eth0
 SWITCHDEV=eth0
 CLIENT_PORTS=""
@@ -8,3 +10,4 @@  ONE_PORT="YES"
 . /etc/network.mode
 
 ROUTERMAC=$(cat /sys/class/ieee80211/phy0/macaddress)
+ETH0MAC=$(macFlipLocalBit "$ROUTERMAC")
diff --git a/src/packages/fff/fff-network/ar71xx/network.tl-wa901nd-v2 b/src/packages/fff/fff-network/ar71xx/network.tl-wa901nd-v2
index 372750c..f04e440 100644
--- a/src/packages/fff/fff-network/ar71xx/network.tl-wa901nd-v2
+++ b/src/packages/fff/fff-network/ar71xx/network.tl-wa901nd-v2
@@ -1,3 +1,5 @@ 
+. /lib/functions/fff/network
+
 WANDEV=eth0
 SWITCHDEV=eth0
 CLIENT_PORTS=""
@@ -8,3 +10,4 @@  ONE_PORT="YES"
 . /etc/network.mode
 
 ROUTERMAC=$(cat /sys/class/ieee80211/phy0/macaddress)
+ETH0MAC=$(macFlipLocalBit "$ROUTERMAC")
diff --git a/src/packages/fff/fff-network/ar71xx/network.ubnt-bullet-m b/src/packages/fff/fff-network/ar71xx/network.ubnt-bullet-m
index 372750c..f04e440 100644
--- a/src/packages/fff/fff-network/ar71xx/network.ubnt-bullet-m
+++ b/src/packages/fff/fff-network/ar71xx/network.ubnt-bullet-m
@@ -1,3 +1,5 @@ 
+. /lib/functions/fff/network
+
 WANDEV=eth0
 SWITCHDEV=eth0
 CLIENT_PORTS=""
@@ -8,3 +10,4 @@  ONE_PORT="YES"
 . /etc/network.mode
 
 ROUTERMAC=$(cat /sys/class/ieee80211/phy0/macaddress)
+ETH0MAC=$(macFlipLocalBit "$ROUTERMAC")
diff --git a/src/packages/fff/fff-network/ar71xx/network.ubnt-loco-m-xw b/src/packages/fff/fff-network/ar71xx/network.ubnt-loco-m-xw
index 372750c..f04e440 100644
--- a/src/packages/fff/fff-network/ar71xx/network.ubnt-loco-m-xw
+++ b/src/packages/fff/fff-network/ar71xx/network.ubnt-loco-m-xw
@@ -1,3 +1,5 @@ 
+. /lib/functions/fff/network
+
 WANDEV=eth0
 SWITCHDEV=eth0
 CLIENT_PORTS=""
@@ -8,3 +10,4 @@  ONE_PORT="YES"
 . /etc/network.mode
 
 ROUTERMAC=$(cat /sys/class/ieee80211/phy0/macaddress)
+ETH0MAC=$(macFlipLocalBit "$ROUTERMAC")
diff --git a/src/packages/fff/fff-network/ar71xx/network.ubnt-nano-m b/src/packages/fff/fff-network/ar71xx/network.ubnt-nano-m
index 372750c..f04e440 100644
--- a/src/packages/fff/fff-network/ar71xx/network.ubnt-nano-m
+++ b/src/packages/fff/fff-network/ar71xx/network.ubnt-nano-m
@@ -1,3 +1,5 @@ 
+. /lib/functions/fff/network
+
 WANDEV=eth0
 SWITCHDEV=eth0
 CLIENT_PORTS=""
@@ -8,3 +10,4 @@  ONE_PORT="YES"
 . /etc/network.mode
 
 ROUTERMAC=$(cat /sys/class/ieee80211/phy0/macaddress)
+ETH0MAC=$(macFlipLocalBit "$ROUTERMAC")
diff --git a/src/packages/fff/fff-network/ar71xx/network.ubnt-unifi b/src/packages/fff/fff-network/ar71xx/network.ubnt-unifi
index 372750c..f04e440 100644
--- a/src/packages/fff/fff-network/ar71xx/network.ubnt-unifi
+++ b/src/packages/fff/fff-network/ar71xx/network.ubnt-unifi
@@ -1,3 +1,5 @@ 
+. /lib/functions/fff/network
+
 WANDEV=eth0
 SWITCHDEV=eth0
 CLIENT_PORTS=""
@@ -8,3 +10,4 @@  ONE_PORT="YES"
 . /etc/network.mode
 
 ROUTERMAC=$(cat /sys/class/ieee80211/phy0/macaddress)
+ETH0MAC=$(macFlipLocalBit "$ROUTERMAC")
diff --git a/src/packages/fff/fff-network/files/usr/sbin/configurenetwork b/src/packages/fff/fff-network/files/usr/sbin/configurenetwork
index 89dd239..1571c05 100755
--- a/src/packages/fff/fff-network/files/usr/sbin/configurenetwork
+++ b/src/packages/fff/fff-network/files/usr/sbin/configurenetwork
@@ -133,6 +133,7 @@  if [ "$ONE_PORT" = "YES" ] && ( ! uci -q get network.$SWITCHDEV.ifname || [ "$FO
         uci set network.wan.ifname="$WANDEV"
         uci del uci set network.ethmesh.ifname
         uci del network.eth0.macaddr
+        ETH0MAC=""
     elif [ "$ETHMODE" = "CLIENT" ] ; then
         echo "net.ipv6.conf.$WANDEV.accept_ra_defrtr = 0" >> /etc/sysctl.conf
         echo "net.ipv6.conf.$WANDEV.accept_ra_pinfo = 0" >> /etc/sysctl.conf
@@ -142,6 +143,7 @@  if [ "$ONE_PORT" = "YES" ] && ( ! uci -q get network.$SWITCHDEV.ifname || [ "$FO
         uci set network.wan.ifname="eth1" #eth1 because it is default in config file
         uci del network.ethmesh.ifname
         uci del network.eth0.macaddr
+        ETH0MAC=""
     elif [ "$ETHMODE" = "BATMAN" ] ; then
         echo "net.ipv6.conf.$WANDEV.accept_ra_defrtr = 0" >> /etc/sysctl.conf
         echo "net.ipv6.conf.$WANDEV.accept_ra_pinfo = 0" >> /etc/sysctl.conf
@@ -150,7 +152,6 @@  if [ "$ONE_PORT" = "YES" ] && ( ! uci -q get network.$SWITCHDEV.ifname || [ "$FO
         uci set network.mesh.ifname="bat0"
         uci set network.wan.ifname="eth1" #eth1 because it is default in config file
         uci set network.ethmesh.ifname="$SWITCHDEV"
-        ETH0MAC="w2ap"
     fi
     uci commit
 fi
@@ -196,11 +197,10 @@  fi
 if [[ -n "$ETH0MAC" ]]; then
         echo "Fixing MAC on eth0"
         sleep 10
-        NEW_MACADDR=$(cat "/sys/class/net/${ETH0MAC}/address")
-        uci set network.eth0.macaddr=$NEW_MACADDR
+        uci set network.eth0.macaddr=$ETH0MAC
         uci commit
         ifconfig eth0 down
-        ifconfig eth0 hw ether $NEW_MACADDR
+        ifconfig eth0 hw ether $ETH0MAC
         ifconfig eth0 up
         /etc/init.d/network restart
 fi

Comments

Fabian Blaese Dec. 1, 2017, 9:31 a.m.
Hallo,

wenn ich das richtig sehe tut die ETH0MAC doch genau das gleiche wie die ETHMESHMAC, nur eben für one_port devices. (Geräte ohne eingebauten Switch)
Ist diese Redundanz nötig? ETHMESHMAC sollte sich für diese Geräte genau so nutzen lassen, im ONE_PORT Skript (Zeile 124-156) muss dann nur sichergestellt werden, dass diese nur gesetzt wird, wenn ETHMODE BATMAN ausgewählt ist. (ggf. das ganze Konstrukt behalten, hauptsächlich gefällt mir der Variablenname nicht.)
Das würde das Skript meiner Meinung deutlich einfacher verständlich machen.

Und was ganz anderes nebenbei: Warum taucht an verschiedenen Stellen SWITCHDEV auf? Wenn ich das richtig sehe haben diese Geräte keinen Switch. Oder doch? Dann ließe sich das hier noch wesentlich kürzer und einfacher machen.

Fabian
Fabian Blaese Dec. 1, 2017, 10:29 a.m.
Generell an dieser Stelle auch mal die Frage, warum wir die ETHMESHMAC nicht auf das logische Interface ‘ethmesh’ legen und dann - wie bei br-mesh auch - je nach Gerät verschiedene physikalische Interfaces in das ethmesh stecken? Dafür muss ethmesh auch keine bridge sein, solange nur ein physikalisches Interface drin steht.

Fabian
Fabian Blaese Dec. 1, 2017, 10:32 a.m.
Hmm, tun wir bereits. Dann müsste ETHMESHMAC statt ETH0MAC verwenden einfach so funktionieren. Nur die Ausgabe im ETHMESHMAC Block stimmt eigentlich nicht ganz.
Sorry für den Mail-Spam. Ich guck nochmal drüber und fass das nachher nochmal in einer Mail zusammen.

Fabian

> On 1. Dec 2017, at 11:29, Fabian Bläse <fabian@blaese.de> wrote:
> 
> Generell an dieser Stelle auch mal die Frage, warum wir die ETHMESHMAC nicht auf das logische Interface ‘ethmesh’ legen und dann - wie bei br-mesh auch - je nach Gerät verschiedene physikalische Interfaces in das ethmesh stecken? Dafür muss ethmesh auch keine bridge sein, solange nur ein physikalisches Interface drin steht.
> 
> Fabian
>
Adrian Schmutzler Dec. 1, 2017, 10:38 a.m.
Hallo Fabian,

bei ETHMESHMAC gibt es eine echte zweite MAC-Adresse, die dafür verwendet wird.

Bei den ONE_PORT Geräten gibt es die wohl nicht, hier wird w2mesh als ROUTERMAC verwendet und w2ap als ETH0MAC (vor unseren Änderungen).

Ich habe nach dem Bauen dieses Patches auch erkannt, dass es Unsinn, für die One-Ports die ETH0MAC in die network.*-Dateien zu schreiben. Daher der kompaktere (und in meinen Augen bessere) Patch als Alternative:

https://pw.freifunk-franken.de/patch/688/

Hier wird einfach für alle die Routermac gekippt.

Der Hauptgrund für diesen Patch ist ohnehin nur, das w2ap loszuwerden, damit wir endlich die Dummynetzwerke löschen können.

Grüße

Adrian

> -----Original Message-----
> From: franken-dev [mailto:franken-dev-bounces@freifunk.net] On Behalf
> Of Fabian Bläse
> Sent: Freitag, 1. Dezember 2017 10:31
> To: Adrian Schmutzler <freifunk@adrianschmutzler.de>; franken-
> dev@freifunk.net
> Subject: Re: [PATCH v2] fff-network: Move ETH0MAC to network.*
> 
> Hallo,
> 
> wenn ich das richtig sehe tut die ETH0MAC doch genau das gleiche wie die
> ETHMESHMAC, nur eben für one_port devices. (Geräte ohne eingebauten
> Switch) Ist diese Redundanz nötig? ETHMESHMAC sollte sich für diese Geräte
> genau so nutzen lassen, im ONE_PORT Skript (Zeile 124-156) muss dann nur
> sichergestellt werden, dass diese nur gesetzt wird, wenn ETHMODE BATMAN
> ausgewählt ist. (ggf. das ganze Konstrukt behalten, hauptsächlich gefällt mir
> der Variablenname nicht.) Das würde das Skript meiner Meinung deutlich
> einfacher verständlich machen.
> 
> Und was ganz anderes nebenbei: Warum taucht an verschiedenen Stellen
> SWITCHDEV auf? Wenn ich das richtig sehe haben diese Geräte keinen
> Switch. Oder doch? Dann ließe sich das hier noch wesentlich kürzer und
> einfacher machen.
> 
> Fabian
Tim Niemeyer Dec. 22, 2017, 2 p.m.
Hi Adrian

Mir gefällt der Evaluate Patch auch deutlich besser.

Tim

Am Dienstag, den 14.11.2017, 11:41 +0100 schrieb Adrian Schmutzler:
> ETH0MAC is relevant only for ONE_PORT devices. For those,
> ROUTERMAC is typically evaluated by former w2mesh, now phy0.
> Thus, we can obtain the w2ap MAC by only shifting the bit
> of ROUTERMAC.
> 
> In configurenetwork, instead of setting it for BATMAN mode,
> we just unset it for the other two modes.
> 
> Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
> 
> ---
> 
> Changes in v2:
> - Also fix lower part of configurenetwork.
> 
> NOT TESTED.
> ---
>  src/packages/fff/fff-network/ar71xx/network.tl-mr3020-v1     | 3 +++
>  src/packages/fff/fff-network/ar71xx/network.tl-wa850re-v1    | 3 +++
>  src/packages/fff/fff-network/ar71xx/network.tl-wa860re-v1    | 3 +++
>  src/packages/fff/fff-network/ar71xx/network.tl-wa901nd-v2    | 3 +++
>  src/packages/fff/fff-network/ar71xx/network.ubnt-bullet-m    | 3 +++
>  src/packages/fff/fff-network/ar71xx/network.ubnt-loco-m-xw   | 3 +++
>  src/packages/fff/fff-network/ar71xx/network.ubnt-nano-m      | 3 +++
>  src/packages/fff/fff-network/ar71xx/network.ubnt-unifi       | 3 +++
>  src/packages/fff/fff-network/files/usr/sbin/configurenetwork | 8
> ++++----
>  9 files changed, 28 insertions(+), 4 deletions(-)
> 
> diff --git a/src/packages/fff/fff-network/ar71xx/network.tl-mr3020-v1 
> b/src/packages/fff/fff-network/ar71xx/network.tl-mr3020-v1
> index facaf91..84f4cb7 100644
> --- a/src/packages/fff/fff-network/ar71xx/network.tl-mr3020-v1
> +++ b/src/packages/fff/fff-network/ar71xx/network.tl-mr3020-v1
> @@ -1,3 +1,5 @@
> +. /lib/functions/fff/network
> +
>  WANDEV=eth0
>  SWITCHDEV=eth0
>  CLIENT_PORTS=""
> @@ -9,3 +11,4 @@ ONE_PORT="YES"
>  
>  ETHMESHMAC=$(cat /sys/class/net/eth0/address)
>  ROUTERMAC=$(cat /sys/class/net/eth0/address)
> +ETH0MAC=$(macFlipLocalBit "$(cat
> /sys/class/ieee80211/phy0/macaddress)")
> diff --git a/src/packages/fff/fff-network/ar71xx/network.tl-wa850re-
> v1 b/src/packages/fff/fff-network/ar71xx/network.tl-wa850re-v1
> index 372750c..f04e440 100644
> --- a/src/packages/fff/fff-network/ar71xx/network.tl-wa850re-v1
> +++ b/src/packages/fff/fff-network/ar71xx/network.tl-wa850re-v1
> @@ -1,3 +1,5 @@
> +. /lib/functions/fff/network
> +
>  WANDEV=eth0
>  SWITCHDEV=eth0
>  CLIENT_PORTS=""
> @@ -8,3 +10,4 @@ ONE_PORT="YES"
>  . /etc/network.mode
>  
>  ROUTERMAC=$(cat /sys/class/ieee80211/phy0/macaddress)
> +ETH0MAC=$(macFlipLocalBit "$ROUTERMAC")
> diff --git a/src/packages/fff/fff-network/ar71xx/network.tl-wa860re-
> v1 b/src/packages/fff/fff-network/ar71xx/network.tl-wa860re-v1
> index 372750c..f04e440 100644
> --- a/src/packages/fff/fff-network/ar71xx/network.tl-wa860re-v1
> +++ b/src/packages/fff/fff-network/ar71xx/network.tl-wa860re-v1
> @@ -1,3 +1,5 @@
> +. /lib/functions/fff/network
> +
>  WANDEV=eth0
>  SWITCHDEV=eth0
>  CLIENT_PORTS=""
> @@ -8,3 +10,4 @@ ONE_PORT="YES"
>  . /etc/network.mode
>  
>  ROUTERMAC=$(cat /sys/class/ieee80211/phy0/macaddress)
> +ETH0MAC=$(macFlipLocalBit "$ROUTERMAC")
> diff --git a/src/packages/fff/fff-network/ar71xx/network.tl-wa901nd-
> v2 b/src/packages/fff/fff-network/ar71xx/network.tl-wa901nd-v2
> index 372750c..f04e440 100644
> --- a/src/packages/fff/fff-network/ar71xx/network.tl-wa901nd-v2
> +++ b/src/packages/fff/fff-network/ar71xx/network.tl-wa901nd-v2
> @@ -1,3 +1,5 @@
> +. /lib/functions/fff/network
> +
>  WANDEV=eth0
>  SWITCHDEV=eth0
>  CLIENT_PORTS=""
> @@ -8,3 +10,4 @@ ONE_PORT="YES"
>  . /etc/network.mode
>  
>  ROUTERMAC=$(cat /sys/class/ieee80211/phy0/macaddress)
> +ETH0MAC=$(macFlipLocalBit "$ROUTERMAC")
> diff --git a/src/packages/fff/fff-network/ar71xx/network.ubnt-bullet-
> m b/src/packages/fff/fff-network/ar71xx/network.ubnt-bullet-m
> index 372750c..f04e440 100644
> --- a/src/packages/fff/fff-network/ar71xx/network.ubnt-bullet-m
> +++ b/src/packages/fff/fff-network/ar71xx/network.ubnt-bullet-m
> @@ -1,3 +1,5 @@
> +. /lib/functions/fff/network
> +
>  WANDEV=eth0
>  SWITCHDEV=eth0
>  CLIENT_PORTS=""
> @@ -8,3 +10,4 @@ ONE_PORT="YES"
>  . /etc/network.mode
>  
>  ROUTERMAC=$(cat /sys/class/ieee80211/phy0/macaddress)
> +ETH0MAC=$(macFlipLocalBit "$ROUTERMAC")
> diff --git a/src/packages/fff/fff-network/ar71xx/network.ubnt-loco-m-
> xw b/src/packages/fff/fff-network/ar71xx/network.ubnt-loco-m-xw
> index 372750c..f04e440 100644
> --- a/src/packages/fff/fff-network/ar71xx/network.ubnt-loco-m-xw
> +++ b/src/packages/fff/fff-network/ar71xx/network.ubnt-loco-m-xw
> @@ -1,3 +1,5 @@
> +. /lib/functions/fff/network
> +
>  WANDEV=eth0
>  SWITCHDEV=eth0
>  CLIENT_PORTS=""
> @@ -8,3 +10,4 @@ ONE_PORT="YES"
>  . /etc/network.mode
>  
>  ROUTERMAC=$(cat /sys/class/ieee80211/phy0/macaddress)
> +ETH0MAC=$(macFlipLocalBit "$ROUTERMAC")
> diff --git a/src/packages/fff/fff-network/ar71xx/network.ubnt-nano-m
> b/src/packages/fff/fff-network/ar71xx/network.ubnt-nano-m
> index 372750c..f04e440 100644
> --- a/src/packages/fff/fff-network/ar71xx/network.ubnt-nano-m
> +++ b/src/packages/fff/fff-network/ar71xx/network.ubnt-nano-m
> @@ -1,3 +1,5 @@
> +. /lib/functions/fff/network
> +
>  WANDEV=eth0
>  SWITCHDEV=eth0
>  CLIENT_PORTS=""
> @@ -8,3 +10,4 @@ ONE_PORT="YES"
>  . /etc/network.mode
>  
>  ROUTERMAC=$(cat /sys/class/ieee80211/phy0/macaddress)
> +ETH0MAC=$(macFlipLocalBit "$ROUTERMAC")
> diff --git a/src/packages/fff/fff-network/ar71xx/network.ubnt-unifi
> b/src/packages/fff/fff-network/ar71xx/network.ubnt-unifi
> index 372750c..f04e440 100644
> --- a/src/packages/fff/fff-network/ar71xx/network.ubnt-unifi
> +++ b/src/packages/fff/fff-network/ar71xx/network.ubnt-unifi
> @@ -1,3 +1,5 @@
> +. /lib/functions/fff/network
> +
>  WANDEV=eth0
>  SWITCHDEV=eth0
>  CLIENT_PORTS=""
> @@ -8,3 +10,4 @@ ONE_PORT="YES"
>  . /etc/network.mode
>  
>  ROUTERMAC=$(cat /sys/class/ieee80211/phy0/macaddress)
> +ETH0MAC=$(macFlipLocalBit "$ROUTERMAC")
> diff --git a/src/packages/fff/fff-
> network/files/usr/sbin/configurenetwork b/src/packages/fff/fff-
> network/files/usr/sbin/configurenetwork
> index 89dd239..1571c05 100755
> --- a/src/packages/fff/fff-network/files/usr/sbin/configurenetwork
> +++ b/src/packages/fff/fff-network/files/usr/sbin/configurenetwork
> @@ -133,6 +133,7 @@ if [ "$ONE_PORT" = "YES" ] && ( ! uci -q get
> network.$SWITCHDEV.ifname || [ "$FO
>          uci set network.wan.ifname="$WANDEV"
>          uci del uci set network.ethmesh.ifname
>          uci del network.eth0.macaddr
> +        ETH0MAC=""
>      elif [ "$ETHMODE" = "CLIENT" ] ; then
>          echo "net.ipv6.conf.$WANDEV.accept_ra_defrtr = 0" >>
> /etc/sysctl.conf
>          echo "net.ipv6.conf.$WANDEV.accept_ra_pinfo = 0" >>
> /etc/sysctl.conf
> @@ -142,6 +143,7 @@ if [ "$ONE_PORT" = "YES" ] && ( ! uci -q get
> network.$SWITCHDEV.ifname || [ "$FO
>          uci set network.wan.ifname="eth1" #eth1 because it is
> default in config file
>          uci del network.ethmesh.ifname
>          uci del network.eth0.macaddr
> +        ETH0MAC=""
>      elif [ "$ETHMODE" = "BATMAN" ] ; then
>          echo "net.ipv6.conf.$WANDEV.accept_ra_defrtr = 0" >>
> /etc/sysctl.conf
>          echo "net.ipv6.conf.$WANDEV.accept_ra_pinfo = 0" >>
> /etc/sysctl.conf
> @@ -150,7 +152,6 @@ if [ "$ONE_PORT" = "YES" ] && ( ! uci -q get
> network.$SWITCHDEV.ifname || [ "$FO
>          uci set network.mesh.ifname="bat0"
>          uci set network.wan.ifname="eth1" #eth1 because it is
> default in config file
>          uci set network.ethmesh.ifname="$SWITCHDEV"
> -        ETH0MAC="w2ap"
>      fi
>      uci commit
>  fi
> @@ -196,11 +197,10 @@ fi
>  if [[ -n "$ETH0MAC" ]]; then
>          echo "Fixing MAC on eth0"
>          sleep 10
> -        NEW_MACADDR=$(cat "/sys/class/net/${ETH0MAC}/address")
> -        uci set network.eth0.macaddr=$NEW_MACADDR
> +        uci set network.eth0.macaddr=$ETH0MAC
>          uci commit
>          ifconfig eth0 down
> -        ifconfig eth0 hw ether $NEW_MACADDR
> +        ifconfig eth0 hw ether $ETH0MAC
>          ifconfig eth0 up
>          /etc/init.d/network restart
>  fi
> -- 
> 2.7.4
>