Re: [B.A.T.M.A.N.] batctl: feature to filter nodes/clients

Simon Wunderlich
2015-02-05T12:34:51Z

[-- Attachment #1: Type: text/plain, Size: 2425 bytes --]

Hi,

On Sunday 01 February 2015 14:15:16 Moritz Warning wrote:
> Hi,
>
> I need to display the number of all nodes/clients as well as all neighbor
> nodes/clients. This would be easy if batctl would be able to output the
> respective list of mac addresses (batctl ... | wc -l).
>
> I've started writing a patch as part of a feature request:
> http://www.open-mesh.org/issues/203
>
> But the problem is how to get the respective output form the debug tables.
> I have been reading the docs, but have not been able
> to understand the necessary information needed, no offense:
>
> http://www.open-mesh.org/projects/batman-adv/wiki/Understand-your-batman-adv
> -network
>
> Some explanation beforehand:
> Clients are computers not running batman-adv,
> represented by the MAC address of its network interface.
> Nodes are computers running batman-adv,
> represented by the MAC address of its primary interface.
>
> List of all nodes:
> Get all MACs from the 'Originator' column of the originator table

Note that this may also show secondary interfaces of your neighbors - you may
have to filter that against a list of primary interfaces you collect otherwise.

>
> List of all neighbor nodes:
> Get all MACs from the 'Nexthop' column of the originator table
> and make it a unique list.

That sounds about right, if you want to include all neighbors which are in
radio range (even if you are not currently sending to them). Alfred-vis for
example only considers neighbors which are actually chosen for some
connections. Again, you may include secondary interfaces.
>
> List of all clients:
> Get all MACs of the 'Client' column of the transtable_local table
> when it starts with a '*' character.

Yes, but you may want to filter out local mac addresses, which are configured on
top of VLANs on bridges.
>
> List of all neighbor clients:
> Get all MACs of the 'Client' column of the transtable_global table
> when it starts with a '*' character and when the nodes own originator
> MAC (of the primary interface?) is also in the 'Originator' column.

Yup, but in this case again you don't know what are clients and what are
bridges/vlans configured on top of your other nodes. That's going to be tricky
to filter.

How about you use alfred-vis or your own alfred-based service to do the
filtering properly? Some kind of distributed/centralized database would help on
the filtering job, IMHO.

Cheers,
Simon

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 181 bytes --]