[PATCH v5] simple-tc: Fix simple-tc not being active if set (alternative)

mail at adrianschmutzler.de mail at adrianschmutzler.de
Do Aug 3 11:12:37 CEST 2017


Hallo,

ausführliche Diskussion siehe Patch Alternative 1.

Ich würde jedoch inzwischen diesen Patch (Alternative 2) vorziehen, da hier
als ifname direkt "wan" gesetzt wird. Damit ist die Wahrscheinlichkeit einer
Doppelausführung in hotplug.d/net UND hotplug.d/iface geringer.

Tested-by: Adrian Schmutzler <freifunk at adrianschmutzler.de>

> -----Original Message-----
> From: franken-dev [mailto:franken-dev-bounces at freifunk.net] On Behalf
> Of Adrian Schmutzler
> Sent: Mittwoch, 2. August 2017 16:29
> To: franken-dev at freifunk.net
> Subject: [PATCH v5] simple-tc: Fix simple-tc not being active if set
> (alternative)
> 
> Fixes: #55
> 
> Alternative 2: Selection based on logical device (wan, mesh, ethmesh or
> loopback). Physical devices are still possible, as the original simple-tc
hotplug
> script is still present.
> 
> Final patch not tested on device so far.
> 
> Signed-off-by: Adrian Schmutzler <freifunk at adrianschmutzler.de>
> ---
>  src/packages/fff/fff-network/Makefile              |  2 +-
>  .../files/etc/hotplug.d/iface/50-fff-simple-tc     | 25
> ++++++++++++++++++++++
>  .../fff-web/files/www/ssl/cgi-bin/settings.html    |  5 ++++-
>  3 files changed, 30 insertions(+), 2 deletions(-)  create mode 100644
> src/packages/fff/fff-network/files/etc/hotplug.d/iface/50-fff-simple-tc
> 
> diff --git a/src/packages/fff/fff-network/Makefile b/src/packages/fff/fff-
> network/Makefile
> index fee3f98..f7dc63c 100644
> --- a/src/packages/fff/fff-network/Makefile
> +++ b/src/packages/fff/fff-network/Makefile
> @@ -1,7 +1,7 @@
>  include $(TOPDIR)/rules.mk
> 
>  PKG_NAME:=fff-network
> -PKG_VERSION:=0.0.6
> +PKG_VERSION:=7
>  PKG_RELEASE:=1
> 
>  PKG_BUILD_DIR:=$(BUILD_DIR)/fff-network
> diff --git
a/src/packages/fff/fff-network/files/etc/hotplug.d/iface/50-fff-
> simple-tc b/src/packages/fff/fff-network/files/etc/hotplug.d/iface/50-fff-
> simple-tc
> new file mode 100644
> index 0000000..ef8bd17
> --- /dev/null
> +++ b/src/packages/fff/fff-network/files/etc/hotplug.d/iface/50-fff-simp
> +++ le-tc
> @@ -0,0 +1,25 @@
> +[ "$ACTION" = 'ifup' ] || exit 0
> +
> +config_load simple-tc
> +
> +tc_interface() {
> +	local iface="$1"
> +
> +	config_get ifname "$iface" ifname
> +
> +	[ "$INTERFACE" = "$ifname" ] || return
> +
> +	config_get_bool enabled "$iface" enabled 0
> +
> +	[ "$enabled" -eq 1 ] || return
> +
> +	config_get limit_ingress "$iface" limit_ingress
> +	config_get limit_egress "$iface" limit_egress
> +
> +	[ "$limit_ingress" ] || limit_ingress=-
> +	[ "$limit_egress" ] || limit_egress=-
> +
> +	simple-tc "$DEVICE" "$limit_ingress" "$limit_egress"
> +}
> +
> +config_foreach tc_interface 'interface'
> diff --git a/src/packages/fff/fff-web/files/www/ssl/cgi-bin/settings.html
> b/src/packages/fff/fff-web/files/www/ssl/cgi-bin/settings.html
> index 18d37d3..2aa9fa2 100755
> --- a/src/packages/fff/fff-web/files/www/ssl/cgi-bin/settings.html
> +++ b/src/packages/fff/fff-web/files/www/ssl/cgi-bin/settings.html
> @@ -23,7 +23,7 @@ if [ "$REQUEST_METHOD" == "POST" ] ; then
> 
>  		# Bitratenbegrenzung
>  		if [ "$POST_traffic_limit" == "on" ] ; then
> -			uci -q set "simple-tc.example.ifname=$(uci -q get
> network.wan.ifname)"
> +			uci -q set "simple-tc.example.ifname=wan"
>  			uci -q set "simple-tc.example.enabled=1"
>  		else
>  			uci -q set "simple-tc.example.enabled=0"
> @@ -32,6 +32,9 @@ if [ "$REQUEST_METHOD" == "POST" ] ; then
>  		uci -q set "simple-
> tc.example.limit_egress=${POST_limit_egress}"
> 
>  		uci commit
> +
> +		/etc/init.d/network restart # Bitratenbegrenzung ohne
> Neustart
> +
>  		MSG='<span class="green">Daten gespeichert! - Bitte Router
> neustarten.</span>'
>  	fi
>  fi
> --
> 2.7.4
> 
> --
> franken-dev mailing list
> franken-dev at freifunk.net
> http://lists.freifunk.net/mailman/listinfo/franken-dev-freifunk.net



Mehr Informationen über die Mailingliste franken-dev