From patchwork Sun Sep 8 11:49:35 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: nodewatcher: Add support for layer 3 neighbors From: Adrian Schmutzler X-Patchwork-Id: 1175 Message-Id: <20190908114935.1012-1-freifunk@adrianschmutzler.de> To: franken-dev@freifunk.net Date: Sun, 8 Sep 2019 13:49:35 +0200 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 Reviewed-by: Christian Dresel --- 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" DATA=$DATA"$batman_adv_gateway_mode" DATA=$DATA"$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.]+).*/, \ + "\\1\\2\\3", "g"); print r;}')" + + DATA=$DATA"$BABELS" + fi + DATA=$DATA"$client_count" DATA=$DATA"$dataclient" DATA=$DATA"$dataair"