Message ID | 20180725122410.22510-1-freifunk@adrianschmutzler.de |
---|---|
State | Accepted |
Headers | show |
diff --git a/src/packages/fff/fff-nodewatcher/Makefile b/src/packages/fff/fff-nodewatcher/Makefile index 633ec71..12ccb0f 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_VERSION:=47 +PKG_VERSION:=48 PKG_RELEASE:=1 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 3b60500..4eebf20 100755 --- a/src/packages/fff/fff-nodewatcher/files/usr/sbin/nodewatcher +++ b/src/packages/fff/fff-nodewatcher/files/usr/sbin/nodewatcher @@ -2,7 +2,7 @@ # Netmon Nodewatcher (C) 2010-2012 Freifunk Oldenburg # License; GPL v3 -SCRIPT_VERSION="47" +SCRIPT_VERSION="48" test -f /tmp/started || exit @@ -260,7 +260,7 @@ crawl() { #CLIENTS client_count=0 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 local cc=$(bridge fdb show br "$MESH_INTERFACE" brport "$clientif" | grep -v self | grep -v permanent -c) client_count=$((client_count + cc))
Hi Danke fürs anpassen. Reviewed-by: Tim Niemeyer <tim@tn-x.org> Tim Am Mittwoch, den 25.07.2018, 14:24 +0200 schrieb Adrian Schmutzler: > 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> > > --- > > Changes in v2: > - use $MESH_INTERFACE > - don't suppress error > - remove comment about changed behavior > --- > src/packages/fff/fff-nodewatcher/Makefile | 2 +- > src/packages/fff/fff-nodewatcher/files/usr/sbin/nodewatcher | 4 ++-- > 2 files changed, 3 insertions(+), 3 deletions(-) > > diff --git a/src/packages/fff/fff-nodewatcher/Makefile > b/src/packages/fff/fff-nodewatcher/Makefile > index 633ec71..12ccb0f 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_VERSION:=47 > +PKG_VERSION:=48 > PKG_RELEASE:=1 > > 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 3b60500..4eebf20 100755 > --- a/src/packages/fff/fff-nodewatcher/files/usr/sbin/nodewatcher > +++ b/src/packages/fff/fff-nodewatcher/files/usr/sbin/nodewatcher > @@ -2,7 +2,7 @@ > # Netmon Nodewatcher (C) 2010-2012 Freifunk Oldenburg > # License; GPL v3 > > -SCRIPT_VERSION="47" > +SCRIPT_VERSION="48" > > test -f /tmp/started || exit > > @@ -260,7 +260,7 @@ crawl() { > #CLIENTS > client_count=0 > 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 > local cc=$(bridge fdb show br "$MESH_INTERFACE" brport > "$clientif" | grep -v self | grep -v permanent -c) > client_count=$((client_count + cc))
Jo. Reviewed-by: Fabian Bläse <fabian@blaese.de> Fabian > On 25. Jul 2018, at 14:24, Adrian Schmutzler <freifunk@adrianschmutzler.de> wrote: > > 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> > > --- > > Changes in v2: > - use $MESH_INTERFACE > - don't suppress error > - remove comment about changed behavior > --- > src/packages/fff/fff-nodewatcher/Makefile | 2 +- > src/packages/fff/fff-nodewatcher/files/usr/sbin/nodewatcher | 4 ++-- > 2 files changed, 3 insertions(+), 3 deletions(-) > > diff --git a/src/packages/fff/fff-nodewatcher/Makefile b/src/packages/fff/fff-nodewatcher/Makefile > index 633ec71..12ccb0f 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_VERSION:=47 > +PKG_VERSION:=48 > PKG_RELEASE:=1 > > 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 3b60500..4eebf20 100755 > --- a/src/packages/fff/fff-nodewatcher/files/usr/sbin/nodewatcher > +++ b/src/packages/fff/fff-nodewatcher/files/usr/sbin/nodewatcher > @@ -2,7 +2,7 @@ > # Netmon Nodewatcher (C) 2010-2012 Freifunk Oldenburg > # License; GPL v3 > > -SCRIPT_VERSION="47" > +SCRIPT_VERSION="48" > > test -f /tmp/started || exit > > @@ -260,7 +260,7 @@ crawl() { > #CLIENTS > client_count=0 > 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 > local cc=$(bridge fdb show br "$MESH_INTERFACE" brport "$clientif" | grep -v self | grep -v permanent -c) > client_count=$((client_count + cc)) > -- > 2.11.0 >
Moin Und applied. Tim Am Mittwoch, den 25.07.2018, 14:24 +0200 schrieb Adrian Schmutzler: > 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> > > --- > > Changes in v2: > - use $MESH_INTERFACE > - don't suppress error > - remove comment about changed behavior > --- > src/packages/fff/fff-nodewatcher/Makefile | 2 +- > src/packages/fff/fff-nodewatcher/files/usr/sbin/nodewatcher | 4 ++-- > 2 files changed, 3 insertions(+), 3 deletions(-) > > diff --git a/src/packages/fff/fff-nodewatcher/Makefile > b/src/packages/fff/fff-nodewatcher/Makefile > index 633ec71..12ccb0f 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_VERSION:=47 > +PKG_VERSION:=48 > PKG_RELEASE:=1 > > 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 3b60500..4eebf20 100755 > --- a/src/packages/fff/fff-nodewatcher/files/usr/sbin/nodewatcher > +++ b/src/packages/fff/fff-nodewatcher/files/usr/sbin/nodewatcher > @@ -2,7 +2,7 @@ > # Netmon Nodewatcher (C) 2010-2012 Freifunk Oldenburg > # License; GPL v3 > > -SCRIPT_VERSION="47" > +SCRIPT_VERSION="48" > > test -f /tmp/started || exit > > @@ -260,7 +260,7 @@ crawl() { > #CLIENTS > client_count=0 > 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 > local cc=$(bridge fdb show br "$MESH_INTERFACE" brport > "$clientif" | grep -v self | grep -v permanent -c) > client_count=$((client_count + cc))
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> --- Changes in v2: - use $MESH_INTERFACE - don't suppress error - remove comment about changed behavior --- src/packages/fff/fff-nodewatcher/Makefile | 2 +- src/packages/fff/fff-nodewatcher/files/usr/sbin/nodewatcher | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-)