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.
Showing the changes to include/uapi/linux (1 of 3 files). Show all
Unified · Split
| @@ -3638,6 +3638,14 @@ enum nl80211_reg_rule_attr { · 3637 unmodified lines | |||
| 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 { · 6 unmodified lines | |||
| 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 { · 1687 unmodified lines | |||
| 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 { · 35 unmodified lines | |||
| 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, |