[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