Extend 6 GHz Operation Info field in HE Operation element

Add new field definitions for the 6 GHz Operation Information field in
the HE Operation element per IEEE Std 802.11ax-2021, 9.4.2.249. These
will be used for TPC operation in the 6 GHz band.

Signed-off-by: Pradeep Kumar Chitrapu <quic_pradeepc@quicinc.com>
This commit is contained in:
Pradeep Kumar Chitrapu 2022-04-07 16:56:52 -07:00 committed by Jouni Malinen
parent 0eb686637d
commit bc3dc72a3a
2 changed files with 31 additions and 4 deletions

View file

@ -218,6 +218,7 @@ u8 * hostapd_eid_he_operation(struct hostapd_data *hapd, u8 *eid)
if (is_6ghz_op_class(hapd->iconf->op_class)) {
u8 seg0 = hostapd_get_oper_centr_freq_seg0_idx(hapd->iconf);
u8 seg1 = hostapd_get_oper_centr_freq_seg1_idx(hapd->iconf);
u8 control;
if (!seg0)
seg0 = hapd->iconf->channel;
@ -230,11 +231,23 @@ u8 * hostapd_eid_he_operation(struct hostapd_data *hapd, u8 *eid)
*/
*pos++ = hapd->iconf->channel; /* Primary Channel */
/* Control: Channel Width */
/* Control:
* bits 0-1: Channel Width
* bit 2: Duplicate Beacon
* bits 3-5: Regulatory Info
*/
/* Channel Width */
if (seg1)
*pos++ = 3;
control = 3;
else
*pos++ = center_idx_to_bw_6ghz(seg0);
control = center_idx_to_bw_6ghz(seg0);
if (hapd->iconf->he_6ghz_reg_pwr_type == 1)
control |= HE_6GHZ_STANDARD_POWER_AP <<
HE_6GHZ_OPER_INFO_CTRL_REG_INFO_SHIFT;
else
control |= HE_6GHZ_INDOOR_AP <<
HE_6GHZ_OPER_INFO_CTRL_REG_INFO_SHIFT;
*pos++ = control;
/* Channel Center Freq Seg0/Seg1 */
if (hapd->iconf->he_oper_chwidth == 2) {