From: Vasanthakumar Thiagarajan <quic_vthiagar@quicinc.com>
To: Ben Greear <greearb@candelatech.com>,
Johannes Berg <johannes@sipsolutions.net>,
Karthikeyan Periyasamy <quic_periyasa@quicinc.com>,
<ath12k@lists.infradead.org>
Cc: <linux-wireless@vger.kernel.org>
Subject: Re: [PATCH 01/13] wifi: cfg80211: Add provision to advertise multiple radio in one wiphy
Date: Fri, 12 Apr 2024 20:01:46 +0530 [thread overview]
Message-ID: <31aa6b18-8ca4-e4ce-f693-e818fc7e6932@quicinc.com> (raw)
In-Reply-To: <87de72e9-1d3b-b401-a712-9fe8734515b6@candelatech.com>
On 4/12/2024 7:38 PM, Ben Greear wrote:
> On 4/11/24 21:11, Vasanthakumar Thiagarajan wrote:
>>
>>
>> On 4/11/2024 2:33 AM, Ben Greear wrote:
>>> On 4/10/24 08:42, Johannes Berg wrote:
>>>> On Wed, 2024-04-10 at 07:37 -0700, Ben Greear wrote:
>>>>> On 4/10/24 00:56, Johannes Berg wrote:
>>>>>> On Fri, 2024-03-29 at 07:47 -0700, Ben Greear wrote:
>>>>>>> On 3/29/24 07:30, Johannes Berg wrote:
>>>>>>>> On Fri, 2024-03-29 at 19:41 +0530, Vasanthakumar Thiagarajan wrote:
>>>>>>>>>>
>>>>>>>>>>> + * @hw_chans: list of the channels supported by every constituent underlying
>>>>>>>>>>> + * hardware. Drivers abstracting multiple discrete hardware (radio) under
>>>>>>>>>>> + * one wiphy can advertise the list of channels supported by each physical
>>>>>>>>>>> + * hardware in this list. Underlying hardware specific channel list can be
>>>>>>>>>>> + * used while describing interface combination for each of them.
>>>>>>>>>>
>>>>>>>>>> I'd expect there to be a limit on channels being within a single band on
>>>>>>>>>> a single "hardware"?
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> There are ath12k hardware supporting multiple band which need to be
>>>>>>>>> registered under one mac80211_hw/wiphy. This design is to support such
>>>>>>>>> hardware.
>>>>>>>>
>>>>>>>> Oh OK, that was something that I didn't have in mind any more, or never
>>>>>>>> knew or paid attention to.
>>>>>>>
>>>>>>> Would it work to leave the phy reporting pretty much as it is now, but add
>>>>>>> a 'associated_peer_radios' list section, so that each phy could report the phys
>>>>>>> associated with it? Then user-space, driver, mac80211 etc could look up the
>>>>>>> other phys as needed to get a full picture?
>>>>>>>
>>>>>>
>>>>>> There's not really a good way to _do_ that short of creating multiple
>>>>>> wiphys, but that causes _massive_ complexity in the stack (both cfg80211
>>>>>> and mac80211) so we rejected it years ago.
>>>>>
>>>>> I thought the problem ath12k is trying to fix is that there are currently multiple
>>>>> phys (radios) that needed to be made to
>>>>> look like a single phy?
>>>>
>>>> Correct.
>>>>
>>>>> For dual and tri-concurrent radios, I think we will need them to look like 3
>>>>> individual radios for non-MLO use
>>>>> cases
>>>>
>>>> No, I don't see why, and if you want that we wouldn't support it anyway,
>>>> you'd have to have a module option or something to decide which way to
>>>> go.
>>>>
>>>> But it really ought to not be needed - the point of these patches is to
>>>> give userspace enough information to know how to (and where) to create
>>>> separate BSSes, with or without MLO between them.
>>>>
>>>>> For instance, mt7996 currently reports 3 single-band wiphys, and each can be used
>>>>> independently.
>>>>> But assuming it starts supporting MLO, then those 3 single band wiphys will need to
>>>>> start acting
>>>>> at least somewhat like a single entity
>>>>
>>>> Yes.
>>>>
>>>>> (while also concurrently being able to act as individual
>>>>> wiphys so that one can do a mix of MLO and non MLO sta/AP.)
>>>>
>>>> No.
>>>
>>> Hello Johannes,
>>>
>>> Is there any design document for the combined phy approach somewhere publicly available?
>>>
>>> It is hard to understand the over all goals by just reading patches as they show up on
>>> the public mailing lists...
>>>
>>
>> Hi Ben,
>>
>> I dont think there is a document for this composite phy approach. But we try to clarify
>> as much as possible in the commit log and kernel-doc. Pls let us know the area which
>> is more appropriate to be clarified in the path.
>>
>> Vasanth
>
> I am worried that the whole approach has problems that would be better solved with different
> architecture.
If you see a better approach, please feel free to propose one (preferably some RFC) to
solve the problem.
I understand that someone has made a decision to go with the combined
> approach,
> and I am sure they have reasons. It would be good to see some details about how this
> combined
> approach can work in lots of different use cases, including with un-modified user-space,
Unmodified user space sees all bands from same radio. I guess, driver can probably provide
some configuration knob to turn this off so that everything works a before but will not
be able to operate in MLO. Please note that, user space has to updated to get MLO
support anyway.
and
> including what changes *are* required in user-space to keep current features and control
> working
> with combined wiphy approach.
>
> My over-all concerns are that I feel user-space is still going to need to understand the
> individual
> underlying phys and be able to read/modify them individually. Older radios will continue
> to have single phy
> mappings, so that must be supported pretty much forever. So it seems there is going to be
> a huge amount
> of duplicated code up and down the stack and user-space.
>
Not sure why there should be any duplication, perhaps when corresponding user space
(hostapd) changes will clarify most of these concerns.
> Having your team grind on a large patch set that turns out to have fundamental flaws would be
> a huge waste of time for all involved.
>
As said, please feel free to propose an alternate solution to address the issue.
Vasanth
next prev parent reply other threads:[~2024-04-12 14:32 UTC|newest]
Thread overview: 85+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-03-28 7:29 [PATCH 00/13] wifi: Add multi physical hardware iface combination support Karthikeyan Periyasamy
2024-03-28 7:29 ` [PATCH 01/13] wifi: cfg80211: Add provision to advertise multiple radio in one wiphy Karthikeyan Periyasamy
2024-03-28 7:46 ` Johannes Berg
2024-03-29 14:11 ` Vasanthakumar Thiagarajan
2024-03-29 14:30 ` Johannes Berg
2024-03-29 14:47 ` Ben Greear
2024-04-10 7:56 ` Johannes Berg
2024-04-10 14:37 ` Ben Greear
2024-04-10 15:42 ` Johannes Berg
2024-04-10 16:23 ` Ben Greear
2024-04-10 16:43 ` Jeff Johnson
2024-04-10 18:08 ` Maxime Bizon
2024-04-11 16:26 ` Vasanthakumar Thiagarajan
2024-04-11 16:39 ` Maxime Bizon
2024-04-12 3:50 ` Vasanthakumar Thiagarajan
2024-04-12 7:38 ` Nicolas Escande
2024-04-12 8:01 ` Vasanthakumar Thiagarajan
2024-04-12 12:00 ` James Dutton
2024-04-12 14:39 ` Vasanthakumar Thiagarajan
2024-04-10 18:01 ` Maxime Bizon
2024-04-10 21:03 ` Ben Greear
2024-04-12 4:11 ` Vasanthakumar Thiagarajan
2024-04-12 14:08 ` Ben Greear
2024-04-12 14:31 ` Vasanthakumar Thiagarajan [this message]
2024-04-12 15:58 ` Ben Greear
2024-04-13 15:40 ` Ben Greear
2024-04-14 16:02 ` Vasanthakumar Thiagarajan
2024-04-15 13:59 ` Ben Greear
2024-04-14 15:52 ` Vasanthakumar Thiagarajan
2024-04-15 13:53 ` Ben Greear
2024-04-01 4:19 ` Karthikeyan Periyasamy
2024-04-10 9:08 ` Karthikeyan Periyasamy
2024-04-10 9:09 ` Johannes Berg
2024-04-10 9:15 ` Karthikeyan Periyasamy
2024-03-28 7:29 ` [PATCH 02/13] wifi: nl80211: send underlying multi-hardware channel capabilities to user space Karthikeyan Periyasamy
2024-03-28 7:49 ` Johannes Berg
2024-03-28 10:18 ` Karthikeyan Periyasamy
2024-03-28 12:01 ` Johannes Berg
2024-03-28 15:10 ` Karthikeyan Periyasamy
2024-03-28 16:09 ` Johannes Berg
2024-03-28 16:14 ` Jeff Johnson
2024-03-28 16:17 ` Jeff Johnson
2024-03-28 16:17 ` Johannes Berg
2024-03-28 16:18 ` Johannes Berg
2024-03-28 18:49 ` Jakub Kicinski
2024-03-28 18:53 ` Johannes Berg
2024-03-28 18:57 ` Jakub Kicinski
2024-03-28 19:32 ` Johannes Berg
2024-03-29 14:21 ` Vasanthakumar Thiagarajan
2024-04-10 7:59 ` Johannes Berg
2024-04-10 16:52 ` Jeff Johnson
2024-03-28 7:29 ` [PATCH 03/13] wifi: cfg80211: Refactor the interface combination limit check Karthikeyan Periyasamy
2024-03-28 7:29 ` [PATCH 04/13] wifi: cfg80211/mac80211: extend iface comb advertisement for multi-hardware dev Karthikeyan Periyasamy
2024-03-28 13:22 ` Johannes Berg
2024-04-01 9:56 ` Karthikeyan Periyasamy
2024-03-28 7:29 ` [PATCH 05/13] wifi: nl80211: Refactor the interface combination limit check Karthikeyan Periyasamy
2024-03-28 7:29 ` [PATCH 06/13] wifi: nl80211: send iface combination to user space in multi-hardware wiphy Karthikeyan Periyasamy
2024-03-28 13:33 ` Johannes Berg
2024-03-28 16:19 ` Jeff Johnson
2024-03-29 14:34 ` Vasanthakumar Thiagarajan
2024-04-10 4:10 ` Karthikeyan Periyasamy
2024-04-10 6:59 ` Johannes Berg
2024-04-12 5:27 ` Karthikeyan Periyasamy
2024-04-12 5:45 ` Karthikeyan Periyasamy
2024-04-15 14:27 ` Johannes Berg
2024-04-15 15:57 ` Karthikeyan Periyasamy
2024-03-28 7:29 ` [PATCH 07/13] wifi: cfg80211/mac80211: Refactor iface comb iterate callback for multi-hardware dev Karthikeyan Periyasamy
2024-03-28 13:36 ` Johannes Berg
2024-03-28 7:29 ` [PATCH 08/13] wifi: cfg80211: Refactor the iface combination iteration helper function Karthikeyan Periyasamy
2024-03-28 13:43 ` Johannes Berg
2024-04-02 16:35 ` Karthikeyan Periyasamy
2024-03-28 7:29 ` [PATCH 09/13] wifi: cfg80211: Add multi-hardware iface combination support Karthikeyan Periyasamy
2024-03-28 14:16 ` Johannes Berg
2024-04-03 9:58 ` Karthikeyan Periyasamy
2024-03-28 7:29 ` [PATCH 10/13] wifi: mac80211: expose channel context helper function Karthikeyan Periyasamy
2024-03-28 7:29 ` [PATCH 11/13] wifi: mac80211: Add multi-hardware support in the iface comb helper Karthikeyan Periyasamy
2024-03-28 14:41 ` Johannes Berg
2024-03-28 16:39 ` Jeff Johnson
2024-04-23 16:01 ` Karthikeyan Periyasamy
2024-03-28 7:29 ` [PATCH 12/13] wifi: ath12k: Introduce iface combination cleanup helper Karthikeyan Periyasamy
2024-03-28 7:29 ` [PATCH 13/13] wifi: ath12k: Advertise multi hardware iface combination Karthikeyan Periyasamy
2024-03-28 23:42 ` kernel test robot
2024-05-22 14:55 ` [PATCH 00/13] wifi: Add multi physical hardware iface combination support Felix Fietkau
2024-05-23 16:41 ` Johannes Berg
2024-05-27 6:58 ` Aditya Kumar Singh
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=31aa6b18-8ca4-e4ce-f693-e818fc7e6932@quicinc.com \
--to=quic_vthiagar@quicinc.com \
--cc=ath12k@lists.infradead.org \
--cc=greearb@candelatech.com \
--cc=johannes@sipsolutions.net \
--cc=linux-wireless@vger.kernel.org \
--cc=quic_periyasa@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