[PATCH 5/7] AP: Add TPE element for Indoor standard power AP

Andrei Otcheretianski andrei.otcheretianski at intel.com
Fri Dec 22 01:04:21 PST 2023


From: Ilan Peer <ilan.peer at intel.com>

According to Appendix E.2.7 in Draft P802.11Revme_D2.0, 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 at intel.com>
---
 src/ap/beacon.c     | 12 +++++++++---
 src/ap/ieee802_11.c |  4 +++-
 2 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/src/ap/beacon.c b/src/ap/beacon.c
index 3c0353901c..eb7ef6f19f 100644
--- a/src/ap/beacon.c
+++ b/src/ap/beacon.c
@@ -620,7 +620,9 @@ static size_t hostapd_probe_resp_elems_len(struct hostapd_data *hapd,
 			 /* An additional Transmit Power Envelope element for
 			  * subordinate client */
 			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;
 		}
 	}
@@ -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)) {
 		total_len += 4;
 		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;
 	}
 #endif /* CONFIG_IEEE80211AX */
@@ -2096,7 +2100,9 @@ int ieee802_11_build_ap_params(struct hostapd_data *hapd,
 			 /* An additional Transmit Power Envelope element for
 			  * subordinate client */
 			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;
 		}
 	}
diff --git a/src/ap/ieee802_11.c b/src/ap/ieee802_11.c
index 92b368b997..5930eac9c3 100644
--- a/src/ap/ieee802_11.c
+++ b/src/ap/ieee802_11.c
@@ -7072,7 +7072,9 @@ u8 * hostapd_eid_txpower_envelope(struct hostapd_data *hapd, u8 *eid)
 		 * subordinate devices
 		 */
 		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 */
 			if (hapd->iconf->reg_sub_cli_eirp_psd != -1)
 				tx_pwr = hapd->iconf->reg_sub_cli_eirp_psd;
-- 
2.43.0




More information about the Hostap mailing list