[PATCH v4 01/11] simple-tc: Fix simple-tc not being active if set

Adrian Schmutzler freifunk at adrianschmutzler.de
Fr Jul 21 15:08:39 CEST 2017


Simple-tc is active immediately after the call and needs no
restart of anything

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

Tested-by: Adrian Schmutzler <freifunk at adrianschmutzler.de>
---
 src/packages/fff/fff-network/Makefile                      |  2 +-
 src/packages/fff/fff-network/files/usr/sbin/applysimpletc  | 14 ++++++++++++++
 .../fff/fff-network/files/usr/sbin/configurenetwork        | 12 ++++++++++++
 .../fff/fff-web/files/www/ssl/cgi-bin/settings.html        |  3 +++
 4 files changed, 30 insertions(+), 1 deletion(-)
 create mode 100755 src/packages/fff/fff-network/files/usr/sbin/applysimpletc

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/usr/sbin/applysimpletc b/src/packages/fff/fff-network/files/usr/sbin/applysimpletc
new file mode 100755
index 0000000..a9744b0
--- /dev/null
+++ b/src/packages/fff/fff-network/files/usr/sbin/applysimpletc
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+tc_device=$(uci -q get "network.wan.ifname")
+tc_enabled=$(uci -q get "simple-tc.example.enabled")
+tc_in=$(uci -q get "simple-tc.example.limit_ingress")
+tc_out=$(uci -q get "simple-tc.example.limit_egress")
+
+if [ "$tc_enabled" -eq 1 ] ; then
+	test -n "$tc_in" || tc_in=-
+	test -n "$tc_out" || tc_out=-
+	simple-tc "$tc_device" "$tc_in" "$tc_out"
+else
+	simple-tc "$tc_device" - -
+fi
diff --git a/src/packages/fff/fff-network/files/usr/sbin/configurenetwork b/src/packages/fff/fff-network/files/usr/sbin/configurenetwork
index 7ecfa3b..63b216a 100755
--- a/src/packages/fff/fff-network/files/usr/sbin/configurenetwork
+++ b/src/packages/fff/fff-network/files/usr/sbin/configurenetwork
@@ -189,3 +189,15 @@ else
 
     /etc/init.d/fff-uradvd restart
 fi
+
+# Apply traffic control
+tc_device=$(uci -q get "network.wan.ifname")
+tc_enabled=$(uci -q get "simple-tc.example.enabled")
+tc_in=$(uci -q get "simple-tc.example.limit_ingress")
+tc_out=$(uci -q get "simple-tc.example.limit_egress")
+
+if [ "$tc_enabled" -eq 1 ] ; then
+	test -n "$tc_in" || tc_in=-
+	test -n "$tc_out" || tc_out=-
+	simple-tc "$tc_device" "$tc_in" "$tc_out"
+fi
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 a7417dc..bdbd69b 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
+		
+		/usr/sbin/applysimpletc
+		
 		MSG='<span class="green">Daten gespeichert! - Bitte Router neustarten.</span>'
 	fi
 fi
-- 
2.7.4



Mehr Informationen über die Mailingliste franken-dev