linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* bss table corruption
@ 2012-04-30  5:28 Emmanuel Grumbach
  2012-04-30  5:31 ` Emmanuel Grumbach
  2012-04-30  7:30 ` Mohammed Shafi
  0 siblings, 2 replies; 5+ messages in thread
From: Emmanuel Grumbach @ 2012-04-30  5:28 UTC (permalink / raw)
  To: linux-wireless

For quite a while now (not sure I can tell exactly for how long) we
see issues in association and scan list.
We send probe before authentication, get the probe response but never
send the authentication.
Moreover a lot of entries in the BSS list are duplicated.

I began to look at it and ended up to understand that these 2 issues
are related: we just can't find an existing BSS in the BSS table.
Obviously this causes the second issue. The reason was it breaks the
association is that ieee80211_probe_auth will never be able to find
the IEs of the probe response since we couldn't fetch the BSS when we
parsed the probe response. In short:

	if (auth_data->bss->proberesp_ies) {
always return false.... and we fall back to send yet another probe request.

As you probably know, the BSS table is implemented with an Red Black
Tree which requires its elements to be comparable. The compare
function compares the BSSID which is not always unique (there can be
several SSIDs on the same BSSID), so all the IEs are also compared.
But is this a good idea ?
It seems that since the IEs of an BSS may change from time to time
this compare function is not consistent...

Just for playing I always return a positive value in cmp_bss (to have
all the nodes serialized and avoid the possibility to miss a existing
node) and don't rebalance the tree after insertion... the bug
disappeared.

Thought ?

Emmanuel Grumbach
egrumbach@gmail.com

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

end of thread, other threads:[~2012-04-30  7:55 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-04-30  5:28 bss table corruption Emmanuel Grumbach
2012-04-30  5:31 ` Emmanuel Grumbach
2012-04-30  7:30 ` Mohammed Shafi
2012-04-30  7:37   ` Emmanuel Grumbach
2012-04-30  7:55     ` Mohammed Shafi

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