Page MenuHomeFreeBSD

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

Authored by adrian on Mar 13 2017, 7:32 AM.
Tags
None
Referenced Files
Unknown Object (File)
Wed, Nov 13, 7:19 AM
Unknown Object (File)
Wed, Nov 13, 7:17 AM
Unknown Object (File)
Wed, Nov 13, 3:13 AM
Unknown Object (File)
Wed, Nov 13, 1:01 AM
Unknown Object (File)
Tue, Oct 22, 7:12 AM
Unknown Object (File)
Mon, Oct 21, 7:31 AM
Unknown Object (File)
Mon, Oct 21, 6:56 AM
Unknown Object (File)
Mon, Oct 21, 6:56 AM
Subscribers

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
Lint Not Applicable
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.