configurenetwork: Rearrangement/redesign of central commands

Submitted by Adrian Schmutzler on Jan. 2, 2018, 7:02 p.m.

Details

Message ID 1514919746-46974-1-git-send-email-freifunk@adrianschmutzler.de
State Superseded
Headers show

Commit Message

Adrian Schmutzler Jan. 2, 2018, 7:02 p.m.
This patch rearranges the commands in configurenetwork. The main
goal is to avoid code duplications and make reading easier. Some
"bugs" were addressed on the way:
- Previously, ONEPORT devices went through both major blocks,
  resulting e.g. in useless eth0.X interfaces being set up (and
  perhaps lots of other strange things). Now, the routines for
  ONEPORT and normal devices are separated.
- Updating the /etc/sysctl.conf has been combined to a single
  block based on variables set earlier
- WANDEV is reset to WANDEV.2 were applicable to reduce number of
  ifs
- "uci del uci set" has been changed to "uci del"
- Spaces have been changed to Tabs were changes were done
- Arguments have been quoted in various places
- Double brackets have been replaced by single brackets
- ETHMODE if has been changed to use BATMAN as default (elseif
  changed to else)
- Use ETHMESHMAC for ONEPORT, introduce ETHMESHDEV

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>

---

This requires the patches to be applied BEFOREHAND:
fff-network: Introduce function to set MAC on device
fff-network: Replace ETH0MAC by replacement based on ROUTERMAC

Open issues:
- Line 84/89: eth0 MAC address is deleted (!). Why is this done
  only in uci and is it desirable to have a device without MAC?
---
 .../fff-network/files/usr/sbin/configurenetwork    | 155 ++++++++++-----------
 1 file changed, 70 insertions(+), 85 deletions(-)

Patch hide | download patch | download mbox

diff --git a/src/packages/fff/fff-network/files/usr/sbin/configurenetwork b/src/packages/fff/fff-network/files/usr/sbin/configurenetwork
index 0fbff10..ded9485 100755
--- a/src/packages/fff/fff-network/files/usr/sbin/configurenetwork
+++ b/src/packages/fff/fff-network/files/usr/sbin/configurenetwork
@@ -71,96 +71,81 @@  if [ -n "$LAN1PORT" ] ; then
     setupPorts "$LAN1PORT" "${LAN1MODE}"
 fi
 
-if ! uci -q get network.$SWITCHDEV > /dev/null || [ "$FORCEPARSE" = '1' ] ; then
-
-    SWITCHHW=$(swconfig list | awk '{ print $4 }')
-
-    uci set network.$SWITCHDEV=switch
-    uci set network.$SWITCHDEV.name=$SWITCHHW
-    uci set network.$SWITCHDEV.enable=1
-    uci set network.$SWITCHDEV.reset=1
-    uci set network.$SWITCHDEV.enable_vlan=1
-
-    uci set network.${SWITCHDEV}_1=switch_vlan
-    uci set network.${SWITCHDEV}_1.device=$SWITCHHW
-    uci set network.${SWITCHDEV}_1.vlan=1
-    uci set network.${SWITCHDEV}_1.ports="$CLIENT_PORTS"
-
-    echo "# Allow IPv6 RAs on WAN Port" >> /etc/sysctl.conf
-
-    if [[ "$WANDEV" = "$SWITCHDEV" ]] || ! [[ -z "$WAN_PORTS" ]]; then
-        uci set network.${SWITCHDEV}_2=switch_vlan
-        uci set network.${SWITCHDEV}_2.device=$SWITCHHW
-        uci set network.${SWITCHDEV}_2.vlan=2
-        uci set network.${SWITCHDEV}_2.ports="$WAN_PORTS"
-
-        echo "net.ipv6.conf.$WANDEV.2.accept_ra_defrtr = 1" >> /etc/sysctl.conf
-        echo "net.ipv6.conf.$WANDEV.2.accept_ra_pinfo = 1" >> /etc/sysctl.conf
-        echo "net.ipv6.conf.$WANDEV.2.autoconf = 1" >> /etc/sysctl.conf
-        echo "net.ipv6.conf.$WANDEV.2.accept_ra_rtr_pref = 1" >> /etc/sysctl.conf
-    else
-        echo "net.ipv6.conf.$WANDEV.accept_ra_defrtr = 1" >> /etc/sysctl.conf
-        echo "net.ipv6.conf.$WANDEV.accept_ra_pinfo = 1" >> /etc/sysctl.conf
-        echo "net.ipv6.conf.$WANDEV.autoconf = 1" >> /etc/sysctl.conf
-        echo "net.ipv6.conf.$WANDEV.accept_ra_rtr_pref = 1" >> /etc/sysctl.conf
-    fi
-    
-    uci set network.${SWITCHDEV}_3=switch_vlan
-    uci set network.${SWITCHDEV}_3.device=$SWITCHHW
-    uci set network.${SWITCHDEV}_3.vlan=3
-    uci set network.${SWITCHDEV}_3.ports="$BATMAN_PORTS"
-
-    uci set network.mesh.ifname="$SWITCHDEV.1 bat0"
-
-    uci set network.ethmesh.ifname="$SWITCHDEV.3"
-
-    if [[ "$WANDEV" = "$SWITCHDEV" ]]; then
-        uci set network.wan.ifname=$WANDEV.2
-    else
-        uci set network.wan.ifname=$WANDEV
-    fi
-
-    uci commit network
+if [ "$ONE_PORT" = "YES" ] ; then
+	if ! uci -q get "network.$SWITCHDEV.ifname" || [ "$FORCEPARSE" = '1' ] ; then
+		uci set "network.$SWITCHDEV=interface"
+		uci set "network.$SWITCHDEV.ifname=$SWITCHDEV"
+		wanon="0"
+		if [ "$ETHMODE" = "WAN" ]; then
+			wanon="1"
+			uci set network.mesh.ifname="bat0"
+			uci set network.wan.ifname="$WANDEV"
+			uci del network.ethmesh.ifname
+			uci del network.eth0.macaddr
+		elif [ "$ETHMODE" = "CLIENT" ] ; then
+			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
+		else # default=BATMAN
+			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"
+			ETHMESHMAC="$(macFlipLocalBit "$ROUTERMAC")"
+			ETHMESHDEV="$SWITCHDEV"
+		fi
+		uci -q commit network
+	fi
+else
+	if ! uci -q get "network.$SWITCHDEV" > /dev/null || [ "$FORCEPARSE" = '1' ] ; then
+		SWITCHHW="$(swconfig list | awk '{ print $4 }')"
+
+		uci set "network.$SWITCHDEV=switch"
+		uci set "network.$SWITCHDEV.name=$SWITCHHW"
+		uci set "network.$SWITCHDEV.enable=1"
+		uci set "network.$SWITCHDEV.reset=1"
+		uci set "network.$SWITCHDEV.enable_vlan=1"
+
+		uci set "network.${SWITCHDEV}_1=switch_vlan"
+		uci set "network.${SWITCHDEV}_1.device=$SWITCHHW"
+		uci set "network.${SWITCHDEV}_1.vlan=1"
+		uci set "network.${SWITCHDEV}_1.ports=$CLIENT_PORTS"
+
+		echo "# Allow IPv6 RAs on WAN Port" >> /etc/sysctl.conf
+
+		wanon="1"
+		if [ "$WANDEV" = "$SWITCHDEV" ] || [ -n "$WAN_PORTS" ]; then
+			WANDEV="${SWITCHDEV}.2"
+			uci set "network.${SWITCHDEV}_2=switch_vlan"
+			uci set "network.${SWITCHDEV}_2.device=$SWITCHHW"
+			uci set "network.${SWITCHDEV}_2.vlan=2"
+			uci set "network.${SWITCHDEV}_2.ports=$WAN_PORTS"
+		fi
+		
+		ETHMESHDEV="$SWITCHDEV.3"
+		uci set "network.${SWITCHDEV}_3=switch_vlan"
+		uci set "network.${SWITCHDEV}_3.device=$SWITCHHW"
+		uci set "network.${SWITCHDEV}_3.vlan=3"
+		uci set "network.${SWITCHDEV}_3.ports=$BATMAN_PORTS"
+		
+		uci set network.mesh.ifname="$SWITCHDEV.1 bat0"
+		uci set network.wan.ifname="$WANDEV"
+		uci set network.ethmesh.ifname="$ETHMESHDEV"
+		
+		uci -q commit network
+	fi
 fi
-
-if [ "$ONE_PORT" = "YES" ] && ( ! uci -q get network.$SWITCHDEV.ifname || [ "$FORCEPARSE" = '1' ] ) ; then
-    uci set network.$SWITCHDEV=interface
-    uci set network.$SWITCHDEV.ifname=$SWITCHDEV
-    if [ "$ETHMODE" = "WAN" ]; then
-        echo "net.ipv6.conf.$WANDEV.accept_ra_defrtr = 1" >> /etc/sysctl.conf
-        echo "net.ipv6.conf.$WANDEV.accept_ra_pinfo = 1" >> /etc/sysctl.conf
-        echo "net.ipv6.conf.$WANDEV.autoconf = 1" >> /etc/sysctl.conf
-        echo "net.ipv6.conf.$WANDEV.accept_ra_rtr_pref = 1" >> /etc/sysctl.conf
-        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
-        echo "net.ipv6.conf.$WANDEV.accept_ra_defrtr = 0" >> /etc/sysctl.conf
-        echo "net.ipv6.conf.$WANDEV.accept_ra_pinfo = 0" >> /etc/sysctl.conf
-        echo "net.ipv6.conf.$WANDEV.autoconf = 0" >> /etc/sysctl.conf
-        echo "net.ipv6.conf.$WANDEV.accept_ra_rtr_pref = 0" >> /etc/sysctl.conf
-        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
-        echo "net.ipv6.conf.$WANDEV.accept_ra_defrtr = 0" >> /etc/sysctl.conf
-        echo "net.ipv6.conf.$WANDEV.accept_ra_pinfo = 0" >> /etc/sysctl.conf
-        echo "net.ipv6.conf.$WANDEV.autoconf = 0" >> /etc/sysctl.conf
-        echo "net.ipv6.conf.$WANDEV.accept_ra_rtr_pref = 0" >> /etc/sysctl.conf
-        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"
-        fixMac "$(macFlipLocalBit "$ROUTERMAC")" "eth0" "eth0" "1"
-    fi
-    uci commit network
+if [ -n "$wanon" ]; then
+	echo "net.ipv6.conf.$WANDEV.accept_ra_defrtr = $wanon" >> /etc/sysctl.conf
+	echo "net.ipv6.conf.$WANDEV.accept_ra_pinfo = $wanon" >> /etc/sysctl.conf
+	echo "net.ipv6.conf.$WANDEV.autoconf = $wanon" >> /etc/sysctl.conf
+	echo "net.ipv6.conf.$WANDEV.accept_ra_rtr_pref = $wanon" >> /etc/sysctl.conf
 fi
 
 /etc/init.d/network restart
 
-if [ -n "$ETHMESHMAC" ]; then
-    fixMac "$ETHMESHMAC" "${SWITCHDEV}.3" "ethmesh"
+if [ -n "$ETHMESHMAC" ] && [ -n "$ETHMESHDEV" ]; then
+    fixMac "$ETHMESHMAC" "$ETHMESHDEV" "ethmesh"
 fi
 
 if [ -n "$ROUTERMAC" ]; then

Comments

Adrian Schmutzler Jan. 2, 2018, 7:05 p.m.
Tested successfully on WR841N v12.
On ONEPORT (AC Mesh), bat0 is not coming up and thus br-mesh is missing...

Open issues:
...
- Why is bat0 not coming up on AC Mesh? Help please...

Grüße

Adrian

