From patchwork Tue Nov 14 10:41:00 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [v2] fff-network: Move ETH0MAC to network.* From: Adrian Schmutzler X-Patchwork-Id: 689 Message-Id: <1510656060-2062-1-git-send-email-freifunk@adrianschmutzler.de> To: franken-dev@freifunk.net Date: Tue, 14 Nov 2017 11:41:00 +0100 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 --- 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