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

Tim Niemeyer tim.niemeyer at mastersword.de
Sa Okt 10 10:24:57 CEST 2015


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

---

Changes in v2:
- fix indent
- add comment in config
- don't change script version here

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

diff --git a/bsp/default/root_file_system/etc/config/nodewatcher b/bsp/default/root_file_system/etc/config/nodewatcher
index 9cc8f9d..38132e5 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' # This devices won't be send to netmon at all
diff --git a/bsp/default/root_file_system/etc/nodewatcher.sh b/bsp/default/root_file_system/etc/nodewatcher.sh
index 0c7de78..9a15485 100755
--- a/bsp/default/root_file_system/etc/nodewatcher.sh
+++ b/bsp/default/root_file_system/etc/nodewatcher.sh
@@ -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