[RFC] Fixed Problems with Port mode changing

Christian Dresel fff at chrisi01.de
Mi Sep 14 22:50:06 CEST 2016


hi

kurz mal drüber geguckt:

On 14.09.2016 22:40, Jan Kraus wrote:
> cleaned up config files (moved commands to script)
> 
> Signed-off-by: Jan Kraus <mayosemmel at gmail.com>
> ---
> Dieser Patch ist ungetestet!
> ---
>  .../fff/fff-network/ar71xx/network.tl-mr3020-v1    | 23 ++------------
>  .../fff/fff-network/ar71xx/network.tl-wa850re-v1   | 22 +-------------
>  .../fff/fff-network/ar71xx/network.tl-wa860re-v1   | 22 +-------------
>  .../fff/fff-network/ar71xx/network.ubnt-bullet-m   | 21 +------------
>  .../fff/fff-network/ar71xx/network.ubnt-loco-m-xw  | 23 +-------------
>  .../fff/fff-network/ar71xx/network.ubnt-nano-m     | 21 +------------
>  .../fff/fff-network/ar71xx/network.ubnt-unifi      | 21 +------------
>  .../fff-network/files/usr/sbin/configurenetwork    | 35 ++++++++++++++++++++++
>  8 files changed, 43 insertions(+), 145 deletions(-)
> 
> diff --git a/src/packages/fff/fff-network/ar71xx/network.tl-mr3020-v1 b/src/packages/fff/fff-network/ar71xx/network.tl-mr3020-v1
> index 1198c3d..62f456a 100644
> --- a/src/packages/fff/fff-network/ar71xx/network.tl-mr3020-v1
> +++ b/src/packages/fff/fff-network/ar71xx/network.tl-mr3020-v1
> @@ -3,28 +3,9 @@ SWITCHDEV=eth0
>  CLIENT_PORTS=""
>  WAN_PORTS=""
>  BATMAN_PORTS=""
> +ONE_PORT="YES"

da ist +ONE_PORT="YES noch da, aber bei den restlichen folgenden Router
fehlt die Zeile oder überseh ich was?

