On 9/8/2022 11:36 PM, Johannes Berg wrote:
On Thu, 2022-09-08 at 23:23 +0800, Wen Gong wrote:
Now I found it only active the primay link(the link for
authentication/assoc request) in my station MLO test,
Yes, that's intentional. It gives the driver choice about which links to
activate; first of all because we don't have interface/link combinations
stuff yet (waiting for your side on that), and secondly because we might
very well (want to) negotiate more links than we can concurrently have
active, e.g. a NIC that can have two active might still want to
negotiate four and switch dynamically.
change_vif_links of struct ieee80211_ops *ops of driver will only be
called one time for the primary link.
Correct.
it means only one link for MLO.
Right.
I plan to revert this patch in my local test now.
Will you implement muti-links later?
Yes. I have patches pending to add API that the driver can call to pick
the active links (as a bitmap).
I'll send it out when I can, likely tomorrow.
johannes
The patches should be "wifi: mac80211: implement link switching" for
ieee80211_set_active_links().
May I also add a field such as "u16 active_links_count" in struct
wiphy_iftype_ext_capab,
and add logic in function ieee80211_set_vif_links_bitmaps() for station
like this ?:
if (active_links_count && hweight16(links) <= active_links_count)
then sdata->vif.active_links = links;