diff --git a/main.c b/main.c index c05b529..03a5d74 100644 --- a/main.c +++ b/main.c @@ -104,6 +104,8 @@ void usteer_init_defaults(void) config.link_measurement_interval = 30000; + config.probe_steering = 1; + config.roam_kick_delay = 10000; config.roam_process_timeout = 5 * 1000; config.roam_scan_tries = 3; diff --git a/openwrt/usteer/files/etc/config/usteer b/openwrt/usteer/files/etc/config/usteer index 0d37108..9c28f3d 100644 --- a/openwrt/usteer/files/etc/config/usteer +++ b/openwrt/usteer/files/etc/config/usteer @@ -56,6 +56,9 @@ config usteer # Allow rejecting assoc requests for steering purposes (0/1) #option assoc_steering 0 + # Allow ignoring probe requests for steering purposes (0/1) + #option probe_steering 1 + # Minimum signal-to-noise ratio or signal level (dBm) to allow connections #option min_connect_snr 0 diff --git a/policy.c b/policy.c index e6dc9e1..9d62b78 100644 --- a/policy.c +++ b/policy.c @@ -176,6 +176,9 @@ usteer_check_request(struct sta_info *si, enum usteer_event_type type) int min_signal; bool ret = true; + if (type == EVENT_TYPE_PROBE && !config.probe_steering) + goto out; + if (type == EVENT_TYPE_AUTH) goto out; diff --git a/usteer.h b/usteer.h index 6ec7789..239159a 100644 --- a/usteer.h +++ b/usteer.h @@ -160,6 +160,7 @@ struct usteer_config { uint32_t measurement_report_timeout; bool assoc_steering; + bool probe_steering; uint32_t max_neighbor_reports;