[PATCH 2/5] nodewatcher: add a iface blacklist

Tim Niemeyer tim.niemeyer at mastersword.de
Di Okt 6 22:36:45 CEST 2015


Signed-off-by: Tim Niemeyer <tim.niemeyer at mastersword.de>
---

 bsp/default/root_file_system/etc/config/nodewatcher |  3 ++-
 bsp/default/root_file_system/etc/nodewatcher.sh     | 17 ++++++++++++++---
 2 files changed, 16 insertions(+), 4 deletions(-)

diff --git a/bsp/default/root_file_system/etc/config/nodewatcher b/bsp/default/root_file_system/etc/config/nodewatcher
index 9cc8f9d..34cf37f 100644
--- a/bsp/default/root_file_system/etc/config/nodewatcher
+++ b/bsp/default/root_file_system/etc/config/nodewatcher
@@ -5,4 +5,5 @@ config 'script'
 	option 'data_file' '/tmp/crawldata/node.data'
 
 config 'network'
-	option 'mesh_interface' 'br-mesh'
\ No newline at end of file
+	option 'mesh_interface' 'br-mesh'
+	option 'iface_blacklist' 'lo ifb0'
diff --git a/bsp/default/root_file_system/etc/nodewatcher.sh b/bsp/default/root_file_system/etc/nodewatcher.sh
index 0c7de78..44f7123 100755
--- a/bsp/default/root_file_system/etc/nodewatcher.sh
+++ b/bsp/default/root_file_system/etc/nodewatcher.sh
@@ -2,7 +2,7 @@
 # Netmon Nodewatcher (C) 2010-2012 Freifunk Oldenburg
 # License; GPL v3
 
-SCRIPT_VERSION="30"
+SCRIPT_VERSION="31"
 
 test -f /tmp/started || exit
 
@@ -14,6 +14,7 @@ if [ -f /etc/config/nodewatcher ];then
 	SCRIPT_DATA_FILE=`uci get nodewatcher. at script[0].data_file`
 	MESH_INTERFACE=`uci get nodewatcher. at network[0].mesh_interface`
 	CLIENT_INTERFACES=`uci get nodewatcher. at network[0].client_interfaces`
+	IFACEBLACKLIST=`uci get nodewatcher. at network[0].iface_blacklist`
 else
 	. `dirname $0`/nodewatcher_config
 fi
@@ -38,6 +39,16 @@ delete_log() {
 	fi
 }
 
+inArray() {
+	local value
+	for value in $1; do
+		if [ "$value" = "$2" ]; then
+			return 0
+		fi
+	done
+	return 1
+}
+
 #this method generates the crawl data xml file that is beeing fetched by netmon
 #and provided by a small local httpd
 crawl() {
@@ -83,7 +94,7 @@ crawl() {
     #OPENWRT_CORE_REVISION="35298"
     #OPENWRT_FEEDS_PACKAGES_REVISION="35298"
 	. /etc/firmware_release
-	SYSTEM_DATA="<status>online</status><hostname>$hostname</hostname><distname>$distname</distname><distversion>$distversion</distversion>$cpu$memory$load$uptime<local_time>$local_time</local_time><batman_advanced_version>$batman_adv_version</batman_advanced_version><kernel_version>$kernel_version</kernel_version><fastd_version>$fastd_version</fastd_version><nodewatcher_version>$nodewatcher_version</nodewatcher_version><firmware_version>$FIRMWARE_VERSION</firmware_version><firmware_revision>$BUILD_DATE</firmware_revision><openwrt_core_revision>$OPENWRT_CORE_REVISION</openwrt_core_revision><openwrt_feeds_packages_revision>$OPENWRT_FEEDS_PACKAGES_REVISION</openwrt_feeds_packages_revision>"
+	SYSTEM_DATA="<status>online</status><hostname>$hostname</hostname><distname>$distname</distname><distversion>$distversion</distversion>$cpu$model$memory$load$uptime<local_time>$local_time</local_time><batman_advanced_version>$batman_adv_version</batman_advanced_version><kernel_version>$kernel_version</kernel_version><fastd_version>$fastd_version</fastd_version><nodewatcher_version>$nodewatcher_version</nodewatcher_version><firmware_version>$FIRMWARE_VERSION</firmware_version><firmware_revision>$BUILD_DATE</firmware_revision><openwrt_core_revision>$OPENWRT_CORE_REVISION</openwrt_core_revision><openwrt_feeds_packages_revision>$OPENWRT_FEEDS_PACKAGES_REVISION</openwrt_feeds_packages_revision>"
 
     err "`date`: Collecting information from network interfaces"
 
@@ -96,7 +107,7 @@ crawl() {
     for filename in `grep 'up\|unknown' /sys/class/net/*/operstate`; do
         ifpath=${filename%/operstate*}
         iface=${ifpath#/sys/class/net/}
-		if [ "$iface" = "lo" ]; then
+		if inArray "$IFACEBLACKLIST" "$iface"; then
             continue
         fi
 		
-- 
2.1.4




Mehr Informationen über die Mailingliste franken-dev