[PATCH 10/12] MLD STA: Use AP MLD address as destination for 4WHS EAPOL frames

Veerendranath Jakkam quic_vjakkam at quicinc.com
Wed Aug 24 22:53:09 PDT 2022


Use AP MLD address as destination address for EAPOL Four-Way handshake
frames since authenticator/supplicant are operates above MLD. Driver/FW
will use RA/TA based on the link used for transmitting the EAPOL frames.

Signed-off-by: Veerendranath Jakkam <quic_vjakkam at quicinc.com>
---
 src/rsn_supp/wpa.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/rsn_supp/wpa.c b/src/rsn_supp/wpa.c
index 9a4e0ebee..4c0d05c7e 100644
--- a/src/rsn_supp/wpa.c
+++ b/src/rsn_supp/wpa.c
@@ -743,6 +743,8 @@ static void wpa_supplicant_process_1_of_4(struct wpa_sm *sm,
 	u8 *kde, *kde_buf = NULL;
 	size_t kde_len;
 	size_t mlo_kde_len = 0;
+	const unsigned char *dst = sm->valid_links ?
+				   sm->ap_mld_addr : sm->bssid;
 
 	if (encrypted == FRAME_NOT_ENCRYPTED && sm->tk_set &&
 	    wpa_sm_pmf_enabled(sm)) {
@@ -931,7 +933,7 @@ static void wpa_supplicant_process_1_of_4(struct wpa_sm *sm,
 		kde_len = pos - kde;
 	}
 
-	if (wpa_supplicant_send_2_of_4(sm, sm->bssid, key, ver, sm->snonce,
+	if (wpa_supplicant_send_2_of_4(sm, dst, key, ver, sm->snonce,
 				       kde, kde_len, ptk) < 0)
 		goto failed;
 
@@ -2313,7 +2315,7 @@ static void wpa_supplicant_process_mlo_3_of_4(struct wpa_sm *sm,
 	}
 #endif /* CONFIG_OCV */
 
-	if (wpa_supplicant_send_4_of_4(sm, sm->bssid, key, ver, key_info,
+	if (wpa_supplicant_send_4_of_4(sm, sm->ap_mld_addr, key, ver, key_info,
 				       &sm->ptk) < 0)
 		goto failed;
 
-- 
2.25.1




More information about the Hostap mailing list