mirror of
https://git.kernel.org/pub/scm/network/wireless/iwd.git
synced 2024-11-25 17:59:25 +01:00
station: add RoamRetryInterval setting
This commit is contained in:
parent
f456501b9e
commit
4266b88658
@ -29,6 +29,7 @@
|
|||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
#include <sys/time.h>
|
#include <sys/time.h>
|
||||||
|
#include <limits.h>
|
||||||
#include <linux/if_ether.h>
|
#include <linux/if_ether.h>
|
||||||
|
|
||||||
#include <ell/ell.h>
|
#include <ell/ell.h>
|
||||||
@ -57,6 +58,7 @@
|
|||||||
static struct l_queue *station_list;
|
static struct l_queue *station_list;
|
||||||
static uint32_t netdev_watch;
|
static uint32_t netdev_watch;
|
||||||
static uint32_t mfp_setting;
|
static uint32_t mfp_setting;
|
||||||
|
static uint32_t roam_retry_interval;
|
||||||
static bool anqp_disabled;
|
static bool anqp_disabled;
|
||||||
static bool netconfig_enabled;
|
static bool netconfig_enabled;
|
||||||
static struct watchlist anqp_watches;
|
static struct watchlist anqp_watches;
|
||||||
@ -1369,7 +1371,7 @@ static void station_roamed(struct station *station)
|
|||||||
* remain low. A subsequent high signal notification will cancel it.
|
* remain low. A subsequent high signal notification will cancel it.
|
||||||
*/
|
*/
|
||||||
if (station->signal_low)
|
if (station->signal_low)
|
||||||
station_roam_timeout_rearm(station, 60);
|
station_roam_timeout_rearm(station, roam_retry_interval);
|
||||||
|
|
||||||
if (station->netconfig)
|
if (station->netconfig)
|
||||||
netconfig_reconfigure(station->netconfig);
|
netconfig_reconfigure(station->netconfig);
|
||||||
@ -1416,7 +1418,7 @@ delayed_retry:
|
|||||||
station->ap_directed_roaming = false;
|
station->ap_directed_roaming = false;
|
||||||
|
|
||||||
if (station->signal_low)
|
if (station->signal_low)
|
||||||
station_roam_timeout_rearm(station, 60);
|
station_roam_timeout_rearm(station, roam_retry_interval);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void station_netconfig_event_handler(enum netconfig_event event,
|
static void station_netconfig_event_handler(enum netconfig_event event,
|
||||||
@ -3646,6 +3648,14 @@ static int station_init(void)
|
|||||||
mfp_setting = 1;
|
mfp_setting = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!l_settings_get_uint(iwd_get_config(), "General",
|
||||||
|
"RoamRetryInterval",
|
||||||
|
&roam_retry_interval))
|
||||||
|
roam_retry_interval = 60;
|
||||||
|
|
||||||
|
if (roam_retry_interval > INT_MAX)
|
||||||
|
roam_retry_interval = INT_MAX;
|
||||||
|
|
||||||
if (!l_settings_get_bool(iwd_get_config(), "General", "DisableANQP",
|
if (!l_settings_get_bool(iwd_get_config(), "General", "DisableANQP",
|
||||||
&anqp_disabled))
|
&anqp_disabled))
|
||||||
anqp_disabled = true;
|
anqp_disabled = true;
|
||||||
|
Loading…
Reference in New Issue
Block a user