wlan-ap-Telecominfraproject/feeds/qca/hostapd/patches/r04-002-02-hostapd-unsolicited-broadcast-Probe-response-during-.patch
John Crispin 008ca9618d
Some checks failed
Build OpenWrt/uCentral images / build (cig_wf186h) (push) Has been cancelled
Build OpenWrt/uCentral images / build (cig_wf186w) (push) Has been cancelled
Build OpenWrt/uCentral images / build (cig_wf188n) (push) Has been cancelled
Build OpenWrt/uCentral images / build (cig_wf189) (push) Has been cancelled
Build OpenWrt/uCentral images / build (cig_wf196) (push) Has been cancelled
Build OpenWrt/uCentral images / build (cybertan_eww631-a1) (push) Has been cancelled
Build OpenWrt/uCentral images / build (cybertan_eww631-b1) (push) Has been cancelled
Build OpenWrt/uCentral images / build (edgecore_eap101) (push) Has been cancelled
Build OpenWrt/uCentral images / build (edgecore_eap102) (push) Has been cancelled
Build OpenWrt/uCentral images / build (edgecore_eap104) (push) Has been cancelled
Build OpenWrt/uCentral images / build (edgecore_eap105) (push) Has been cancelled
Build OpenWrt/uCentral images / build (edgecore_eap111) (push) Has been cancelled
Build OpenWrt/uCentral images / build (edgecore_eap112) (push) Has been cancelled
Build OpenWrt/uCentral images / build (edgecore_oap101) (push) Has been cancelled
Build OpenWrt/uCentral images / build (edgecore_oap101-6e) (push) Has been cancelled
Build OpenWrt/uCentral images / build (edgecore_oap101e) (push) Has been cancelled
Build OpenWrt/uCentral images / build (edgecore_oap101e-6e) (push) Has been cancelled
Build OpenWrt/uCentral images / build (hfcl_ion4x) (push) Has been cancelled
Build OpenWrt/uCentral images / build (hfcl_ion4x_2) (push) Has been cancelled
Build OpenWrt/uCentral images / build (hfcl_ion4x_3) (push) Has been cancelled
Build OpenWrt/uCentral images / build (hfcl_ion4x_w) (push) Has been cancelled
Build OpenWrt/uCentral images / build (hfcl_ion4xe) (push) Has been cancelled
Build OpenWrt/uCentral images / build (hfcl_ion4xi) (push) Has been cancelled
Build OpenWrt/uCentral images / build (hfcl_ion4xi_w) (push) Has been cancelled
Build OpenWrt/uCentral images / build (indio_um-305ax) (push) Has been cancelled
Build OpenWrt/uCentral images / build (sercomm_ap72tip) (push) Has been cancelled
Build OpenWrt/uCentral images / build (sonicfi_rap630c-311g) (push) Has been cancelled
Build OpenWrt/uCentral images / build (sonicfi_rap630w-211g) (push) Has been cancelled
Build OpenWrt/uCentral images / build (sonicfi_rap630w-311g) (push) Has been cancelled
Build OpenWrt/uCentral images / build (udaya_a6-id2) (push) Has been cancelled
Build OpenWrt/uCentral images / build (udaya_a6-od2) (push) Has been cancelled
Build OpenWrt/uCentral images / build (wallys_dr5018) (push) Has been cancelled
Build OpenWrt/uCentral images / build (wallys_dr6018) (push) Has been cancelled
Build OpenWrt/uCentral images / build (wallys_dr6018-v4) (push) Has been cancelled
Build OpenWrt/uCentral images / build (yuncore_ax820) (push) Has been cancelled
Build OpenWrt/uCentral images / build (yuncore_ax840) (push) Has been cancelled
Build OpenWrt/uCentral images / build (yuncore_fap640) (push) Has been cancelled
Build OpenWrt/uCentral images / build (yuncore_fap650) (push) Has been cancelled
Build OpenWrt/uCentral images / build (yuncore_fap655) (push) Has been cancelled
Build OpenWrt/uCentral images / trigger-testing (push) Has been cancelled
Build OpenWrt/uCentral images / create-x64_vm-ami (push) Has been cancelled
ipq95xx: import ath12.4-cs kernel and drivers
Signed-off-by: John Crispin <john@phrozen.org>
2024-10-20 09:25:13 +02:00

