Message ID | 1503334148-5211-1-git-send-email-freifunk@adrianschmutzler.de |
---|---|
State | Superseded |
Headers | show |
diff --git a/src/packages/fff/fff-network/Makefile b/src/packages/fff/fff-network/Makefile index d34016c..fd4da28 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.7 +PKG_VERSION:=0.0.8 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-simple-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 abfbf52..95709cf 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
Hey, sieht gut aus, allerdings ist 50-fff-simple-tc jetzt in fff-network drin, die Abhängigkeit auf simple-tc wird aber über fff-web reingezogen. Das könnte man noch konsolidieren, wobei ich leicht dazu tendieren würde, dass simple-tc zu den Abhängigkeiten von fff-network gehört. Ansonsten: Reviewed-by: Tobias Klaus <tk+ff@meskal.net> Am Montag, 21. August 2017, 18:49:08 CEST schrieb Adrian Schmutzler: > Fixes: #55 > > This reintroduces the broken simple-tc. > > Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> > > Tested-by: Adrian Schmutzler <freifunk@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 d34016c..fd4da28 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.7 > +PKG_VERSION:=0.0.8 > 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-simple-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 > abfbf52..95709cf 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 > + Diese trailing whitespaces könnte man beim applien noch rausmachen. > MSG='<span class="green">Daten gespeichert! - Bitte Router > neustarten.</span>' fi > fi