policy: add roam-scan timeout

Add an optional timeout when a better roaming candidate is not found
after the scan-retry limit. The roam state-machine will not retry
scanning before this timeout has expired.

If the timeout is set to 0, the client is kicked instead, which
resembles the behavior prior this commit.

This is added, as without this patch, if a forced disconnect
is not desired before roam_scan_trigger is exceeded the client will
repeatedly be asked to return active beacon-reports. For battery powered
clients this can result in a noticeable battery drain.

Signed-off-by: David Bauer <mail@david-bauer.net>
This commit is contained in:
David Bauer
2021-12-21 15:30:14 +01:00
parent 7e999e0874
commit 9a78412ac5
6 changed files with 41 additions and 7 deletions

1
main.c
View File

@@ -99,6 +99,7 @@ void usteer_init_defaults(void)
config.roam_kick_delay = 100;
config.roam_process_timeout = 5 * 1000;
config.roam_scan_tries = 3;
config.roam_scan_timeout = 0;
config.roam_scan_interval = 10 * 1000;
config.roam_trigger_interval = 60 * 1000;