linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Mesh join/leave
@ 2011-01-11 21:20 Steve Brown
  2011-01-12  9:03 ` Johannes Berg
  0 siblings, 1 reply; 9+ messages in thread
From: Steve Brown @ 2011-01-11 21:20 UTC (permalink / raw)
  To: linux-wireless@vger.kernel.org; +Cc: Johannes Berg

In testing this, the command "iw mesh0 mesh leave" doesn't stop
beaconing. Beaconing continues with a null mesh id.

Is this the intended behavior?

Steve

iw version 0.9.21-35-gba292ae
wireless-testing at commit 315f05c479f8e98e2df0e23a1bc0829b7e374fe9




^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Mesh join/leave
  2011-01-11 21:20 Mesh join/leave Steve Brown
@ 2011-01-12  9:03 ` Johannes Berg
  2011-01-12 10:28   ` Steve Brown
  2011-01-12 10:43   ` Steve Brown
  0 siblings, 2 replies; 9+ messages in thread
From: Johannes Berg @ 2011-01-12  9:03 UTC (permalink / raw)
  To: sbrown; +Cc: linux-wireless@vger.kernel.org

On Tue, 2011-01-11 at 16:20 -0500, Steve Brown wrote:
> In testing this, the command "iw mesh0 mesh leave" doesn't stop
> beaconing. Beaconing continues with a null mesh id.
> 
> Is this the intended behavior?

No, it's not -- what driver are you using?

johannes


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Mesh join/leave
  2011-01-12  9:03 ` Johannes Berg
@ 2011-01-12 10:28   ` Steve Brown
  2011-01-12 10:44     ` Johannes Berg
  2011-01-12 10:46     ` Johannes Berg
  2011-01-12 10:43   ` Steve Brown
  1 sibling, 2 replies; 9+ messages in thread
From: Steve Brown @ 2011-01-12 10:28 UTC (permalink / raw)
  To: Johannes Berg; +Cc: linux-wireless@vger.kernel.org

On Wed, 2011-01-12 at 10:03 +0100, Johannes Berg wrote:
> On Tue, 2011-01-11 at 16:20 -0500, Steve Brown wrote:
> > In testing this, the command "iw mesh0 mesh leave" doesn't stop
> > beaconing. Beaconing continues with a null mesh id.
> > 
> > Is this the intended behavior?
> 
> No, it's not -- what driver are you using?
> 
> johannes
> 
ath9k with adapter AR9160 802.11abgn Wireless PCI Adapter (168c:2082)

Steve




^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Mesh join/leave
  2011-01-12  9:03 ` Johannes Berg
  2011-01-12 10:28   ` Steve Brown
@ 2011-01-12 10:43   ` Steve Brown
  1 sibling, 0 replies; 9+ messages in thread
From: Steve Brown @ 2011-01-12 10:43 UTC (permalink / raw)
  To: Johannes Berg; +Cc: linux-wireless@vger.kernel.org

On Wed, 2011-01-12 at 10:03 +0100, Johannes Berg wrote:
> On Tue, 2011-01-11 at 16:20 -0500, Steve Brown wrote:
> > In testing this, the command "iw mesh0 mesh leave" doesn't stop
> > beaconing. Beaconing continues with a null mesh id.
> > 
> > Is this the intended behavior?
> 
> No, it's not -- what driver are you using?
> 
> johannes
> 
The ath5k driver behaves differently. On "leave" it stops beaconing and
on "join", starts back up.

