git: 173bbdba8f51 - main - net80211: add more information elements (IEs) definitions
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 05 Jun 2025 14:34:11 UTC
The branch main has been updated by bz:
URL: https://cgit.FreeBSD.org/src/commit/?id=173bbdba8f5197f5514100846727726b0875a39a
commit 173bbdba8f5197f5514100846727726b0875a39a
Author: Bjoern A. Zeeb <bz@FreeBSD.org>
AuthorDate: 2020-12-08 14:59:49 +0000
Commit: Bjoern A. Zeeb <bz@FreeBSD.org>
CommitDate: 2025-06-05 14:33:38 +0000
net80211: add more information elements (IEs) definitions
Annotate a few which are obsolete (gone).
Naming as usual is questionable and I contemplated using the names
from wpa with a different prefix but then we end up with another mix.
While updating the reference to the newer standard I haven't made
a full pass again and I cannot say which version I used in 2020.
The motivation for this is to get rid of unknown IEs displayed in
ifconfig and elsewhere.
Sponsored by: The FreeBSD Foundation
MFC after: 3 days
Fixes: 50982d26e45ba (MMIC -> MGMT_MIC)
Reviewed by: adrian
Differential Revision: https://reviews.freebsd.org/D50671
---
sys/net80211/ieee80211.h | 131 ++++++++++++++++++++++++++++++++++++++++++++---
1 file changed, 123 insertions(+), 8 deletions(-)
diff --git a/sys/net80211/ieee80211.h b/sys/net80211/ieee80211.h
index 90b329500128..0551f46af2e5 100644
--- a/sys/net80211/ieee80211.h
+++ b/sys/net80211/ieee80211.h
@@ -1101,7 +1101,7 @@ struct ieee80211_ie_vht_txpwrenv {
/*
* Management information element payloads.
*
- * 802.11-2016 Table 9-77 (Element IDs).
+ * 802.11-2020 Table 9-92 (Element IDs).
*/
enum {
@@ -1113,7 +1113,10 @@ enum {
IEEE80211_ELEMID_TIM = 5,
IEEE80211_ELEMID_IBSSPARMS = 6,
IEEE80211_ELEMID_COUNTRY = 7,
+ /* 8, 9 reserved */
+ IEEE80211_ELEMID_REQUEST = 10,
IEEE80211_ELEMID_BSSLOAD = 11,
+ IEEE80211_ELEMID_EDCA_PARAM_SET = 12,
IEEE80211_ELEMID_TSPEC = 13,
IEEE80211_ELEMID_TCLAS = 14,
IEEE80211_ELEMID_CHALLENGE = 16,
@@ -1129,29 +1132,77 @@ enum {
IEEE80211_ELEMID_QUIET = 40,
IEEE80211_ELEMID_IBSSDFS = 41,
IEEE80211_ELEMID_ERP = 42,
+ IEEE80211_ELEMID_TS_DELAY = 43,
+ IEEE80211_ELEMID_TCLAS_PROCES = 44,
IEEE80211_ELEMID_HTCAP = 45,
IEEE80211_ELEMID_QOS = 46,
IEEE80211_ELEMID_RESERVED_47 = 47,
IEEE80211_ELEMID_RSN = 48,
+ /* 49 reserved */
IEEE80211_ELEMID_XRATES = 50,
IEEE80211_ELEMID_APCHANREP = 51,
- IEEE80211_ELEMID_MOBILITY_DOMAIN = 54,
+ IEEE80211_ELEMID_NEIGHBOR_REP = 52,
+ IEEE80211_ELEMID_RCPI = 53,
+ IEEE80211_ELEMID_MOBILITY_DOMAIN = 54,
+ IEEE80211_ELEMID_FAST_BSS_TRANS = 55, /* FTE */
+ IEEE80211_ELEMID_TIMEOUT_INTVL = 56,
+ IEEE80211_ELEMID_RIC_DATA = 57, /* RDE */
+ IEEE80211_ELEMID_DSE_REG_LOC = 58,
+ IEEE80211_ELEMID_SUP_OP_CLASS = 59,
+ IEEE80211_ELEMID_EXT_CHAN_SW_A = 60,
IEEE80211_ELEMID_HTINFO = 61,
IEEE80211_ELEMID_SECCHAN_OFFSET = 62,
+ IEEE80211_ELEMID_BSS_AVG_D_ACC = 63,
+ IEEE80211_ELEMID_ANTENNA = 64,
+ IEEE80211_ELEMID_RSNI = 65,
+ IEEE80211_ELEMID_MEAS_PILOT_TRANS = 66,
+ IEEE80211_ELEMID_BSS_AVAIL_AD_CAP = 67,
+ IEEE80211_ELEMID_BSS_AC_ACC_D = 68,
+ IEEE80211_ELEMID_TIME_ADV = 69,
IEEE80211_ELEMID_RRM_ENACAPS = 70,
IEEE80211_ELEMID_MULTIBSSID = 71,
IEEE80211_ELEMID_COEX_2040 = 72,
IEEE80211_ELEMID_INTOL_CHN_REPORT = 73,
IEEE80211_ELEMID_OVERLAP_BSS_SCAN_PARAM = 74,
- IEEE80211_ELEMID_MMIC = 76,
+ IEEE80211_ELEMID_RIC_DESC = 75,
+ IEEE80211_ELEMID_MGMT_MIC = 76,
+ IEEE80211_ELEMID_MMIC = 76, /* To be removed */
+ /* = 77, */
+ IEEE80211_ELEMID_EVENT_REQ = 78,
+ IEEE80211_ELEMID_EVENT_REP = 79,
+ IEEE80211_ELEMID_DIAGNOSTIC_REQ = 80,
+ IEEE80211_ELEMID_DIAGNOSTIC_REP = 81,
+ IEEE80211_ELEMID_LOCATION_PARAM = 82,
+ IEEE80211_ELEMID_NONTRANS_BSSID_CAP = 83,
+ IEEE80211_ELEMID_SSID_LIST = 84,
+ IEEE80211_ELEMID_MULTI_BSS_ID = 85,
+ IEEE80211_ELEMID_FMS_DESC = 86,
+ IEEE80211_ELEMID_FMS_REQ = 87,
+ IEEE80211_ELEMID_FMS_RESP = 88,
+ IEEE80211_ELEMID_QOS_TRAFFIC_CAP = 89,
+ IEEE80211_ELEMID_BSS_MAX_IDLE_P = 90,
IEEE80211_ELEMID_TSF_REQ = 91,
IEEE80211_ELEMID_TSF_RESP = 92,
IEEE80211_ELEMID_WNM_SLEEP_MODE = 93,
IEEE80211_ELEMID_TIM_BCAST_REQ = 94,
IEEE80211_ELEMID_TIM_BCAST_RESP = 95,
- IEEE80211_ELEMID_TPC = 150,
- IEEE80211_ELEMID_CCKM = 156,
- IEEE80211_ELEMID_VENDOR = 221, /* vendor private */
+ IEEE80211_ELEMID_COL_INTERF_REP = 96,
+ IEEE80211_ELEMID_CHAN_USAGE = 97,
+ IEEE80211_ELEMID_TIME_ZONE = 98,
+ IEEE80211_ELEMID_DMS_REQ = 99,
+ IEEE80211_ELEMID_DMS_RESP = 100,
+ IEEE80211_ELEMID_LINK_ID = 101,
+ IEEE80211_ELEMID_WAKEUP_SCHED = 102,
+ /* = 103, */
+ IEEE80211_ELEMID_CHAN_SW_TIMING = 104,
+ IEEE80211_ELEMID_PTI_CONTROL = 105,
+ IEEE80211_ELEMID_TPU_BUF_STATUS = 106,
+ IEEE80211_ELEMID_INTERWORKING = 107,
+ IEEE80211_ELEMID_ADV_PROTO = 108,
+ IEEE80211_ELEMID_EXP_BW_REQ = 109,
+ IEEE80211_ELEMID_QOS_MAP = 110,
+ IEEE80211_ELEMID_ROAM_CONSORT = 111,
+ IEEE80211_ELEMID_EMERG_ALERT_ID = 112,
/*
* 802.11s IEs
@@ -1181,17 +1232,81 @@ enum {
IEEE80211_ELEMID_MESHPXU = 137,
IEEE80211_ELEMID_MESHPXUC = 138,
IEEE80211_ELEMID_MESHAH = 60, /* XXX: remove */
+ /* XXX 139 */
+
+ IEEE80211_ELEMID_MIC = 140,
+ IEEE80211_ELEMID_DEST_URI = 141,
+ IEEE80211_ELEMID_U_APSD_COEX = 142,
+ IEEE80211_ELEMID_DMG_WAKEUP_SCHED = 143,
+ IEEE80211_ELEMID_EXT_SCHED = 144,
+ IEEE80211_ELEMID_STA_AVAIL = 145,
+ IEEE80211_ELEMID_DMG_TSPEC = 146,
+ IEEE80211_ELEMID_NEXT_DMG_ATI = 147,
+ IEEE80211_ELEMID_DMG_CAP = 148,
+ /* 149-150 reserved. */
+ IEEE80211_ELEMID_TPC = 150, /* XXX: remove */
+
+ IEEE80211_ELEMID_DMG_OPER = 151,
+ IEEE80211_ELEMID_DMG_BSS_PARAM_CHANGE = 152,
+ IEEE80211_ELEMID_DMG_BEAM_REF = 153,
+ IEEE80211_ELEMID_CHAN_MEAS_FEEDB = 154,
+ /* 155-156 reserved. */
+ IEEE80211_ELEMID_CCKM = 156, /* XXX: remove? */
+ IEEE80211_ELEMID_AWAKE_WIN = 157,
+ IEEE80211_ELEMID_MULTI_BAND = 158,
+ IEEE80211_ELEMID_ADDBA_EXT = 159,
+
+ IEEE80211_ELEMID_NEXTPCP_LIST = 160,
+ IEEE80211_ELEMID_PCP_HANDOVER = 161,
+ IEEE80211_ELEMID_DMG_LINK_MARGIN = 162,
+ IEEE80211_ELEMID_SW_STREAM = 163,
+ IEEE80211_ELEMID_SESS_TRANS = 164,
+ IEEE80211_ELEMID_DYN_TONE_PAIR_REP = 165,
+ IEEE80211_ELEMID_CLUSTER_REP = 166,
+ IEEE80211_ELEMID_RELAY_CAP = 167,
+ IEEE80211_ELEMID_RELAY_TRANS_PARAM_SET = 168,
+ IEEE80211_ELEMID_BEAMLINK_MAINT = 169,
+ IEEE80211_ELEMID_MULTI_MAC_SUBL = 170,
+ IEEE80211_ELEMID_U_PID = 171,
+ IEEE80211_ELEMID_DMG_LINK_ADAP_ACK = 172,
+ /* 173 reserved. */
+ IEEE80211_ELEMID_MCCAOP_ADV_OV = 174,
+ IEEE80211_ELEMID_QUIET_PERIOD_REQ = 175,
+ /* 176 reserved. */
+ IEEE80211_ELEMID_QUIET_PERIOD_RESP = 177,
+ /* 178-180 reserved. */
+ IEEE80211_ELEMID_QMF_POLICY = 181,
+ IEEE80211_ELEMID_ECAPC_POLICY = 182,
+ IEEE80211_ELEMID_CLUSTER_TIME_OFFSET = 183,
+ IEEE80211_ELEMID_INTRA_ACC_CAT_PRIO = 184,
+ IEEE80211_ELEMID_SCS_DESCR = 185,
+ IEEE80211_ELEMID_QLOAD_REPORT = 186,
+ IEEE80211_ELEMID_HCCA_TXOP_UP_CNT = 187,
+ IEEE80211_ELEMID_HL_STREAM_ID = 188,
+ IEEE80211_ELEMID_GCR_GROUP_ADDR = 189,
+ IEEE80211_ELEMID_ANTENNA_SECTOR_ID_PAT = 190,
- /* 802.11ac-2013, Table 8-54-Element IDs */
IEEE80211_ELEMID_VHT_CAP = 191,
IEEE80211_ELEMID_VHT_OPMODE = 192,
+
IEEE80211_ELEMID_EXTENDED_BSS_LOAD = 193,
IEEE80211_ELEMID_WIDE_BW_CHANNEL_SWITCH = 194,
- IEEE80211_ELEMID_VHT_PWR_ENV = 195,
+ IEEE80211_ELEMID_VHT_PWR_ENV = 195, /* TX_PWR_ENV */
IEEE80211_ELEMID_CHANNEL_SWITCH_WRAPPER = 196,
IEEE80211_ELEMID_AID = 197,
IEEE80211_ELEMID_QUIET_CHANNEL = 198,
IEEE80211_ELEMID_OPMODE_NOTIF = 199,
+ IEEE80211_ELEMID_UPSIM = 200,
+ IEEE80211_ELEMID_RED_NEIGH_REP = 201,
+ IEEE80211_ELEMID_TVHT_OP = 202,
+ /* 203 reserved. */
+ IEEE80211_ELEMID_DEVICE_LOC = 204,
+ IEEE80211_ELEMID_WHITE_SPACE_MAP = 205,
+ IEEE80211_ELEMID_FINE_TIME_MEAS_PARAM = 206,
+ /* 207-220 reserved. */
+ IEEE80211_ELEMID_VENDOR = 221, /* vendor private */
+ /* 222-254 reserved. */
+ IEEE80211_ELEMID_EXTFIELD = 255
};
struct ieee80211_tim_ie {