mbox series

[0/7] Reduce and optimize quick/roam scan frequencies

Message ID 20231220131200.267489-1-prestwoj@gmail.com (mailing list archive)
Headers show
Series Reduce and optimize quick/roam scan frequencies | expand

Message

James Prestwood Dec. 20, 2023, 1:11 p.m. UTC
For large network deployments with many APs the list of known
frequencies can grow rather large. Since there is no cap on
the number of frequencies for quick scans this results in quite
a long scan. Roam scans (with no neighbor report) do cap at 5
frequencies but this list isn't sorted or optimized to scan
the most recently used BSS's.

These patches separate the known frequency list into two
sections, first most recently used, then most recently
seen. That way previously connected BSS frequencies are scanned
ahead of others. This also caps the number of frequencies for
quick scans to 5 per network. This still could result in 25
frequencies scanned (worst case), but its probably not very
common for a device to see 5 separate SSID's it can connect to.
In most cases its one, maybe 2.

James Prestwood (7):
  known_network: rename known_network_add_frequency
  knownnetworks: add known_network_add_connected_frequency
  network: call network_connected with BSS
  network: add network_roamed
  station: use network_roamed
  auto-t: update known frequency test to check order
  knownnetworks: limit 5 recent frequencies per network

 autotests/testKnownNetworks/frequency_test.py | 122 +++++++++++++-----
 autotests/testKnownNetworks/hw.conf           |  10 +-
 .../{ssidCCMP-2G.conf => ssidCCMP-2G-1.conf}  |   0
 .../testKnownNetworks/ssidCCMP-2G-2.conf      |   8 ++
 autotests/testKnownNetworks/ssidHotspot.conf  |   2 +-
 src/knownnetworks.c                           |  66 +++++++++-
 src/knownnetworks.h                           |   6 +-
 src/network.c                                 |  19 ++-
 src/network.h                                 |   3 +-
 src/station.c                                 |   4 +-
 10 files changed, 190 insertions(+), 50 deletions(-)
 rename autotests/testKnownNetworks/{ssidCCMP-2G.conf => ssidCCMP-2G-1.conf} (100%)
 create mode 100644 autotests/testKnownNetworks/ssidCCMP-2G-2.conf