linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Arend van Spriel" <arend@broadcom.com>
To: "Jouni Malinen" <j@w1.fi>
Cc: "Undekari, Sunil Dutt" <usdutt@qti.qualcomm.com>,
	"Johannes Berg" <johannes@sipsolutions.net>,
	"linux-wireless@vger.kernel.org" <linux-wireless@vger.kernel.org>,
	"Dan Williams" <dcbw@redhat.com>
Subject: Re: [PATCH] cfg80211: Introduce critical protocol indication for p2p connection.
Date: Sat, 2 Nov 2013 11:37:16 +0100	[thread overview]
Message-ID: <5274D5DC.1090508@broadcom.com> (raw)
In-Reply-To: <20131102073319.GA3507@w1.fi>

On 11/02/13 08:33, Jouni Malinen wrote:
> On Fri, Nov 01, 2013 at 02:07:16PM +0100, Arend van Spriel wrote:
>> On 11/01/2013 12:25 PM, Undekari, Sunil Dutt wrote:
>>> The host driver / firmware performs (initiates) a scan on the STA interface in the process of finding a better BSS to roam. This scan is offloaded to the driver / firmware for a better roam experience.
>>> This scans would definitely affect the p2p connection triggered by the supplicant.
>>> Thus, I was suggesting a way to extend the already existing critical protocol indications to also include p2p protocol/connections, so that drivers can defer the scan's (any off channel operations for that matter) on any other interface during this period.
>>
>> I got that. What I meant to say is that you can defer the roaming
>> related scans when cfg80211 does a .add_virtual_intf() call to the
>> driver and recommence upon .del_virtual_intf(). I guess this
>> effectively disables roaming, right?
>
> That sounds quite excessive. The case here is a multi-channel
> concurrency capable device which has a station connection and
> wpa_supplicant is about to go through P2P group formation. I see no
> reason to disable roaming, but it would sound useful to avoid doing the
> background scans for that at the exact time of the group formation
> (couple of seconds in most cases).

This is why I was asking for a more detailed usage scenario. Sunil only 
mentioned the term "P2P connection" which seemed to coarse for this API. 
So if we are talking about P2P group formation it makes sense.

> Currently, there is no way for wpa_supplicant to clearly indicate to the
> driver that it is about to run through number of quick operations
> (offchannel Action frame exchange for GO Negotiation, single channel
> scan, WPS association + EAPOL exchange, data connection association +
> 4-way handshake). The driver can guess that this is happening (or could
> use really ugly hacks to see what Action frames are exchanged and
> determine next likely operation based on that) and as such, would not
> know how to configure the firmware to avoid background scans for the
> station interface during this full sequence.

I wanted this API primarily to avoid drivers doing that kind of hacks so 
I agree. It was intended to avoid extra latencies during IP connection 
setup, which is probably happening right after the group formation. So I 
recommend the connection managers to use this API. I think Dan Williams 
did some initial implementation testing in NetworkManager and had some 
concerns. I forgot about them completely so not sure how that ended.

> While the background scan should in most cases not completely break the
> process even with inconvenient timing (or well, hitting one in middle of
> the three frame GO Negotiation would have potential to time out that
> exchange), it would be nice if this common sequence could be optimized
> to avoid extra latencies and to be more robust in general since there is
> a 15 second timeout for group formation and quite a bit shorter timeouts
> in practice for the individual operations within the sequence.

I guess the decision is for Johannes to take, but I see your point.

Regards,
Arend


  reply	other threads:[~2013-11-02 10:37 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-10-31 14:40 [PATCH] cfg80211: Introduce critical protocol indication for p2p connection Sunil Dutt Undekari
2013-10-31 14:43 ` Johannes Berg
2013-10-31 15:22   ` Undekari, Sunil Dutt
2013-10-31 15:25     ` Johannes Berg
2013-10-31 15:54       ` Undekari, Sunil Dutt
2013-10-31 17:42         ` Arend van Spriel
2013-11-01 11:25           ` Undekari, Sunil Dutt
2013-11-01 13:07             ` Arend van Spriel
2013-11-02  7:33               ` Jouni Malinen
2013-11-02 10:37                 ` Arend van Spriel [this message]
2013-11-08 15:06                   ` Undekari, Sunil Dutt
2013-11-11 16:26                   ` Johannes Berg
2013-11-11 17:20                     ` Dan Williams
     [not found]                       ` <52811F6E.3010100@broadcom.com>
2013-11-11 19:04                         ` Dan Williams

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=5274D5DC.1090508@broadcom.com \
    --to=arend@broadcom.com \
    --cc=dcbw@redhat.com \
    --cc=j@w1.fi \
    --cc=johannes@sipsolutions.net \
    --cc=linux-wireless@vger.kernel.org \
    --cc=usdutt@qti.qualcomm.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).