mac80211: introduce individual TWT support in AP mode
authorLorenzo Bianconi <lorenzo@kernel.org>
Mon, 23 Aug 2021 18:02:39 +0000 (20:02 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Tue, 24 Aug 2021 08:30:43 +0000 (10:30 +0200)
commitf5a4c24e689f54e66201f04d343bdd2e8a1d7923
treede57f790eb1613e06c44a7bf99a5f43603f27ec6
parentdab2ea6c680f87add6d2f7007ce46b6b9e3857f7
mac80211: introduce individual TWT support in AP mode

Introduce TWT action frames parsing support to mac80211.
Currently just individual TWT agreement are support in AP mode.
Whenever the AP receives a TWT action frame from an associated client,
after performing sanity checks, it will notify the underlay driver with
requested parameters in order to check if they are supported and if there
is enough room for a new agreement. The driver is expected to set the
agreement result and report it to mac80211.

Drivers supporting this have two new callbacks:
 - add_twt_setup (mandatory)
 - twt_teardown_request (optional)

mac80211 will send an action frame reply according to the result
reported by the driver.

Tested-by: Peter Chiu <chui-hao.chiu@mediatek.com>
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Link: https://lore.kernel.org/r/257512f2e22ba42b9f2624942a128dd8f141de4b.1629741512.git.lorenzo@kernel.org
[use le16p_replace_bits(), minor cleanups, use (void *) casts,
 fix to use ieee80211_get_he_iftype_cap() correctly]
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
include/net/mac80211.h
net/mac80211/driver-ops.h
net/mac80211/ieee80211_i.h
net/mac80211/iface.c
net/mac80211/rx.c
net/mac80211/s1g.c
net/mac80211/status.c
net/mac80211/trace.h