mbox series

[0/4] initial interface-related MLO work

Message ID 20220520113242.129546-1-johannes@sipsolutions.net
Headers show
Series initial interface-related MLO work | expand

Message

Johannes Berg May 20, 2022, 11:32 a.m. UTC
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

Comments

Jeff Johnson May 31, 2022, 4:31 p.m. UTC | #1
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
Johannes Berg May 31, 2022, 4:33 p.m. UTC | #2
On Tue, 2022-05-31 at 09:31 -0700, Jeff Johnson wrote:
> 
> Thanks Johannes,
> This is a great start, and looks good to me and my team!
> 

Awesome, thanks for taking a look!

I should note that I've got WAY more stuff brewing in the MLD branch:

https://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless-next.git/log/?h=mld

so I guess I should send that out soon ...

johannes
Jeff Johnson May 31, 2022, 9:54 p.m. UTC | #3
On 5/31/2022 9:33 AM, Johannes Berg wrote:
> On Tue, 2022-05-31 at 09:31 -0700, Jeff Johnson wrote:
>>
>> Thanks Johannes,
>> This is a great start, and looks good to me and my team!
>>
> 
> Awesome, thanks for taking a look!
> 
> I should note that I've got WAY more stuff brewing in the MLD branch:
> 
> https://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless-next.git/log/?h=mld
> 
> so I guess I should send that out soon ...

Yes, please :)