> -----Original Message-----
> From: franken-dev [mailto:franken-dev-bounces@freifunk.net] On Behalf
> Of Adrian Schmutzler
> Sent: Dienstag, 2. Januar 2018 20:02
> To: franken-dev@freifunk.net
> Subject: [PATCH] configurenetwork: Rearrangement/redesign of central
> commands
> 
> This patch rearranges the commands in configurenetwork. The main goal is
to
> avoid code duplications and make reading easier. Some "bugs" were
> addressed on the way:
> - Previously, ONEPORT devices went through both major blocks,
>   resulting e.g. in useless eth0.X interfaces being set up (and
>   perhaps lots of other strange things). Now, the routines for
>   ONEPORT and normal devices are separated.
> - Updating the /etc/sysctl.conf has been combined to a single
>   block based on variables set earlier
> - WANDEV is reset to WANDEV.2 were applicable to reduce number of
>   ifs
> - "uci del uci set" has been changed to "uci del"
> - Spaces have been changed to Tabs were changes were done
> - Arguments have been quoted in various places
> - Double brackets have been replaced by single brackets
> - ETHMODE if has been changed to use BATMAN as default (elseif
>   changed to else)
> - Use ETHMESHMAC for ONEPORT, introduce ETHMESHDEV
> 
> Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
> 
> ---
> 
> This requires the patches to be applied BEFOREHAND:
> fff-network: Introduce function to set MAC on device
> fff-network: Replace ETH0MAC by replacement based on ROUTERMAC
> 
> Open issues:
> - Line 84/89: eth0 MAC address is deleted (!). Why is this done
>   only in uci and is it desirable to have a device without MAC?
> ---
>  .../fff-network/files/usr/sbin/configurenetwork    | 155
++++++++++---------
> --
>  1 file changed, 70 insertions(+), 85 deletions(-)
> 
> diff --git a/src/packages/fff/fff-network/files/usr/sbin/configurenetwork
> b/src/packages/fff/fff-network/files/usr/sbin/configurenetwork
> index 0fbff10..ded9485 100755
> --- a/src/packages/fff/fff-network/files/usr/sbin/configurenetwork
> +++ b/src/packages/fff/fff-network/files/usr/sbin/configurenetwork
> @@ -71,96 +71,81 @@ if [ -n "$LAN1PORT" ] ; then
>      setupPorts "$LAN1PORT" "${LAN1MODE}"
>  fi
> 
> -if ! uci -q get network.$SWITCHDEV > /dev/null || [ "$FORCEPARSE" = '1' ]
;
> then
> -
> -    SWITCHHW=$(swconfig list | awk '{ print $4 }')
> -
> -    uci set network.$SWITCHDEV=switch
> -    uci set network.$SWITCHDEV.name=$SWITCHHW
> -    uci set network.$SWITCHDEV.enable=1
> -    uci set network.$SWITCHDEV.reset=1
> -    uci set network.$SWITCHDEV.enable_vlan=1
> -
> -    uci set network.${SWITCHDEV}_1=switch_vlan
> -    uci set network.${SWITCHDEV}_1.device=$SWITCHHW
> -    uci set network.${SWITCHDEV}_1.vlan=1
> -    uci set network.${SWITCHDEV}_1.ports="$CLIENT_PORTS"
> -
> -    echo "# Allow IPv6 RAs on WAN Port" >> /etc/sysctl.conf
> -
> -    if [[ "$WANDEV" = "$SWITCHDEV" ]] || ! [[ -z "$WAN_PORTS" ]]; then
> -        uci set network.${SWITCHDEV}_2=switch_vlan
> -        uci set network.${SWITCHDEV}_2.device=$SWITCHHW
> -        uci set network.${SWITCHDEV}_2.vlan=2
> -        uci set network.${SWITCHDEV}_2.ports="$WAN_PORTS"
> -
> -        echo "net.ipv6.conf.$WANDEV.2.accept_ra_defrtr = 1" >>
> /etc/sysctl.conf
> -        echo "net.ipv6.conf.$WANDEV.2.accept_ra_pinfo = 1" >>
> /etc/sysctl.conf
> -        echo "net.ipv6.conf.$WANDEV.2.autoconf = 1" >> /etc/sysctl.conf
> -        echo "net.ipv6.conf.$WANDEV.2.accept_ra_rtr_pref = 1" >>
> /etc/sysctl.conf
> -    else
> -        echo "net.ipv6.conf.$WANDEV.accept_ra_defrtr = 1" >>
/etc/sysctl.conf
> -        echo "net.ipv6.conf.$WANDEV.accept_ra_pinfo = 1" >>
/etc/sysctl.conf
> -        echo "net.ipv6.conf.$WANDEV.autoconf = 1" >> /etc/sysctl.conf
> -        echo "net.ipv6.conf.$WANDEV.accept_ra_rtr_pref = 1" >>
> /etc/sysctl.conf
> -    fi
> -
> -    uci set network.${SWITCHDEV}_3=switch_vlan
> -    uci set network.${SWITCHDEV}_3.device=$SWITCHHW
> -    uci set network.${SWITCHDEV}_3.vlan=3
> -    uci set network.${SWITCHDEV}_3.ports="$BATMAN_PORTS"
> -
> -    uci set network.mesh.ifname="$SWITCHDEV.1 bat0"
> -
> -    uci set network.ethmesh.ifname="$SWITCHDEV.3"
> -
> -    if [[ "$WANDEV" = "$SWITCHDEV" ]]; then
> -        uci set network.wan.ifname=$WANDEV.2
> -    else
> -        uci set network.wan.ifname=$WANDEV
> -    fi
> -
> -    uci commit network
> +if [ "$ONE_PORT" = "YES" ] ; then
> +	if ! uci -q get "network.$SWITCHDEV.ifname" || [ "$FORCEPARSE" =
> '1' ] ; then
> +		uci set "network.$SWITCHDEV=interface"
> +		uci set "network.$SWITCHDEV.ifname=$SWITCHDEV"
> +		wanon="0"
> +		if [ "$ETHMODE" = "WAN" ]; then
> +			wanon="1"
> +			uci set network.mesh.ifname="bat0"
> +			uci set network.wan.ifname="$WANDEV"
> +			uci del network.ethmesh.ifname
> +			uci del network.eth0.macaddr
> +		elif [ "$ETHMODE" = "CLIENT" ] ; then
> +			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
> +		else # default=BATMAN
> +			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"
> +			ETHMESHMAC="$(macFlipLocalBit "$ROUTERMAC")"
> +			ETHMESHDEV="$SWITCHDEV"
> +		fi
> +		uci -q commit network
> +	fi
> +else
> +	if ! uci -q get "network.$SWITCHDEV" > /dev/null || [ "$FORCEPARSE"
> = '1' ] ; then
> +		SWITCHHW="$(swconfig list | awk '{ print $4 }')"
> +
> +		uci set "network.$SWITCHDEV=switch"
> +		uci set "network.$SWITCHDEV.name=$SWITCHHW"
> +		uci set "network.$SWITCHDEV.enable=1"
> +		uci set "network.$SWITCHDEV.reset=1"
> +		uci set "network.$SWITCHDEV.enable_vlan=1"
> +
> +		uci set "network.${SWITCHDEV}_1=switch_vlan"
> +		uci set "network.${SWITCHDEV}_1.device=$SWITCHHW"
> +		uci set "network.${SWITCHDEV}_1.vlan=1"
> +		uci set "network.${SWITCHDEV}_1.ports=$CLIENT_PORTS"
> +
> +		echo "# Allow IPv6 RAs on WAN Port" >> /etc/sysctl.conf
> +
> +		wanon="1"
> +		if [ "$WANDEV" = "$SWITCHDEV" ] || [ -n "$WAN_PORTS" ];
> then
> +			WANDEV="${SWITCHDEV}.2"
> +			uci set "network.${SWITCHDEV}_2=switch_vlan"
> +			uci set
> "network.${SWITCHDEV}_2.device=$SWITCHHW"
> +			uci set "network.${SWITCHDEV}_2.vlan=2"
> +			uci set
> "network.${SWITCHDEV}_2.ports=$WAN_PORTS"
> +		fi
> +
> +		ETHMESHDEV="$SWITCHDEV.3"
> +		uci set "network.${SWITCHDEV}_3=switch_vlan"
> +		uci set "network.${SWITCHDEV}_3.device=$SWITCHHW"
> +		uci set "network.${SWITCHDEV}_3.vlan=3"
> +		uci set "network.${SWITCHDEV}_3.ports=$BATMAN_PORTS"
> +
> +		uci set network.mesh.ifname="$SWITCHDEV.1 bat0"
> +		uci set network.wan.ifname="$WANDEV"
> +		uci set network.ethmesh.ifname="$ETHMESHDEV"
> +
> +		uci -q commit network
> +	fi
>  fi
> -
> -if [ "$ONE_PORT" = "YES" ] && ( ! uci -q get network.$SWITCHDEV.ifname ||
> [ "$FORCEPARSE" = '1' ] ) ; then
> -    uci set network.$SWITCHDEV=interface
> -    uci set network.$SWITCHDEV.ifname=$SWITCHDEV
> -    if [ "$ETHMODE" = "WAN" ]; then
> -        echo "net.ipv6.conf.$WANDEV.accept_ra_defrtr = 1" >>
/etc/sysctl.conf
> -        echo "net.ipv6.conf.$WANDEV.accept_ra_pinfo = 1" >>
/etc/sysctl.conf
> -        echo "net.ipv6.conf.$WANDEV.autoconf = 1" >> /etc/sysctl.conf
> -        echo "net.ipv6.conf.$WANDEV.accept_ra_rtr_pref = 1" >>
> /etc/sysctl.conf
> -        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
> -        echo "net.ipv6.conf.$WANDEV.accept_ra_defrtr = 0" >>
/etc/sysctl.conf
> -        echo "net.ipv6.conf.$WANDEV.accept_ra_pinfo = 0" >>
/etc/sysctl.conf
> -        echo "net.ipv6.conf.$WANDEV.autoconf = 0" >> /etc/sysctl.conf
> -        echo "net.ipv6.conf.$WANDEV.accept_ra_rtr_pref = 0" >>
> /etc/sysctl.conf
> -        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
> -        echo "net.ipv6.conf.$WANDEV.accept_ra_defrtr = 0" >>
/etc/sysctl.conf
> -        echo "net.ipv6.conf.$WANDEV.accept_ra_pinfo = 0" >>
/etc/sysctl.conf
> -        echo "net.ipv6.conf.$WANDEV.autoconf = 0" >> /etc/sysctl.conf
> -        echo "net.ipv6.conf.$WANDEV.accept_ra_rtr_pref = 0" >>
> /etc/sysctl.conf
> -        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"
> -        fixMac "$(macFlipLocalBit "$ROUTERMAC")" "eth0" "eth0" "1"
> -    fi
> -    uci commit network
> +if [ -n "$wanon" ]; then
> +	echo "net.ipv6.conf.$WANDEV.accept_ra_defrtr = $wanon" >>
> /etc/sysctl.conf
> +	echo "net.ipv6.conf.$WANDEV.accept_ra_pinfo = $wanon" >>
> /etc/sysctl.conf
> +	echo "net.ipv6.conf.$WANDEV.autoconf = $wanon" >>
> /etc/sysctl.conf
> +	echo "net.ipv6.conf.$WANDEV.accept_ra_rtr_pref = $wanon" >>
> +/etc/sysctl.conf
>  fi
> 
>  /etc/init.d/network restart
> 
> -if [ -n "$ETHMESHMAC" ]; then
> -    fixMac "$ETHMESHMAC" "${SWITCHDEV}.3" "ethmesh"
> +if [ -n "$ETHMESHMAC" ] && [ -n "$ETHMESHDEV" ]; then
> +    fixMac "$ETHMESHMAC" "$ETHMESHDEV" "ethmesh"
>  fi
> 
>  if [ -n "$ROUTERMAC" ]; then
> --
> 2.7.4
> 
> --
> franken-dev mailing list
> franken-dev@freifunk.net
> http://lists.freifunk.net/mailman/listinfo/franken-dev-freifunk.net
Christian Dresel Jan. 2, 2018, 7:17 p.m.
hi

