Search Linux Wireless

Re: [RFC 3/6] wifi: mac80211: notify driver about per-radio monitor enabled state

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

 



On 9/17/24 01:13, Johannes Berg wrote:
On Fri, 2024-08-23 at 13:26 +0200, Felix Fietkau wrote:

On 23. Aug 2024, at 12:16, Johannes Berg <johannes@xxxxxxxxxxxxxxxx> wrote:

On Mon, 2024-08-05 at 21:23 +0200, Felix Fietkau wrote:
This allows monitoring on one or more radios while minimizing performance
impact on the others.

But why are you doing it this way? You could already solve this entirely
with the driver by setting WANT_MONITOR_VIF and dealing with that, I'd
think? At least after this series.

I generally don't like hw->conf, it just hasn't really matched reality
for years with all kinds of new concurrency capabilities. At the very
least you'd have to write more text here to convince me that we want to
add something to it ... :)

I really don’t see how WANT_MONITOR_VIF helps. It seems completely unrelated to me, since it only creates a single driver visible vif, if there are no non-monitor vifs on the phy.

Well, it's true that it only creates one towards the driver, but that
one vif can also only be bound to a single channel context, and
therefore a single radio.

If we actually want(ed) to support monitoring on different radios
simultaneously we'd have to change mac80211 quite a bit, and probably
introduce multiple virtual monitor interfaces. Internally, we _always_
have it now, to be able to bind a channel context, so we'd actually need
multiple - one for each possible parallel channel.

I definitely want to be able to sniff on the individual underlying channels,
and not have the traffic from the different underlying radios mixed (unless
specifically requesting that feature somehow).

From user-space perspective, having multiple monitor vifs seems the way
to do this, as that is how it works now.

Thanks,
Ben

So that's why I think having WANT_MONITOR_VIF helps - you can assume
today that only one chanctx can be used for monitoring, and once you
have the monitor vif in hand, you know which one it is. Therefore you
know which radio it is, and can adjust your offloads/etc. accordingly.

I want to be able to control, which radios I want to capture on, regardless of which vifs are already active on the same phy.

Sure.

A global monitor enable/disable status means that I can’t prevent monitor-incompatible offloads from being disabled on radios that I’m not monitoring on.


Yeah I'd just say don't use that state, but the presence of the monitor
vif, and you can figure out which radio it's present on.

johannes


--
Ben Greear <greearb@xxxxxxxxxxxxxxx>
Candela Technologies Inc  http://www.candelatech.com





[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