On 4/12/24 08:58, Ben Greear wrote:
On 4/12/24 07:31, Vasanthakumar Thiagarajan wrote:
As said, please feel free to propose an alternate solution to address the issue.
I do not know the particulars of your driver or driver's needs, but at high level:
* Leave existing wiphy mapping as is.
* Allow adding new combined wiphy(s) on top of groups of underlying physical wiphys. Sort of
like bridges on top of Eth ports.
* The combined wiphy would report underlying wiphy's capabilities (for instance, a combined wiphy on top of
3 single band phys would report itself as tri-band).
* The combined wiphy would add new netlink field listing of its underlying wiphys. User-space wanting to control the combined
wiphy would generally configure the underlying phys (to set 2.4g channel to 6, you'd set the underlying 2.4g
wiphy to channel 6)
* This should require very minimal changes to user space, except of course for new code to actually utilize
the new combined wiphy.
* MLO links and any other logic that needs the combined view would live on the combined wiphy (I understand
from Johannes' comments this is a needed feature.)
* Or user can ignore that combined wiphy entirely and directly use underlying wiphys like we use them currently
for sniffers, stations, aps, combinations thereof.
* Advanced use case could allow combined wiphy to use subset of underlying radios (add combined wiphy on 2.4 and 5g, use 6g for
dedicated mesh backhaul/whatever).
* Interesting logic would be needed to deal with constraints to properly share the underlying resources (you could not
add 16 ap bssid to 2.4 wiphy and also add 16 other ones to the combined wiphy that also uses 2.4 radio most likely,
for instance). But I think that logic has to be written
either way and is not overly worse with this approach.
I had some further thoughts on this approach:
* If someone has 2 QCA radio cards, and each radio card has 3 phys, would it be possible to have a 6-link MLO
setup?
* Could two be200 be combined into a multi-channel concurrent MLO setup with this approach?
* For multi-phy arrangements like QCA ath12k and MTK7996, I think the default configuration when the driver
loads should just be the physical phys by themselves (as mt7996, at least, does it now). This would be fully backwards compatible with
current user-space and operation. But the phys would have netlink attributes that lets user-space
know combined phys (cphys?) can be created on top of them. User-space that knows about MLO can then
create the cphy(s) as wanted and build sta/vap/whatever on top of the cphys.
* For radios like be200 that are already designed to show a single phy to userspace, they would not
need any significant change.
Thanks,
Ben
--
Ben Greear <greearb@xxxxxxxxxxxxxxx>
Candela Technologies Inc http://www.candelatech.com