settings->link_id = hapd->mld_link_id;
#endif /* CONFIG_IEEE80211BE */
+#ifdef CONFIG_IEEE80211AX
+ settings->ubpr.unsol_bcast_probe_resp_tmpl =
+ hostapd_unsol_bcast_probe_resp(hapd, &settings->ubpr);
+#endif /* CONFIG_IEEE80211AX */
+
return 0;
}
ret = hostapd_drv_switch_channel(hapd, settings);
free_beacon_data(&settings->beacon_csa);
free_beacon_data(&settings->beacon_after);
+#ifdef CONFIG_IEEE80211AX
+ os_free(settings->ubpr.unsol_bcast_probe_resp_tmpl);
+#endif /* CONFIG_IEEE80211AX */
if (ret) {
/* if we failed, clean cs parameters */
* @counter_offset_presp: Offset to the count field in probe resp.
* @punct_bitmap - Preamble puncturing bitmap
* @link_id: Link ID to determine the link for MLD; -1 for non-MLD
+ * @ubpr: Unsolicited broadcast Probe Response frame data
*/
struct csa_settings {
u8 cs_count;
u16 punct_bitmap;
int link_id;
+
+ struct unsol_bcast_probe_resp ubpr;
};
/**
goto fail;
nla_nest_end(msg, beacon_csa);
+
+#ifdef CONFIG_IEEE80211AX
+ if (settings->ubpr.unsol_bcast_probe_resp_interval &&
+ nl80211_unsol_bcast_probe_resp(bss, msg, &settings->ubpr) < 0)
+ goto fail;
+#endif /* CONFIG_IEEE80211AX */
+
ret = send_and_recv_cmd(drv, msg);
if (ret) {
wpa_printf(MSG_DEBUG, "nl80211: switch_channel failed err=%d (%s)",