wpa_supplicant: Add initial roaming support

This commit adds different features from 802.11k and 802.11v
specifications to make the device ready for network assisted
roaming. It also adds initial framework for device to detect
whether it needs to move to a better AP.

Followings are added as part of this.

1. Support for sending neighbor report request and provide
   the report back to the APP.
2. Support for beacon measurement report.
3. Support for link measurement report.
4. Support for sending bss transition management query frame
   (triggered by the APP).
5. Support for bss transition management request and move
   to the candidate based on that.
6. Sending the bss transition management response.
This commit is contained in:
kapil.gupta
2020-11-12 13:48:24 +05:30
parent ac477ad6b9
commit 27101f9454
48 changed files with 5553 additions and 144 deletions

View File

@@ -13,6 +13,7 @@
#endif /* ets */
#include "os.h"
#include "esp_bit_defs.h"
#include "list.h"
/* Define platform specific variable type macros */
#if defined(ESP_PLATFORM)
@@ -115,6 +116,12 @@ static inline unsigned int wpa_swap_32(unsigned int v)
#define WPA_BYTE_SWAP_DEFINED
#endif /* !WPA_BYTE_SWAP_DEFINED */
#define SSID_MAX_LEN 32
struct wpa_ssid_value {
u8 ssid[SSID_MAX_LEN];
size_t ssid_len;
};
/* Macros for handling unaligned memory accesses */
@@ -379,6 +386,10 @@ int wpa_snprintf_hex_uppercase(char *buf, size_t buf_size, const u8 *data,
size_t len);
int hwaddr_mask_txt(char *buf, size_t len, const u8 *addr, const u8 *mask);
u8 rssi_to_rcpi(int rssi);
int os_time_expired(struct os_time *now,
struct os_time *ts,
os_time_t timeout_secs);
#ifdef CONFIG_NATIVE_WINDOWS
void wpa_unicode2ascii_inplace(TCHAR *str);