[PATCH v7] Configure the Node a routable IPv6 ULA

Tim Niemeyer tim at tn-x.org
So Okt 8 15:49:10 CEST 2017


Hi

Am Sonntag, den 08.10.2017, 15:36 +0200 schrieb mail at adrianschmutzler.de:
> Hallo,
> 
> siehe unten.
> 
> > -----Original Message-----
> > > > From: Tim Niemeyer [mailto:tim at tn-x.org]
> > Sent: Sonntag, 8. Oktober 2017 15:29
> > To: franken-dev at freifunk.net
> > > > Cc: Adrian Schmutzler <freifunk at adrianschmutzler.de>; Christian Dresel
> > > > > > <fff at chrisi01.de>; Tim Niemeyer <tim at tn-x.org>
> > Subject: [PATCH v7] Configure the Node a routable IPv6 ULA
> > 
> > > > From: Adrian Schmutzler <freifunk at adrianschmutzler.de>
> > 
> > > > Signed-off-by: Christian Dresel <fff at chrisi01.de>
> > > > Signed-off-by: Adrian Schmutzler <freifunk at adrianschmutzler.de>
> > > > Signed-off-by: Tim Niemeyer <tim at tn-x.org>
> > 
> > ---
> > 
> > Changes in v7:
> > - Add EUI64 address
> > - Change ifconfig to ip
> > 
> > Changes in v6:
> > - Typo in echo
> > - Optimized sed
> > 
> > Changes in v5:
> > - Only apply if ula_prefix is not empty
> > - Remove escape sign from ula_prefix
> > 
> > Changes in v4:
> > - Optimized grep and sed
> > 
> > Changes in v3:
> > - Added route block
> > - Inverted condition in address block
> > - Changed if style to "grep -q"
> > - Added some quotes
> > 
> > Changes in v2:
> > - Rebased onto keyXchange v2 patchset v15
> > - correctly handle keyxchangev2data without reloading
> > - added some quotes
> > 
> >  .../fff/fff-hoods/files/usr/sbin/configurehood     | 34
> > ++++++++++++++++++++++
> >  1 file changed, 34 insertions(+)
> > 
> > diff --git a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
> > b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
> > index 62b3b3b..c4815b9 100755
> > --- a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
> > +++ b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
> > @@ -161,6 +161,40 @@ if [ -s /tmp/keyxchangev2data ]; then
> > > >  			fi
> > > >  		done
> > 
> > +		# now we load the prefix from the hoodfile and set this to
> 
> br-
> > mesh
> > > > +		json_select network
> > > > +		json_get_var prefix ula_prefix
> > > > +		# Set $prefix::MAC as IP
> > > > +		if [ -n "$prefix" ] ; then
> > > > +			suffix="$(awk -F: '{ print $1$2":"$3$4":"$5$6 }'
> > /sys/class/net/br-mesh/address)"
> > > > +			addr="$(echo "$prefix" | sed -e 's,\\,,' -e
> > 's,/,'$suffix'/,')"
> > > > +			for ip in $(ip -6 addr show dev br-mesh | grep inet6
> > 
> > grep -v -e "fe80::" -e "fdff::" | cut -f6 -d " "); do
> > > > +				ip -6 addr del "$ip" dev br-mesh
> > > > +			done
> > +			if ! ( ip -6 addr show dev br-mesh | grep -q "$addr"
> 
> ) ;
> 
> Macht das hier überhaupt Sinn, zwei Zeilen vorher hätten wir die Adressen in
> jedem Fall gelöscht, das if macht also keinen Sinn, oder?

Nö. Eigentlich nicht. ;)

Ich hatte das übernommen. :(

Aber ich werde dem einen Sinn geben, in dem ich die neuen Adressen beim
Löschen rausnehme. Das hat den Vorteil, dass das Gerät einfach
erreichbar bleibt.

> > then
> > > > +				ip -6 addr add "$addr" dev br-mesh
> > > > +				echo "Set ULA address to br-mesh: $addr"
> > > > +			else
> > > > +				echo "Address already set."
> > > > +			fi
> > > > +			# Set $prefix::link-local as IP
> > > > +			suffix=$(awk -F: '{
> > printf("%02x%s:%sff:fe%s:%s%s\n", xor(("0x"$1),2), $2, $3, $4, $5, $6) }'
> > /sys/class/net/br- mesh/address)
> 
> Im br-mesh ist ein Leerzeichen!
Opsi..

> 
> > +			addr=$(echo $prefix | sed -e 's/\//'$suffix'\//')
> 
> Hier müsste man wieder das Prefix reparieren, also einfach meine Zeile
> kopieren.
Achja. Das Espace Zeichen..

> > +			if ! ( ip -6 addr show dev br-mesh | grep -q "$addr"
> 
> ) ;
> 
> Hier gilt das gleiche wie fürs erste if?!
Richtig.

Tim

> 
> Grüße
> 
> Adrian
> 
> > then
> > > > +				ip -6 addr add $addr dev br-mesh
> > > > +				echo "Set ULA EUI-64 address to br-mesh:
> > $addr"
> > > > +			else
> > > > +				echo "Address already set."
> > > > +			fi
> > +			if ! ( ip -6 route show dev br-mesh | grep -q
> 
> "fc00::" ) ;
> > then
> > > > +				ip -6 route add fc00::/7 via fe80::1 dev br-
> > mesh
> > > > +				echo "Set ULA route to br-mesh."
> > > > +			else
> > > > +				echo "Route already set."
> > > > +			fi
> > > > +		fi
> > > > +		json_select ".." # back to root
> > +
> > > >  		echo "Loading wifi"
> > > >  		wifi
> > 
> > --
> > 2.11.0
> 
> 
-------------- 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/20171008/c6e75446/attachment.sig>


Mehr Informationen über die Mailingliste franken-dev