[PATCH] nodewatcher: Add support for layer 3 neighbors
Adrian Schmutzler
freifunk at adrianschmutzler.de
So Sep 8 13:49:35 CEST 2019
This adds layer 3 neighbors and their cost/penalty values
to the values sent by alfred and thus makes them available
in Monitoring.
Signed-off-by: Adrian Schmutzler <freifunk at adrianschmutzler.de>
---
src/packages/fff/fff-nodewatcher/Makefile | 2 +-
.../fff/fff-nodewatcher/files/usr/sbin/nodewatcher | 12 +++++++++++-
2 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/src/packages/fff/fff-nodewatcher/Makefile b/src/packages/fff/fff-nodewatcher/Makefile
index be5f267a..0ed6684d 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_RELEASE:=54
+PKG_RELEASE:=55
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 09f6843d..c9044fe8 100755
--- a/src/packages/fff/fff-nodewatcher/files/usr/sbin/nodewatcher
+++ b/src/packages/fff/fff-nodewatcher/files/usr/sbin/nodewatcher
@@ -12,7 +12,7 @@ if ! lock -n "$lockfile"; then
fi
trap "lock -u \"$lockfile\"" INT TERM EXIT
-SCRIPT_VERSION="54"
+SCRIPT_VERSION="55"
#Get the configuration from the uci configuration file
#If it does not exists, then get it from a normal bash file with variables.
@@ -291,6 +291,16 @@ crawl() {
DATA=$DATA"<batman_adv_originators>$batman_adv_originators</batman_adv_originators>"
DATA=$DATA"<batman_adv_gateway_mode>$batman_adv_gateway_mode</batman_adv_gateway_mode>"
DATA=$DATA"<batman_adv_gateway_list>$batman_adv_gateway_list</batman_adv_gateway_list>"
+
+ if [ -s /etc/config/babeld ]; then
+ BABELS="$(echo dump | nc ::1 33123 | grep '^add neighbour' |
+ awk -v RS='\n' \
+ '{r = gensub(/.*add neighbour.*address ([0-9a-fA-F:]*) +if +([^ ]+).* cost +([0-9.]+).*/, \
+ "<neighbour><ip>\\1</ip><outgoing_interface>\\2</outgoing_interface><link_cost>\\3</link_cost></neighbour>", "g"); print r;}')"
+
+ DATA=$DATA"<babel_neighbours>$BABELS</babel_neighbours>"
+ fi
+
DATA=$DATA"<client_count>$client_count</client_count>"
DATA=$DATA"<clients>$dataclient</clients>"
DATA=$DATA"$dataair"
--
2.20.1
Mehr Informationen über die Mailingliste franken-dev