ieee80211: add HE ext EIDs and 6 GHz capability defines
authorJohannes Berg <johannes.berg@intel.com>
Thu, 28 May 2020 19:34:28 +0000 (21:34 +0200)
committerChristian Lamparter <chunkeey@gmail.com>
Fri, 5 Feb 2021 10:39:41 +0000 (11:39 +0100)
Add the HE extended element IDs and the definitions for the
HE 6 GHz band capabilities element, from Draft 5.0.

Link: https://lore.kernel.org/r/20200528213443.1a6689fe093f.Ifdc5400fb01779351354daf38663ebeea03c9ad9@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
include/linux/ieee80211.h

index dc6fd5374ba6084189a0719610972bdead648d2b..7517aec3e6bac9e5a3c2ec704edcb5807981ae00 100644 (file)
@@ -2858,9 +2858,19 @@ enum ieee80211_eid_ext {
        WLAN_EID_EXT_UORA = 37,
        WLAN_EID_EXT_HE_MU_EDCA = 38,
        WLAN_EID_EXT_HE_SPR = 39,
+       WLAN_EID_EXT_NDP_FEEDBACK_REPORT_PARAMSET = 41,
+       WLAN_EID_EXT_BSS_COLOR_CHG_ANN = 42,
+       WLAN_EID_EXT_QUIET_TIME_PERIOD_SETUP = 43,
+       WLAN_EID_EXT_ESS_REPORT = 45,
+       WLAN_EID_EXT_OPS = 46,
+       WLAN_EID_EXT_HE_BSS_LOAD = 47,
        WLAN_EID_EXT_MAX_CHANNEL_SWITCH_TIME = 52,
        WLAN_EID_EXT_MULTIPLE_BSSID_CONFIGURATION = 55,
        WLAN_EID_EXT_NON_INHERITANCE = 56,
+       WLAN_EID_EXT_KNOWN_BSSID = 57,
+       WLAN_EID_EXT_SHORT_SSID_LIST = 58,
+       WLAN_EID_EXT_HE_6GHZ_CAPA = 59,
+       WLAN_EID_EXT_UL_MU_POWER_CAPA = 60,
 };
 
 /* Action category code */
@@ -3403,6 +3413,24 @@ struct ieee80211_tspec_ie {
        __le16 medium_time;
 } __packed;
 
+struct ieee80211_he_6ghz_capa {
+       /* uses IEEE80211_HE_6GHZ_CAP_* below */
+       __le16 capa;
+} __packed;
+
+/* HE 6 GHz band capabilities */
+/* uses enum ieee80211_min_mpdu_spacing values */
+#define IEEE80211_HE_6GHZ_CAP_MIN_MPDU_START   0x0007
+/* uses enum ieee80211_vht_max_ampdu_length_exp values */
+#define IEEE80211_HE_6GHZ_CAP_MAX_AMPDU_LEN_EXP        0x0038
+/* uses IEEE80211_VHT_CAP_MAX_MPDU_LENGTH_* values */
+#define IEEE80211_HE_6GHZ_CAP_MAX_MPDU_LEN     0x00c0
+/* WLAN_HT_CAP_SM_PS_* values */
+#define IEEE80211_HE_6GHZ_CAP_SM_PS            0x0600
+#define IEEE80211_HE_6GHZ_CAP_RD_RESPONDER     0x0800
+#define IEEE80211_HE_6GHZ_CAP_RX_ANTPAT_CONS   0x1000
+#define IEEE80211_HE_6GHZ_CAP_TX_ANTPAT_CONS   0x2000
+
 /**
  * ieee80211_get_qos_ctl - get pointer to qos control bytes
  * @hdr: the frame