policy: make roam-steers client-rejectable

While usteer tries it's best to determine the availability of a better
node for a certain client, it might still attempt to direct the client
to a unsuitable AP.

Transition away from using BSS-Transition-Requests with the
disassoc-imminent bit set and instead unset this bit.

This way, the client can inform the AP it will not transition to a
different BSS but instead wishes to remain connected to the current AP.

usteer will still kick clients in case they either accepted the
BSS-transition-request and do not roam or ignore the request completely.

Signed-off-by: David Bauer <mail@david-bauer.net>
This commit is contained in:
David Bauer
2022-02-23 23:34:12 +01:00
parent 1fa3210a9d
commit 648c6f3bc3
4 changed files with 29 additions and 32 deletions

View File

@@ -219,9 +219,6 @@ enum roam_trigger_state {
ROAM_TRIGGER_IDLE,
ROAM_TRIGGER_SCAN,
ROAM_TRIGGER_SCAN_DONE,
ROAM_TRIGGER_WAIT_KICK,
ROAM_TRIGGER_NOTIFY_KICK,
ROAM_TRIGGER_KICK,
};
struct sta_info {
@@ -254,6 +251,8 @@ struct sta_info {
uint64_t timestamp;
} bss_transition_response;
uint64_t kick_time;
int kick_count;
uint32_t below_min_snr;