[PATCH] nodewatcher: Change mechanism for client device detection

Adrian Schmutzler mail at adrianschmutzler.de
Di Jul 24 11:53:32 CEST 2018


Hallo Fabian,

danke für das Feedback.

Rest unten.

> -----Original Message-----
> From: franken-dev [mailto:franken-dev-bounces at freifunk.net] On Behalf Of
> Fabian Bläse
> Sent: Dienstag, 24. Juli 2018 08:40
> To: Adrian Schmutzler <freifunk at adrianschmutzler.de>
> Cc: franken-dev <franken-dev at freifunk.net>
> Subject: Re: [PATCH] nodewatcher: Change mechanism for client device
> detection
> 
> Hallo Adrian,
> 
> Es gibt eine Variable “MESH_INTERFACE”, die sollte da verwendet werden..

Ja.

> Außerdem: Das Verhalten wird nicht wirklich geändert, denn die Clientzahl
> weiterer (nicht-Client) Interfaces wird durch das “br $MESH_INTERFACE” im
> bridge fdb gar nicht gezählt.

Ja.

> 
> Ansonsten gefällt mir die Lösung sehr gut, aber ich sehe nicht, warum man den
> Output von stderr im ls nach /dev/null haben möchte.

ls schreibt ins stderr, wenn kein br-mesh existiert. Ich wollte das nicht als "Fehler" ansehen, theoretisch könnte ja ein Setup ohne br-mesh existieren und der nodewatcher würde trotzdem funktionieren. Man kann den redirect aber auch weglassen, im Prinzip isses mir egal.

Vielleicht hier nochmal kurz Feedback, dann mach ich nen V2.

Grüße

Adrian

> 
> Gruß
> Fabian
> 
> > On 23. Jul 2018, at 15:39, Adrian Schmutzler <freifunk at 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)
> >
> > Behavior change: Only br-mesh is evaluated, in contrast to all
> > bridge devices as before.
> >
> > Signed-off-by: Adrian Schmutzler <freifunk at adrianschmutzler.de>
> >
> > Tested-by: Adrian Schmutzler <freifunk at adrianschmutzler.de>
> > ---
> > 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..f655e5e 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/br-mesh/brif 2>/dev/null | 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
> >




Mehr Informationen über die Mailingliste franken-dev