[PATCH 10/22] hostapd: MLO: pass ctx in mlme_event_mgmt()
Aditya Kumar Singh
quic_adisi at quicinc.com
Thu Mar 28 11:16:40 PDT 2024
From: Sriram R <quic_srirrama at quicinc.com>
Add support to pass ctx in mlme_event_mgmt(). This will help in to route
the event properly to link BSS.
Signed-off-by: Sriram R <quic_srirrama at quicinc.com>
Signed-off-by: Aditya Kumar Singh <quic_adisi at quicinc.com>
---
src/ap/drv_callbacks.c | 2 +-
src/drivers/driver.h | 8 ++++++++
src/drivers/driver_nl80211_event.c | 1 +
3 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/src/ap/drv_callbacks.c b/src/ap/drv_callbacks.c
index adac2d478c2a..3b24aa4f442a 100644
--- a/src/ap/drv_callbacks.c
+++ b/src/ap/drv_callbacks.c
@@ -1810,8 +1810,8 @@ static int hostapd_mgmt_rx(struct hostapd_data *hapd, struct rx_mgmt *rx_mgmt)
const u8 *bssid;
struct hostapd_frame_info fi;
int ret;
- bool is_mld = false;
+ hapd = rx_mgmt->ctx ? rx_mgmt->ctx : hapd;
hapd = switch_link_hapd(hapd, rx_mgmt->link_id);
iface = hapd->iface;
diff --git a/src/drivers/driver.h b/src/drivers/driver.h
index d67c949b65c2..a7455ef6e430 100644
--- a/src/drivers/driver.h
+++ b/src/drivers/driver.h
@@ -6345,6 +6345,14 @@ union wpa_event_data {
*/
void *drv_priv;
+ /**
+ * ctx - Pointer to store ctx of private BSS information
+ *
+ * If not set to NULL, this is used for forwarding the packet
+ * to right link BSS of ML BSS.
+ */
+ void *ctx;
+
/**
* freq - Frequency (in MHz) on which the frame was received
*/
diff --git a/src/drivers/driver_nl80211_event.c b/src/drivers/driver_nl80211_event.c
index 51b27bd5e79d..1ca8b5bcef29 100644
--- a/src/drivers/driver_nl80211_event.c
+++ b/src/drivers/driver_nl80211_event.c
@@ -1367,6 +1367,7 @@ static void mlme_event_mgmt(struct i802_bss *bss,
event.rx_mgmt.frame_len = len;
event.rx_mgmt.ssi_signal = ssi_signal;
event.rx_mgmt.drv_priv = bss;
+ event.rx_mgmt.ctx = bss->ctx;
event.rx_mgmt.link_id = link_id;
wpa_supplicant_event(drv->ctx, EVENT_RX_MGMT, &event);
--
2.25.1
More information about the Hostap
mailing list