Search Linux Wireless

Re: [RFC] design discussion: Collecting information for (non-peer) stations

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Feb 18, 2013 at 06:33:02 -0800, Johannes Berg wrote:
> On Mon, 2013-02-18 at 15:30 +0100, Johannes Berg wrote:
> > On Fri, 2013-02-15 at 18:19 +0100, Simon Wunderlich wrote:
> > 
> > > Commands we would like to propose are:
> > >  * start collecting - this feature should not run by default to avoid bloating memory for users who
> > >    don't even need this
> > >  * stop collecting
> > >  * read - dumps the data for all stations
> > >  * read + reset - dump the data and reset information for all stations. This should also clean up stations,
> > >    at least those which are not connected to the BSS, to not bloat the station table.
> > > 
> > > I guess the right position to implement this is mac80211 receive path. Our intended platform
> > > is ath9k/ath5k, but that feature should work with any mac80211 driver. We don't care if sta_info
> > > structs are allocated or custom structures are used, as long as we can receive a list of stations
> > > which includes peer and non-peer stations, along with their statistics.
> > > 
> > > We are looking forward to your thoughts. :)
> > 
> > I would argue that since most of the sta_info struct is used for
> > operational stuff, you shouldn't use it, but have a separate struct and
> > maybe embed that separate struct in sta_info for its statistics.
> > 
> > I'd also not use the existing nl80211 station APIs since this could be
> > an optional feature for many things, and it will likely break existing
> > expectations, e.g. that all stations listed by "iw wlan0 station dump"
> > are clients connected to an AP interface.
> > 
> > It could be argued that this API then should also not even include the
> > connected stations when listing ones, i.e. explicitly be non-connected
> > stations.
> 
> Or maybe use the APIs, but require including a special attribute in the
> dump/get request message in order to dump/get the/a non-connected
> station(s), and only include those attributes that are relevant.

In my current implementation I created a "twin hash-table". It contains
statistics for *all* the stations (peer and non-peer).

I think that instead of embedding this new struct (let's call it sta_stats) into
the sta_info one, it would be easier to let them be independent (this is why I
created the twin hash) and then create
a pointer from the sta_info to the related sta_stats.

For the API I think we should create a new nl80211 command.
If we simply add a
flag to the normal "station dump" command, we would not have all the attributes
to print (keep in mind station dump prints attributes that are in sta_info and
that are not in sta_stats).


Cheers,


-- 
Antonio Quartulli

..each of us alone is worth nothing..
Ernesto "Che" Guevara

Attachment: pgpCraNBrzFNU.pgp
Description: PGP signature


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux