linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Johannes Berg <johannes@sipsolutions.net>
To: Michal Kazior <michal.kazior@tieto.com>
Cc: linux-wireless@vger.kernel.org, Bing Zhao <bzhao@marvell.com>,
	Kalle Valo <kvalo@adurom.com>
Subject: Re: [RFC 07/14] cfg80211: track monitor interfaces count
Date: Wed, 06 Jun 2012 11:10:24 +0200	[thread overview]
Message-ID: <1338973824.4513.42.camel@jlt3.sipsolutions.net> (raw)
In-Reply-To: <1338203942-5667-8-git-send-email-michal.kazior@tieto.com>

On Mon, 2012-05-28 at 13:18 +0200, Michal Kazior wrote:
> Implements .set_monitor_enabled(wiphy, enabled).
> 
> Notifies driver upon change of interface layout.
> 
> If only monitor interfaces become present it is
> called with 2nd argument being true. If
> non-monitor interface appears then 2nd argument
> is false. Driver is notified only upon change.
> 
> This makes it more obvious about the fact that
> cfg80211 supports single monitor channel. Once we
> implement multi-channel we don't want to allow
> setting monitor channel while other interface
> types are running. Otherwise it would be ambiguous
> once we start considering num_different_channels.
> 
> Change-Id: Ibd82a70c256c2de584eb541ea2c36663a59f09d4
> Signed-off-by: Michal Kazior <michal.kazior@tieto.com>

This is essentially how mac80211 behaves now, and I have no problem
imposing it on the rest of the stack as well, but I think we can
probably get rid of some more generic functionality then?

Like the software_iftypes. What if the driver actually wants us to track
the monitor channel like any other context? Doesn't make any sense for
mac80211, but before this it would have been possible.

Essentially you're saying that monitor is always a software iftype, and
that it should always behave like in mac80211 -- if it's alone then it's
a monitor, if not alone it just sees what the others see.

What do the others thing? Bing? Kalle?

The other thing we might then want to is make this more general and not
just inform the driver about the monitor/no-monitor layout change, but
also tell it which interface combination we're in right now? Might look
a bit more like

set_iface_combination(wiphy, dev, combination);

or even
set_iface_combination(wiphy, dev, combination, have_monitor);


Then pure monitor would be "combination == NULL, have_monitor=True",
etc. The only downside is that we don't have combinations advertised for
when there's a single interface only, so we'd have to point to some
internal single-interface combinations then (static in cfg80211).
Thoughts?

johannes



  parent reply	other threads:[~2012-06-06  9:10 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-05-28 11:18 [RFC] multi-channel work Michal Kazior
2012-05-28 11:18 ` [RFC 01/14] cfg80211: respect intf combinations for 1 interface Michal Kazior
2012-06-06  8:51   ` Johannes Berg
2012-06-06  8:56     ` Michal Kazior
2012-06-06  9:02       ` Johannes Berg
2012-05-28 11:18 ` [RFC 02/14] cfg80211: check iface combinations only when intf is running Michal Kazior
2012-06-06  8:52   ` Johannes Berg
2012-05-28 11:18 ` [RFC 03/14] cfg80211: introduce cfg80211_stop_ap Michal Kazior
2012-06-06  8:54   ` Johannes Berg
2012-05-28 11:18 ` [RFC 04/14] cfg80211: .stop_ap when interface is going down Michal Kazior
2012-06-06  8:54   ` Johannes Berg
2012-05-28 11:18 ` [RFC 05/14] cfg80211: add channel tracking for AP and mesh Michal Kazior
2012-06-06  8:55   ` Johannes Berg
2012-05-28 11:18 ` [RFC 06/14] cfg80211: introduce cfg80211_get_used_channel Michal Kazior
2012-06-06  8:57   ` Johannes Berg
2012-05-28 11:18 ` [RFC 07/14] cfg80211: track monitor interfaces count Michal Kazior
2012-05-29 14:13   ` Eliad Peller
2012-06-06  9:10   ` Johannes Berg [this message]
2012-06-06 11:40     ` Michal Kazior
2012-06-06 11:53       ` Johannes Berg
2012-06-07  2:46     ` Bing Zhao
2012-05-28 11:18 ` [RFC 08/14] mac80211: refactor virtual monitor code Michal Kazior
2012-06-06  8:58   ` Johannes Berg
2012-06-06  8:59     ` Johannes Berg
2012-06-06  9:11   ` Johannes Berg
2012-05-28 11:18 ` [RFC 09/14] cfg80211: refuse to .set_monitor_channel when non-monitors are present Michal Kazior
2012-06-06  9:11   ` Johannes Berg
2012-05-28 11:18 ` [RFC 10/14] cfg80211: track monitor channel Michal Kazior
2012-06-06  9:13   ` Johannes Berg
2012-05-28 11:18 ` [RFC 11/14] cfg80211/mac80211: remove .get_channel Michal Kazior
2012-06-06  9:14   ` Johannes Berg
2012-05-28 11:19 ` [RFC 12/14] cfg80211: move devlist locking out of can_change_interface Michal Kazior
2012-05-28 11:19 ` [RFC 13/14] cfg80211: extend combination checking to consider channels Michal Kazior
2012-05-29 14:21   ` Eliad Peller
2012-06-06  9:18   ` Johannes Berg
2012-05-28 11:19 ` [RFC 14/14] cfg80211: respect iface combinations when starting operation Michal Kazior
2012-05-29 14:52   ` Eliad Peller
2012-06-06  9:20   ` Johannes Berg
2012-05-29  7:04 ` [RFC] multi-channel work Johannes Berg
2012-05-29  7:09   ` Michal Kazior
2012-06-06  9:22 ` Johannes Berg

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=1338973824.4513.42.camel@jlt3.sipsolutions.net \
    --to=johannes@sipsolutions.net \
    --cc=bzhao@marvell.com \
    --cc=kvalo@adurom.com \
    --cc=linux-wireless@vger.kernel.org \
    --cc=michal.kazior@tieto.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;
as well as URLs for NNTP newsgroup(s).