[PATCH] fff-network: Improve IPv6 WAN connectivity

mail at adrianschmutzler.de mail at adrianschmutzler.de
Mi Jul 22 19:45:23 CEST 2020


Hallo,

> -----Original Message-----
> From: franken-dev [mailto:franken-dev-bounces at freifunk.net] On Behalf
> Of Fabian Bläse
> Sent: Sonntag, 14. Juni 2020 13:17
> To: franken-dev at freifunk.net
> Subject: [PATCH] fff-network: Improve IPv6 WAN connectivity
> 
> Until now, IPv6 connectivity was only ensured by some custom sysctls.
> OpenWrt has a proper way of enabling IPv6 client (SLAAC, as well as DHCPv6)
> for an interface. Switching to OpenWrt's way of configuring client addresses
> for an interface might also make configuration more reliable, as the
> appropriate sysctls are now set by netifd. Especially OnePort and TwoPort

inwiefern berührt das denn unsere "default" sysctl settings in
https://github.com/FreifunkFranken/firmware/blob/master/src/packages/fff/fff-network/files/etc/sysctl.d/50-fff-network.conf

Passiert der netifd "danach" und sind die settings daher irrelevant, oder gibt es hier einen anderen Mechanismus?
Brauchen wir all die Settings in der sysctl überhaupt, oder macht OpenWrt nicht u.U. einen der IPv6 config dort auch "automatisch"?

> devices will benefit from this change, as IPv6 auto configuration does not
> have to be manually enabled and disabled for a physical interface, but rather
> is set as an option for our logical wan interface.
> 
> At the same time this change enables DHCPv6 client support for WAN.
> 
> Signed-off-by: Fabian Bläse <fabian at blaese.de>
> ---
>  src/packages/fff/fff-network/files/etc/config/network    | 5 +++++
>  .../fff/fff-network/files/usr/sbin/configurenetwork      | 9 +--------
>  2 files changed, 6 insertions(+), 8 deletions(-)
> 
> diff --git a/src/packages/fff/fff-network/files/etc/config/network
> b/src/packages/fff/fff-network/files/etc/config/network
> index d2ee443..1f56ce5 100644
> --- a/src/packages/fff/fff-network/files/etc/config/network
> +++ b/src/packages/fff/fff-network/files/etc/config/network
> @@ -12,6 +12,11 @@ config interface 'wan'
>          option proto 'dhcp'
>          option ifname 'eth1'
> 
> +config interface 'wan6'
> +        option proto 'dhcpv6'
> +        option reqprefix 'no'
> +        option ifname '@wan'
> +
>  config interface 'ethmesh'
>          option proto 'batadv_hardif'
>          option master 'bat0'
> diff --git a/src/packages/fff/fff-network/files/usr/sbin/configurenetwork
> b/src/packages/fff/fff-network/files/usr/sbin/configurenetwork
> index 0ae7ba8..4bbc4f1 100755
> --- a/src/packages/fff/fff-network/files/usr/sbin/configurenetwork
> +++ b/src/packages/fff/fff-network/files/usr/sbin/configurenetwork
> @@ -126,11 +126,7 @@ if ! uci -q get network.$SWITCHDEV > /dev/null || [
> "$FORCEPARSE" = '1' ] ; then
>          uci set network.${SWITCHDEV}_2.vlan=2
>          uci set network.${SWITCHDEV}_2.ports="$WAN_PORTS"
> 
> -        enableAutoConf "$WANDEV.2"

Bitte auch gleich die Funktionen selbst mit töten, die stehen in der gleichen Datei ganz oben (auch setAutoConf kann weg).

Grüße

Adrian

> -    else
> -        enableAutoConf "$WANDEV"
> -    fi
> -
> +
>      uci set network.${SWITCHDEV}_3=switch_vlan
>      uci set network.${SWITCHDEV}_3.device=$SWITCHHW
>      uci set network.${SWITCHDEV}_3.vlan=3 @@ -153,19 +149,16 @@ if [
> "$ONE_PORT" = "YES" ] && ( ! uci -q get network.$SWITCHDEV.ifname || [
> "$FO
>      uci set network.$SWITCHDEV=interface
>      uci set network.$SWITCHDEV.ifname=$SWITCHDEV
>      if [ "$ETHMODE" = "WAN" ]; then
> -        enableAutoConf "$WANDEV"
>          uci set network.mesh.ifname="bat0"
>          uci set network.wan.ifname="$WANDEV"
>          uci del uci set network.ethmesh.ifname
>          uci del network.eth0.macaddr
>      elif [ "$ETHMODE" = "CLIENT" ] ; then
> -        disableAutoConf "$WANDEV"
>          uci set network.mesh.ifname="bat0 $SWITCHDEV"
>          uci set network.wan.ifname="eth1" #eth1 because it is default in config
> file
>          uci del network.ethmesh.ifname
>          uci del network.eth0.macaddr
>      elif [ "$ETHMODE" = "BATMAN" ] ; then
> -        disableAutoConf "$WANDEV"
>          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"
> --
> 2.27.0
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : openpgp-digital-signature.asc
Dateityp    : application/pgp-signature
Dateigröße  : 834 bytes
Beschreibung: nicht verfügbar
URL         : <https://lists.freifunk.net/pipermail/franken-dev-freifunk.net/attachments/20200722/e9168029/attachment.sig>


Mehr Informationen über die Mailingliste franken-dev