linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC PATCH v3 0/2] cfg80211: fix duplicated scan entries after channel switch
@ 2019-07-10 17:36 Sergey Matyukevich
  2019-07-10 17:37 ` [RFC PATCH v3 1/2] cfg80211: refactor cfg80211_bss_update Sergey Matyukevich
                   ` (2 more replies)
  0 siblings, 3 replies; 13+ messages in thread
From: Sergey Matyukevich @ 2019-07-10 17:36 UTC (permalink / raw)
  To: linux-wireless
  Cc: Johannes Berg, Igor Mitsyanko, Mikhail Karpenko, Sergey Matyukevich

Hi Johannes and all,

This is v3 of RFC patch aimed at fixing duplicated scan entries after channel
switch. The major change is updating non-transmitting bss entries. Since such
a bss cannot change channel without its transmitting bss (and vice versa),
the whole hierarchy of transmitting bss is updated, including channel and
location in rb-tree.

Suggested approach to handle non-transmitting BSS entries is simplified in the
following sense. If new entries have been already created after channel switch,
only transmitting bss will be updated using IEs of new entry for the same
transmitting bss. Non-transmitting bss entries will be updated as soon as
new mgmt frames are received. Updating non-transmitting bss entries seems
too expensive: nested nontrans_list traversing is needed since we can not
rely on the same order of old and new non-transmitting entries.

Basic use-case tested using both iwlwifi and qtnfmac.
However multi-BSSID support has not yet been tested. 

Regards,
Sergey

v1 -> v2
- use IEs of new BSS entry to update known BSS entry
  for this purpose extract BSS update code from cfg80211_bss_update
  into a separate function cfg80211_update_known_bss

v2 -> v3
- minor cleanup according to review comments
- split cfg80211_update_known_bss function into a separate patch
- update channel and location in rb-tree for nontransmit bss entries

Sergey Matyukevich (2):
  cfg80211: refactor cfg80211_bss_update
  cfg80211: fix duplicated scan entries after channel switch

 net/wireless/core.h    |   2 +
 net/wireless/nl80211.c |   2 +-
 net/wireless/scan.c    | 250 +++++++++++++++++++++++++++++++++----------------
 3 files changed, 171 insertions(+), 83 deletions(-)

-- 
2.11.0


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

end of thread, other threads:[~2019-07-26 12:32 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-07-10 17:36 [RFC PATCH v3 0/2] cfg80211: fix duplicated scan entries after channel switch Sergey Matyukevich
2019-07-10 17:37 ` [RFC PATCH v3 1/2] cfg80211: refactor cfg80211_bss_update Sergey Matyukevich
2019-07-12  9:12   ` Johannes Berg
2019-07-10 17:37 ` [RFC PATCH v3 2/2] cfg80211: fix duplicated scan entries after channel switch Sergey Matyukevich
2019-07-26 12:04   ` Johannes Berg
2019-07-26 12:30     ` Sergey Matyukevich
2019-07-12  9:11 ` [RFC PATCH v3 0/2] " Johannes Berg
2019-07-12  9:27   ` Sergey Matyukevich
2019-07-12  9:40     ` Johannes Berg
2019-07-12 10:52       ` Sergey Matyukevich
2019-07-26  7:36         ` Johannes Berg
2019-07-26 10:11           ` Sergey Matyukevich
2019-07-26 12:02             ` Johannes Berg

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