[PATCH] fff-network: Evaluate ETH0MAC based on ROUTERMAC

Adrian Schmutzler mail at adrianschmutzler.de
Fr Dez 22 15:27:00 CET 2017


Hallo Tim,

ich finde das mit der Variable auf 1 jetzt nicht so schwierig, wenn man bedenkt, was wir in dem file sonst so machen.
Code direkt einsetzen geht nicht, weil wir zwischendurch noch andere sachen setzen müssen (glaube ich).

Man könnte ggf. den relevanten Teil von da, wo ETH0MAC gesetzt wird (also die ifs) nach hinten schieben.

Ich finde die jetzige Lösung aber eigentlich ganz okay, insbesondere nicht schlechter als den Rest der configurenetwork.

Auf jeden Fall funktioniert das Ganze so super und wir werden endlich die Dummy-Netzwerke los.

Grüße

Adrian

> -----Original Message-----
> From: Tim Niemeyer [mailto:tim at tn-x.org]
> Sent: Freitag, 22. Dezember 2017 15:01
> To: Adrian Schmutzler <freifunk at adrianschmutzler.de>; franken-
> dev at freifunk.net
> Subject: Re: [PATCH] fff-network: Evaluate ETH0MAC based on ROUTERMAC
> 
> Hi
> 
> Puh .. Das ist alles eine riesen XXASDASDSXXX .. :(
> 
> Am Dienstag, den 14.11.2017, 11:40 +0100 schrieb Adrian Schmutzler:
> > All ONE_PORT devices except mr3020 use phy0 (w2mesh) for the
> > ROUTERMAC. Thus, instead of evaluating w2ap's MAC address, we can just
> > use the flipped ROUTERMAC for ETH0MAC.
> >
> > This should also work for the mr3020, which uses eth0.
> Oh man. Der hat sogar ein ETHMESHMAC gesetzt. Das sollte ja dann ohne
> Switch gar nicht gehen?
> 
> Dieses ganze ONE_PORT geraffel ist Müll!
> 
> Kann mir keiner erzählen, dass das so richtig ist:
> uci del uci set network.ethmesh.ifname
> 
> 
> >
> > Signed-off-by: Adrian Schmutzler <freifunk at adrianschmutzler.de>
> >
> > ---
> >
> > UNTESTED.
> >
> > This is an alternative to the other ETH0MAC, without having to store
> > another MAC in the network.* files.
> > ---
> >  src/packages/fff/fff-network/files/usr/sbin/configurenetwork | 4 ++-
> > -
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/src/packages/fff/fff-
> > network/files/usr/sbin/configurenetwork b/src/packages/fff/fff-
> > network/files/usr/sbin/configurenetwork
> > index 89dd239..8df7655 100755
> > --- a/src/packages/fff/fff-network/files/usr/sbin/configurenetwork
> > +++ b/src/packages/fff/fff-network/files/usr/sbin/configurenetwork
> > @@ -150,7 +150,7 @@ 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"
> > +        ETH0MAC=1
> 
> Ich würde es besser finden, wenn hier nicht ne Variable auf 1 gesetzt wird,
> sondern wenn gleich der entsprechende Code ausgeführt wird. Man könnte
> ggfs auch in eine Funktion auslagern.
> 
> Generell stellt sich mir die Frage, ob man das ganze Thema nicht lieber
> komplett über den Haufen wirft. Ich bin mir grad nicht ganz sicher, ob man
> mit dem hin und her wirklich vorran kommt. Ich würde das zwar irgendwie
> lieber erst nach einem Release angehen, aber die Funktionalität von dem
> configurenetwork zu durchdringen ist echt schwer!
> 
> Tim
> >      fi
> >      uci commit
> >  fi
> > @@ -196,7 +196,7 @@ fi
> >  if [[ -n "$ETH0MAC" ]]; then
> >          echo "Fixing MAC on eth0"
> >          sleep 10
> > -        NEW_MACADDR=$(cat "/sys/class/net/${ETH0MAC}/address")
> > +        NEW_MACADDR=$(macFlipLocalBit "$ROUTERMAC")
> >          uci set network.eth0.macaddr=$NEW_MACADDR
> >          uci commit
> >          ifconfig eth0 down
> > --
> > 2.7.4
> >



Mehr Informationen über die Mailingliste franken-dev