[PATCH v7] Configure the Node a routable IPv6 ULA
mail at adrianschmutzler.de
mail at adrianschmutzler.de
So Okt 8 15:36:42 CEST 2017
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?
> 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!
> + addr=$(echo $prefix | sed -e 's/\//'$suffix'\//')
Hier müsste man wieder das Prefix reparieren, also einfach meine Zeile
kopieren.
> + if ! ( ip -6 addr show dev br-mesh | grep -q "$addr"
) ;
Hier gilt das gleiche wie fürs erste if?!
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
Mehr Informationen über die Mailingliste franken-dev