[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