82 lines
2.9 KiB
Diff

From 9e4e5929284051e82f990bb3ffba80a8418001b5 Mon Sep 17 00:00:00 2001
From: Yuvarani V <quic_yuvarani@quicinc.com>
Date: Wed, 22 Nov 2023 14:46:38 +0530
Subject: [PATCH] hostapd: unsolicited broadcast Probe response during CCA.
During color change announcement, if the unsol_bcast_presp interval is set,
then generate and send unsolicited broadcast Probe Response Frame to
driver to update the probe response template.
Signed-off-by: Rathees Kumar R Chinannan <quic_rrchinan@quicinc.com>
Signed-off-by: Yuvarani V <quic_yuvarani@quicinc.com>
---
hostapd/ctrl_iface.c | 6 ++++++
src/ap/hostapd.c | 2 ++
src/drivers/driver.h | 2 ++
src/drivers/driver_nl80211.c | 5 +++++
4 files changed, 15 insertions(+)
--- a/hostapd/ctrl_iface.c
+++ b/hostapd/ctrl_iface.c
@@ -2805,6 +2805,8 @@ static int hostapd_ctrl_iface_color_chan
if (hostapd_fill_cca_settings(bss, &settings)) {
wpa_printf(MSG_DEBUG, "hostapd fill cca settings failed for color: %d\n", color);
hostapd_cleanup_cca_params(bss);
+ if (settings.ubpr.unsol_bcast_probe_resp_tmpl)
+ os_free(settings.ubpr.unsol_bcast_probe_resp_tmpl);
continue;
}
@@ -2812,6 +2814,8 @@ static int hostapd_ctrl_iface_color_chan
ret = hostapd_drv_switch_color(bss, &settings);
free_beacon_data(&settings.beacon_cca);
free_beacon_data(&settings.beacon_after);
+ if (settings.ubpr.unsol_bcast_probe_resp_tmpl)
+ os_free(settings.ubpr.unsol_bcast_probe_resp_tmpl);
if (ret)
hostapd_cleanup_cca_params(bss);
--- a/src/ap/hostapd.c
+++ b/src/ap/hostapd.c
@@ -4629,6 +4629,8 @@ int hostapd_fill_cca_settings(struct hos
free_beacon_data(&settings->beacon_after);
return ret;
}
+ settings->ubpr.unsol_bcast_probe_resp_tmpl =
+ hostapd_unsol_bcast_probe_resp(hapd, &settings->ubpr);
settings->counter_offset_beacon = hapd->cca_c_off_beacon;
settings->counter_offset_presp = hapd->cca_c_off_proberesp;
--- a/src/drivers/driver.h
+++ b/src/drivers/driver.h
@@ -2815,6 +2815,7 @@ struct csa_settings {
* @beacon_after: Next Beacon/Probe Response/(Re)Association Response frame info
* @counter_offset_beacon: Offset to the count field in Beacon frame tail
* @counter_offset_presp: Offset to the count field in Probe Response frame
+ * @ubpr: unsolicited Probe Response frame
*/
struct cca_settings {
u8 cca_count;
@@ -2825,6 +2826,7 @@ struct cca_settings {
u16 counter_offset_beacon;
u16 counter_offset_presp;
+ struct unsol_bcast_probe_resp ubpr;
/**
* link_id: If >=0 indicates the link of the AP MLD to configure
--- a/src/drivers/driver_nl80211.c
+++ b/src/drivers/driver_nl80211.c
@@ -11408,6 +11408,11 @@ static int nl80211_switch_color(void *pr
return -1;
}
}
+ if (settings->ubpr.unsol_bcast_probe_resp_interval &&
+ nl80211_unsol_bcast_probe_resp(bss, msg, &settings->ubpr) < 0) {
+ ret = -ENOBUFS;
+ goto error;
+ }
ret = send_and_recv_msgs(drv, msg, NULL, NULL, NULL, NULL);
if (ret) {