[PATCH v2] fff-network: Move ETH0MAC to network.*
Adrian Schmutzler
freifunk at adrianschmutzler.de
Di Nov 14 11:41:00 CET 2017
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
Mehr Informationen über die Mailingliste franken-dev