]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
AP MLD/nl80211: Pass ctx in mlme_event_mgmt()
authorSriram R <quic_srirrama@quicinc.com>
Thu, 28 Mar 2024 18:16:40 +0000 (23:46 +0530)
committerJouni Malinen <j@w1.fi>
Sat, 20 Apr 2024 12:58:48 +0000 (15:58 +0300)
Pass ctx in mlme_event_mgmt(). This will help in routing the event
properly to the link BSS.

Signed-off-by: Sriram R <quic_srirrama@quicinc.com>
Signed-off-by: Aditya Kumar Singh <quic_adisi@quicinc.com>
src/ap/drv_callbacks.c
src/drivers/driver.h
src/drivers/driver_nl80211_event.c

index b45c43bb3f9b875b949158eb1ef064e5399cca97..b55168534e73482853cdf5eda6678ac148846a15 100644 (file)
@@ -1845,6 +1845,8 @@ static int hostapd_mgmt_rx(struct hostapd_data *hapd, struct rx_mgmt *rx_mgmt)
        struct hostapd_frame_info fi;
        int ret;
 
+       if (rx_mgmt->ctx)
+               hapd = rx_mgmt->ctx;
        hapd = switch_link_hapd(hapd, rx_mgmt->link_id);
        iface = hapd->iface;
 
index 09cafeb0e4bfcae99eaf6022326068f08fbf8829..628b7f181c98f4b1467217fd72c60bd468398045 100644 (file)
@@ -6355,6 +6355,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
                 */
index 143a53288abdccd7dab08cdaa8b4560dc04249d4..727565c43f1058b053a2c5f67a2ce05d7042b2cb 100644 (file)
@@ -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);