Search Linux Wireless

Re: [PATCH RFC 0/7] wifi: cfg80211/mac80211: add support to handle per link statistics of multi-link station

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

 



On 1/10/2025 3:15 PM, Johannes Berg wrote:
On Fri, 2025-01-10 at 09:54 +0530, Sarika Sharma wrote:

Current flow:

FWIW, I really would have preferred to see this discussion separately in
terms of cfg80211 and mac80211. Yes, the design phase obviously requires
both to be addressed, but once you have that I tend to think it's easier
to reason about them individually.

Sure, let me check what I can do here.


Proposed flow: (Changes in last block)

Which kind of implies that cfg80211 didn't really change in terms of the
high-level overview, but I'm not sure that's really true?


From cfg80211 still sta_set_sinfo() is called, sinfo structure is getting changed. Sure, will add about the structure change in proposed design.

  +----------------------------------------------------------+
  |                 sta_set_sinfo()                          |
  |   1. fill sinfo structure- info related to station       |
  |   2. if MLO                                              |
  |      a. call sta_set_link_sinfo() for each valid link    |
  |         i. Call mac80211 ops- .link_sta_statistics()     |
  |            to fill link_sinfo structure                  |
  |         ii. fill remaining link_sinfo structure          |
  |      b. call sta_set_mld_info()- to fill accumulated     |
  |         stats at MLO level                               |
  |   3. if non-ML                                           |
  |      a. call sta_set_link_sinfo() for deflink            |
  |         i. Call mac80211 ops - .link_sta_statistics()    |
  |            to fill deflink link_sinfo structure          |
  |         ii. fill remaining link_sinfo structure          |

And that's simply too much detail. The ASCII art is also a distraction
rather than an aid if you ask me ;-)

Sure, will move to points about the design proposed.


Alternate approach:
    - Keep sinfo structure as it is and use this for non-ML or
      accumulated statistics for ML station.
    - Add link sinfo for links with only certain link specific statistics.
    - Keep mac_op_sta_statistics at MLD level and let driver fill the
      MLO and link level data, if driver not filling let mac80211 fill
      the data.
    - Corresponding changes done to embed statistics into the NL message
      based on the sinfo/link_sinfo.

And this kind of data-structure based discussion is actually completely
missing for the proposed solution?

Sure, let me add about the structural change as well in design flow.


What about drivers that might offload link decisions and not really tell
you per-link statistics? I mean, I don't even know if such a thing
exists, but with a data structure like that you could still have it?

That is taken care, if driver is not filling the link info, mac80211 will check if it filled, if not it will be filled by mac80211.


Should mac80211 even accumulate? Why not cfg80211 accumulate over the
links? And if mac80211 keeps the removed links per link then nothing
else is even needed? Or it could pre-fill the MLD level info?

Sure, we can do the accumulation in cfg80211 instead of mac80211.


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