[PATCH v5] simple-tc: Fix simple-tc not being active if set
mail at adrianschmutzler.de
mail at adrianschmutzler.de
Do Aug 3 11:11:07 CEST 2017
Okay, sehr interessant das alles.
Wenn ich einen der beiden v5 simple-tc Patches (egal welchen) installiere,
geschieht folgendes:
- Nach dem Klicken auf Submit im WebUI ist die Traffix Control sofort aktiv.
(Wie geplant)
- Nach dem Neustart braucht der Router ca. 5 Minuten, bis er eine
VPN-Verbindung aufbauen kann. Danach ist KEINE Bandbreitenkontrolle aktiv.
- Schreibe ich aber einmal "/etc/init.d network restart" in die
configurenetwork-Datei, funktioniert alles wie geplant (VPN innerhalb < 1
min. aktiv, Traffic control aktiv). Bitte beachten: Ich habe hier bereits
den Patch mit eingebaut, dass die configurenetwork-Blöcke nicht jedes Mal
aufgeführt werden. Würde man den Patch auf den aktuellen Upstream anwenden,
würde er wahrscheinlich so auch funktionieren. Ich werde daher den anderen
Patch (https://pw.freifunk-franken.de/patch/410/) ändern und dieser kriegt
ein
Tested-by: Adrian Schmutzler <freifunk at adrianschmutzler.de>
Nach reiflicher Überlegung würde ich nun übrigens Alternative 2 vorziehen:
Da hier als ifname "wan" gesetzt wird, ist die Wahrscheinlichkeit einer
Doppelausführung in hotplug.d/net UND hotplug.d/iface geringer.
Grüße
Adrian
> -----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
>
> Fixes: #55
>
> Alternative 1: Selection based on device ifname (eth0/eth1)
>
> 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 | 3 +++
> 3 files changed, 29 insertions(+), 1 deletion(-) 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..890ca4a
> --- /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
> +
> + [ "$DEVICE" = "$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..8686f9d 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
> @@ -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