datastorage/ubus: Add "soft" kicking algorithm

In addition to scored "hard" kick for all clients (inc. legacy), add a "soft"
kick for 802.11v aware clients by always asking them to  move if below
threshold RSSI, but with no mandatory disassociation.

[cleanup commit message]
Signed-off-by: Nick Hainke <vincent@systemli.org>
This commit is contained in:
Ian Clowes 2022-02-17 16:48:42 +00:00 committed by Nick Hainke
parent d37a768766
commit 359dd085aa
4 changed files with 138 additions and 30 deletions

View file

@ -133,6 +133,16 @@ int send_set_probe(struct dawn_mac client_addr);
*/
int wnm_disassoc_imminent(uint32_t id, const struct dawn_mac client_addr, struct kicking_nr* neighbor_list, int threshold, uint32_t duration);
/**
* Function to ask a client to move to another AP, but not enforce it.
* @param id
* @param client_addr
* @param dest_ap
* @param duration
* @return - 0 = asynchronous (client has been told to remove itself, and caller should manage arrays); 1 = synchronous (caller should assume arrays are updated)
*/
int bss_transition_request(uint32_t id, const struct dawn_mac client_addr, struct kicking_nr* neighbor_list, uint32_t duration);
/**
* Send control message to all hosts to add the mac to a don't control list.
* @param client_addr