On 5/20/2022 4:32 AM, Johannes Berg wrote:
Hi, (Note the dependency on these three patches: https://lore.kernel.org/linux-wireless/20220519232721.af7f735316fb.I77ae111a28f7c0e9fd1ebcee7f39dbec5c606770@changeid/) This series contains initial refactoring of data structures in both cfg80211 and mac80211 for MLO support. This is likely not complete, but it serves to illustrate the future layout of data structures in the stack with MLO support. This also doesn't enable anything yet - you cannot use the link ID attribute yet since you cannot use the new ADD_LINK command, it's gated by a wiphy flag that isn't set. However, this is a stepping stone - from here, we can even consider splitting up work, e.g. separately focus on AP mode, clients with AUTH/ASSOC, and clients with CONNECT (i.e. not mac80211). The next things with this would be: 1) Look at the auth/assoc APIs, at present I'm not even certain where we do what, I guess userspace would pick the BSS entries and send them in the LINKS attribute, per link, or so, and mac80211 builds the multi-link element(s) as appropriate? 2) Look at interface combinations advertisement and tie it into this patch where appropriate; Vasanth is looking at this. 3) Try to get to a point where we can at least start the beaconing process, i.e. look at mac80211 much more and refactor data structures there. I'll probably start with (3) since at least beaconing lets me then test at least scanning for (1) and perhaps sending the association request etc. I'm aware that this leaves a number of FIXME comments in cfg80211, we'll have to fill those in as we port features to MLD one by one. We'll also have to properly implement the REMOVE_LINK command and various other bits here and there, but I think with these patches we can start working in different areas independently. johannes
Thanks Johannes, This is a great start, and looks good to me and my team! /jeff