BSS coloring: Handling of collision events and triggering CCA

Add the core code for handling BSS color collision events and triggering
CCA inside the kernel. The caller of hostapd_switch_color() will be
added in the following commits.

Tested-by: Peter Chiu <chui-hao.chiu@mediatek.com>
Co-developed-by: Lorenzo Bianconi <lorenzo@kernel.org>
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Signed-off-by: John Crispin <john@phrozen.org>
Signed-off-by: Ryder Lee <ryder.lee@mediatek.com>
This commit is contained in:
John Crispin 2022-03-21 12:10:30 +01:00 committed by Jouni Malinen
parent 2f336ca580
commit 654d2395dd
5 changed files with 205 additions and 0 deletions

View file

@ -2332,6 +2332,7 @@ struct ieee80211_spatial_reuse {
#define HE_OPERATION_BSS_COLOR_PARTIAL ((u32) BIT(30))
#define HE_OPERATION_BSS_COLOR_DISABLED ((u32) BIT(31))
#define HE_OPERATION_BSS_COLOR_OFFSET 24
#define HE_OPERATION_BSS_COLOR_MAX 64
/**
* enum he_6ghz_ap_type - Allowed Access Point types for 6 GHz Band
@ -2508,6 +2509,12 @@ enum mscs_description_subelem {
*/
#define FD_MAX_INTERVAL_6GHZ 20 /* TUs */
/* IEEE Std 802.11ax-2021, 26.17.3.5.1: AP needs to wait and see the collision
* persists for at least the minimum default timeout
* dot11BSSColorCollisionAPPeriod (50 seconds)
*/
#define DOT11BSS_COLOR_COLLISION_AP_PERIOD 50
/* Protected Vendor-specific QoS Management Action frame identifiers - WFA */
#define QM_ACTION_VENDOR_TYPE 0x506f9a1a
#define QM_ACTION_OUI_TYPE 0x1a