aboutsummaryrefslogtreecommitdiff
path: root/sys/net80211
diff options
context:
space:
mode:
authorBjoern A. Zeeb <bz@FreeBSD.org>2022-09-07 23:28:13 +0000
committerBjoern A. Zeeb <bz@FreeBSD.org>2022-09-07 23:28:13 +0000
commitc994352a8841eb4533c587bc524f2d1de659a20a (patch)
tree55c2422cdc792402fc409e304fa462b29a85eb25 /sys/net80211
parente7d9290fc2b6ce896a5a410159bb6b09a3678ae8 (diff)
downloadsrc-c994352a8841eb4533c587bc524f2d1de659a20a.tar.gz
src-c994352a8841eb4533c587bc524f2d1de659a20a.zip
net80211: update (parts of) Action field categories
Update to the full list of action field category values based on 802.11-2020 with 11ax extensions and remove one value Reserved nowadays. While here annotate them with descriptions. Also add Spectrum Management and Radio Measurement action field values needed in LinuxKPI. No functional changes. Sponsored by: The FreeBSD Foundation MFC after: 1 week
Diffstat (limited to 'sys/net80211')
-rw-r--r--sys/net80211/ieee80211.h69
1 files changed, 59 insertions, 10 deletions
diff --git a/sys/net80211/ieee80211.h b/sys/net80211/ieee80211.h
index efd07389341a..f4efc90dfb22 100644
--- a/sys/net80211/ieee80211.h
+++ b/sys/net80211/ieee80211.h
@@ -416,16 +416,65 @@ struct ieee80211_action {
uint8_t ia_action;
} __packed;
-#define IEEE80211_ACTION_CAT_SM 0 /* Spectrum Management */
-#define IEEE80211_ACTION_CAT_QOS 1 /* QoS */
-#define IEEE80211_ACTION_CAT_DLS 2 /* DLS */
-#define IEEE80211_ACTION_CAT_BA 3 /* BA */
-#define IEEE80211_ACTION_CAT_HT 7 /* HT */
-#define IEEE80211_ACTION_CAT_MESH 13 /* Mesh */
-#define IEEE80211_ACTION_CAT_SELF_PROT 15 /* Self-protected */
-/* 16 - 125 reserved */
-#define IEEE80211_ACTION_CAT_VHT 21
-#define IEEE80211_ACTION_CAT_VENDOR 127 /* Vendor Specific */
+/* 80211-2020 Table 9-51-Category values */
+#define IEEE80211_ACTION_CAT_SM 0 /* 9.6.2 Spectrum Management */
+#define IEEE80211_ACTION_CAT_QOS 1 /* 9.6.3 QoS */
+/* Reserved 2 was IEEE80211_ACTION_CAT_DLS */
+#define IEEE80211_ACTION_CAT_BA 3 /* 9.6.4 Block Ack */
+#define IEEE80211_ACTION_CAT_PUBLIC 4 /* 9.6.7 Public */
+#define IEEE80211_ACTION_CAT_RADIO_MEASUREMENT 5 /* 9.6.6 Radio Measurement */
+#define IEEE80211_ACTION_CAT_FAST_BBS_TRANSITION 6 /* 9.6.8 Fast BSS Transition */
+#define IEEE80211_ACTION_CAT_HT 7 /* 9.6.11 HT */
+#define IEEE80211_ACTION_CAT_SA_QUERY 8 /* 9.6.9 SA Query */
+#define IEEE80211_ACTION_CAT_PROTECTED_DUAL_OF_PUBLIC_ACTION 9 /* 9.6.10 Protected Dual of Public Action */
+#define IEEE80211_ACTION_CAT_WNM 10 /* 9.6.13 WNM */
+#define IEEE80211_ACTION_CAT_UNPROTECTED_WNM 11 /* 9.6.14 Unprotected WNM */
+#define IEEE80211_ACTION_CAT_TDLS 12 /* 9.6.12 TDLS */
+#define IEEE80211_ACTION_CAT_MESH 13 /* 9.6.16 Mesh */
+#define IEEE80211_ACTION_CAT_MULTIHOP 14 /* 9.6.17 Multihop */
+#define IEEE80211_ACTION_CAT_SELF_PROT 15 /* 9.6.15 Self-protected */
+#define IEEE80211_ACTION_CAT_DMG 16 /* 9.6.19 DMG */
+/* Reserved 17 (R)Wi-Fi Alliance */
+#define IEEE80211_ACTION_CAT_FAST_SESSION_TRANSFER 18 /* 9.6.20 Fast Session Transfer */
+#define IEEE80211_ACTION_CAT_ROBUST_AV_STREAMING 19 /* 9.6.18 Robust AV Streaming */
+#define IEEE80211_ACTION_CAT_UNPROTECTED_DMG 20 /* 9.6.21 Unprotected DMG */
+#define IEEE80211_ACTION_CAT_VHT 21 /* 9.6.22 VHT */
+#define IEEE80211_ACTION_CAT_UNPROTECTED_S1G 22 /* 9.6.24 Unprotected S1G */
+#define IEEE80211_ACTION_CAT_S1G 23 /* 9.6.25 S1G */
+#define IEEE80211_ACTION_CAT_FLOW_CONTROL 24 /* 9.6.26 Flow Control */
+#define IEEE80211_ACTION_CAT_CTL_RESP_MCS_NEG 25 /* 9.6.27 Control Response MCS Negotiation */
+#define IEEE80211_ACTION_CAT_FILS 26 /* 9.6.23 FILS */
+#define IEEE80211_ACTION_CAT_CDMG 27 /* 9.6.28 CDMG */
+#define IEEE80211_ACTION_CAT_CMMG 28 /* 9.6.29 CMMG */
+#define IEEE80211_ACTION_CAT_GLK 29 /* 9.6.30 GLK */
+#define IEEE80211_ACTION_CAT_HE 30 /* 9.6.31 HE, 80211ax-2021 */
+#define IEEE80211_ACTION_CAT_PROTECTED_HE 31 /* 9.6.32 Protected HE, 80211ax-2021 */
+/* Reserved 32-125 */
+#define IEEE80211_ACTION_CAT_VENDOR_SPECIFIC_PROTECTED 126 /* 9.6.5 Vendor-specific Protected */
+#define IEEE80211_ACTION_CAT_VENDOR 127 /* 9.6.5 Vendor-specific */
+/* Error 128-255 */
+
+
+/* 80211-2020 Table 9-346-Spectrum Management Action field values */
+enum ieee80211_action_sm {
+ IEEE80211_ACTION_SM_SMREQ = 0, /* Spectrum Measurement Request */
+ IEEE80211_ACTION_SM_SMREP = 1, /* Spectrum Measurement Report */
+ IEEE80211_ACTION_SM_TPCREQ = 2, /* TPC Request */
+ IEEE80211_ACTION_SM_TPCREP = 3, /* TPC Report */
+ IEEE80211_ACTION_SM_CSA = 4, /* Channel Switch Announcement */
+ /* Reserved = 5-255 */
+};
+
+/* 80211-2020 Table 9-363-Radio Measurement Action field values */
+enum ieee80211_action_radio_measurement {
+ IEEE80211_ACTION_RADIO_MEASUREMENT_RMREQ = 0, /* Radio Measurement Request */
+ IEEE80211_ACTION_RADIO_MEASUREMENT_RMREP = 1, /* Radio Measurement Report */
+ IEEE80211_ACTION_RADIO_MEASUREMENT_LMREQ = 2, /* Link Measurement Request */
+ IEEE80211_ACTION_RADIO_MEASUREMENT_LMREP = 3, /* Link Measurement Report */
+ IEEE80211_ACTION_RADIO_MEASUREMENT_NRREQ = 4, /* Neighbor Report Request */
+ IEEE80211_ACTION_RADIO_MEASUREMENT_NRRESP = 5, /* Neighbor Report Response */
+ /* Reserved = 6-255 */
+};
#define IEEE80211_ACTION_HT_TXCHWIDTH 0 /* recommended xmit chan width*/
#define IEEE80211_ACTION_HT_MIMOPWRSAVE 1 /* MIMO power save */