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

Tim Niemeyer tim at tn-x.org
Fr Dez 22 15:00:43 CET 2017


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 at 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
> 
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : signature.asc
Dateityp    : application/pgp-signature
Dateigröße  : 488 bytes
Beschreibung: This is a digitally signed message part
URL         : <http://lists.freifunk.net/pipermail/franken-dev-freifunk.net/attachments/20171222/a07316f7/attachment.sig>


Mehr Informationen über die Mailingliste franken-dev