[PATCH wireless-next] wifi: radiotap: add definitions for UHR U-SIG
From: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Date: 2026-09-21 19:28:42
Subsystem:
802.11 (including cfg80211/nl80211), the rest · Maintainers:
Johannes Berg, Linus Torvalds
From: Johannes Berg <redacted> There are three different formats for MU, TB and ELR, add the necessary definitions for them. Signed-off-by: Johannes Berg <redacted> Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> --- include/net/ieee80211_radiotap.h | 45 +++++++++++++++++++++++++++++++- 1 file changed, 44 insertions(+), 1 deletion(-)
diff --git a/include/net/ieee80211_radiotap.h b/include/net/ieee80211_radiotap.h
index ffdfbade25b8..733b5128a6df 100644
--- a/include/net/ieee80211_radiotap.h
+++ b/include/net/ieee80211_radiotap.h@@ -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 = 0x0000001f, + + /* 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
--
2.34.1