forked from freifunk-franken/firmware
nodewatcher: Change mechanism for client device detection
This is simpler than the previous approach and does not rely on parsing. This fixes: - Interfaces being accounted for multiple times for certain devices - Errors when output of bridge function changes (as with the current OpenWrt master) Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Reviewed-by: Tim Niemeyer <tim@tn-x.org> Reviewed-by: Fabian Bläse <fabian@blaese.de>
This commit is contained in:
parent
a88484a63d
commit
348cdbe8d3
|
@ -1,7 +1,7 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=fff-nodewatcher
|
PKG_NAME:=fff-nodewatcher
|
||||||
PKG_VERSION:=47
|
PKG_VERSION:=48
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
|
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
# Netmon Nodewatcher (C) 2010-2012 Freifunk Oldenburg
|
# Netmon Nodewatcher (C) 2010-2012 Freifunk Oldenburg
|
||||||
# License; GPL v3
|
# License; GPL v3
|
||||||
|
|
||||||
SCRIPT_VERSION="47"
|
SCRIPT_VERSION="48"
|
||||||
|
|
||||||
test -f /tmp/started || exit
|
test -f /tmp/started || exit
|
||||||
|
|
||||||
|
@ -260,7 +260,7 @@ crawl() {
|
||||||
#CLIENTS
|
#CLIENTS
|
||||||
client_count=0
|
client_count=0
|
||||||
dataclient=""
|
dataclient=""
|
||||||
CLIENT_INTERFACES=$(bridge link | awk '$2 !~/^bat/{ printf $2" " }')
|
CLIENT_INTERFACES=$(ls "/sys/class/net/$MESH_INTERFACE/brif" | grep -v '^bat')
|
||||||
for clientif in ${CLIENT_INTERFACES}; do
|
for clientif in ${CLIENT_INTERFACES}; do
|
||||||
local cc=$(bridge fdb show br "$MESH_INTERFACE" brport "$clientif" | grep -v self | grep -v permanent -c)
|
local cc=$(bridge fdb show br "$MESH_INTERFACE" brport "$clientif" | grep -v self | grep -v permanent -c)
|
||||||
client_count=$((client_count + cc))
|
client_count=$((client_count + cc))
|
||||||
|
|
Loading…
Reference in New Issue
Block a user