aboutsummaryrefslogtreecommitdiffstats
path: root/include/uapi
diff options
context:
space:
mode:
authorvamsi krishna <vamsin@codeaurora.org>2019-02-01 08:04:51 -0500
committerJohannes Berg <johannes.berg@intel.com>2019-04-08 07:44:40 -0400
commit1e1b11b6a1111cd9e8af1fd6ccda270a9fa3eacf (patch)
treeb408dc4efaf458bf15b779f779bc72d37fcd0ad4 /include/uapi
parentd39f3b4f33d245a08a7296a04bab80bd52466f58 (diff)
nl80211/cfg80211: Specify band specific min RSSI thresholds with sched scan
This commit adds the support to specify the RSSI thresholds per band for each match set. This enhances the current behavior which specifies a single rssi_threshold across all the bands by introducing the rssi_threshold_per_band. These per band rssi thresholds are referred through NL80211_BAND_* (enum nl80211_band) variables as attribute types. Such attributes/values per each band are nested through NL80211_ATTR_SCHED_SCAN_MIN_RSSI. These band specific rssi thresholds shall take precedence over the current rssi_thold per match set. Drivers indicate this support through %NL80211_EXT_FEATURE_SCHED_SCAN_BAND_SPECIFIC_RSSI_THOLD. These per band rssi attributes/values does not specify "default RSSI filter" as done by NL80211_SCHED_SCAN_MATCH_ATTR_RSSI to stay backward compatible. That said, these per band rssi values have to be specified for the corresponding matchset. Signed-off-by: vamsi krishna <vamsin@codeaurora.org> Signed-off-by: Srinivas Dasari <dasaris@codeaurora.org> [rebase on refactoring, add policy] Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'include/uapi')
-rw-r--r--include/uapi/linux/nl80211.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/include/uapi/linux/nl80211.h b/include/uapi/linux/nl80211.h
index dd4f86ee286e..4a9404958fbe 100644
--- a/include/uapi/linux/nl80211.h
+++ b/include/uapi/linux/nl80211.h
@@ -3638,6 +3638,14 @@ enum nl80211_reg_rule_attr {
3638 * value as specified by &struct nl80211_bss_select_rssi_adjust. 3638 * value as specified by &struct nl80211_bss_select_rssi_adjust.
3639 * @NL80211_SCHED_SCAN_MATCH_ATTR_BSSID: BSSID to be used for matching 3639 * @NL80211_SCHED_SCAN_MATCH_ATTR_BSSID: BSSID to be used for matching
3640 * (this cannot be used together with SSID). 3640 * (this cannot be used together with SSID).
3641 * @NL80211_SCHED_SCAN_MATCH_PER_BAND_RSSI: Nested attribute that carries the
3642 * band specific minimum rssi thresholds for the bands defined in
3643 * enum nl80211_band. The minimum rssi threshold value(s32) specific to a
3644 * band shall be encapsulated in attribute with type value equals to one
3645 * of the NL80211_BAND_* defined in enum nl80211_band. For example, the
3646 * minimum rssi threshold value for 2.4GHZ band shall be encapsulated
3647 * within an attribute of type NL80211_BAND_2GHZ. And one or more of such
3648 * attributes will be nested within this attribute.
3641 * @NL80211_SCHED_SCAN_MATCH_ATTR_MAX: highest scheduled scan filter 3649 * @NL80211_SCHED_SCAN_MATCH_ATTR_MAX: highest scheduled scan filter
3642 * attribute number currently defined 3650 * attribute number currently defined
3643 * @__NL80211_SCHED_SCAN_MATCH_ATTR_AFTER_LAST: internal use 3651 * @__NL80211_SCHED_SCAN_MATCH_ATTR_AFTER_LAST: internal use
@@ -3650,6 +3658,7 @@ enum nl80211_sched_scan_match_attr {
3650 NL80211_SCHED_SCAN_MATCH_ATTR_RELATIVE_RSSI, 3658 NL80211_SCHED_SCAN_MATCH_ATTR_RELATIVE_RSSI,
3651 NL80211_SCHED_SCAN_MATCH_ATTR_RSSI_ADJUST, 3659 NL80211_SCHED_SCAN_MATCH_ATTR_RSSI_ADJUST,
3652 NL80211_SCHED_SCAN_MATCH_ATTR_BSSID, 3660 NL80211_SCHED_SCAN_MATCH_ATTR_BSSID,
3661 NL80211_SCHED_SCAN_MATCH_PER_BAND_RSSI,
3653 3662
3654 /* keep last */ 3663 /* keep last */
3655 __NL80211_SCHED_SCAN_MATCH_ATTR_AFTER_LAST, 3664 __NL80211_SCHED_SCAN_MATCH_ATTR_AFTER_LAST,
@@ -5343,6 +5352,9 @@ enum nl80211_feature_flags {
5343 * @NL80211_EXT_FEATURE_AP_PMKSA_CACHING: Driver/device supports PMKSA caching 5352 * @NL80211_EXT_FEATURE_AP_PMKSA_CACHING: Driver/device supports PMKSA caching
5344 * (set/del PMKSA operations) in AP mode. 5353 * (set/del PMKSA operations) in AP mode.
5345 * 5354 *
5355 * @NL80211_EXT_FEATURE_SCHED_SCAN_BAND_SPECIFIC_RSSI_THOLD: Driver supports
5356 * filtering of sched scan results using band specific RSSI thresholds.
5357 *
5346 * @NUM_NL80211_EXT_FEATURES: number of extended features. 5358 * @NUM_NL80211_EXT_FEATURES: number of extended features.
5347 * @MAX_NL80211_EXT_FEATURES: highest extended feature index. 5359 * @MAX_NL80211_EXT_FEATURES: highest extended feature index.
5348 */ 5360 */
@@ -5384,6 +5396,7 @@ enum nl80211_ext_feature_index {
5384 NL80211_EXT_FEATURE_ENABLE_FTM_RESPONDER, 5396 NL80211_EXT_FEATURE_ENABLE_FTM_RESPONDER,
5385 NL80211_EXT_FEATURE_AIRTIME_FAIRNESS, 5397 NL80211_EXT_FEATURE_AIRTIME_FAIRNESS,
5386 NL80211_EXT_FEATURE_AP_PMKSA_CACHING, 5398 NL80211_EXT_FEATURE_AP_PMKSA_CACHING,
5399 NL80211_EXT_FEATURE_SCHED_SCAN_BAND_SPECIFIC_RSSI_THOLD,
5387 5400
5388 /* add new features before the definition below */ 5401 /* add new features before the definition below */
5389 NUM_NL80211_EXT_FEATURES, 5402 NUM_NL80211_EXT_FEATURES,