[PATCH v3 2/2] Allow initial configuration from Ethernet
Fabian Bläse
fabian at blaese.de
Mo Jun 11 19:58:27 CEST 2018
Signed-off-by: Fabian Bläse <fabian at blaese.de>
---
Apply after MacKnocker patchset!
Changes in v2:
- Fix indentation
- Improve usage message
- Return if no ethmesh_dev exists
- Replace . with : in ping6 sed
Changes in v3:
- Fix messed up v2
---
.../fff-hoods/files/usr/lib/functions/fff/hoodfile | 24 ++++++++++++++++++++++
.../fff/fff-hoods/files/usr/sbin/configurehood | 2 +-
2 files changed, 25 insertions(+), 1 deletion(-)
diff --git a/src/packages/fff/fff-hoods/files/usr/lib/functions/fff/hoodfile b/src/packages/fff/fff-hoods/files/usr/lib/functions/fff/hoodfile
index 306535e..bc52883 100644
--- a/src/packages/fff/fff-hoods/files/usr/lib/functions/fff/hoodfile
+++ b/src/packages/fff/fff-hoods/files/usr/lib/functions/fff/hoodfile
@@ -53,6 +53,30 @@ getWirelessHoodfile() {
fi
}
+getEthernetHoodfile() {
+ if [ $# != 1 ]; then
+ echo "Usage: getEthernetHoodfile <target-file>"
+ return 1
+ fi
+ file=$1
+
+ echo "Trying to get hoodfile from ethernet neighbor..."
+
+ if ! ethmesh_dev=$(uci -q get network.ethmesh.ifname); then
+ # no ethmesh interface
+ return 1
+ fi
+
+ neighbor_addrs=$(ping6 -c2 ff02::1%${ethmesh_dev} | grep seq | cut -d " " -f4 | sed s/:$//g | sort | uniq)
+
+ for addr in $neighbor_addrs; do
+ wget -T2 -t1 -qO "$file" "http://[${addr}%${ethmesh_dev}]:2342/keyxchangev2data" && return 0
+ done
+
+ # got no hoodfile
+ return 1
+}
+
getGatewayHoodfile() {
if [ $# != 1 ]; then
echo "Usage: getGatewayHoodfile <target-file>"
diff --git a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
index aee20e5..282e21b 100755
--- a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
+++ b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
@@ -101,7 +101,7 @@ else
sleep 30 # Wait for the config AP, which may be created at the same time as this script has started
- getWirelessHoodfile "$hoodfile"
+ getEthernetHoodfile "$hoodfile" || getWirelessHoodfile "$hoodfile"
#UPLINK: Set up uplink data on first contact:
if [ -s /tmp/keyxchangev2data ]; then
--
2.11.0
Mehr Informationen über die Mailingliste franken-dev