Devices may support different preamble and bandwidth configurations for proximity detection (PD) ranging versus standard ranging. Add separate pd_preambles and pd_bandwidths fields to cfg80211_pmsr_capabilities to allow drivers to advertise PD-specific capabilities. Expose these over nl80211 using new attributes NL80211_PMSR_FTM_CAPA_ATTR_PD_PREAMBLES and NL80211_PMSR_FTM_CAPA_ATTR_PD_BANDWIDTHS, advertised only when pd_support is set. For PD requests, validate bandwidth and preamble against pd_bandwidths and pd_preambles. For non-PD requests, validate against the existing bandwidths and preambles fields.
Showing the changes to include/uapi (1 of 4 files). Show all
Unified · Split
| @@ -8189,6 +8189,14 @@ enum nl80211_peer_measurement_attrs { · 8188 unmodified lines | |||
| 8189 | * to estimate the burst period to be given in the FTM request for the | 8189 | * to estimate the burst period to be given in the FTM request for the |
| 8190 | * NTB ranging case. If non-zero, this value will be used to validate | 8190 | * NTB ranging case. If non-zero, this value will be used to validate |
| 8191 | * the nominal time in the FTM request. | 8191 | * the nominal time in the FTM request. |
| 8192 | * @NL80211_PMSR_FTM_CAPA_ATTR_PD_PREAMBLES: u32 bitmap of values from | ||
| 8193 | * &enum nl80211_preamble indicating the supported preambles for PD | ||
| 8194 | * ranging requests. Only valid if %NL80211_PMSR_FTM_TYPE_CAPA_ATTR_PD_SUPPORT | ||
| 8195 | * is set. | ||
| 8196 | * @NL80211_PMSR_FTM_CAPA_ATTR_PD_BANDWIDTHS: u32 bitmap of values from | ||
| 8197 | * &enum nl80211_chan_width indicating the supported channel bandwidths | ||
| 8198 | * for PD ranging requests. Only valid if | ||
| 8199 | * %NL80211_PMSR_FTM_TYPE_CAPA_ATTR_PD_SUPPORT is set. | ||
| 8192 | * | 8200 | * |
| 8193 | * @NUM_NL80211_PMSR_FTM_CAPA_ATTR: internal | 8201 | * @NUM_NL80211_PMSR_FTM_CAPA_ATTR: internal |
| 8194 | * @NL80211_PMSR_FTM_CAPA_ATTR_MAX: highest attribute number | 8202 | * @NL80211_PMSR_FTM_CAPA_ATTR_MAX: highest attribute number |
| @@ -8225,6 +8233,8 @@ enum nl80211_peer_measurement_ftm_capa { · 30 unmodified lines | |||
| 8225 | NL80211_PMSR_FTM_CAPA_ATTR_MAX_NUM_RX_ANTENNAS, | 8233 | NL80211_PMSR_FTM_CAPA_ATTR_MAX_NUM_RX_ANTENNAS, |
| 8226 | NL80211_PMSR_FTM_CAPA_ATTR_MIN_INTERVAL_EDCA, | 8234 | NL80211_PMSR_FTM_CAPA_ATTR_MIN_INTERVAL_EDCA, |
| 8227 | NL80211_PMSR_FTM_CAPA_ATTR_MIN_INTERVAL_NTB, | 8235 | NL80211_PMSR_FTM_CAPA_ATTR_MIN_INTERVAL_NTB, |
| 8236 | NL80211_PMSR_FTM_CAPA_ATTR_PD_PREAMBLES, | ||
| 8237 | NL80211_PMSR_FTM_CAPA_ATTR_PD_BANDWIDTHS, | ||
| 8228 | 8238 | ||
| 8229 | /* keep last */ | 8239 | /* keep last */ |
| 8230 | NUM_NL80211_PMSR_FTM_CAPA_ATTR, | 8240 | NUM_NL80211_PMSR_FTM_CAPA_ATTR, |