[PATCH v2] nodewatcher: Provide data about traffic control
Adrian Schmutzler
freifunk at adrianschmutzler.de
So Mär 4 01:36:34 CET 2018
With this data, the Monitoring can show whether traffic control is
enabled and which rates are set.
Signed-off-by: Adrian Schmutzler <freifunk at adrianschmutzler.de>
Tested-by: Adrian Schmutzler <freifunk at adrianschmutzler.de>
---
Changes in v2:
- Used correct indentation
- Moved include to beginning
Anmerkung:
Man muss foreach machen, da die Bedingung "wan" = "$ifname" sich
auf eine option bezieht:
config interface 'example'
option ifname 'wan'
Dies entspricht exakt dem eigentlichen Code von simple-tc. Sind
mehrere Blöcke mit ifname=wan vorhanden, wird also jeweils der
letzte ausgewertet, in dem das jeweilige Setting vorkommt.
Folglich kann ich hier das Interface nicht direkt anwählen.
---
src/packages/fff/fff-nodewatcher/Makefile | 2 +-
.../fff/fff-nodewatcher/files/usr/sbin/nodewatcher | 24 +++++++++++++++++++++-
2 files changed, 24 insertions(+), 2 deletions(-)
diff --git a/src/packages/fff/fff-nodewatcher/Makefile b/src/packages/fff/fff-nodewatcher/Makefile
index 11a0cb6..9d9cb28 100644
--- a/src/packages/fff/fff-nodewatcher/Makefile
+++ b/src/packages/fff/fff-nodewatcher/Makefile
@@ -1,7 +1,7 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=fff-nodewatcher
-PKG_VERSION:=47
+PKG_VERSION:=48
PKG_RELEASE:=1
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
diff --git a/src/packages/fff/fff-nodewatcher/files/usr/sbin/nodewatcher b/src/packages/fff/fff-nodewatcher/files/usr/sbin/nodewatcher
index 7b7bbd0..0823976 100755
--- a/src/packages/fff/fff-nodewatcher/files/usr/sbin/nodewatcher
+++ b/src/packages/fff/fff-nodewatcher/files/usr/sbin/nodewatcher
@@ -2,10 +2,13 @@
# Netmon Nodewatcher (C) 2010-2012 Freifunk Oldenburg
# License; GPL v3
-SCRIPT_VERSION="47"
+SCRIPT_VERSION="48"
test -f /tmp/started || exit
+# Load libraries
+. /lib/functions.sh # Required for simple-tc
+
#Get the configuration from the uci configuration file
#If it does not exists, then get it from a normal bash file with variables.
if [ -f /etc/config/nodewatcher ];then
@@ -280,6 +283,24 @@ crawl() {
dataair="$dataair<airtime5><active>$w5_ACT</active><busy>$w5_BUS</busy></airtime5>"
fi
+ # simple-tc information
+ config_load simple-tc
+ tc_enabled="0"
+ tc_in="0"
+ tc_out="0"
+ parseTcInterface() {
+ local iface="$1"
+
+ config_get ifname "$iface" ifname
+ [ "wan" = "$ifname" ] || return
+
+ config_get tc_enabled "$iface" enabled "0"
+ config_get tc_in "$iface" limit_ingress "0"
+ config_get tc_out "$iface" limit_egress "0"
+ }
+ config_foreach parseTcInterface 'interface'
+ traffic_control="<traffic_control><wan><enabled>$tc_enabled</enabled><in>$tc_in</in><out>$tc_out</out></wan></traffic_control>"
+
err "$(date): Putting all information into a XML-File and save it at $SCRIPT_DATA_FILE"
DATA="<?xml version='1.0' standalone='yes'?><data>"
@@ -292,6 +313,7 @@ crawl() {
DATA=$DATA"<client_count>$client_count</client_count>"
DATA=$DATA"<clients>$dataclient</clients>"
DATA=$DATA"$dataair"
+ DATA=$DATA"$traffic_control"
DATA=$DATA"</data>"
#write data to xml file that provides the data on httpd
--
2.7.4
Mehr Informationen über die Mailingliste franken-dev