wpa_supplicant: Increase authentication timeout if CAC is started
Timeout is increased by dfs_cac_ms from channel data, or by max CAC time (10 minutes) if dfs_cac_ms is not defined. This is needed for some more complex cases, e.g., when STA is acting as an active slave with DFS offload enabled and decided to start CAC after receiving CONNECT command, in such a case the 10 second timeout is too small and wpa_supplicant need to wait for CAC completion or CAC timeout (up to 10 minutes). Without such timeout modification wpa_supplicant will be unable to connect to an AP on DFS channel, since the default authentication timeout (10 s) is smaller than the minimum CAC time (60 s). Tested with nl80211 DFS offload implementation. Signed-off-by: Dmitry Lebed <dlebed@quantenna.com>
This commit is contained in:
parent
2dd5fbbff8
commit
37547ad63c
3 changed files with 110 additions and 12 deletions
|
@ -1182,6 +1182,8 @@ struct wpa_supplicant {
|
|||
/* RIC elements for FT protocol */
|
||||
struct wpabuf *ric_ies;
|
||||
|
||||
int last_auth_timeout_sec;
|
||||
|
||||
#ifdef CONFIG_DPP
|
||||
struct dl_list dpp_bootstrap; /* struct dpp_bootstrap_info */
|
||||
struct dl_list dpp_configurator; /* struct dpp_configurator */
|
||||
|
@ -1255,6 +1257,7 @@ void wpa_supplicant_initiate_eapol(struct wpa_supplicant *wpa_s);
|
|||
void wpa_clear_keys(struct wpa_supplicant *wpa_s, const u8 *addr);
|
||||
void wpa_supplicant_req_auth_timeout(struct wpa_supplicant *wpa_s,
|
||||
int sec, int usec);
|
||||
void wpas_auth_timeout_restart(struct wpa_supplicant *wpa_s, int sec_diff);
|
||||
void wpa_supplicant_reinit_autoscan(struct wpa_supplicant *wpa_s);
|
||||
void wpa_supplicant_set_state(struct wpa_supplicant *wpa_s,
|
||||
enum wpa_states state);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue