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

1
sta.c
View File

@@ -149,6 +149,7 @@ usteer_sta_get(const uint8_t *addr, bool create)
void usteer_sta_disconnected(struct sta_info *si)
{
si->connected = STA_NOT_CONNECTED;
si->kick_time = 0;
usteer_sta_info_update_timeout(si, config.local_sta_timeout);
}