On 02.01.2018 20:05, mail@adrianschmutzler.de wrote:
> Tested successfully on WR841N v12.
> On ONEPORT (AC Mesh), bat0 is not coming up and thus br-mesh is missing...
> 
> Open issues:
> ...
> - Why is bat0 not coming up on AC Mesh? Help please...

das ist mir gestern auch passiert. Ich hab nur unseren aktuellen Master
hergenommen und LEDE auf 17.01.4
(444add156f2a6d92fc15005c5ade2208a978966c) hochgezogen, sowie den
Routingfeed auf 78049b46ac7cfbb14e8f05bc5150f518f827c0ec.

Auch hier war nur eth0 und lo offen aber kein bat0, kein br-mesh o.ä.
Ich hab nach langen suchen den Fehler nicht gefunden, wieder den
aktuellen Master gebaut und dann lief es wieder. Warum das passiert,
keine Ahnung. Es scheinen auch alle Kernelmodule zu fehlen (lsmod) ein
wunder das er überhaupt geht ;)

Bei mir ebenfalls der AC Mesh.

mfg

Christian

> 
> Grüße
> 
> Adrian
> 
>> -----Original Message-----
>> From: franken-dev [mailto:franken-dev-bounces@freifunk.net] On Behalf
>> Of Adrian Schmutzler
>> Sent: Dienstag, 2. Januar 2018 20:02
>> To: franken-dev@freifunk.net
>> Subject: [PATCH] configurenetwork: Rearrangement/redesign of central
>> commands
>>
>> This patch rearranges the commands in configurenetwork. The main goal is
> to
>> avoid code duplications and make reading easier. Some "bugs" were
>> addressed on the way:
>> - Previously, ONEPORT devices went through both major blocks,
>>   resulting e.g. in useless eth0.X interfaces being set up (and
>>   perhaps lots of other strange things). Now, the routines for
>>   ONEPORT and normal devices are separated.
>> - Updating the /etc/sysctl.conf has been combined to a single
>>   block based on variables set earlier
>> - WANDEV is reset to WANDEV.2 were applicable to reduce number of
>>   ifs
>> - "uci del uci set" has been changed to "uci del"
>> - Spaces have been changed to Tabs were changes were done
>> - Arguments have been quoted in various places
>> - Double brackets have been replaced by single brackets
>> - ETHMODE if has been changed to use BATMAN as default (elseif
>>   changed to else)
>> - Use ETHMESHMAC for ONEPORT, introduce ETHMESHDEV
>>
>> Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
>>
>> ---
>>
>> This requires the patches to be applied BEFOREHAND:
>> fff-network: Introduce function to set MAC on device
>> fff-network: Replace ETH0MAC by replacement based on ROUTERMAC
>>
>> Open issues:
>> - Line 84/89: eth0 MAC address is deleted (!). Why is this done
>>   only in uci and is it desirable to have a device without MAC?
>> ---
>>  .../fff-network/files/usr/sbin/configurenetwork    | 155
> ++++++++++---------
>> --
>>  1 file changed, 70 insertions(+), 85 deletions(-)
>>
>> diff --git a/src/packages/fff/fff-network/files/usr/sbin/configurenetwork
>> b/src/packages/fff/fff-network/files/usr/sbin/configurenetwork
>> index 0fbff10..ded9485 100755
>> --- a/src/packages/fff/fff-network/files/usr/sbin/configurenetwork
>> +++ b/src/packages/fff/fff-network/files/usr/sbin/configurenetwork
>> @@ -71,96 +71,81 @@ if [ -n "$LAN1PORT" ] ; then
>>      setupPorts "$LAN1PORT" "${LAN1MODE}"
>>  fi
>>
>> -if ! uci -q get network.$SWITCHDEV > /dev/null || [ "$FORCEPARSE" = '1' ]
> ;
>> then
>> -
>> -    SWITCHHW=$(swconfig list | awk '{ print $4 }')
>> -
>> -    uci set network.$SWITCHDEV=switch
>> -    uci set network.$SWITCHDEV.name=$SWITCHHW
>> -    uci set network.$SWITCHDEV.enable=1
>> -    uci set network.$SWITCHDEV.reset=1
>> -    uci set network.$SWITCHDEV.enable_vlan=1
>> -
>> -    uci set network.${SWITCHDEV}_1=switch_vlan
>> -    uci set network.${SWITCHDEV}_1.device=$SWITCHHW
>> -    uci set network.${SWITCHDEV}_1.vlan=1
>> -    uci set network.${SWITCHDEV}_1.ports="$CLIENT_PORTS"
>> -
>> -    echo "# Allow IPv6 RAs on WAN Port" >> /etc/sysctl.conf
>> -
>> -    if [[ "$WANDEV" = "$SWITCHDEV" ]] || ! [[ -z "$WAN_PORTS" ]]; then
>> -        uci set network.${SWITCHDEV}_2=switch_vlan
>> -        uci set network.${SWITCHDEV}_2.device=$SWITCHHW
>> -        uci set network.${SWITCHDEV}_2.vlan=2
>> -        uci set network.${SWITCHDEV}_2.ports="$WAN_PORTS"
>> -
>> -        echo "net.ipv6.conf.$WANDEV.2.accept_ra_defrtr = 1" >>
>> /etc/sysctl.conf
>> -        echo "net.ipv6.conf.$WANDEV.2.accept_ra_pinfo = 1" >>
>> /etc/sysctl.conf
>> -        echo "net.ipv6.conf.$WANDEV.2.autoconf = 1" >> /etc/sysctl.conf
>> -        echo "net.ipv6.conf.$WANDEV.2.accept_ra_rtr_pref = 1" >>
>> /etc/sysctl.conf
>> -    else
>> -        echo "net.ipv6.conf.$WANDEV.accept_ra_defrtr = 1" >>
> /etc/sysctl.conf
>> -        echo "net.ipv6.conf.$WANDEV.accept_ra_pinfo = 1" >>
> /etc/sysctl.conf
>> -        echo "net.ipv6.conf.$WANDEV.autoconf = 1" >> /etc/sysctl.conf
>> -        echo "net.ipv6.conf.$WANDEV.accept_ra_rtr_pref = 1" >>
>> /etc/sysctl.conf
>> -    fi
>> -
>> -    uci set network.${SWITCHDEV}_3=switch_vlan
>> -    uci set network.${SWITCHDEV}_3.device=$SWITCHHW
>> -    uci set network.${SWITCHDEV}_3.vlan=3
>> -    uci set network.${SWITCHDEV}_3.ports="$BATMAN_PORTS"
>> -
>> -    uci set network.mesh.ifname="$SWITCHDEV.1 bat0"
>> -
>> -    uci set network.ethmesh.ifname="$SWITCHDEV.3"
>> -
>> -    if [[ "$WANDEV" = "$SWITCHDEV" ]]; then
>> -        uci set network.wan.ifname=$WANDEV.2
>> -    else
>> -        uci set network.wan.ifname=$WANDEV
>> -    fi
>> -
>> -    uci commit network
>> +if [ "$ONE_PORT" = "YES" ] ; then
>> +	if ! uci -q get "network.$SWITCHDEV.ifname" || [ "$FORCEPARSE" =
>> '1' ] ; then
>> +		uci set "network.$SWITCHDEV=interface"
>> +		uci set "network.$SWITCHDEV.ifname=$SWITCHDEV"
>> +		wanon="0"
>> +		if [ "$ETHMODE" = "WAN" ]; then
>> +			wanon="1"
>> +			uci set network.mesh.ifname="bat0"
>> +			uci set network.wan.ifname="$WANDEV"
>> +			uci del network.ethmesh.ifname
>> +			uci del network.eth0.macaddr
>> +		elif [ "$ETHMODE" = "CLIENT" ] ; then
>> +			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
>> +		else # default=BATMAN
>> +			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"
>> +			ETHMESHMAC="$(macFlipLocalBit "$ROUTERMAC")"
>> +			ETHMESHDEV="$SWITCHDEV"
>> +		fi
>> +		uci -q commit network
>> +	fi
>> +else
>> +	if ! uci -q get "network.$SWITCHDEV" > /dev/null || [ "$FORCEPARSE"
>> = '1' ] ; then
>> +		SWITCHHW="$(swconfig list | awk '{ print $4 }')"
>> +
>> +		uci set "network.$SWITCHDEV=switch"
>> +		uci set "network.$SWITCHDEV.name=$SWITCHHW"
>> +		uci set "network.$SWITCHDEV.enable=1"
>> +		uci set "network.$SWITCHDEV.reset=1"
>> +		uci set "network.$SWITCHDEV.enable_vlan=1"
>> +
>> +		uci set "network.${SWITCHDEV}_1=switch_vlan"
>> +		uci set "network.${SWITCHDEV}_1.device=$SWITCHHW"
>> +		uci set "network.${SWITCHDEV}_1.vlan=1"
>> +		uci set "network.${SWITCHDEV}_1.ports=$CLIENT_PORTS"
>> +
>> +		echo "# Allow IPv6 RAs on WAN Port" >> /etc/sysctl.conf
>> +
>> +		wanon="1"
>> +		if [ "$WANDEV" = "$SWITCHDEV" ] || [ -n "$WAN_PORTS" ];
>> then
>> +			WANDEV="${SWITCHDEV}.2"
>> +			uci set "network.${SWITCHDEV}_2=switch_vlan"
>> +			uci set
>> "network.${SWITCHDEV}_2.device=$SWITCHHW"
>> +			uci set "network.${SWITCHDEV}_2.vlan=2"
>> +			uci set
>> "network.${SWITCHDEV}_2.ports=$WAN_PORTS"
>> +		fi
>> +
>> +		ETHMESHDEV="$SWITCHDEV.3"
>> +		uci set "network.${SWITCHDEV}_3=switch_vlan"
>> +		uci set "network.${SWITCHDEV}_3.device=$SWITCHHW"
>> +		uci set "network.${SWITCHDEV}_3.vlan=3"
>> +		uci set "network.${SWITCHDEV}_3.ports=$BATMAN_PORTS"
>> +
>> +		uci set network.mesh.ifname="$SWITCHDEV.1 bat0"
>> +		uci set network.wan.ifname="$WANDEV"
>> +		uci set network.ethmesh.ifname="$ETHMESHDEV"
>> +
>> +		uci -q commit network
>> +	fi
>>  fi
>> -
>> -if [ "$ONE_PORT" = "YES" ] && ( ! uci -q get network.$SWITCHDEV.ifname ||
>> [ "$FORCEPARSE" = '1' ] ) ; then
>> -    uci set network.$SWITCHDEV=interface
>> -    uci set network.$SWITCHDEV.ifname=$SWITCHDEV
>> -    if [ "$ETHMODE" = "WAN" ]; then
>> -        echo "net.ipv6.conf.$WANDEV.accept_ra_defrtr = 1" >>
> /etc/sysctl.conf
>> -        echo "net.ipv6.conf.$WANDEV.accept_ra_pinfo = 1" >>
> /etc/sysctl.conf
>> -        echo "net.ipv6.conf.$WANDEV.autoconf = 1" >> /etc/sysctl.conf
>> -        echo "net.ipv6.conf.$WANDEV.accept_ra_rtr_pref = 1" >>
>> /etc/sysctl.conf
>> -        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
>> -        echo "net.ipv6.conf.$WANDEV.accept_ra_defrtr = 0" >>
> /etc/sysctl.conf
>> -        echo "net.ipv6.conf.$WANDEV.accept_ra_pinfo = 0" >>
> /etc/sysctl.conf
>> -        echo "net.ipv6.conf.$WANDEV.autoconf = 0" >> /etc/sysctl.conf
>> -        echo "net.ipv6.conf.$WANDEV.accept_ra_rtr_pref = 0" >>
>> /etc/sysctl.conf
>> -        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
>> -        echo "net.ipv6.conf.$WANDEV.accept_ra_defrtr = 0" >>
> /etc/sysctl.conf
>> -        echo "net.ipv6.conf.$WANDEV.accept_ra_pinfo = 0" >>
> /etc/sysctl.conf
>> -        echo "net.ipv6.conf.$WANDEV.autoconf = 0" >> /etc/sysctl.conf
>> -        echo "net.ipv6.conf.$WANDEV.accept_ra_rtr_pref = 0" >>
>> /etc/sysctl.conf
>> -        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"
>> -        fixMac "$(macFlipLocalBit "$ROUTERMAC")" "eth0" "eth0" "1"
>> -    fi
>> -    uci commit network
>> +if [ -n "$wanon" ]; then
>> +	echo "net.ipv6.conf.$WANDEV.accept_ra_defrtr = $wanon" >>
>> /etc/sysctl.conf
>> +	echo "net.ipv6.conf.$WANDEV.accept_ra_pinfo = $wanon" >>
>> /etc/sysctl.conf
>> +	echo "net.ipv6.conf.$WANDEV.autoconf = $wanon" >>
>> /etc/sysctl.conf
>> +	echo "net.ipv6.conf.$WANDEV.accept_ra_rtr_pref = $wanon" >>
>> +/etc/sysctl.conf
>>  fi
>>
>>  /etc/init.d/network restart
>>
>> -if [ -n "$ETHMESHMAC" ]; then
>> -    fixMac "$ETHMESHMAC" "${SWITCHDEV}.3" "ethmesh"
>> +if [ -n "$ETHMESHMAC" ] && [ -n "$ETHMESHDEV" ]; then
>> +    fixMac "$ETHMESHMAC" "$ETHMESHDEV" "ethmesh"
>>  fi
>>
>>  if [ -n "$ROUTERMAC" ]; then
>> --
>> 2.7.4
>>
>> --
>> franken-dev mailing list
>> franken-dev@freifunk.net
>> http://lists.freifunk.net/mailman/listinfo/franken-dev-freifunk.net
>
Adrian Schmutzler Jan. 2, 2018, 7:49 p.m.
Ich hab routing gar nicht geupdatet, aber packages. Hast du packages mitgezogen oder nicht?

