wifi: radiotap: add definitions for UHR U-SIG

There are three different formats for MU, TB and ELR, add the
necessary definitions for them.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://patch.msgid.link/20260921223016.8f871c68a709.I1cdbb85ac81e33fb84548e8679b78ee1cd1db6c4@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
Johannes Berg 2026-09-21 22:30:38 +03:00
parent e9e25a9578
commit e5fefa3da5

View File

@ -1,6 +1,6 @@
/*
* Copyright (c) 2017 Intel Deutschland GmbH
* Copyright (c) 2018-2019, 2021-2022, 2025 Intel Corporation
* Copyright (c) 2018-2019, 2021-2022, 2025-2026 Intel Corporation
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@ -608,6 +608,49 @@ enum ieee80211_radiotap_eht_usig_tb {
IEEE80211_RADIOTAP_EHT_USIG2_TB_B20_B25_TAIL = 0xfc000000,
};
enum ieee80211_radiotap_uhr_usig_mu {
/* USIG-1 */
IEEE80211_RADIOTAP_UHR_USIG1_MU_BSS_COLOR_2 = 0x0000003f,
IEEE80211_RADIOTAP_UHR_USIG1_MU_B20_B24_DISREGARD = 0x0000001f,
IEEE80211_RADIOTAP_UHR_USIG1_MU_B25_VALIDATE = 0x00000020,
/* USIG-2 */
IEEE80211_RADIOTAP_UHR_USIG2_MU_B0_B1_PPDU_TYPE = 0x000000c0,
IEEE80211_RADIOTAP_UHR_USIG2_MU_B2_COBF_COSR = 0x00000100,
IEEE80211_RADIOTAP_UHR_USIG2_MU_B3_B7_PUNCTURED_INFO = 0x00003e00,
IEEE80211_RADIOTAP_UHR_USIG2_MU_B8_VALIDATE = 0x00004000,
IEEE80211_RADIOTAP_UHR_USIG2_MU_B9_B10_SIG_MCS = 0x00018000,
IEEE80211_RADIOTAP_UHR_USIG2_MU_B11_B15_UHR_SIG_SYMBOLS = 0x003e0000,
IEEE80211_RADIOTAP_UHR_USIG2_MU_B16_B19_CRC = 0x03c00000,
IEEE80211_RADIOTAP_UHR_USIG2_MU_B20_B25_TAIL = 0xfc000000,
};
enum ieee80211_radiotap_uhr_usig_tb {
/* USIG-1 */
IEEE80211_RADIOTAP_UHR_USIG1_TB_B20_B25_DISREGARD = 0x0000003f,
/* USIG-2 */
IEEE80211_RADIOTAP_UHR_USIG2_TB_B0_B1_PPDU_TYPE = 0x000000c0,
IEEE80211_RADIOTAP_UHR_USIG2_TB_B2_VALIDATE = 0x00000100,
IEEE80211_RADIOTAP_UHR_USIG2_TB_B3_B6_SPATIAL_REUSE_1 = 0x00001e00,
IEEE80211_RADIOTAP_UHR_USIG2_TB_B7_B10_SPATIAL_REUSE_2 = 0x0001e000,
IEEE80211_RADIOTAP_UHR_USIG2_TB_B11_B15_DISREGARD = 0x003e0000,
IEEE80211_RADIOTAP_UHR_USIG2_TB_B16_B19_CRC = 0x03c00000,
IEEE80211_RADIOTAP_UHR_USIG2_TB_B20_B25_TAIL = 0xfc000000,
};
enum ieee80211_radiotap_uhr_usig_elr {
/* USIG-1 */
IEEE80211_RADIOTAP_UHR_USIG1_ELR_B20_B24_DISREGARD = 0x0000001f,
IEEE80211_RADIOTAP_UHR_USIG1_ELR_B25_VALIDATE = 0x00000020,
/* USIG-2 */
IEEE80211_RADIOTAP_UHR_USIG2_ELR_B0_B1_PPDU_TYPE = 0x000000c0,
IEEE80211_RADIOTAP_UHR_USIG2_ELR_B2_B12_STA_ID = 0x0007ff00,
IEEE80211_RADIOTAP_UHR_USIG2_ELR_B13_B15_VALIDATE = 0x00380000,
IEEE80211_RADIOTAP_UHR_USIG2_ELR_B16_B19_CRC = 0x03c00000,
IEEE80211_RADIOTAP_UHR_USIG2_ELR_B20_B25_TAIL = 0xfc000000,
};
/*
* ieee80211_radiotap_uhr_elr - content of UHR-ELR TLV (type 37)
* see https://www.radiotap.org/fields/UHR-ELR for details