Re: [PATCH 6/9] 6G: Do not add VHT IEs in 6 GHz band

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Apr 24, 2020 at 03:45:39PM -0700, Rajkumar Manoharan wrote:
> Do not account VHT IEs for total beacon length and also add 6 GHz checks
> in Wide band VHT channel switch, VHT Tx power and Vendor VHT IE
> construction.

It would be correct to remove the IEs that are specific to VHT, but that
list of elements does not look correct.

"Wide band VHT channel switch" is called "Wide Bandwidth Channel Switch
subelement" and it is included in the "Channel Switch Wrapper element".
It is not VHT specific in the current standard baseline. Can you please
clarify why it would not be allowed on the 6 GHz band?

"VHT Tx power IE" is called "Transmit Power Envelope element" in the
current standard baseline, i.e., it is not specific to VHT. Can you
please clarify why it would not be allowed on the 6 GHz band?

Furthermore, it does not look like these changes are really needed since
the cases covered here are all for invalid configuration cases:

> diff --git a/src/ap/beacon.c b/src/ap/beacon.c
> @@ -452,7 +452,8 @@ static u8 * hostapd_gen_probe_resp(struct hostapd_data *hapd,
> -	if (hapd->conf->vendor_vht) {
> +	if (hapd->conf->vendor_vht &&
> +	    !is_6ghz_op_class(hapd->iconf->op_class)) {
>  		buflen += 5 + 2 + sizeof(struct ieee80211_vht_capabilities) +
>  			2 + sizeof(struct ieee80211_vht_operation);

Why would this be needed? vendor_vht=1 is used only on the 2.4 GHz band
and it would not be valid to set it when operating on 6 GHz.

> @@ -558,8 +559,7 @@ static u8 * hostapd_gen_probe_resp(struct hostapd_data *hapd,
>  #ifdef CONFIG_IEEE80211AC
> -	if (hapd->iconf->ieee80211ac && !hapd->conf->disable_11ac &&
> -	    !is_6ghz_op_class(hapd->iconf->op_class)) {
> +	if (hapd->iconf->ieee80211ac && !hapd->conf->disable_11ac) {
>  		pos = hostapd_eid_vht_capabilities(hapd, pos, 0);
>  		pos = hostapd_eid_vht_operation(hapd, pos);
>  		pos = hostapd_eid_txpower_envelope(hapd, pos);

Why would this be needed? ieee80211ac=1 is used only on the 5 GHz band
(not including 6 GHz) and it would not be valid to set it when operating
on 6 GHz.

> @@ -1156,7 +1156,8 @@ int ieee802_11_build_ap_params(struct hostapd_data *hapd,
>  #ifdef CONFIG_IEEE80211AC
> -	if (hapd->conf->vendor_vht) {
> +	if (hapd->conf->vendor_vht &&
> +	    !is_6ghz_op_class(hapd->iconf->op_class)) {
>  		tail_len += 5 + 2 + sizeof(struct ieee80211_vht_capabilities) +
>  			2 + sizeof(struct ieee80211_vht_operation);

Why would this be needed? vendor_vht=1 is used only on the 2.4 GHz band
and it would not be valid to set it when operating on 6 GHz.

> diff --git a/src/ap/ieee802_11_vht.c b/src/ap/ieee802_11_vht.c
> @@ -176,6 +176,9 @@ u8 * hostapd_eid_wb_chsw_wrapper(struct hostapd_data *hapd, u8 *eid)
> +	if (is_6ghz_op_class(hapd->iconf->op_class))
> +		return eid;

This function is called only if ieee80211ac=1 configuration is used. Why
would that be used if operating on 6 GHz?

> @@ -234,6 +237,9 @@ u8 * hostapd_eid_txpower_envelope(struct hostapd_data *hapd, u8 *eid)
> +	if (is_6ghz_op_class(hapd->iconf->op_class))
> +		return eid;

This function is called only if ieee80211ac=1 configuration is used. Why
would that be used if operating on 6 GHz?

> @@ -428,6 +434,9 @@ u8 * hostapd_eid_vendor_vht(struct hostapd_data *hapd, u8 *eid)
> +	if (is_6ghz_op_class(hapd->iconf->op_class))
> +		return eid;

This function is called only if vendor_vht=1 configuration is used. Why
would that be used if operating on 6 GHz?
 
-- 
Jouni Malinen                                            PGP id EFC895FA

_______________________________________________
Hostap mailing list
Hostap@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/hostap



[Index of Archives]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux