[RFC PATCH 14/23] nl80211: Route MLME TX via PD wdev based on source address
Peddolla Harshavardhan Reddy
peddolla.reddy at oss.qualcomm.com
Tue Mar 31 22:27:04 PDT 2026
From: Veerendranath Jakkam <vjakkam at qti.qualcomm.com>
Use the PD i802_bss when sending MLME frames if the source address
matches a PD BSS. This ensures the frames are transmitted via the
correct wdev when a PD interface is present. When such a PD BSS is
found, update the bss used for TX and the associated link reference,
and add a debug log to indicate that the frame is routed via the PD
wdev.
Signed-off-by: Veerendranath Jakkam <vjakkam at qti.qualcomm.com>
---
src/drivers/driver_nl80211.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/src/drivers/driver_nl80211.c b/src/drivers/driver_nl80211.c
index c68f343e8..2543bc187 100644
--- a/src/drivers/driver_nl80211.c
+++ b/src/drivers/driver_nl80211.c
@@ -4952,6 +4952,7 @@ static int wpa_driver_nl80211_send_mlme(struct i802_bss *bss, const u8 *data,
int link_id)
{
struct wpa_driver_nl80211_data *drv = bss->drv;
+ struct i802_bss *pd_bss;
struct ieee80211_mgmt *mgmt;
u16 fc;
int use_cookie = 1;
@@ -4967,6 +4968,15 @@ static int wpa_driver_nl80211_send_mlme(struct i802_bss *bss, const u8 *data,
noack, freq, no_cck, offchanok, wait_time,
no_encrypt, fc, fc2str(fc), drv->nlmode);
+ pd_bss = nl80211_get_pd_bss_by_addr(drv, mgmt->sa);
+ if (pd_bss) {
+ bss = pd_bss;
+ wpa_printf(MSG_DEBUG,
+ "nl80211: send_mlme - route via PD wdev sa=" MACSTR,
+ MAC2STR(mgmt->sa));
+ link = bss->flink;
+ }
+
if ((is_sta_interface(drv->nlmode) ||
drv->nlmode == NL80211_IFTYPE_P2P_DEVICE) &&
WLAN_FC_GET_TYPE(fc) == WLAN_FC_TYPE_MGMT &&
--
2.34.1
More information about the Hostap
mailing list