> -----Original Message-----
> From: Christian Dresel [mailto:fff@chrisi01.de]
> Sent: Dienstag, 2. Januar 2018 20:48
> To: mail@adrianschmutzler.de
> Subject: Re: [PATCH] configurenetwork: Rearrangement/redesign of central
> commands
> 
> hi
> 
> On 02.01.2018 20:46, mail@adrianschmutzler.de wrote:
> > Argh...
> >
> > Danke, da kann ich natürlich stundenlang an meiner Config rumschrauben,
> wenn einfach das Modul fehlt. Wie mein Physik-Prof. halt immer gesagt hat:
> Immer nur einen Parameter gleichzeitig ändern ....
> >
> > Du hast wirklich genau 17.01.4 genommen? Weil dann kann ich
> einschränken, wo ich bei LEDE suchen muss...
> 
> bei der LEDE Git Nummer bin ich mir sicher (ich erinner mich an die drei 4er
> am Anfang) beim Routingfeed weiß ich es nicht exakt, es war auf jeden Fall
> einer wo Batman 2017.3 drinnen ist aber noch nicht Batman
> 2017.4 (das hat nicht gebaut und beim build abgebrochen weil irgendein C-
> Code kaputt war).
> 
> P.S. die ML vergessen? Wann ja bitte wieder dort hin antworten, interessiert
> bestimmt auch andere ;)
> 
> mfg
> 
> Christian
> 
> >
> > Grüße
> >
> > Adrian
> >
> >> -----Original Message-----
> >> From: Christian Dresel [mailto:fff@chrisi01.de]
> >> Sent: Dienstag, 2. Januar 2018 20:18
> >> To: mail@adrianschmutzler.de; franken-dev@freifunk.net
> >> Subject: Re: [PATCH] configurenetwork: Rearrangement/redesign of
> >> central commands
> >>
> >> hi
> >>
> >> On 02.01.2018 20:05, mail@adrianschmutzler.de wrote:
> >>> Tested successfully on WR841N v12.
> >>> On ONEPORT (AC Mesh), bat0 is not coming up and thus br-mesh is
> >> missing...
> >>>
> >>> Open issues:
> >>> ...
> >>> - Why is bat0 not coming up on AC Mesh? Help please...
> >>
> >> das ist mir gestern auch passiert. Ich hab nur unseren aktuellen
> >> Master hergenommen und LEDE auf 17.01.4
> >> (444add156f2a6d92fc15005c5ade2208a978966c) hochgezogen, sowie den
> >> Routingfeed auf 78049b46ac7cfbb14e8f05bc5150f518f827c0ec.
> >>
> >> Auch hier war nur eth0 und lo offen aber kein bat0, kein br-mesh o.ä.
> >> Ich hab nach langen suchen den Fehler nicht gefunden, wieder den
> >> aktuellen Master gebaut und dann lief es wieder. Warum das passiert,
> keine Ahnung.
> >> Es scheinen auch alle Kernelmodule zu fehlen (lsmod) ein wunder das
> >> er überhaupt geht ;)
> >>
> >> Bei mir ebenfalls der AC Mesh.
> >>
> >> mfg
> >>
> >> Christian
> >>
> >>>
> >>> Grüße
> >>>
> >>> Adrian
> >>>
> >>>> -----Original Message-----
> >>>> From: franken-dev [mailto:franken-dev-bounces@freifunk.net] On
> >> Behalf
> >>>> Of Adrian Schmutzler
> >>>> Sent: Dienstag, 2. Januar 2018 20:02
> >>>> To: franken-dev@freifunk.net
> >>>> Subject: [PATCH] configurenetwork: Rearrangement/redesign of
> >>>> central commands
> >>>>
> >>>> This patch rearranges the commands in configurenetwork. The main
> >>>> goal is
> >>> to
> >>>> avoid code duplications and make reading easier. Some "bugs" were
> >>>> addressed on the way:
> >>>> - Previously, ONEPORT devices went through both major blocks,
> >>>>   resulting e.g. in useless eth0.X interfaces being set up (and
> >>>>   perhaps lots of other strange things). Now, the routines for
> >>>>   ONEPORT and normal devices are separated.
> >>>> - Updating the /etc/sysctl.conf has been combined to a single
> >>>>   block based on variables set earlier
> >>>> - WANDEV is reset to WANDEV.2 were applicable to reduce number of
> >>>>   ifs
> >>>> - "uci del uci set" has been changed to "uci del"
> >>>> - Spaces have been changed to Tabs were changes were done
> >>>> - Arguments have been quoted in various places
> >>>> - Double brackets have been replaced by single brackets
> >>>> - ETHMODE if has been changed to use BATMAN as default (elseif
> >>>>   changed to else)
> >>>> - Use ETHMESHMAC for ONEPORT, introduce ETHMESHDEV
> >>>>
> >>>> Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
> >>>>
> >>>> ---
> >>>>
> >>>> This requires the patches to be applied BEFOREHAND:
> >>>> fff-network: Introduce function to set MAC on device
> >>>> fff-network: Replace ETH0MAC by replacement based on ROUTERMAC
> >>>>
> >>>> Open issues:
> >>>> - Line 84/89: eth0 MAC address is deleted (!). Why is this done
> >>>>   only in uci and is it desirable to have a device without MAC?
> >>>> ---
> >>>>  .../fff-network/files/usr/sbin/configurenetwork    | 155
> >>> ++++++++++---------
> >>>> --
> >>>>  1 file changed, 70 insertions(+), 85 deletions(-)
> >>>>
> >>>> diff --git
> >>>> a/src/packages/fff/fff-network/files/usr/sbin/configurenetwork
> >>>> b/src/packages/fff/fff-network/files/usr/sbin/configurenetwork
> >>>> index 0fbff10..ded9485 100755
> >>>> --- a/src/packages/fff/fff-network/files/usr/sbin/configurenetwork
> >>>> +++ b/src/packages/fff/fff-network/files/usr/sbin/configurenetwork
> >>>> @@ -71,96 +71,81 @@ if [ -n "$LAN1PORT" ] ; then
> >>>>      setupPorts "$LAN1PORT" "${LAN1MODE}"
> >>>>  fi
> >>>>
> >>>> -if ! uci -q get network.$SWITCHDEV > /dev/null || [ "$FORCEPARSE"
> >>>> = '1' ]
> >>> ;
> >>>> then
> >>>> -
> >>>> -    SWITCHHW=$(swconfig list | awk '{ print $4 }')
> >>>> -
> >>>> -    uci set network.$SWITCHDEV=switch
> >>>> -    uci set network.$SWITCHDEV.name=$SWITCHHW
> >>>> -    uci set network.$SWITCHDEV.enable=1
> >>>> -    uci set network.$SWITCHDEV.reset=1
> >>>> -    uci set network.$SWITCHDEV.enable_vlan=1
> >>>> -
> >>>> -    uci set network.${SWITCHDEV}_1=switch_vlan
> >>>> -    uci set network.${SWITCHDEV}_1.device=$SWITCHHW
> >>>> -    uci set network.${SWITCHDEV}_1.vlan=1
> >>>> -    uci set network.${SWITCHDEV}_1.ports="$CLIENT_PORTS"
> >>>> -
> >>>> -    echo "# Allow IPv6 RAs on WAN Port" >> /etc/sysctl.conf
> >>>> -
> >>>> -    if [[ "$WANDEV" = "$SWITCHDEV" ]] || ! [[ -z "$WAN_PORTS" ]];
> then
> >>>> -        uci set network.${SWITCHDEV}_2=switch_vlan
> >>>> -        uci set network.${SWITCHDEV}_2.device=$SWITCHHW
> >>>> -        uci set network.${SWITCHDEV}_2.vlan=2
> >>>> -        uci set network.${SWITCHDEV}_2.ports="$WAN_PORTS"
> >>>> -
> >>>> -        echo "net.ipv6.conf.$WANDEV.2.accept_ra_defrtr = 1" >>
> >>>> /etc/sysctl.conf
> >>>> -        echo "net.ipv6.conf.$WANDEV.2.accept_ra_pinfo = 1" >>
> >>>> /etc/sysctl.conf
> >>>> -        echo "net.ipv6.conf.$WANDEV.2.autoconf = 1" >> /etc/sysctl.conf
> >>>> -        echo "net.ipv6.conf.$WANDEV.2.accept_ra_rtr_pref = 1" >>
> >>>> /etc/sysctl.conf
> >>>> -    else
> >>>> -        echo "net.ipv6.conf.$WANDEV.accept_ra_defrtr = 1" >>
> >>> /etc/sysctl.conf
> >>>> -        echo "net.ipv6.conf.$WANDEV.accept_ra_pinfo = 1" >>
> >>> /etc/sysctl.conf
> >>>> -        echo "net.ipv6.conf.$WANDEV.autoconf = 1" >> /etc/sysctl.conf
> >>>> -        echo "net.ipv6.conf.$WANDEV.accept_ra_rtr_pref = 1" >>
> >>>> /etc/sysctl.conf
> >>>> -    fi
> >>>> -
> >>>> -    uci set network.${SWITCHDEV}_3=switch_vlan
> >>>> -    uci set network.${SWITCHDEV}_3.device=$SWITCHHW
> >>>> -    uci set network.${SWITCHDEV}_3.vlan=3
> >>>> -    uci set network.${SWITCHDEV}_3.ports="$BATMAN_PORTS"
> >>>> -
> >>>> -    uci set network.mesh.ifname="$SWITCHDEV.1 bat0"
> >>>> -
> >>>> -    uci set network.ethmesh.ifname="$SWITCHDEV.3"
> >>>> -
> >>>> -    if [[ "$WANDEV" = "$SWITCHDEV" ]]; then
> >>>> -        uci set network.wan.ifname=$WANDEV.2
> >>>> -    else
> >>>> -        uci set network.wan.ifname=$WANDEV
> >>>> -    fi
> >>>> -
> >>>> -    uci commit network
> >>>> +if [ "$ONE_PORT" = "YES" ] ; then
> >>>> +	if ! uci -q get "network.$SWITCHDEV.ifname" || [ "$FORCEPARSE" =
> >>>> '1' ] ; then
> >>>> +		uci set "network.$SWITCHDEV=interface"
> >>>> +		uci set "network.$SWITCHDEV.ifname=$SWITCHDEV"
> >>>> +		wanon="0"
> >>>> +		if [ "$ETHMODE" = "WAN" ]; then
> >>>> +			wanon="1"
> >>>> +			uci set network.mesh.ifname="bat0"
> >>>> +			uci set network.wan.ifname="$WANDEV"
> >>>> +			uci del network.ethmesh.ifname
> >>>> +			uci del network.eth0.macaddr
> >>>> +		elif [ "$ETHMODE" = "CLIENT" ] ; then
> >>>> +			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
> >>>> +		else # default=BATMAN
> >>>> +			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"
> >>>> +			ETHMESHMAC="$(macFlipLocalBit "$ROUTERMAC")"
> >>>> +			ETHMESHDEV="$SWITCHDEV"
> >>>> +		fi
> >>>> +		uci -q commit network
> >>>> +	fi
> >>>> +else
> >>>> +	if ! uci -q get "network.$SWITCHDEV" > /dev/null || [ "$FORCEPARSE"
> >>>> = '1' ] ; then
> >>>> +		SWITCHHW="$(swconfig list | awk '{ print $4 }')"
> >>>> +
> >>>> +		uci set "network.$SWITCHDEV=switch"
> >>>> +		uci set "network.$SWITCHDEV.name=$SWITCHHW"
> >>>> +		uci set "network.$SWITCHDEV.enable=1"
> >>>> +		uci set "network.$SWITCHDEV.reset=1"
> >>>> +		uci set "network.$SWITCHDEV.enable_vlan=1"
> >>>> +
> >>>> +		uci set "network.${SWITCHDEV}_1=switch_vlan"
> >>>> +		uci set "network.${SWITCHDEV}_1.device=$SWITCHHW"
> >>>> +		uci set "network.${SWITCHDEV}_1.vlan=1"
> >>>> +		uci set "network.${SWITCHDEV}_1.ports=$CLIENT_PORTS"
> >>>> +
> >>>> +		echo "# Allow IPv6 RAs on WAN Port" >> /etc/sysctl.conf
> >>>> +
> >>>> +		wanon="1"
> >>>> +		if [ "$WANDEV" = "$SWITCHDEV" ] || [ -n "$WAN_PORTS" ];
> >>>> then
> >>>> +			WANDEV="${SWITCHDEV}.2"
> >>>> +			uci set "network.${SWITCHDEV}_2=switch_vlan"
> >>>> +			uci set
> >>>> "network.${SWITCHDEV}_2.device=$SWITCHHW"
> >>>> +			uci set "network.${SWITCHDEV}_2.vlan=2"
> >>>> +			uci set
> >>>> "network.${SWITCHDEV}_2.ports=$WAN_PORTS"
> >>>> +		fi
> >>>> +
> >>>> +		ETHMESHDEV="$SWITCHDEV.3"
> >>>> +		uci set "network.${SWITCHDEV}_3=switch_vlan"
> >>>> +		uci set "network.${SWITCHDEV}_3.device=$SWITCHHW"
> >>>> +		uci set "network.${SWITCHDEV}_3.vlan=3"
> >>>> +		uci set "network.${SWITCHDEV}_3.ports=$BATMAN_PORTS"
> >>>> +
> >>>> +		uci set network.mesh.ifname="$SWITCHDEV.1 bat0"
> >>>> +		uci set network.wan.ifname="$WANDEV"
> >>>> +		uci set network.ethmesh.ifname="$ETHMESHDEV"
> >>>> +
> >>>> +		uci -q commit network
> >>>> +	fi
> >>>>  fi
> >>>> -
> >>>> -if [ "$ONE_PORT" = "YES" ] && ( ! uci -q get
> >>>> network.$SWITCHDEV.ifname || [ "$FORCEPARSE" = '1' ] ) ; then
> >>>> -    uci set network.$SWITCHDEV=interface
> >>>> -    uci set network.$SWITCHDEV.ifname=$SWITCHDEV
> >>>> -    if [ "$ETHMODE" = "WAN" ]; then
> >>>> -        echo "net.ipv6.conf.$WANDEV.accept_ra_defrtr = 1" >>
> >>> /etc/sysctl.conf
> >>>> -        echo "net.ipv6.conf.$WANDEV.accept_ra_pinfo = 1" >>
> >>> /etc/sysctl.conf
> >>>> -        echo "net.ipv6.conf.$WANDEV.autoconf = 1" >> /etc/sysctl.conf
> >>>> -        echo "net.ipv6.conf.$WANDEV.accept_ra_rtr_pref = 1" >>
> >>>> /etc/sysctl.conf
> >>>> -        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
> >>>> -        echo "net.ipv6.conf.$WANDEV.accept_ra_defrtr = 0" >>
> >>> /etc/sysctl.conf
> >>>> -        echo "net.ipv6.conf.$WANDEV.accept_ra_pinfo = 0" >>
> >>> /etc/sysctl.conf
> >>>> -        echo "net.ipv6.conf.$WANDEV.autoconf = 0" >> /etc/sysctl.conf
> >>>> -        echo "net.ipv6.conf.$WANDEV.accept_ra_rtr_pref = 0" >>
> >>>> /etc/sysctl.conf
> >>>> -        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
> >>>> -        echo "net.ipv6.conf.$WANDEV.accept_ra_defrtr = 0" >>
> >>> /etc/sysctl.conf
> >>>> -        echo "net.ipv6.conf.$WANDEV.accept_ra_pinfo = 0" >>
> >>> /etc/sysctl.conf
> >>>> -        echo "net.ipv6.conf.$WANDEV.autoconf = 0" >> /etc/sysctl.conf
> >>>> -        echo "net.ipv6.conf.$WANDEV.accept_ra_rtr_pref = 0" >>
> >>>> /etc/sysctl.conf
> >>>> -        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"
> >>>> -        fixMac "$(macFlipLocalBit "$ROUTERMAC")" "eth0" "eth0" "1"
> >>>> -    fi
> >>>> -    uci commit network
> >>>> +if [ -n "$wanon" ]; then
> >>>> +	echo "net.ipv6.conf.$WANDEV.accept_ra_defrtr = $wanon" >>
> >>>> /etc/sysctl.conf
> >>>> +	echo "net.ipv6.conf.$WANDEV.accept_ra_pinfo = $wanon" >>
> >>>> /etc/sysctl.conf
> >>>> +	echo "net.ipv6.conf.$WANDEV.autoconf = $wanon" >>
> >>>> /etc/sysctl.conf
> >>>> +	echo "net.ipv6.conf.$WANDEV.accept_ra_rtr_pref = $wanon" >>
> >>>> +/etc/sysctl.conf
> >>>>  fi
> >>>>
> >>>>  /etc/init.d/network restart
> >>>>
> >>>> -if [ -n "$ETHMESHMAC" ]; then
> >>>> -    fixMac "$ETHMESHMAC" "${SWITCHDEV}.3" "ethmesh"
> >>>> +if [ -n "$ETHMESHMAC" ] && [ -n "$ETHMESHDEV" ]; then
> >>>> +    fixMac "$ETHMESHMAC" "$ETHMESHDEV" "ethmesh"
> >>>>  fi
> >>>>
> >>>>  if [ -n "$ROUTERMAC" ]; then
> >>>> --
> >>>> 2.7.4
> >>>>
> >>>> --
> >>>> franken-dev mailing list
> >>>> franken-dev@freifunk.net
> >>>> http://lists.freifunk.net/mailman/listinfo/franken-dev-freifunk.net
> >>>
> >
> >
Christian Dresel Jan. 2, 2018, 7:51 p.m.
On 02.01.2018 20:49, mail@adrianschmutzler.de wrote:
> Ich hab routing gar nicht geupdatet, aber packages. Hast du packages mitgezogen oder nicht?

