mac80211: mode-specific configuration calls?

From: Johannes Berg <johannes@sipsolutions.net>
Date: 2012-01-17 15:36:18

Hi all,

Continuing my quest to make things better for drivers that are not on
the extreme end of the soft/hard-MAC spectrum like ath9k, like the
station state stuff, I'm now thinking about per-mode callbacks.

For example, we have per-vif idle today. It's fairly obvious what this
means, but the sequences aren't always completely obvious (or even
correct). Similarly, calls to bss_info_changed() could appear to happen
at any time, even though they really shouldn't.

I'm also continuing to think about multi-channel scenarios, and those
can be even more complex in the driver/device setup that they need.

So I'm thinking that maybe we should have per-interface & per-type
calls, modelled more like how cfg80211 works, maybe like this:

managed/p2p-client
------------------

 - prepare_connect(vif, bssid, channel, ?)
 - connected(vif, ...) [optional -- if/after assoc success]
 - disconnect(vif)

AP mode
-------

 - start_ap(vif, bssid, channel, ...)
 - stop_ap(vif)

...


Some of this would not interact well with software-based scanning &
remain-on-channel, but I'm beginning to think about pushing that
implementation closer to (some) drivers by shared code/callbacks.

Thoughts?

johannes
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help