diff mbox

[9/9] TDLS: return channel-switch indication in link status cmd

Message ID 1434547101-7342-9-git-send-email-ilan.peer@intel.com
State Changes Requested
Headers show

Commit Message

Ilan Peer June 17, 2015, 1:18 p.m. UTC
From: Arik Nemtsov <arik@wizery.com>

Return an appropriate indication in the tdls_get_link_status command when
when channel switching is enabled for the TDLS peer.

Signed-off-by: Arik Nemtsov <arikx.nemtsov@intel.com>
---
 src/rsn_supp/tdls.c | 3 +++
 1 file changed, 3 insertions(+)

Comments

Jouni Malinen June 19, 2015, 1:29 p.m. UTC | #1
On Wed, Jun 17, 2015 at 04:18:21PM +0300, Ilan Peer wrote:
> Return an appropriate indication in the tdls_get_link_status command when
> when channel switching is enabled for the TDLS peer.

> diff --git a/src/rsn_supp/tdls.c b/src/rsn_supp/tdls.c
> @@ -902,6 +902,9 @@ const char * wpa_tdls_get_link_status(struct wpa_sm *sm, const u8 *addr)
>  	if (!peer->tpk_success)
>  		return "peer not connected";
>  
> +	if (peer->chan_switch_enabled)
> +		return "connected/channel-switching";
> +
>  	return "connected";

This would change control interface TDLS_LINK_STATUS output. Couldn't
that break existing users of the interface?

Why would the link status indicate whether channel switching has been
enabled? This does not necessarily mean that channel switching is in use
(i.e., up to the driver to decide whether to use that or not). What
would upper layer programs do with this information?

Another possibility could be to add another line into the
TDLS_LINK_STATUS output so that the current "TDLS link status: <value>"
values would not change for the "connected" case. I'm not sure how much
more likely external users would be able to parse this, but at least the
current output looks like something that could be followed by other
lines of information.
Ilan Peer June 21, 2015, 6:15 p.m. UTC | #2
Hi Jouni,

> -----Original Message-----
> From: Jouni Malinen [mailto:j@w1.fi]
> Sent: Friday, June 19, 2015 16:30
> To: Peer, Ilan
> Cc: hostap@lists.shmoo.com; Arik Nemtsov; Nemtsov, ArikX
> Subject: Re: [PATCH 9/9] TDLS: return channel-switch indication in link status
> cmd
> 
> On Wed, Jun 17, 2015 at 04:18:21PM +0300, Ilan Peer wrote:
> > Return an appropriate indication in the tdls_get_link_status command
> > when when channel switching is enabled for the TDLS peer.
> 
> > diff --git a/src/rsn_supp/tdls.c b/src/rsn_supp/tdls.c @@ -902,6
> > +902,9 @@ const char * wpa_tdls_get_link_status(struct wpa_sm *sm,
> const u8 *addr)
> >  	if (!peer->tpk_success)
> >  		return "peer not connected";
> >
> > +	if (peer->chan_switch_enabled)
> > +		return "connected/channel-switching";
> > +
> >  	return "connected";
> 
> This would change control interface TDLS_LINK_STATUS output. Couldn't that
> break existing users of the interface?
> 

This seemed like an extension, that should not have an effect on current users, but I guess this might break users that search for an exact status line match etc.

> Why would the link status indicate whether channel switching has been
> enabled? This does not necessarily mean that channel switching is in use (i.e.,
> up to the driver to decide whether to use that or not). What would upper
> layer programs do with this information?

Really only for status reporting, just like any other status data reported on the control interface.

> 
> Another possibility could be to add another line into the TDLS_LINK_STATUS
> output so that the current "TDLS link status: <value>"
> values would not change for the "connected" case. I'm not sure how much
> more likely external users would be able to parse this, but at least the current
> output looks like something that could be followed by other lines of
> information.
> 

Will change to this format. 

Regards,

Ilan.
diff mbox

Patch

diff --git a/src/rsn_supp/tdls.c b/src/rsn_supp/tdls.c
index 6b1df71..4d4de4f 100644
--- a/src/rsn_supp/tdls.c
+++ b/src/rsn_supp/tdls.c
@@ -902,6 +902,9 @@  const char * wpa_tdls_get_link_status(struct wpa_sm *sm, const u8 *addr)
 	if (!peer->tpk_success)
 		return "peer not connected";
 
+	if (peer->chan_switch_enabled)
+		return "connected/channel-switching";
+
 	return "connected";
 }