From: Wen Gong <quic_wgong@quicinc.com>
To: Johannes Berg <johannes@sipsolutions.net>,
<linux-wireless@vger.kernel.org>
Cc: <ath11k@lists.infradead.org>
Subject: Re: [PATCH 10/27] wifi: mac80211: isolate driver from inactive links
Date: Wed, 21 Jun 2023 15:55:06 +0800 [thread overview]
Message-ID: <b6314b61-0700-0e1c-7b39-21c305dc28b3@quicinc.com> (raw)
In-Reply-To: <c60af4eb116ed330e8035503fb7944f8853bcfa4.camel@sipsolutions.net>
On 6/15/2023 3:56 PM, Johannes Berg wrote:
> 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?
It is more complex for ath12k drivers.
>
> 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.
Yes, I also found this in section "2.7.6.1 General" of IEEE P802.11be:
"For MLO, if RSNA has not been established, each message of the 4-way
handshake shall be sent on
the same link used by the latest exchange of successful (Re)Association
Request/Response frames."
For ath12k drivers, only the primary link(the link used by the latest
exchange of successful (Re)Association
Request/Response frames) is active before key installed, so the 802.1X
and 4-way-HS will always sent on
the primary link, so it will meet the rule above of section "2.7.6.1
General".
It means: lower driver will ensure the rule when it implmented the
active_links callback such as ath12k.
>> 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
next prev parent reply other threads:[~2023-06-21 7:55 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
2023-06-21 7:55 ` Wen Gong [this message]
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=b6314b61-0700-0e1c-7b39-21c305dc28b3@quicinc.com \
--to=quic_wgong@quicinc.com \
--cc=ath11k@lists.infradead.org \
--cc=johannes@sipsolutions.net \
--cc=linux-wireless@vger.kernel.org \
/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;
as well as URLs for NNTP newsgroup(s).