mbox series

[RFC,0/2] Add Multi-Link Reconfigure link removal support

Message ID 20240328055235.3034174-1-quic_mdharane@quicinc.com (mailing list archive)
Headers show
Series Add Multi-Link Reconfigure link removal support | expand

Message

Manish Dharanenthiran March 28, 2024, 5:52 a.m. UTC
This is a preparation for supporting Multi-Link reconfigure link removal
procedure[IEEE P802.11be/D5.0 - 35.3.6.3 Removing affiliated APs] for
driver which supports offloaded Multi-Link reconfigure link removal.

Multi-Link reconfigure link removal offloaded drivers will take care
of updating the reconfiguration MLE in self and partner beacons. It
also updates the AP removal timer automatically and notifies once the
counter is expired.

This patchset also adds mac80211 routine to support sending link
removal command from userspace to offloaded driver which accepts
reconfigure Multi-Link IE and the TBTT count for the link to be removed.

Driver (ath12k) changes that utilize this will be posted in the future
versions.

Manish Dharanenthiran (2):
  wifi: cfg80211/mac80211: Introduce nl80211 commands to support MLD
    link removal offload
  wifi: mac80211: Add support for link reconfigure removal

 include/net/cfg80211.h       |  63 ++++++++++++++++++++++
 include/net/mac80211.h       |  25 +++++++++
 include/uapi/linux/nl80211.h |  30 +++++++++++
 net/mac80211/cfg.c           |  12 +++++
 net/mac80211/driver-ops.h    |  19 +++++++
 net/mac80211/ieee80211_i.h   |   4 ++
 net/mac80211/link.c          |  40 ++++++++++++++
 net/mac80211/trace.h         |  30 +++++++++++
 net/wireless/core.h          |   2 +
 net/wireless/nl80211.c       | 101 ++++++++++++++++++++++++++++++++++-
 net/wireless/rdev-ops.h      |  17 ++++++
 net/wireless/trace.h         |  56 +++++++++++++++++++
 net/wireless/util.c          |  18 +++++++
 13 files changed, 415 insertions(+), 2 deletions(-)


base-commit: d69aef8084cc72df7b0f2583096d9b037c647ec8

Comments

Johannes Berg March 28, 2024, 6:25 p.m. UTC | #1
On Thu, 2024-03-28 at 11:22 +0530, Manish Dharanenthiran wrote:
> This is a preparation for supporting Multi-Link reconfigure link removal
> procedure[IEEE P802.11be/D5.0 - 35.3.6.3 Removing affiliated APs] for
> driver which supports offloaded Multi-Link reconfigure link removal.
> 
> Multi-Link reconfigure link removal offloaded drivers will take care
> of updating the reconfiguration MLE in self and partner beacons.

I think we need to flesh that out. I don't know if you saw the CSA
discussion, but I think it's pretty obvious that the same discussion
about partner links is going to apply here. That doesn't necessarily
mean that you _have_ to do that in this set (though I'd actually like to
see it to support hwsim, for testing purposes of both sides), but I
think the way it's written now the API doesn't consider how we might
update partner links if it's not automatically handled by firmware, etc.

johannes
Manish Dharanenthiran March 29, 2024, 5:14 p.m. UTC | #2
On 3/28/2024 11:55 PM, Johannes Berg wrote:
> On Thu, 2024-03-28 at 11:22 +0530, Manish Dharanenthiran wrote:
>> This is a preparation for supporting Multi-Link reconfigure link removal
>> procedure[IEEE P802.11be/D5.0 - 35.3.6.3 Removing affiliated APs] for
>> driver which supports offloaded Multi-Link reconfigure link removal.
>>
>> Multi-Link reconfigure link removal offloaded drivers will take care
>> of updating the reconfiguration MLE in self and partner beacons.
> 
> I think we need to flesh that out. I don't know if you saw the CSA
> discussion, but I think it's pretty obvious that the same discussion
> about partner links is going to apply here. That doesn't necessarily
> mean that you _have_ to do that in this set (though I'd actually like to
> see it to support hwsim, for testing purposes of both sides), but I
> think the way it's written now the API doesn't consider how we might
> update partner links if it's not automatically handled by firmware, etc.
> 
> johannes

Yeah, the intention for this RFC to get some insights from upstream 
community about the usage of new NL commands and attributes for driver 
which has the synchronization between partner links in the lower level.

Will try to send hwsim changes in a separate one where it handles for 
both (offload/non-offload) cases.

I believe you are referring to discussion here: 
https://lore.kernel.org/linux-wireless/f7174207668cac149246cafa0e4b4749ee3289f0.camel@sipsolutions.net/

I thought of sending these API(s) with only offloaded driver in design 
for this RFC which i will try de-couple or make it more generic while 
sending the upcoming versions.

Also, for non-offloaded there are certain API like reporting TSF might 
be redundant, since, we will do the offset and time calculation either 
in hostapd or kernel directly. We are still finding ways on how to do 
that for non-offloaded driver since this might need a similar or 
additional handling as CSA.