AP: Add TPE element for Indoor standard power AP

According to IEEE P802.11-REVme/D4.0, E.2.7 (6 GHz band), two Transmit
Power Envelope (TPE) elements need to be included by Indoor Standard
Power (Indoor SP) APs. Extend the code to support this.

Signed-off-by: Ilan Peer <ilan.peer@intel.com>
This commit is contained in:
Ilan Peer 2023-12-22 11:04:21 +02:00 committed by Jouni Malinen
parent bcad7fec65
commit 3cbb3ac3fa
2 changed files with 12 additions and 4 deletions

View file

@ -620,7 +620,9 @@ static size_t hostapd_probe_resp_elems_len(struct hostapd_data *hapd,
/* An additional Transmit Power Envelope element for /* An additional Transmit Power Envelope element for
* subordinate client */ * subordinate client */
if (hapd->iconf->he_6ghz_reg_pwr_type == if (hapd->iconf->he_6ghz_reg_pwr_type ==
HE_REG_INFO_6GHZ_AP_TYPE_INDOOR) HE_REG_INFO_6GHZ_AP_TYPE_INDOOR ||
hapd->iconf->he_6ghz_reg_pwr_type ==
HE_REG_INFO_6GHZ_AP_TYPE_INDOOR_SP)
buflen += 4; buflen += 4;
} }
} }
@ -1931,7 +1933,9 @@ static u8 * hostapd_gen_fils_discovery(struct hostapd_data *hapd, size_t *len)
if (is_6ghz_op_class(hapd->iconf->op_class)) { if (is_6ghz_op_class(hapd->iconf->op_class)) {
total_len += 4; total_len += 4;
if (hapd->iconf->he_6ghz_reg_pwr_type == if (hapd->iconf->he_6ghz_reg_pwr_type ==
HE_REG_INFO_6GHZ_AP_TYPE_INDOOR) HE_REG_INFO_6GHZ_AP_TYPE_INDOOR ||
hapd->iconf->he_6ghz_reg_pwr_type ==
HE_REG_INFO_6GHZ_AP_TYPE_INDOOR_SP)
total_len += 4; total_len += 4;
} }
#endif /* CONFIG_IEEE80211AX */ #endif /* CONFIG_IEEE80211AX */
@ -2096,7 +2100,9 @@ int ieee802_11_build_ap_params(struct hostapd_data *hapd,
/* An additional Transmit Power Envelope element for /* An additional Transmit Power Envelope element for
* subordinate client */ * subordinate client */
if (hapd->iconf->he_6ghz_reg_pwr_type == if (hapd->iconf->he_6ghz_reg_pwr_type ==
HE_REG_INFO_6GHZ_AP_TYPE_INDOOR) HE_REG_INFO_6GHZ_AP_TYPE_INDOOR ||
hapd->iconf->he_6ghz_reg_pwr_type ==
HE_REG_INFO_6GHZ_AP_TYPE_INDOOR_SP)
tail_len += 4; tail_len += 4;
} }
} }

View file

@ -7078,7 +7078,9 @@ u8 * hostapd_eid_txpower_envelope(struct hostapd_data *hapd, u8 *eid)
/* Indoor Access Point must include an additional TPE for /* Indoor Access Point must include an additional TPE for
* subordinate devices */ * subordinate devices */
if (iconf->he_6ghz_reg_pwr_type == if (iconf->he_6ghz_reg_pwr_type ==
HE_REG_INFO_6GHZ_AP_TYPE_INDOOR) { HE_REG_INFO_6GHZ_AP_TYPE_INDOOR ||
iconf->he_6ghz_reg_pwr_type ==
HE_REG_INFO_6GHZ_AP_TYPE_INDOOR_SP) {
/* TODO: Extract PSD limits from channel data */ /* TODO: Extract PSD limits from channel data */
if (hapd->iconf->reg_sub_cli_eirp_psd != -1) if (hapd->iconf->reg_sub_cli_eirp_psd != -1)
tx_pwr = hapd->iconf->reg_sub_cli_eirp_psd; tx_pwr = hapd->iconf->reg_sub_cli_eirp_psd;