Steve



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Mesh join/leave
  2011-01-12 10:28   ` Steve Brown
@ 2011-01-12 10:44     ` Johannes Berg
  2011-01-12 10:46     ` Johannes Berg
  1 sibling, 0 replies; 9+ messages in thread
From: Johannes Berg @ 2011-01-12 10:44 UTC (permalink / raw)
  To: sbrown; +Cc: linux-wireless@vger.kernel.org

On Wed, 2011-01-12 at 05:28 -0500, Steve Brown wrote:
> On Wed, 2011-01-12 at 10:03 +0100, Johannes Berg wrote:
> > On Tue, 2011-01-11 at 16:20 -0500, Steve Brown wrote:
> > > In testing this, the command "iw mesh0 mesh leave" doesn't stop
> > > beaconing. Beaconing continues with a null mesh id.
> > > 
> > > Is this the intended behavior?
> > 
> > No, it's not -- what driver are you using?
> > 
> > johannes
> > 
> ath9k with adapter AR9160 802.11abgn Wireless PCI Adapter (168c:2082)

No idea then, it looks like ath9k correctly handles
ieee80211_bss_info_change_notify(sdata, BSS_CHANGED_BEACON_ENABLED); so
you should look at what's happening around there.

johannes


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Mesh join/leave
  2011-01-12 10:28   ` Steve Brown
  2011-01-12 10:44     ` Johannes Berg
@ 2011-01-12 10:46     ` Johannes Berg
  2011-01-12 11:09       ` Steve Brown
  1 sibling, 1 reply; 9+ messages in thread
From: Johannes Berg @ 2011-01-12 10:46 UTC (permalink / raw)
  To: sbrown; +Cc: linux-wireless@vger.kernel.org

On Wed, 2011-01-12 at 05:28 -0500, Steve Brown wrote:
> On Wed, 2011-01-12 at 10:03 +0100, Johannes Berg wrote:
> > On Tue, 2011-01-11 at 16:20 -0500, Steve Brown wrote:
> > > In testing this, the command "iw mesh0 mesh leave" doesn't stop
> > > beaconing. Beaconing continues with a null mesh id.
> > > 
> > > Is this the intended behavior?
> > 
> > No, it's not -- what driver are you using?

Of course maybe mac80211 should be doings omething like this too:

johannes

--- wireless-testing.orig/net/mac80211/tx.c	2011-01-12 11:44:52.000000000 +0100
+++ wireless-testing/net/mac80211/tx.c	2011-01-12 11:45:52.000000000 +0100
@@ -2299,6 +2299,11 @@ struct sk_buff *ieee80211_beacon_get_tim
 		struct ieee80211_mgmt *mgmt;
 		u8 *pos;
 
+#ifdef CONFIG_MAC80211_MESH
+		if (!sdata->u.mesh.mesh_id_len)
+			goto out;
+#endif
+
 		/* headroom, head length, tail length and maximum TIM length */
 		skb = dev_alloc_skb(local->tx_headroom + 400 +
 				sdata->u.mesh.vendor_ie_len);



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Mesh join/leave
  2011-01-12 10:46     ` Johannes Berg
@ 2011-01-12 11:09       ` Steve Brown
  2011-01-12 11:12         ` Johannes Berg
  0 siblings, 1 reply; 9+ messages in thread
From: Steve Brown @ 2011-01-12 11:09 UTC (permalink / raw)
  To: Johannes Berg; +Cc: linux-wireless@vger.kernel.org

On Wed, 2011-01-12 at 11:46 +0100, Johannes Berg wrote:
> On Wed, 2011-01-12 at 05:28 -0500, Steve Brown wrote:
> > On Wed, 2011-01-12 at 10:03 +0100, Johannes Berg wrote:
> > > On Tue, 2011-01-11 at 16:20 -0500, Steve Brown wrote:
> > > > In testing this, the command "iw mesh0 mesh leave" doesn't stop
> > > > beaconing. Beaconing continues with a null mesh id.
> > > > 
> > > > Is this the intended behavior?
> > > 
> > > No, it's not -- what driver are you using?
> 
> Of course maybe mac80211 should be doings omething like this too:
> 
> johannes
> 
> --- wireless-testing.orig/net/mac80211/tx.c	2011-01-12 11:44:52.000000000 +0100
> +++ wireless-testing/net/mac80211/tx.c	2011-01-12 11:45:52.000000000 +0100
> @@ -2299,6 +2299,11 @@ struct sk_buff *ieee80211_beacon_get_tim
>  		struct ieee80211_mgmt *mgmt;
>  		u8 *pos;
>  
> +#ifdef CONFIG_MAC80211_MESH
> +		if (!sdata->u.mesh.mesh_id_len)
> +			goto out;
> +#endif
> +
>  		/* headroom, head length, tail length and maximum TIM length */
>  		skb = dev_alloc_skb(local->tx_headroom + 400 +
>  				sdata->u.mesh.vendor_ie_len);
> 
> 
With the patch, leave/join stop and restart beaconing.