>  
>  . /etc/network.mode
>  
>  ETHMESHMAC=eth0
> -ROUTERMAC=eth0
> -
> -uci set network.$SWITCHDEV=interface
> -uci set network.$SWITCHDEV.ifname=$SWITCHDEV
> -uci set network.mesh.ifname="bat0"
> -
> -if [ "$ETHMODE" = "WAN" ] ; then
> -  ## Activate for WAN:
> -  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.wan.ifname=$WANDEV
> -elif [ "$ETHMODE" = "CLIENT" ] ; then
> -  ## Activate Client:
> -  uci set network.mesh.ifname="bat0 $SWITCHDEV"
> -else
> -  ## Activate BATMAN:
> -  uci set network.ethmesh.ifname="$SWITCHDEV"
> -  ETH0MAC="w2ap"
> -fi
> +ROUTERMAC=eth0
> \ No newline at end of file
> diff --git a/src/packages/fff/fff-network/ar71xx/network.tl-wa850re-v1 b/src/packages/fff/fff-network/ar71xx/network.tl-wa850re-v1
> index e745b21..b3f5060 100644
> --- a/src/packages/fff/fff-network/ar71xx/network.tl-wa850re-v1
> +++ b/src/packages/fff/fff-network/ar71xx/network.tl-wa850re-v1
> @@ -7,24 +7,4 @@ BATMAN_PORTS=""
>  . /etc/network.mode
>  
>  ETHMESHMAC=
> -ROUTERMAC=w2mesh
> -
> -uci set network.$SWITCHDEV=interface
> -uci set network.$SWITCHDEV.ifname=$SWITCHDEV
> -uci set network.mesh.ifname="bat0"
> -
> -if [ "$ETHMODE" = "WAN" ] ; then
> -  ## Activate for WAN:
> -  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.wan.ifname=$WANDEV
> -elif [ "$ETHMODE" = "CLIENT" ] ; then
> -  ## Activate Client:
> -  uci set network.mesh.ifname="bat0 $SWITCHDEV"
> -else
> -  ## Activate BATMAN:
> -  uci set network.ethmesh.ifname="$SWITCHDEV"
> -  ETH0MAC="w2ap"
> -fi
> +ROUTERMAC=w2mesh
> \ No newline at end of file
> diff --git a/src/packages/fff/fff-network/ar71xx/network.tl-wa860re-v1 b/src/packages/fff/fff-network/ar71xx/network.tl-wa860re-v1
> index e745b21..b3f5060 100644
> --- a/src/packages/fff/fff-network/ar71xx/network.tl-wa860re-v1
> +++ b/src/packages/fff/fff-network/ar71xx/network.tl-wa860re-v1
> @@ -7,24 +7,4 @@ BATMAN_PORTS=""
>  . /etc/network.mode
>  
>  ETHMESHMAC=
> -ROUTERMAC=w2mesh
> -
> -uci set network.$SWITCHDEV=interface
> -uci set network.$SWITCHDEV.ifname=$SWITCHDEV
> -uci set network.mesh.ifname="bat0"
> -
> -if [ "$ETHMODE" = "WAN" ] ; then
> -  ## Activate for WAN:
> -  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.wan.ifname=$WANDEV
> -elif [ "$ETHMODE" = "CLIENT" ] ; then
> -  ## Activate Client:
> -  uci set network.mesh.ifname="bat0 $SWITCHDEV"
> -else
> -  ## Activate BATMAN:
> -  uci set network.ethmesh.ifname="$SWITCHDEV"
> -  ETH0MAC="w2ap"
> -fi
> +ROUTERMAC=w2mesh
> \ No newline at end of file
> diff --git a/src/packages/fff/fff-network/ar71xx/network.ubnt-bullet-m b/src/packages/fff/fff-network/ar71xx/network.ubnt-bullet-m
> index c16993d..b3f5060 100644
> --- a/src/packages/fff/fff-network/ar71xx/network.ubnt-bullet-m
> +++ b/src/packages/fff/fff-network/ar71xx/network.ubnt-bullet-m
> @@ -7,23 +7,4 @@ BATMAN_PORTS=""
>  . /etc/network.mode
>  
>  ETHMESHMAC=
> -ROUTERMAC=w2mesh
> -
> -uci set network.$SWITCHDEV=interface
> -uci set network.$SWITCHDEV.ifname=$SWITCHDEV
> -uci set network.mesh.ifname="bat0"
> -
> -if [ "$ETHMODE" = "WAN" ] ; then
> -  ## Activate for WAN:
> -  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.wan.ifname=$WANDEV
> -elif [ "$ETHMODE" = "CLIENT" ] ; then
> -  ## Activate Client:
> -  uci set network.mesh.ifname="bat0 $SWITCHDEV"
> -else
> -  ## Activate BATMAN:
> -  uci set network.ethmesh.ifname="$SWITCHDEV"
> -fi
> +ROUTERMAC=w2mesh
> \ No newline at end of file
> diff --git a/src/packages/fff/fff-network/ar71xx/network.ubnt-loco-m-xw b/src/packages/fff/fff-network/ar71xx/network.ubnt-loco-m-xw
> index 2298117..b3f5060 100644
> --- a/src/packages/fff/fff-network/ar71xx/network.ubnt-loco-m-xw
> +++ b/src/packages/fff/fff-network/ar71xx/network.ubnt-loco-m-xw
> @@ -7,25 +7,4 @@ BATMAN_PORTS=""
>  . /etc/network.mode
>  
>  ETHMESHMAC=
> -ROUTERMAC=w2mesh
> -
> -uci set network.$SWITCHDEV=interface
> -uci set network.$SWITCHDEV.ifname=$SWITCHDEV
> -uci set network.mesh.ifname="bat0"
> -uci set network.eth0.mtu="1500"
> -
> -
> -if [ "$ETHMODE" = "WAN" ] ; then
> -  ## Activate for WAN:
> -  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.wan.ifname=$WANDEV
> -elif [ "$ETHMODE" = "CLIENT" ] ; then
> -  ## Activate Client:
> -  uci set network.mesh.ifname="bat0 $SWITCHDEV"
> -else
> -  ## Activate BATMAN:
> -  uci set network.ethmesh.ifname="$SWITCHDEV"
> -fi
> +ROUTERMAC=w2mesh
> \ No newline at end of file
> diff --git a/src/packages/fff/fff-network/ar71xx/network.ubnt-nano-m b/src/packages/fff/fff-network/ar71xx/network.ubnt-nano-m
> index c16993d..b3f5060 100644
> --- a/src/packages/fff/fff-network/ar71xx/network.ubnt-nano-m
> +++ b/src/packages/fff/fff-network/ar71xx/network.ubnt-nano-m
> @@ -7,23 +7,4 @@ BATMAN_PORTS=""
>  . /etc/network.mode
>  
>  ETHMESHMAC=
> -ROUTERMAC=w2mesh
> -
> -uci set network.$SWITCHDEV=interface
> -uci set network.$SWITCHDEV.ifname=$SWITCHDEV
> -uci set network.mesh.ifname="bat0"
> -
> -if [ "$ETHMODE" = "WAN" ] ; then
> -  ## Activate for WAN:
> -  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.wan.ifname=$WANDEV
> -elif [ "$ETHMODE" = "CLIENT" ] ; then
> -  ## Activate Client:
> -  uci set network.mesh.ifname="bat0 $SWITCHDEV"
> -else
> -  ## Activate BATMAN:
> -  uci set network.ethmesh.ifname="$SWITCHDEV"
> -fi
> +ROUTERMAC=w2mesh
> \ No newline at end of file
> diff --git a/src/packages/fff/fff-network/ar71xx/network.ubnt-unifi b/src/packages/fff/fff-network/ar71xx/network.ubnt-unifi
> index c16993d..b3f5060 100644
> --- a/src/packages/fff/fff-network/ar71xx/network.ubnt-unifi
> +++ b/src/packages/fff/fff-network/ar71xx/network.ubnt-unifi
> @@ -7,23 +7,4 @@ BATMAN_PORTS=""
>  . /etc/network.mode
>  
>  ETHMESHMAC=
> -ROUTERMAC=w2mesh
> -
> -uci set network.$SWITCHDEV=interface
> -uci set network.$SWITCHDEV.ifname=$SWITCHDEV
> -uci set network.mesh.ifname="bat0"
> -
> -if [ "$ETHMODE" = "WAN" ] ; then
> -  ## Activate for WAN:
> -  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.wan.ifname=$WANDEV
> -elif [ "$ETHMODE" = "CLIENT" ] ; then
> -  ## Activate Client:
> -  uci set network.mesh.ifname="bat0 $SWITCHDEV"
> -else
> -  ## Activate BATMAN:
> -  uci set network.ethmesh.ifname="$SWITCHDEV"
> -fi
> +ROUTERMAC=w2mesh
> \ No newline at end of file
> diff --git a/src/packages/fff/fff-network/files/usr/sbin/configurenetwork b/src/packages/fff/fff-network/files/usr/sbin/configurenetwork
> index 3b21411..a1e4180 100755
> --- a/src/packages/fff/fff-network/files/usr/sbin/configurenetwork
> +++ b/src/packages/fff/fff-network/files/usr/sbin/configurenetwork
> @@ -65,6 +65,41 @@ if ! uci get network.$SWITCHDEV.ifname; then
>      /etc/init.d/network restart
>  fi
>  
> +if [ "$ONE_PORT" = "YES" ]; 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" = "CLIENT" ] ; then

das müsste BATMAN sein oder (ist es das elif oben drüber? Bekomm das
grad ausm Kopf nicht zusammen)?

> +        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"
> +        ETH0MAC="w2ap"

ich bin mir immer noch unsicher, ob Batman ohne "batctl if add eth0"
funktioniert, müsste man mal testen, bei div. Tests hatte ich aber ohne
dem Probleme das Batman lief, ich würds zur Sicherheit mit rein nehmen..

mfg

Christian

> +    fi
> +    uci commit
> +    /etc/init.d/network restart
> +fi
> +
>  if [[ -n "$ETHMESHMAC" ]]; then
>      if uci get network.ethmesh.macaddr
>      then
> 

-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : signature.asc
Dateityp    : application/pgp-signature
Dateigröße  : 819 bytes
Beschreibung: OpenPGP digital signature
URL         : <http://lists.freifunk.net/pipermail/franken-dev-freifunk.net/attachments/20160914/5cefaca2/attachment.sig>


Mehr Informationen über die Mailingliste franken-dev