[PATCH] configurenetwork: Put One- and Two-Port pre-setup into function

Tim Niemeyer tim at tn-x.org
Sa Jan 20 13:35:57 CET 2018


Hi

Reviewed und applied.

Tim

Am Dienstag, den 02.01.2018, 15:52 +0100 schrieb Adrian Schmutzler:
> This is a cosmetical patch, however it does increase the overview
> a lot in my opinion.
> 
> We cannot drop the special case of the two-port devices, because
> we need the current setup to enable setting port mode in the Web
> UI.
> 
> Signed-off-by: Adrian Schmutzler <freifunk at adrianschmutzler.de>
> ---
>  .../fff-network/files/usr/sbin/configurenetwork    | 40
> ++++++++++++----------
>  1 file changed, 21 insertions(+), 19 deletions(-)
> 
> diff --git a/src/packages/fff/fff-
> network/files/usr/sbin/configurenetwork b/src/packages/fff/fff-
> network/files/usr/sbin/configurenetwork
> index 272da13..0fbff10 100755
> --- a/src/packages/fff/fff-network/files/usr/sbin/configurenetwork
> +++ b/src/packages/fff/fff-network/files/usr/sbin/configurenetwork
> @@ -11,12 +11,30 @@
>  
>  . /lib/functions/fff/network
>  
> +setupPorts() {
> +    # Add a single port to the *_PORTS config
> +    # Usage: setupPorts <port id> <port mode>
> +
> +    local port=$1
> +    local mode=$2
> +
> +    #default: BATMAN
> +    if [ "$mode" = "WAN" ] ; then
> +        WAN_PORTS="${WAN_PORTS} $port"
> +    elif [ "$mode" = "CLIENT" ] ; then
> +        CLIENT_PORTS="${CLIENT_PORTS} $port"
> +    else
> +        BATMAN_PORTS="${BATMAN_PORTS} $port"
> +    fi
> +}
> +
>  BOARD="$(uci get board.model.name)"
>  . /etc/network.$BOARD
>  
>  if [ -s /etc/network.config ] ; then
>      . /etc/network.config
>  else
> +    # Write network.config
>      echo "CLIENT_PORTS='$CLIENT_PORTS'" > /etc/network.config
>      echo "BATMAN_PORTS='$BATMAN_PORTS'" >> /etc/network.config
>      if [ -n "$WAN_PORTS" ] ; then
> @@ -42,31 +60,15 @@ fi
>  
>  if [ -n "$ETHPORT" ] ; then
>      #LAN at AR150: default: BATMAN
> -    if [ "${ETHMODE}" = "BATMAN" ] ; then
> -        BATMAN_PORTS="${BATMAN_PORTS} ${ETHPORT}"
> -    else
> -        CLIENT_PORTS="${CLIENT_PORTS} ${ETHPORT}"
> -    fi
> +    setupPorts "$ETHPORT" "${ETHMODE}"
>  fi
>  if [ -n "$LAN0PORT" ] ; then
>      #LAN0 at two-port: default: BATMAN
> -    if [ "${LAN0MODE}" = "BATMAN" ] ; then
> -        BATMAN_PORTS="${BATMAN_PORTS} ${LAN0PORT}"
> -    elif [ "${LAN0MODE}" = "CLIENT" ] ; then
> -        CLIENT_PORTS="${CLIENT_PORTS} ${LAN0PORT}"
> -    else
> -        WAN_PORTS="${WAN_PORTS} ${LAN0PORT}"
> -    fi
> +    setupPorts "$LAN0PORT" "${LAN0MODE}"
>  fi
>  if [ -n "$LAN1PORT" ] ; then
>      #LAN1 at two-port: default: BATMAN
> -    if [ "${LAN1MODE}" = "WAN" ] ; then
> -        WAN_PORTS="${WAN_PORTS} ${LAN1PORT}"
> -    elif [ "${LAN1MODE}" = "CLIENT" ] ; then
> -        CLIENT_PORTS="${CLIENT_PORTS} ${LAN1PORT}"
> -    else
> -        BATMAN_PORTS="${BATMAN_PORTS} ${LAN1PORT}"
> -    fi
> +    setupPorts "$LAN1PORT" "${LAN1MODE}"
>  fi
>  
>  if ! uci -q get network.$SWITCHDEV > /dev/null || [ "$FORCEPARSE" =
> '1' ] ; then
> -- 
> 2.7.4
> 
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : signature.asc
Dateityp    : application/pgp-signature
Dateigröße  : 488 bytes
Beschreibung: This is a digitally signed message part
URL         : <http://lists.freifunk.net/pipermail/franken-dev-freifunk.net/attachments/20180120/f97f58bb/attachment.sig>


Mehr Informationen über die Mailingliste franken-dev