[PATCH v2 05/17] MLD STA: set MLO connection info to wpa_sm

Veerendranath Jakkam quic_vjakkam at quicinc.com
Sun Oct 16 06:00:22 PDT 2022


On 10/3/2022 5:59 PM, Peer, Ilan wrote:
>
>> +
>> +		ie = mlo->links[i].ap_rsne;
>> +		len = mlo->links[i].ap_rsne_len;
>> +		os_free(sm->mlo.links[i].ap_rsne);
>> +		if (ie == NULL || len == 0) {
> I think I asked this before: I do not think that it is valid to have an MLD connection without RSN.

the RSNE mandate check is done before calling this API in 
wpa_sm_set_ml_info()

Here looping through all the link indexes to make sure previously 
allocated per link RSNE/RSNXE info is freed.

>
>> +			wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG,
>> +				"WPA: clearing MLO link[%u] AP RSNE", i);
>> +			sm->mlo.links[i].ap_rsne = NULL;
>> +			sm->mlo.links[i].ap_rsne_len = 0;
> This can be done unconditionally (also for the rsnxe).

I think it's fine to skip this for the links with valid IEs since we 
anyway going to set them in else part

>
>> +	for (i = 0; i < MAX_NUM_MLD_LINKS; i++) {
>> +		struct wpa_bss *bss;
>> +
>> +		if (!(mlo.req_links & BIT(i)))
>> +			continue;
>> +
>> +		if (mlo.setup_links & BIT(i)) {
>> +			bss = wpa_s->links[i].bss;
>> +		} else {
>> +			bss = wpa_supplicant_get_new_bss(wpa_s,
>> +							 resp_links.addr[i]);
>> +			if (!bss) {
>> +
> Since setup links should be subset of requested links, why not use 'bss = wpa_s->links[i].bss' as well?

"wpa_s->links" only caching setup links info. requested links info 
needed only in wpa_sm till EAPOL completed. So, I think it's fine to 
maintain just setup links info in "wpa_s"


I will fix remaining comments in v3 series. Thanks.

- veeru




More information about the Hostap mailing list