EHT: Send puncturing bitmap to the driver for AP bring up

Send the user configured puncturing bitmap to the driver.

Signed-off-by: Aloka Dixit <quic_alokad@quicinc.com>
Signed-off-by: Muna Sinada <quic_msinada@quicinc.com>
This commit is contained in:
Aloka Dixit 2023-03-13 21:59:19 -07:00 committed by Jouni Malinen
parent f9fc2eabbd
commit 4942b19fff
3 changed files with 20 additions and 0 deletions

View file

@ -2101,6 +2101,10 @@ static int __ieee802_11_set_beacon(struct hostapd_data *hapd)
params.fd_frame_tmpl = hostapd_fils_discovery(hapd, &params);
#endif /* CONFIG_FILS */
#ifdef CONFIG_IEEE80211BE
params.punct_bitmap = iconf->punct_bitmap;
#endif /* CONFIG_IEEE80211BE */
if (cmode &&
hostapd_set_freq_params(&freq, iconf->hw_mode, iface->freq,
iconf->channel, iconf->enable_edmg,

View file

@ -1713,6 +1713,14 @@ struct wpa_driver_ap_params {
* ema - Enhanced MBSSID advertisements support.
*/
bool ema;
/**
* punct_bitmap - Preamble puncturing bitmap
* Each bit corresponds to a 20 MHz subchannel, the lowest bit for the
* channel with the lowest frequency. A bit set to 1 indicates that the
* subchannel is punctured, otherwise active.
*/
u16 punct_bitmap;
};
struct wpa_driver_mesh_bss_params {

View file

@ -5045,6 +5045,14 @@ static int wpa_driver_nl80211_set_ap(void *priv,
goto fail;
#endif /* CONFIG_FILS */
if (params->punct_bitmap) {
wpa_printf(MSG_DEBUG, "nl80211: Puncturing bitmap=0x%04x",
params->punct_bitmap);
if (nla_put_u32(msg, NL80211_ATTR_PUNCT_BITMAP,
params->punct_bitmap))
goto fail;
}
ret = send_and_recv_msgs_connect_handle(drv, msg, bss, 1);
if (ret) {
wpa_printf(MSG_DEBUG, "nl80211: Beacon set failed: %d (%s)",