Linux wireless drivers development
 help / color / mirror / Atom feed
From: Johannes Berg <johannes@sipsolutions.net>
To: Wen Gong <quic_wgong@quicinc.com>, linux-wireless@vger.kernel.org
Cc: ath11k@lists.infradead.org
Subject: Re: [PATCH 10/27] wifi: mac80211: isolate driver from inactive links
Date: Thu, 15 Jun 2023 09:56:55 +0200	[thread overview]
Message-ID: <c60af4eb116ed330e8035503fb7944f8853bcfa4.camel@sipsolutions.net> (raw)
In-Reply-To: <a7093d7a-0179-7b5f-cc61-a501331d35c6@quicinc.com>

On Thu, 2023-06-15 at 10:26 +0800, Wen Gong wrote:
> On 6/15/2023 2:32 AM, Johannes Berg wrote:
> > On Wed, 2023-05-24 at 15:41 +0800, Wen Gong wrote:
> > > May I add a new ops in struct ieee80211_ops? like this:
> > > 
> > > u16 active_links(struct ieee80211_hw *hw, struct ieee80211_vif vif, u16
> > > new_links)"
> > > 
> > > then ieee80211_set_vif_links_bitmaps() call the ops to get the links for
> > > station and set the sdata->vif.active_links with the return value from
> > > lower driver,
> > > it means lower driver will dynamic select the links count at this moment.
> > > 
> > > If lower driver not register ops active_links, then keep current logic.
> > > 
> > I guess you can can send patches for whatever you want :)
> > 
> > But I have no idea what you're trying to do? Why would you need to have
> > a callback?
> 
> Currently driver could use ieee80211_set_active_links_async() to active 
> links after connection completed.

Right.

> But I would like to allow driver to select active links in a early time, 
> it will be more convenient for driver.

How so? All you have to do is look for the connection becoming
authorized (e.g. sta state for the AP moving to authorized) and then
selecting the links you want. We've already been working on that, it's
really easy?

On the flip-side, it would be highly inconvenient for mac80211 to try to
enable more links *during* the association process, and actually it's
not even allowed by spec until the 4-way-HS finishes. So the earliest
possible time is pretty much when you can just do it in the driver as I
just described.

> > Was this for link selection in the driver? We should have a patch
> > somewhere that adds a BSS_CHANGE flag for when the valid links change,
> > so the driver can select others.
> > 
> > johannes
> 
> Yes, it is for link selection in driver at a early time before 
> connection completed.

This is not really allowed ... At least not without also finding ways to
really transmit the 802.1X and 4-way-HS only on the right link, etc.

> Could you tell detail about how the BSS_CHANGE flag works?😁

The work isn't complete yet, but basically it just calls the callback
whenever the valid_links changed, say by link-reconfiguration.

johannes

  reply	other threads:[~2023-06-15  7:57 UTC|newest]

