Message ID | 1587768342-26601-7-git-send-email-rmanohar@codeaurora.org |
---|---|
State | Changes Requested |
Headers | show |
Series | [1/9] 6G: Define 6 GHz band Capability elements | expand |
On Fri, Apr 24, 2020 at 03:45:40PM -0700, Rajkumar Manoharan wrote: > Reject association request from stations that announce HT/VHT > capabilities in 6 GHz band. Also reject the stations that does > not support HE in 6 GHz band. Why would the AP explicitly need to check for HT/VHT capabilities on the 6 GHz band? Wouldn't it be sufficient and less likely to cause interop issues by simply ignoring those unexpected HT/VHT IEs? Or is there some clear requirement in the standard for the AP to do this type of validation step? The HE capability check looks fine, but please split to a separate patch without these HT/VHT checks.
On 2020-05-17 07:08, Jouni Malinen wrote: > On Fri, Apr 24, 2020 at 03:45:40PM -0700, Rajkumar Manoharan wrote: >> Reject association request from stations that announce HT/VHT >> capabilities in 6 GHz band. Also reject the stations that does >> not support HE in 6 GHz band. > > Why would the AP explicitly need to check for HT/VHT capabilities on > the > 6 GHz band? Wouldn't it be sufficient and less likely to cause interop > issues by simply ignoring those unexpected HT/VHT IEs? Or is there some > clear requirement in the standard for the AP to do this type of > validation step? > IIUC HT/VHT operations are prohibited on 6 GHz band. no? Hence rejecting buggy stations that announce HT/VHT capabilities on 6 GHz band. Do you prefer to allow such stations? > The HE capability check looks fine, but please split to a separate > patch > without these HT/VHT checks. > Sure. -Rajkumar
diff --git a/src/ap/ieee802_11.c b/src/ap/ieee802_11.c index 18ce144d373f..b3644aa7991e 100644 --- a/src/ap/ieee802_11.c +++ b/src/ap/ieee802_11.c @@ -3148,6 +3148,14 @@ static int check_assoc_ies(struct hostapd_data *hapd, struct sta_info *sta, return WLAN_STATUS_ASSOC_DENIED_NO_HT; } + if (is_6ghz_op_class(hapd->iconf->op_class) && + (sta->flags & WLAN_STA_HT)) { + hostapd_logger(hapd, sta->addr, HOSTAPD_MODULE_IEEE80211, + HOSTAPD_LEVEL_INFO, "HT capab not allowed in " + "6 GHz band - reject association"); + return WLAN_STATUS_CAPS_UNSUPPORTED; + } + #ifdef CONFIG_IEEE80211AC if (hapd->iconf->ieee80211ac) { resp = copy_sta_vht_capab(hapd, sta, elems.vht_capabilities); @@ -3174,6 +3182,15 @@ static int check_assoc_ies(struct hostapd_data *hapd, struct sta_info *sta, return resp; } #endif /* CONFIG_IEEE80211AC */ + + if (is_6ghz_op_class(hapd->iconf->op_class) && + (sta->flags & WLAN_STA_VHT)) { + hostapd_logger(hapd, sta->addr, HOSTAPD_MODULE_IEEE80211, + HOSTAPD_LEVEL_INFO, "VHT capab not allowed in " + "6 GHz band - reject association"); + return WLAN_STATUS_CAPS_UNSUPPORTED; + } + #ifdef CONFIG_IEEE80211AX if (hapd->iconf->ieee80211ax) { resp = copy_sta_he_capab(hapd, sta, IEEE80211_MODE_AP, @@ -3182,6 +3199,14 @@ static int check_assoc_ies(struct hostapd_data *hapd, struct sta_info *sta, if (resp != WLAN_STATUS_SUCCESS) return resp; } + + if (is_6ghz_op_class(hapd->iconf->op_class) && + !(sta->flags & WLAN_STA_HE)) { + hostapd_logger(hapd, sta->addr, HOSTAPD_MODULE_IEEE80211, + HOSTAPD_LEVEL_INFO, "Station does not support " + "mandatory HE PHY - reject association"); + return WLAN_STATUS_ASSOC_DENIED_NO_HE; + } #endif /* CONFIG_IEEE80211AX */ #ifdef CONFIG_P2P diff --git a/src/common/ieee802_11_defs.h b/src/common/ieee802_11_defs.h index 7efbdc0834a2..55be298a8f6d 100644 --- a/src/common/ieee802_11_defs.h +++ b/src/common/ieee802_11_defs.h @@ -204,6 +204,7 @@ #define WLAN_STATUS_FILS_AUTHENTICATION_FAILURE 112 #define WLAN_STATUS_UNKNOWN_AUTHENTICATION_SERVER 113 #define WLAN_STATUS_UNKNOWN_PASSWORD_IDENTIFIER 123 +#define WLAN_STATUS_ASSOC_DENIED_NO_HE 124 #define WLAN_STATUS_SAE_HASH_TO_ELEMENT 126 /* Reason codes (IEEE Std 802.11-2016, 9.4.1.7, Table 9-45) */
Reject association request from stations that announce HT/VHT capabilities in 6 GHz band. Also reject the stations that does not support HE in 6 GHz band. Signed-off-by: Rajkumar Manoharan <rmanohar@codeaurora.org> --- src/ap/ieee802_11.c | 25 +++++++++++++++++++++++++ src/common/ieee802_11_defs.h | 1 + 2 files changed, 26 insertions(+)