Page MenuHomeFreeBSD

[net80211] begin migrating WME parameters to be per-vap.
ClosedPublic

Authored by adrian on Mar 13 2017, 7:32 AM.

Details

Summary

In order to (later) support multiple VAPs on potentially different
channels (eg p2p + STA vaps, multiple STA vaps), there's a bunch
of global state that technically needs to be per-VAP.

To start with, this patch just introduces a new per-VAP WME update.
It still updates with the global WME parameters, but it introduces
a per-VAP hook that drivers can stay informed with.

A future commit will migrate the WME parameters to be per-VAP, along
with appropriate synchronisation for hardware that can support
per-VAP config via firmware, versus hardware that doesn't.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

Probably wme_state[4] (in struct ieee80211_wme_state, ieee80211_proto.h) should be removed too?

This revision is now accepted and ready to land.Mar 13 2017, 7:41 AM

Hi,

Yeah, a more general cleanup / split of the WME parameters will come after this commit. I just first wanted to get an initial task in here and change the calling conventions a bit.

We have the same problem around ERP updates (slot time, preamble length) being global and sometimes not actually driven via callback; channel width changes are done per-IC rather than per-VAP, etc, etc. The ath10k firmware and the iwm firmware both are off-channel p2p/tdls aware, so we really need to be slowly heading in a direction of per-VAP configurations for things, then a "current active" context like what linux mac80211 does these days.

This revision was automatically updated to reflect the committed changes.