packages hab ich nicht mitgezogen, nur LEDE und Routing.

demnach würde ich sagen, das Problem entsteht im LEDE irgendwo.

> 
>> -----Original Message-----
>> From: Christian Dresel [mailto:fff@chrisi01.de]
>> Sent: Dienstag, 2. Januar 2018 20:48
>> To: mail@adrianschmutzler.de
>> Subject: Re: [PATCH] configurenetwork: Rearrangement/redesign of central
>> commands
>>
>> hi
>>
>> On 02.01.2018 20:46, mail@adrianschmutzler.de wrote:
>>> Argh...
>>>
>>> Danke, da kann ich natürlich stundenlang an meiner Config rumschrauben,
>> wenn einfach das Modul fehlt. Wie mein Physik-Prof. halt immer gesagt hat:
>> Immer nur einen Parameter gleichzeitig ändern ....
>>>
>>> Du hast wirklich genau 17.01.4 genommen? Weil dann kann ich
>> einschränken, wo ich bei LEDE suchen muss...
>>
>> bei der LEDE Git Nummer bin ich mir sicher (ich erinner mich an die drei 4er
>> am Anfang) beim Routingfeed weiß ich es nicht exakt, es war auf jeden Fall
>> einer wo Batman 2017.3 drinnen ist aber noch nicht Batman
>> 2017.4 (das hat nicht gebaut und beim build abgebrochen weil irgendein C-
>> Code kaputt war).
>>
>> P.S. die ML vergessen? Wann ja bitte wieder dort hin antworten, interessiert
>> bestimmt auch andere ;)
>>
>> mfg
>>
>> Christian
>>
>>>
>>> Grüße
>>>
>>> Adrian
>>>
>>>> -----Original Message-----
>>>> From: Christian Dresel [mailto:fff@chrisi01.de]
>>>> Sent: Dienstag, 2. Januar 2018 20:18
>>>> To: mail@adrianschmutzler.de; franken-dev@freifunk.net
>>>> Subject: Re: [PATCH] configurenetwork: Rearrangement/redesign of
>>>> central commands
>>>>
>>>> hi
>>>>
>>>> On 02.01.2018 20:05, mail@adrianschmutzler.de wrote:
>>>>> Tested successfully on WR841N v12.
>>>>> On ONEPORT (AC Mesh), bat0 is not coming up and thus br-mesh is
>>>> missing...
>>>>>
>>>>> Open issues:
>>>>> ...
>>>>> - Why is bat0 not coming up on AC Mesh? Help please...
>>>>
>>>> das ist mir gestern auch passiert. Ich hab nur unseren aktuellen
>>>> Master hergenommen und LEDE auf 17.01.4
>>>> (444add156f2a6d92fc15005c5ade2208a978966c) hochgezogen, sowie den
>>>> Routingfeed auf 78049b46ac7cfbb14e8f05bc5150f518f827c0ec.
>>>>
>>>> Auch hier war nur eth0 und lo offen aber kein bat0, kein br-mesh o.ä.
>>>> Ich hab nach langen suchen den Fehler nicht gefunden, wieder den
>>>> aktuellen Master gebaut und dann lief es wieder. Warum das passiert,
>> keine Ahnung.
>>>> Es scheinen auch alle Kernelmodule zu fehlen (lsmod) ein wunder das
>>>> er überhaupt geht ;)
>>>>
>>>> Bei mir ebenfalls der AC Mesh.
>>>>
>>>> mfg
>>>>
>>>> Christian
>>>>
>>>>>
>>>>> Grüße
>>>>>
>>>>> Adrian
>>>>>
>>>>>> -----Original Message-----
>>>>>> From: franken-dev [mailto:franken-dev-bounces@freifunk.net] On
>>>> Behalf
>>>>>> Of Adrian Schmutzler
>>>>>> Sent: Dienstag, 2. Januar 2018 20:02
>>>>>> To: franken-dev@freifunk.net
>>>>>> Subject: [PATCH] configurenetwork: Rearrangement/redesign of
>>>>>> central commands
>>>>>>
>>>>>> This patch rearranges the commands in configurenetwork. The main
>>>>>> goal is
>>>>> to
>>>>>> avoid code duplications and make reading easier. Some "bugs" were
>>>>>> addressed on the way:
>>>>>> - Previously, ONEPORT devices went through both major blocks,
>>>>>>   resulting e.g. in useless eth0.X interfaces being set up (and
>>>>>>   perhaps lots of other strange things). Now, the routines for
>>>>>>   ONEPORT and normal devices are separated.
>>>>>> - Updating the /etc/sysctl.conf has been combined to a single
>>>>>>   block based on variables set earlier
>>>>>> - WANDEV is reset to WANDEV.2 were applicable to reduce number of
>>>>>>   ifs
>>>>>> - "uci del uci set" has been changed to "uci del"
>>>>>> - Spaces have been changed to Tabs were changes were done
>>>>>> - Arguments have been quoted in various places
>>>>>> - Double brackets have been replaced by single brackets
>>>>>> - ETHMODE if has been changed to use BATMAN as default (elseif
>>>>>>   changed to else)
>>>>>> - Use ETHMESHMAC for ONEPORT, introduce ETHMESHDEV
>>>>>>
>>>>>> Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
>>>>>>
>>>>>> ---
>>>>>>
>>>>>> This requires the patches to be applied BEFOREHAND:
>>>>>> fff-network: Introduce function to set MAC on device
>>>>>> fff-network: Replace ETH0MAC by replacement based on ROUTERMAC
>>>>>>
>>>>>> Open issues:
>>>>>> - Line 84/89: eth0 MAC address is deleted (!). Why is this done
>>>>>>   only in uci and is it desirable to have a device without MAC?
>>>>>> ---
>>>>>>  .../fff-network/files/usr/sbin/configurenetwork    | 155
>>>>> ++++++++++---------
>>>>>> --
>>>>>>  1 file changed, 70 insertions(+), 85 deletions(-)
>>>>>>
>>>>>> diff --git
>>>>>> a/src/packages/fff/fff-network/files/usr/sbin/configurenetwork
>>>>>> b/src/packages/fff/fff-network/files/usr/sbin/configurenetwork
>>>>>> index 0fbff10..ded9485 100755
>>>>>> --- a/src/packages/fff/fff-network/files/usr/sbin/configurenetwork
>>>>>> +++ b/src/packages/fff/fff-network/files/usr/sbin/configurenetwork
>>>>>> @@ -71,96 +71,81 @@ if [ -n "$LAN1PORT" ] ; then
>>>>>>      setupPorts "$LAN1PORT" "${LAN1MODE}"
>>>>>>  fi
>>>>>>
>>>>>> -if ! uci -q get network.$SWITCHDEV > /dev/null || [ "$FORCEPARSE"
>>>>>> = '1' ]
>>>>> ;
>>>>>> then
>>>>>> -
>>>>>> -    SWITCHHW=$(swconfig list | awk '{ print $4 }')
>>>>>> -
>>>>>> -    uci set network.$SWITCHDEV=switch
>>>>>> -    uci set network.$SWITCHDEV.name=$SWITCHHW
>>>>>> -    uci set network.$SWITCHDEV.enable=1
>>>>>> -    uci set network.$SWITCHDEV.reset=1
>>>>>> -    uci set network.$SWITCHDEV.enable_vlan=1
>>>>>> -
>>>>>> -    uci set network.${SWITCHDEV}_1=switch_vlan
>>>>>> -    uci set network.${SWITCHDEV}_1.device=$SWITCHHW
>>>>>> -    uci set network.${SWITCHDEV}_1.vlan=1
>>>>>> -    uci set network.${SWITCHDEV}_1.ports="$CLIENT_PORTS"
>>>>>> -
>>>>>> -    echo "# Allow IPv6 RAs on WAN Port" >> /etc/sysctl.conf
>>>>>> -
>>>>>> -    if [[ "$WANDEV" = "$SWITCHDEV" ]] || ! [[ -z "$WAN_PORTS" ]];
>> then
>>>>>> -        uci set network.${SWITCHDEV}_2=switch_vlan
>>>>>> -        uci set network.${SWITCHDEV}_2.device=$SWITCHHW
>>>>>> -        uci set network.${SWITCHDEV}_2.vlan=2
>>>>>> -        uci set network.${SWITCHDEV}_2.ports="$WAN_PORTS"
>>>>>> -
>>>>>> -        echo "net.ipv6.conf.$WANDEV.2.accept_ra_defrtr = 1" >>
>>>>>> /etc/sysctl.conf
>>>>>> -        echo "net.ipv6.conf.$WANDEV.2.accept_ra_pinfo = 1" >>
>>>>>> /etc/sysctl.conf
>>>>>> -        echo "net.ipv6.conf.$WANDEV.2.autoconf = 1" >> /etc/sysctl.conf
>>>>>> -        echo "net.ipv6.conf.$WANDEV.2.accept_ra_rtr_pref = 1" >>
>>>>>> /etc/sysctl.conf
>>>>>> -    else
>>>>>> -        echo "net.ipv6.conf.$WANDEV.accept_ra_defrtr = 1" >>
>>>>> /etc/sysctl.conf
>>>>>> -        echo "net.ipv6.conf.$WANDEV.accept_ra_pinfo = 1" >>
>>>>> /etc/sysctl.conf
>>>>>> -        echo "net.ipv6.conf.$WANDEV.autoconf = 1" >> /etc/sysctl.conf
>>>>>> -        echo "net.ipv6.conf.$WANDEV.accept_ra_rtr_pref = 1" >>
>>>>>> /etc/sysctl.conf
>>>>>> -    fi
>>>>>> -
>>>>>> -    uci set network.${SWITCHDEV}_3=switch_vlan
>>>>>> -    uci set network.${SWITCHDEV}_3.device=$SWITCHHW
>>>>>> -    uci set network.${SWITCHDEV}_3.vlan=3
>>>>>> -    uci set network.${SWITCHDEV}_3.ports="$BATMAN_PORTS"
>>>>>> -
>>>>>> -    uci set network.mesh.ifname="$SWITCHDEV.1 bat0"
>>>>>> -
>>>>>> -    uci set network.ethmesh.ifname="$SWITCHDEV.3"
>>>>>> -
>>>>>> -    if [[ "$WANDEV" = "$SWITCHDEV" ]]; then
>>>>>> -        uci set network.wan.ifname=$WANDEV.2
>>>>>> -    else
>>>>>> -        uci set network.wan.ifname=$WANDEV
>>>>>> -    fi
>>>>>> -
>>>>>> -    uci commit network
>>>>>> +if [ "$ONE_PORT" = "YES" ] ; then
>>>>>> +	if ! uci -q get "network.$SWITCHDEV.ifname" || [ "$FORCEPARSE" =
>>>>>> '1' ] ; then
>>>>>> +		uci set "network.$SWITCHDEV=interface"
>>>>>> +		uci set "network.$SWITCHDEV.ifname=$SWITCHDEV"
>>>>>> +		wanon="0"
>>>>>> +		if [ "$ETHMODE" = "WAN" ]; then
>>>>>> +			wanon="1"
>>>>>> +			uci set network.mesh.ifname="bat0"
>>>>>> +			uci set network.wan.ifname="$WANDEV"
>>>>>> +			uci del network.ethmesh.ifname
>>>>>> +			uci del network.eth0.macaddr
>>>>>> +		elif [ "$ETHMODE" = "CLIENT" ] ; then
>>>>>> +			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
>>>>>> +		else # default=BATMAN
>>>>>> +			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"
>>>>>> +			ETHMESHMAC="$(macFlipLocalBit "$ROUTERMAC")"
>>>>>> +			ETHMESHDEV="$SWITCHDEV"
>>>>>> +		fi
>>>>>> +		uci -q commit network
>>>>>> +	fi
>>>>>> +else
>>>>>> +	if ! uci -q get "network.$SWITCHDEV" > /dev/null || [ "$FORCEPARSE"
>>>>>> = '1' ] ; then
>>>>>> +		SWITCHHW="$(swconfig list | awk '{ print $4 }')"
>>>>>> +
>>>>>> +		uci set "network.$SWITCHDEV=switch"
>>>>>> +		uci set "network.$SWITCHDEV.name=$SWITCHHW"
>>>>>> +		uci set "network.$SWITCHDEV.enable=1"
>>>>>> +		uci set "network.$SWITCHDEV.reset=1"
>>>>>> +		uci set "network.$SWITCHDEV.enable_vlan=1"
>>>>>> +
>>>>>> +		uci set "network.${SWITCHDEV}_1=switch_vlan"
>>>>>> +		uci set "network.${SWITCHDEV}_1.device=$SWITCHHW"
>>>>>> +		uci set "network.${SWITCHDEV}_1.vlan=1"
>>>>>> +		uci set "network.${SWITCHDEV}_1.ports=$CLIENT_PORTS"
>>>>>> +
>>>>>> +		echo "# Allow IPv6 RAs on WAN Port" >> /etc/sysctl.conf
>>>>>> +
>>>>>> +		wanon="1"
>>>>>> +		if [ "$WANDEV" = "$SWITCHDEV" ] || [ -n "$WAN_PORTS" ];
>>>>>> then
>>>>>> +			WANDEV="${SWITCHDEV}.2"
>>>>>> +			uci set "network.${SWITCHDEV}_2=switch_vlan"
>>>>>> +			uci set
>>>>>> "network.${SWITCHDEV}_2.device=$SWITCHHW"
>>>>>> +			uci set "network.${SWITCHDEV}_2.vlan=2"
>>>>>> +			uci set
>>>>>> "network.${SWITCHDEV}_2.ports=$WAN_PORTS"
>>>>>> +		fi
>>>>>> +
>>>>>> +		ETHMESHDEV="$SWITCHDEV.3"
>>>>>> +		uci set "network.${SWITCHDEV}_3=switch_vlan"
>>>>>> +		uci set "network.${SWITCHDEV}_3.device=$SWITCHHW"
>>>>>> +		uci set "network.${SWITCHDEV}_3.vlan=3"
>>>>>> +		uci set "network.${SWITCHDEV}_3.ports=$BATMAN_PORTS"
>>>>>> +
>>>>>> +		uci set network.mesh.ifname="$SWITCHDEV.1 bat0"
>>>>>> +		uci set network.wan.ifname="$WANDEV"
>>>>>> +		uci set network.ethmesh.ifname="$ETHMESHDEV"
>>>>>> +
>>>>>> +		uci -q commit network
>>>>>> +	fi
>>>>>>  fi
>>>>>> -
>>>>>> -if [ "$ONE_PORT" = "YES" ] && ( ! uci -q get
>>>>>> network.$SWITCHDEV.ifname || [ "$FORCEPARSE" = '1' ] ) ; then
>>>>>> -    uci set network.$SWITCHDEV=interface
>>>>>> -    uci set network.$SWITCHDEV.ifname=$SWITCHDEV
>>>>>> -    if [ "$ETHMODE" = "WAN" ]; then
>>>>>> -        echo "net.ipv6.conf.$WANDEV.accept_ra_defrtr = 1" >>
>>>>> /etc/sysctl.conf
>>>>>> -        echo "net.ipv6.conf.$WANDEV.accept_ra_pinfo = 1" >>
>>>>> /etc/sysctl.conf
>>>>>> -        echo "net.ipv6.conf.$WANDEV.autoconf = 1" >> /etc/sysctl.conf
>>>>>> -        echo "net.ipv6.conf.$WANDEV.accept_ra_rtr_pref = 1" >>
>>>>>> /etc/sysctl.conf
>>>>>> -        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
>>>>>> -        echo "net.ipv6.conf.$WANDEV.accept_ra_defrtr = 0" >>
>>>>> /etc/sysctl.conf
>>>>>> -        echo "net.ipv6.conf.$WANDEV.accept_ra_pinfo = 0" >>
>>>>> /etc/sysctl.conf
>>>>>> -        echo "net.ipv6.conf.$WANDEV.autoconf = 0" >> /etc/sysctl.conf
>>>>>> -        echo "net.ipv6.conf.$WANDEV.accept_ra_rtr_pref = 0" >>
>>>>>> /etc/sysctl.conf
>>>>>> -        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
>>>>>> -        echo "net.ipv6.conf.$WANDEV.accept_ra_defrtr = 0" >>
>>>>> /etc/sysctl.conf
>>>>>> -        echo "net.ipv6.conf.$WANDEV.accept_ra_pinfo = 0" >>
>>>>> /etc/sysctl.conf
>>>>>> -        echo "net.ipv6.conf.$WANDEV.autoconf = 0" >> /etc/sysctl.conf
>>>>>> -        echo "net.ipv6.conf.$WANDEV.accept_ra_rtr_pref = 0" >>
>>>>>> /etc/sysctl.conf
>>>>>> -        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"
>>>>>> -        fixMac "$(macFlipLocalBit "$ROUTERMAC")" "eth0" "eth0" "1"
>>>>>> -    fi
>>>>>> -    uci commit network
>>>>>> +if [ -n "$wanon" ]; then
>>>>>> +	echo "net.ipv6.conf.$WANDEV.accept_ra_defrtr = $wanon" >>
>>>>>> /etc/sysctl.conf
>>>>>> +	echo "net.ipv6.conf.$WANDEV.accept_ra_pinfo = $wanon" >>
>>>>>> /etc/sysctl.conf
>>>>>> +	echo "net.ipv6.conf.$WANDEV.autoconf = $wanon" >>
>>>>>> /etc/sysctl.conf
>>>>>> +	echo "net.ipv6.conf.$WANDEV.accept_ra_rtr_pref = $wanon" >>
>>>>>> +/etc/sysctl.conf
>>>>>>  fi
>>>>>>
>>>>>>  /etc/init.d/network restart
>>>>>>
>>>>>> -if [ -n "$ETHMESHMAC" ]; then
>>>>>> -    fixMac "$ETHMESHMAC" "${SWITCHDEV}.3" "ethmesh"
>>>>>> +if [ -n "$ETHMESHMAC" ] && [ -n "$ETHMESHDEV" ]; then
>>>>>> +    fixMac "$ETHMESHMAC" "$ETHMESHDEV" "ethmesh"
>>>>>>  fi
>>>>>>
>>>>>>  if [ -n "$ROUTERMAC" ]; then
>>>>>> --
>>>>>> 2.7.4
>>>>>>
>>>>>> --
>>>>>> franken-dev mailing list
>>>>>> franken-dev@freifunk.net
>>>>>> http://lists.freifunk.net/mailman/listinfo/franken-dev-freifunk.net
>>>>>
>>>
>>>
> 
>
Adrian Schmutzler Jan. 2, 2018, 7:54 p.m.
Kann eigtl nur das Kernel-Update sein:

