OSDN Git Service

cfg80211: Parse SAE H2E only membership selector
authorIlan Peer <ilan.peer@intel.com>
Sun, 29 Nov 2020 15:30:46 +0000 (17:30 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Fri, 11 Dec 2020 11:54:41 +0000 (12:54 +0100)
This extends the support for drivers that rebuild IEs in the
FW (same as with HT/VHT/HE).

Signed-off-by: Ilan Peer <ilan.peer@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20201129172929.4012647275f3.I1a93ae71c57ef0b6f58f99d47fce919d19d65ff0@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
include/linux/ieee80211.h
include/net/cfg80211.h
net/wireless/nl80211.c

index 5e8cc9c..cbd2942 100644 (file)
@@ -1261,6 +1261,7 @@ struct ieee80211_mgmt {
 #define BSS_MEMBERSHIP_SELECTOR_HT_PHY 127
 #define BSS_MEMBERSHIP_SELECTOR_VHT_PHY        126
 #define BSS_MEMBERSHIP_SELECTOR_HE_PHY 122
+#define BSS_MEMBERSHIP_SELECTOR_SAE_H2E 123
 
 /* mgmt header + 1 byte category code */
 #define IEEE80211_MIN_ACTION_SIZE offsetof(struct ieee80211_mgmt, u.action.u)
index 78c763d..f3dfb26 100644 (file)
@@ -1187,6 +1187,7 @@ enum cfg80211_ap_settings_flags {
  * @vht_required: stations must support VHT
  * @twt_responder: Enable Target Wait Time
  * @he_required: stations must support HE
+ * @sae_h2e_required: stations must support direct H2E technique in SAE
  * @flags: flags, as defined in enum cfg80211_ap_settings_flags
  * @he_obss_pd: OBSS Packet Detection settings
  * @he_bss_color: BSS Color settings
@@ -1218,7 +1219,7 @@ struct cfg80211_ap_settings {
        const struct ieee80211_vht_cap *vht_cap;
        const struct ieee80211_he_cap_elem *he_cap;
        const struct ieee80211_he_operation *he_oper;
-       bool ht_required, vht_required, he_required;
+       bool ht_required, vht_required, he_required, sae_h2e_required;
        bool twt_responder;
        u32 flags;
        struct ieee80211_he_obss_pd he_obss_pd;
index 57f615a..8e7320a 100644 (file)
@@ -5017,6 +5017,8 @@ static void nl80211_check_ap_rate_selectors(struct cfg80211_ap_settings *params,
                        params->vht_required = true;
                if (rates[2 + i] == BSS_MEMBERSHIP_SELECTOR_HE_PHY)
                        params->he_required = true;
+               if (rates[2 + i] == BSS_MEMBERSHIP_SELECTOR_SAE_H2E)
+                       params->sae_h2e_required = true;
        }
 }