Thanks,
Steve



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Mesh join/leave
  2011-01-12 11:09       ` Steve Brown
@ 2011-01-12 11:12         ` Johannes Berg
  2011-01-13 10:50           ` Jouni Malinen
  0 siblings, 1 reply; 9+ messages in thread
From: Johannes Berg @ 2011-01-12 11:12 UTC (permalink / raw)
  To: sbrown; +Cc: linux-wireless@vger.kernel.org, Jouni Malinen

On Wed, 2011-01-12 at 06:09 -0500, Steve Brown wrote:

> > Of course maybe mac80211 should be doings omething like this too:
> > 
> > johannes
> > 
> > --- wireless-testing.orig/net/mac80211/tx.c	2011-01-12 11:44:52.000000000 +0100
> > +++ wireless-testing/net/mac80211/tx.c	2011-01-12 11:45:52.000000000 +0100
> > @@ -2299,6 +2299,11 @@ struct sk_buff *ieee80211_beacon_get_tim
> >  		struct ieee80211_mgmt *mgmt;
> >  		u8 *pos;
> >  
> > +#ifdef CONFIG_MAC80211_MESH
> > +		if (!sdata->u.mesh.mesh_id_len)
> > +			goto out;
> > +#endif
> > +
> >  		/* headroom, head length, tail length and maximum TIM length */
> >  		skb = dev_alloc_skb(local->tx_headroom + 400 +
> >  				sdata->u.mesh.vendor_ie_len);
> > 
> > 
> With the patch, leave/join stop and restart beaconing.

Yeah but evidently ath9k isn't cleanly stopping beaconing, it's still
attempting to beacon but doesn't get a beacon from mac80211 so can't
send one.

johannes


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Mesh join/leave
  2011-01-12 11:12         ` Johannes Berg
@ 2011-01-13 10:50           ` Jouni Malinen
  0 siblings, 0 replies; 9+ messages in thread
From: Jouni Malinen @ 2011-01-13 10:50 UTC (permalink / raw)
  To: Johannes Berg; +Cc: sbrown, linux-wireless@vger.kernel.org

On Wed, Jan 12, 2011 at 12:12:48PM +0100, Johannes Berg wrote:

> > > Of course maybe mac80211 should be doings omething like this too:
> > > @@ -2299,6 +2299,11 @@ struct sk_buff *ieee80211_beacon_get_tim
> > > +#ifdef CONFIG_MAC80211_MESH
> > > +		if (!sdata->u.mesh.mesh_id_len)
> > > +			goto out;
> > > +#endif

> Yeah but evidently ath9k isn't cleanly stopping beaconing, it's still
> attempting to beacon but doesn't get a beacon from mac80211 so can't
> send one.

Sounds like SWBA interrupt should be disabled or at least masked in some
cases when mac80211 indicates some kind of change. I have not looked at
details on what exactly is missing from ath9k. Anyway, yes, it would be
good to make ieee80211_beacon_get_tim() return NULL when mac80211 does
not want any Beacon frames to be transmitted.

-- 
Jouni Malinen                                            PGP id EFC895FA

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2011-01-13 10:51 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-01-11 21:20 Mesh join/leave Steve Brown
2011-01-12  9:03 ` Johannes Berg
2011-01-12 10:28   ` Steve Brown
2011-01-12 10:44     ` Johannes Berg
2011-01-12 10:46     ` Johannes Berg
2011-01-12 11:09       ` Steve Brown
2011-01-12 11:12         ` Johannes Berg
2011-01-13 10:50           ` Jouni Malinen
2011-01-12 10:43   ` Steve Brown

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).