per-BSS driver data

Jouni Malinen j at w1.fi
Sat Feb 23 13:23:52 EST 2008


On Sat, Feb 23, 2008 at 10:54:46AM +0100, Johannes Berg wrote:

> I've been thinking for a while that driver_nl80211.c will need per-BSS
> driver data, in fact, it will have to use that for a number of variables
> that I pushed out of the kernel.

Could you please give some examples of what variables would be
configured in this way?

> I can either implement that completely within driver_nl80211.c by using
> a BSS hashtable or so, or we can change the driver API to pass a BSS
> pointer to all callbacks which was allocated by the bss_add() callback
> (which would have to be changed to return void * instead of the current
> error code).

So far, I've been adding ifname argument to driver wrapper functions
when they have needed multi-BSS support. See, e.g., set_ieee8021x() or
set_encryption(). This works both for multi-BSS and multi-SSID (VLANs
within same BSS). Would the interface name be enough to handle the cases
you've been thinking of or would something additional information be
needed here?

We could add private data structure for bss_add() and if_add() and use
that instead or well, more likely a shared structure since number of
functions can be used both for BSSes and VLANs, but that would be larger
change for the driver wrapper interface.

-- 
Jouni Malinen                                            PGP id EFC895FA


More information about the HostAP mailing list