[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