https://github.com/openwrt/openwrt/commit/fa0b5fce1f53c3520cacff49e9d371fb2c5c3685

Werde mal mit und ohne Testen.

> -----Original Message-----
> From: Christian Dresel [mailto:fff@chrisi01.de]
> Sent: Dienstag, 2. Januar 2018 20:52
> To: mail@adrianschmutzler.de; franken-dev@freifunk.net
> Subject: Re: [PATCH] configurenetwork: Rearrangement/redesign of central
> commands
> 
> 
> 
> On 02.01.2018 20:49, mail@adrianschmutzler.de wrote:
> > Ich hab routing gar nicht geupdatet, aber packages. Hast du packages
> mitgezogen oder nicht?
> 
> packages hab ich nicht mitgezogen, nur LEDE und Routing.
> 
> demnach würde ich sagen, das Problem entsteht im LEDE irgendwo.
> 
> >
> >> -----Original Message-----
> >> From: Christian Dresel [mailto:fff@chrisi01.de]
> >> Sent: Dienstag, 2. Januar 2018 20:48
> >> To: mail@adrianschmutzler.de
> >> Subject: Re: [PATCH] configurenetwork: Rearrangement/redesign of
> >> central commands
> >>
> >> hi
> >>
> >> On 02.01.2018 20:46, mail@adrianschmutzler.de wrote:
> >>> Argh...
> >>>
> >>> Danke, da kann ich natürlich stundenlang an meiner Config
> >>> rumschrauben,
> >> wenn einfach das Modul fehlt. Wie mein Physik-Prof. halt immer gesagt
> hat:
> >> Immer nur einen Parameter gleichzeitig ändern ....
> >>>
> >>> Du hast wirklich genau 17.01.4 genommen? Weil dann kann ich
> >> einschränken, wo ich bei LEDE suchen muss...
> >>
> >> bei der LEDE Git Nummer bin ich mir sicher (ich erinner mich an die
> >> drei 4er am Anfang) beim Routingfeed weiß ich es nicht exakt, es war
> >> auf jeden Fall einer wo Batman 2017.3 drinnen ist aber noch nicht
> >> Batman
> >> 2017.4 (das hat nicht gebaut und beim build abgebrochen weil
> >> irgendein C- Code kaputt war).
> >>
> >> P.S. die ML vergessen? Wann ja bitte wieder dort hin antworten,
> >> interessiert bestimmt auch andere ;)
> >>
> >> mfg
> >>
> >> Christian
> >>
> >>>
> >>> Grüße
> >>>
> >>> Adrian
> >>>
> >>>> -----Original Message-----
> >>>> From: Christian Dresel [mailto:fff@chrisi01.de]
> >>>> Sent: Dienstag, 2. Januar 2018 20:18
> >>>> To: mail@adrianschmutzler.de; franken-dev@freifunk.net
> >>>> Subject: Re: [PATCH] configurenetwork: Rearrangement/redesign of
> >>>> central commands
> >>>>
> >>>> hi
> >>>>
> >>>> On 02.01.2018 20:05, mail@adrianschmutzler.de wrote:
> >>>>> Tested successfully on WR841N v12.
> >>>>> On ONEPORT (AC Mesh), bat0 is not coming up and thus br-mesh is
> >>>> missing...
> >>>>>
> >>>>> Open issues:
> >>>>> ...
> >>>>> - Why is bat0 not coming up on AC Mesh? Help please...
> >>>>
> >>>> das ist mir gestern auch passiert. Ich hab nur unseren aktuellen
> >>>> Master hergenommen und LEDE auf 17.01.4
> >>>> (444add156f2a6d92fc15005c5ade2208a978966c) hochgezogen, sowie
> den
> >>>> Routingfeed auf 78049b46ac7cfbb14e8f05bc5150f518f827c0ec.
> >>>>
> >>>> Auch hier war nur eth0 und lo offen aber kein bat0, kein br-mesh o.ä.
> >>>> Ich hab nach langen suchen den Fehler nicht gefunden, wieder den
> >>>> aktuellen Master gebaut und dann lief es wieder. Warum das
> >>>> passiert,
> >> keine Ahnung.
> >>>> Es scheinen auch alle Kernelmodule zu fehlen (lsmod) ein wunder das
> >>>> er überhaupt geht ;)
> >>>>
> >>>> Bei mir ebenfalls der AC Mesh.
> >>>>
> >>>> mfg
> >>>>
> >>>> Christian
> >>>>
> >>>>>
> >>>>> Grüße
> >>>>>
> >>>>> Adrian
> >>>>>
> >>>>>> -----Original Message-----
> >>>>>> From: franken-dev [mailto:franken-dev-bounces@freifunk.net] On
> >>>> Behalf
> >>>>>> Of Adrian Schmutzler
> >>>>>> Sent: Dienstag, 2. Januar 2018 20:02
> >>>>>> To: franken-dev@freifunk.net
> >>>>>> Subject: [PATCH] configurenetwork: Rearrangement/redesign of
> >>>>>> central commands
> >>>>>>
> >>>>>> This patch rearranges the commands in configurenetwork. The main
> >>>>>> goal is
> >>>>> to
> >>>>>> avoid code duplications and make reading easier. Some "bugs" were
> >>>>>> addressed on the way:
> >>>>>> - Previously, ONEPORT devices went through both major blocks,
> >>>>>>   resulting e.g. in useless eth0.X interfaces being set up (and
> >>>>>>   perhaps lots of other strange things). Now, the routines for
> >>>>>>   ONEPORT and normal devices are separated.
> >>>>>> - Updating the /etc/sysctl.conf has been combined to a single
> >>>>>>   block based on variables set earlier
> >>>>>> - WANDEV is reset to WANDEV.2 were applicable to reduce number
> of
> >>>>>>   ifs
> >>>>>> - "uci del uci set" has been changed to "uci del"
> >>>>>> - Spaces have been changed to Tabs were changes were done
> >>>>>> - Arguments have been quoted in various places
> >>>>>> - Double brackets have been replaced by single brackets
> >>>>>> - ETHMODE if has been changed to use BATMAN as default (elseif
> >>>>>>   changed to else)
> >>>>>> - Use ETHMESHMAC for ONEPORT, introduce ETHMESHDEV
> >>>>>>
> >>>>>> Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
> >>>>>>
> >>>>>> ---
> >>>>>>
> >>>>>> This requires the patches to be applied BEFOREHAND:
> >>>>>> fff-network: Introduce function to set MAC on device
> >>>>>> fff-network: Replace ETH0MAC by replacement based on
> ROUTERMAC
> >>>>>>
> >>>>>> Open issues:
> >>>>>> - Line 84/89: eth0 MAC address is deleted (!). Why is this done
> >>>>>>   only in uci and is it desirable to have a device without MAC?
> >>>>>> ---
> >>>>>>  .../fff-network/files/usr/sbin/configurenetwork    | 155
> >>>>> ++++++++++---------
> >>>>>> --
> >>>>>>  1 file changed, 70 insertions(+), 85 deletions(-)
> >>>>>>
> >>>>>> diff --git
> >>>>>> a/src/packages/fff/fff-network/files/usr/sbin/configurenetwork
> >>>>>> b/src/packages/fff/fff-network/files/usr/sbin/configurenetwork
> >>>>>> index 0fbff10..ded9485 100755
> >>>>>> ---
> >>>>>> a/src/packages/fff/fff-network/files/usr/sbin/configurenetwork
> >>>>>> +++ b/src/packages/fff/fff-network/files/usr/sbin/configurenetwor
> >>>>>> +++ k
> >>>>>> @@ -71,96 +71,81 @@ if [ -n "$LAN1PORT" ] ; then
> >>>>>>      setupPorts "$LAN1PORT" "${LAN1MODE}"
> >>>>>>  fi
> >>>>>>
> >>>>>> -if ! uci -q get network.$SWITCHDEV > /dev/null || [ "$FORCEPARSE"
> >>>>>> = '1' ]
> >>>>> ;
> >>>>>> then
> >>>>>> -
> >>>>>> -    SWITCHHW=$(swconfig list | awk '{ print $4 }')
> >>>>>> -
> >>>>>> -    uci set network.$SWITCHDEV=switch
> >>>>>> -    uci set network.$SWITCHDEV.name=$SWITCHHW
> >>>>>> -    uci set network.$SWITCHDEV.enable=1
> >>>>>> -    uci set network.$SWITCHDEV.reset=1
> >>>>>> -    uci set network.$SWITCHDEV.enable_vlan=1
> >>>>>> -
> >>>>>> -    uci set network.${SWITCHDEV}_1=switch_vlan
> >>>>>> -    uci set network.${SWITCHDEV}_1.device=$SWITCHHW
> >>>>>> -    uci set network.${SWITCHDEV}_1.vlan=1
> >>>>>> -    uci set network.${SWITCHDEV}_1.ports="$CLIENT_PORTS"
> >>>>>> -
> >>>>>> -    echo "# Allow IPv6 RAs on WAN Port" >> /etc/sysctl.conf
> >>>>>> -
> >>>>>> -    if [[ "$WANDEV" = "$SWITCHDEV" ]] || ! [[ -z "$WAN_PORTS" ]];
> >> then
> >>>>>> -        uci set network.${SWITCHDEV}_2=switch_vlan
> >>>>>> -        uci set network.${SWITCHDEV}_2.device=$SWITCHHW
> >>>>>> -        uci set network.${SWITCHDEV}_2.vlan=2
> >>>>>> -        uci set network.${SWITCHDEV}_2.ports="$WAN_PORTS"
> >>>>>> -
> >>>>>> -        echo "net.ipv6.conf.$WANDEV.2.accept_ra_defrtr = 1" >>
> >>>>>> /etc/sysctl.conf
> >>>>>> -        echo "net.ipv6.conf.$WANDEV.2.accept_ra_pinfo = 1" >>
> >>>>>> /etc/sysctl.conf
> >>>>>> -        echo "net.ipv6.conf.$WANDEV.2.autoconf = 1" >>
> /etc/sysctl.conf
> >>>>>> -        echo "net.ipv6.conf.$WANDEV.2.accept_ra_rtr_pref = 1" >>
> >>>>>> /etc/sysctl.conf
> >>>>>> -    else
> >>>>>> -        echo "net.ipv6.conf.$WANDEV.accept_ra_defrtr = 1" >>
> >>>>> /etc/sysctl.conf
> >>>>>> -        echo "net.ipv6.conf.$WANDEV.accept_ra_pinfo = 1" >>
> >>>>> /etc/sysctl.conf
> >>>>>> -        echo "net.ipv6.conf.$WANDEV.autoconf = 1" >>
> /etc/sysctl.conf
> >>>>>> -        echo "net.ipv6.conf.$WANDEV.accept_ra_rtr_pref = 1" >>
> >>>>>> /etc/sysctl.conf
> >>>>>> -    fi
> >>>>>> -
> >>>>>> -    uci set network.${SWITCHDEV}_3=switch_vlan
> >>>>>> -    uci set network.${SWITCHDEV}_3.device=$SWITCHHW
> >>>>>> -    uci set network.${SWITCHDEV}_3.vlan=3
> >>>>>> -    uci set network.${SWITCHDEV}_3.ports="$BATMAN_PORTS"
> >>>>>> -
> >>>>>> -    uci set network.mesh.ifname="$SWITCHDEV.1 bat0"
> >>>>>> -
> >>>>>> -    uci set network.ethmesh.ifname="$SWITCHDEV.3"
> >>>>>> -
> >>>>>> -    if [[ "$WANDEV" = "$SWITCHDEV" ]]; then
> >>>>>> -        uci set network.wan.ifname=$WANDEV.2
> >>>>>> -    else
> >>>>>> -        uci set network.wan.ifname=$WANDEV
> >>>>>> -    fi
> >>>>>> -
> >>>>>> -    uci commit network
> >>>>>> +if [ "$ONE_PORT" = "YES" ] ; then
> >>>>>> +	if ! uci -q get "network.$SWITCHDEV.ifname" || [
> "$FORCEPARSE"
> >>>>>> +=
> >>>>>> '1' ] ; then
> >>>>>> +		uci set "network.$SWITCHDEV=interface"
> >>>>>> +		uci set "network.$SWITCHDEV.ifname=$SWITCHDEV"
> >>>>>> +		wanon="0"
> >>>>>> +		if [ "$ETHMODE" = "WAN" ]; then
> >>>>>> +			wanon="1"
> >>>>>> +			uci set network.mesh.ifname="bat0"
> >>>>>> +			uci set network.wan.ifname="$WANDEV"
> >>>>>> +			uci del network.ethmesh.ifname
> >>>>>> +			uci del network.eth0.macaddr
> >>>>>> +		elif [ "$ETHMODE" = "CLIENT" ] ; then
> >>>>>> +			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
> >>>>>> +		else # default=BATMAN
> >>>>>> +			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"
> >>>>>> +			ETHMESHMAC="$(macFlipLocalBit
> "$ROUTERMAC")"
> >>>>>> +			ETHMESHDEV="$SWITCHDEV"
> >>>>>> +		fi
> >>>>>> +		uci -q commit network
> >>>>>> +	fi
> >>>>>> +else
> >>>>>> +	if ! uci -q get "network.$SWITCHDEV" > /dev/null || [
> "$FORCEPARSE"
> >>>>>> = '1' ] ; then
> >>>>>> +		SWITCHHW="$(swconfig list | awk '{ print $4 }')"
> >>>>>> +
> >>>>>> +		uci set "network.$SWITCHDEV=switch"
> >>>>>> +		uci set "network.$SWITCHDEV.name=$SWITCHHW"
> >>>>>> +		uci set "network.$SWITCHDEV.enable=1"
> >>>>>> +		uci set "network.$SWITCHDEV.reset=1"
> >>>>>> +		uci set "network.$SWITCHDEV.enable_vlan=1"
> >>>>>> +
> >>>>>> +		uci set "network.${SWITCHDEV}_1=switch_vlan"
> >>>>>> +		uci set
> "network.${SWITCHDEV}_1.device=$SWITCHHW"
> >>>>>> +		uci set "network.${SWITCHDEV}_1.vlan=1"
> >>>>>> +		uci set
> "network.${SWITCHDEV}_1.ports=$CLIENT_PORTS"
> >>>>>> +
> >>>>>> +		echo "# Allow IPv6 RAs on WAN Port" >>
> /etc/sysctl.conf
> >>>>>> +
> >>>>>> +		wanon="1"
> >>>>>> +		if [ "$WANDEV" = "$SWITCHDEV" ] || [ -n
> "$WAN_PORTS" ];
> >>>>>> then
> >>>>>> +			WANDEV="${SWITCHDEV}.2"
> >>>>>> +			uci set
> "network.${SWITCHDEV}_2=switch_vlan"
> >>>>>> +			uci set
> >>>>>> "network.${SWITCHDEV}_2.device=$SWITCHHW"
> >>>>>> +			uci set "network.${SWITCHDEV}_2.vlan=2"
> >>>>>> +			uci set
> >>>>>> "network.${SWITCHDEV}_2.ports=$WAN_PORTS"
> >>>>>> +		fi
> >>>>>> +
> >>>>>> +		ETHMESHDEV="$SWITCHDEV.3"
> >>>>>> +		uci set "network.${SWITCHDEV}_3=switch_vlan"
> >>>>>> +		uci set
> "network.${SWITCHDEV}_3.device=$SWITCHHW"
> >>>>>> +		uci set "network.${SWITCHDEV}_3.vlan=3"
> >>>>>> +		uci set
> "network.${SWITCHDEV}_3.ports=$BATMAN_PORTS"
> >>>>>> +
> >>>>>> +		uci set network.mesh.ifname="$SWITCHDEV.1 bat0"
> >>>>>> +		uci set network.wan.ifname="$WANDEV"
> >>>>>> +		uci set network.ethmesh.ifname="$ETHMESHDEV"
> >>>>>> +
> >>>>>> +		uci -q commit network
> >>>>>> +	fi
> >>>>>>  fi
> >>>>>> -
> >>>>>> -if [ "$ONE_PORT" = "YES" ] && ( ! uci -q get
> >>>>>> network.$SWITCHDEV.ifname || [ "$FORCEPARSE" = '1' ] ) ; then
> >>>>>> -    uci set network.$SWITCHDEV=interface
> >>>>>> -    uci set network.$SWITCHDEV.ifname=$SWITCHDEV
> >>>>>> -    if [ "$ETHMODE" = "WAN" ]; then
> >>>>>> -        echo "net.ipv6.conf.$WANDEV.accept_ra_defrtr = 1" >>
> >>>>> /etc/sysctl.conf
> >>>>>> -        echo "net.ipv6.conf.$WANDEV.accept_ra_pinfo = 1" >>
> >>>>> /etc/sysctl.conf
> >>>>>> -        echo "net.ipv6.conf.$WANDEV.autoconf = 1" >>
> /etc/sysctl.conf
> >>>>>> -        echo "net.ipv6.conf.$WANDEV.accept_ra_rtr_pref = 1" >>
> >>>>>> /etc/sysctl.conf
> >>>>>> -        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
> >>>>>> -        echo "net.ipv6.conf.$WANDEV.accept_ra_defrtr = 0" >>
> >>>>> /etc/sysctl.conf
> >>>>>> -        echo "net.ipv6.conf.$WANDEV.accept_ra_pinfo = 0" >>
> >>>>> /etc/sysctl.conf
> >>>>>> -        echo "net.ipv6.conf.$WANDEV.autoconf = 0" >>
> /etc/sysctl.conf
> >>>>>> -        echo "net.ipv6.conf.$WANDEV.accept_ra_rtr_pref = 0" >>
> >>>>>> /etc/sysctl.conf
> >>>>>> -        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
> >>>>>> -        echo "net.ipv6.conf.$WANDEV.accept_ra_defrtr = 0" >>
> >>>>> /etc/sysctl.conf
> >>>>>> -        echo "net.ipv6.conf.$WANDEV.accept_ra_pinfo = 0" >>
> >>>>> /etc/sysctl.conf
> >>>>>> -        echo "net.ipv6.conf.$WANDEV.autoconf = 0" >>
> /etc/sysctl.conf
> >>>>>> -        echo "net.ipv6.conf.$WANDEV.accept_ra_rtr_pref = 0" >>
> >>>>>> /etc/sysctl.conf
> >>>>>> -        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"
> >>>>>> -        fixMac "$(macFlipLocalBit "$ROUTERMAC")" "eth0" "eth0" "1"
> >>>>>> -    fi
> >>>>>> -    uci commit network
> >>>>>> +if [ -n "$wanon" ]; then
> >>>>>> +	echo "net.ipv6.conf.$WANDEV.accept_ra_defrtr = $wanon"
> >>
> >>>>>> /etc/sysctl.conf
> >>>>>> +	echo "net.ipv6.conf.$WANDEV.accept_ra_pinfo = $wanon"
> >>
> >>>>>> /etc/sysctl.conf
> >>>>>> +	echo "net.ipv6.conf.$WANDEV.autoconf = $wanon" >>
> >>>>>> /etc/sysctl.conf
> >>>>>> +	echo "net.ipv6.conf.$WANDEV.accept_ra_rtr_pref =
> $wanon" >>
> >>>>>> +/etc/sysctl.conf
> >>>>>>  fi
> >>>>>>
> >>>>>>  /etc/init.d/network restart
> >>>>>>
> >>>>>> -if [ -n "$ETHMESHMAC" ]; then
> >>>>>> -    fixMac "$ETHMESHMAC" "${SWITCHDEV}.3" "ethmesh"
> >>>>>> +if [ -n "$ETHMESHMAC" ] && [ -n "$ETHMESHDEV" ]; then
> >>>>>> +    fixMac "$ETHMESHMAC" "$ETHMESHDEV" "ethmesh"
> >>>>>>  fi
> >>>>>>
> >>>>>>  if [ -n "$ROUTERMAC" ]; then
> >>>>>> --
> >>>>>> 2.7.4
> >>>>>>
> >>>>>> --
> >>>>>> franken-dev mailing list
> >>>>>> franken-dev@freifunk.net
> >>>>>> http://lists.freifunk.net/mailman/listinfo/franken-dev-freifunk.n
> >>>>>> et
> >>>>>
> >>>
> >>>
> >
> >