Thread overview: 100+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-02 14:12 [PATCH 00/27] another set of MLO patches Johannes Berg
2022-09-02 14:12 ` [PATCH 01/27] wifi: mac80211_hwsim: remove multicast workaround Johannes Berg
2022-09-02 14:12 ` [PATCH 02/27] wifi: mac80211: remove unused arg to ieee80211_chandef_eht_oper Johannes Berg
2022-09-02 14:12 ` [PATCH 03/27] wifi: mac80211_hwsim: check STA magic in change_sta_links Johannes Berg
2022-09-02 14:12 ` [PATCH 04/27] wifi: mac80211_hwsim: refactor RX a bit Johannes Berg
2022-09-02 14:12 ` [PATCH 05/27] wifi: mac80211: move link code to a new file Johannes Berg
2022-09-02 14:12 ` [PATCH 06/27] wifi: mac80211: mlme: assign link address correctly Johannes Berg
2022-09-02 14:12 ` [PATCH 07/27] wifi: mac80211_hwsim: warn on invalid link address Johannes Berg
2022-09-02 14:12 ` [PATCH 08/27] wifi: mac80211: use correct rx link_sta instead of default Johannes Berg
2022-09-02 14:12 ` [PATCH 09/27] wifi: mac80211: make smps_mode per-link Johannes Berg
2022-09-02 14:12 ` [PATCH 10/27] wifi: mac80211: isolate driver from inactive links Johannes Berg
2022-09-08 15:23   ` Wen Gong
2022-09-08 15:36     ` Johannes Berg
2022-09-08 15:51       ` Wen Gong
2022-09-08 15:52         ` Johannes Berg
2022-09-09  4:16           ` Wen Gong
2022-09-09  7:28             ` Johannes Berg
2022-09-09  8:38               ` Wen Gong
2022-09-09  8:58               ` Wen Gong
2022-09-28 15:20                 ` Wen Gong
2022-09-28 15:28                   ` Johannes Berg
2022-10-11  4:07                     ` Wen Gong
2022-10-11  7:26                       ` Johannes Berg
2023-04-04  2:54                         ` Wen Gong
2023-04-11  7:32                           ` Johannes Berg
2023-04-17 14:07                             ` Wen Gong
2023-04-18  8:15                               ` Johannes Berg
2023-04-18  8:59                                 ` Wen Gong
2023-04-18  9:11                                   ` Johannes Berg
2023-04-18  9:22                                     ` Wen Gong
2023-04-18  9:31                                       ` Johannes Berg
2023-04-18  9:37                                         ` Wen Gong
2023-04-18  9:38                                           ` Johannes Berg
2023-04-18  9:44                                             ` Wen Gong
2023-04-18 10:18                                               ` Johannes Berg
     [not found]                                                 ` <5bd1776e-0691-d0a8-d198-e5b4ee676494@quicinc.com>
2023-04-18 10:47                                                   ` Johannes Berg
2023-04-04  3:28       ` Wen Gong
2023-04-11  7:38         ` Johannes Berg
2023-04-17 14:13           ` Wen Gong
2023-04-18  8:18             ` Johannes Berg
2023-04-18  9:27               ` Wen Gong
2023-04-18  9:34                 ` Johannes Berg
2023-04-18  9:52                   ` Wen Gong
2023-05-24  7:39                   ` Wen Gong
2023-05-24  7:41                   ` Wen Gong
2023-06-14 18:32                     ` Johannes Berg
2023-06-15  2:26                       ` Wen Gong
2023-06-15  7:56                         ` Johannes Berg [this message]
2023-06-21  7:55                           ` Wen Gong
2023-06-27 11:02                             ` Wen Gong
2023-06-30  9:32                           ` Wen Gong
2023-05-10 11:06           ` Wen Gong
2023-05-10 11:24             ` Johannes Berg
2023-05-10 12:25               ` Wen Gong
2023-05-10 12:25                 ` Johannes Berg
2022-09-02 14:12 ` [PATCH 11/27] wifi: mac80211: add ieee80211_find_sta_by_link_addrs API Johannes Berg
2022-09-02 14:12 ` [PATCH 12/27] wifi: mac80211_hwsim: skip inactive links on TX Johannes Berg
2022-09-02 14:12 ` [PATCH 13/27] wifi: mac80211_hwsim: track active STA links Johannes Berg
2022-09-02 14:12 ` [PATCH 14/27] wifi: mac80211: mlme: refactor QoS settings code Johannes Berg
2022-09-02 14:12 ` [PATCH 15/27] wifi: mac80211: extend ieee80211_nullfunc_get() for MLO Johannes Berg
2022-09-02 14:12 ` [PATCH 16/27] wifi: mac80211_hwsim: send NDP for link (de)activation Johannes Berg
2022-09-02 14:12 ` [PATCH 17/27] wifi: mac80211_hwsim: fix multi-channel handling in netlink RX Johannes Berg
2022-09-02 14:12 ` [PATCH 18/27] wifi: nl80211: add MLD address to assoc BSS entries Johannes Berg
2022-09-02 14:12 ` [PATCH 19/27] wifi: mac80211: call drv_sta_state() under sdata_lock() in reconfig Johannes Berg
2022-09-02 14:12 ` [PATCH 20/27] wifi: mac80211: add vif/sta link RCU dereference macros Johannes Berg
2022-09-02 14:12 ` [PATCH 21/27] wifi: mac80211: set up beacon timing config on links Johannes Berg
2022-09-02 14:12 ` [PATCH 22/27] wifi: mac80211: keep A-MSDU data in sta and per-link Johannes Berg
2022-09-02 14:12 ` [PATCH 23/27] wifi: mac80211: fix double SW scan stop Johannes Berg
2022-09-02 14:12 ` [PATCH 24/27] wifi: mac80211: implement link switching Johannes Berg
2023-03-25 14:33   ` Wen Gong
2023-03-27  8:31     ` Johannes Berg
2023-03-27  8:40       ` Wen Gong
2023-03-27  9:04         ` Johannes Berg
2023-03-27  9:10           ` Wen Gong
2023-03-28  7:37       ` Wen Gong
2023-03-28  7:39         ` Johannes Berg
2023-04-03 14:15           ` Wen Gong
2023-04-11 10:16             ` Johannes Berg
2023-04-03 14:21       ` Wen Gong
2023-04-11 10:18         ` Johannes Berg
2022-09-02 14:12 ` [PATCH 25/27] wifi: mac80211_hwsim: always activate all links Johannes Berg
2022-09-02 14:12 ` [PATCH 26/27] wifi: mac80211: prevent 4-addr use on MLDs Johannes Berg
2022-09-02 14:12 ` [PATCH 27/27] wifi: mac80211: prevent VLANs " Johannes Berg
2022-09-06  7:18 ` [PATCH 00/27] another set of MLO patches Wen Gong
2022-09-06  7:28   ` Johannes Berg
2022-09-06  7:58     ` Wen Gong
2022-09-06  8:03       ` Johannes Berg
2022-09-06  8:42         ` Wen Gong
2022-09-12 13:17           ` Otcheretianski, Andrei
2022-09-13  4:26             ` Wen Gong
2022-09-28 15:12             ` Wen Gong
2022-10-11  2:28               ` Wen Gong
2022-10-19 10:04                 ` wifi: hostapd:/wpa_supplicant MLO " Wen Gong
2022-10-19 13:31                   ` Otcheretianski, Andrei
2022-11-28  8:45                   ` Wen Gong
2022-11-28 14:05                     ` Otcheretianski, Andrei
2022-11-29  2:06                       ` Wen Gong
2022-11-29  6:59                         ` Otcheretianski, Andrei
2022-11-29  7:04                           ` Wen Gong
2022-09-07  3:34         ` Wen Gong

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=c60af4eb116ed330e8035503fb7944f8853bcfa4.camel@sipsolutions.net \
    --to=johannes@sipsolutions.net \
    --cc=ath11k@lists.infradead.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=quic_wgong@quicinc.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox