Search Linux Wireless

Re: [PATCH 10/27] wifi: mac80211: isolate driver from inactive links

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 9/8/2022 11:52 PM, Johannes Berg wrote:
On Thu, 2022-09-08 at 23:51 +0800, Wen Gong wrote:
Another thing is what is the local MLD addr and local primary link(send
authentication/assoc requset) addr relation?
I think they are same address for station, right?
No, they aren't, and shouldn't be.
IEEE P802.11be™/D2.0
35.3.3 Multi-link device addressing
An MLD has an MLD MAC address that singly identifies the MLD.
Each STA affiliated with an MLD shall have a different MAC address.
NOTE 1—The MLD MAC address of an MLD might be the same as the MAC address of one affiliated STA or different
from the MAC address of any affiliated STA.

This means the MLD address can be same with one link.

I suggest to set primary link local addr same with MLD address for station.
reason is:
When station up, one link interface of driver will be created with the addr of struct ieee80211_vif,
it is used for scan and non-MLO connection.
If station start to do MLO connection now, then random local link addr will be generated by below call stack. for the 1st link. This lead driver must change the link interface local address to this random addr. After disconnect MLO connection, driver also need to change the link interface local address back to addr of struct ieee80211_vif. It increased the complexity and driver need to sync the link interface
if this is a scan running at this moment.

ieee80211_mgd_auth()
    ->ieee80211_prep_connection()
        ->ieee80211_vif_set_links()
            ->ieee80211_vif_update_links()
                ->ieee80211_link_setup()
                    ->ieee80211_mgd_setup_link()
eth_random_addr(link->conf->addr);//sdata->u.mgd.assoc_data is null at this point
And the others local link address is random generated by eth_random_addr
in ieee80211_mgd_assoc() , right?
Yes, at least for now all the link addresses are randomly generated.

johannes




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux