[PATCH 02/12] MLD STA: set MLO connection info to wpa_sm

Peer, Ilan ilan.peer at intel.com
Tue Sep 13 00:11:01 PDT 2022



> -----Original Message-----
> From: Hostap <hostap-bounces at lists.infradead.org> On Behalf Of
> Veerendranath Jakkam
> Sent: Thursday, August 25, 2022 08:53
> To: hostap at lists.infradead.org
> Cc: quic_vjakkam at quicinc.com
> Subject: [PATCH 02/12] MLD STA: set MLO connection info to wpa_sm
> 
> Update MLO connection info such as valid links, AP MLD address and other
> link information to wpa_sm.
> 
> Signed-off-by: Veerendranath Jakkam <quic_vjakkam at quicinc.com>
> ---
>  src/rsn_supp/wpa.c      | 23 +++++++++++++++++++++++
>  src/rsn_supp/wpa.h      | 11 +++++++++++
>  src/rsn_supp/wpa_i.h    |  7 +++++++
>  wpa_supplicant/events.c | 18 ++++++++++++++++++
>  4 files changed, 59 insertions(+)
> 
> diff --git a/src/rsn_supp/wpa.c b/src/rsn_supp/wpa.c index
> cf9b21039..a28d49225 100644
> --- a/src/rsn_supp/wpa.c
> +++ b/src/rsn_supp/wpa.c
> @@ -3277,6 +3277,29 @@ void wpa_sm_set_config(struct wpa_sm *sm,
> struct rsn_supp_config *config)  }
> 
> 
> +void wpa_sm_set_ml_params(struct wpa_sm *sm, const u8
> *ap_mld_addr,
> +			  u16 valid_links, const u8 (*link_addr)[ETH_ALEN],
> +			  const u8 (*link_bssid)[ETH_ALEN])

Better use 'const u8 *link_bssid[ETH_ALEN]. I think it would be clearer.

> +{
> +	int i;
> +
> +	if (!sm)
> +		return;
> +
> +	sm->valid_links = valid_links;
> +	if (!valid_links)
> +		return;
> +
> +	os_memcpy(sm->ap_mld_addr, ap_mld_addr, ETH_ALEN);
> +	for (i = 0; i < MAX_NUM_MLD_LINKS; i++) {
> +		if (!(valid_links & BIT(i)))
> +			continue;
> +
> +		os_memcpy(sm->links[i].addr, link_addr[i], ETH_ALEN);
> +		os_memcpy(sm->links[i].bssid, link_bssid[i], ETH_ALEN);
> +	}

You could already configure here the corresponding RSN and RSNXE elements for the links as they should be already be known
before the association. 

In addition, this needs to track negotiated links vs. setup links, as it is possible for the MLD AP to reject some of the links, in which case
It would still need to add the MLO Link KDEs for all negotiated links, but the MLO GTK/IGTK/BIGTK KDEs only for the setup links. See section 35.3.5.1 in Draft P802.11be_D2.0 for the definition of a "setup link".

Regards,

Ilan.



More information about the Hostap mailing list