Johannes Berg <johannes@xxxxxxxxxxxxxxxx> writes: > From: Johannes Berg <johannes.berg@xxxxxxxxx> > > Add a new "peer measurement" API, that can be used to measure > certain things related to a peer. Right now, only implement > FTM (flight time measurement) over it, but the idea is that > it'll be extensible to also support measuring the necessary > things to calculate e.g. angle-of-arrival for WiGig. > > The API is structured to have a generic list of peers and > channels to measure with/on, and then for each of those a > set of measurements (again, only FTM right now) to perform. > > Results are sent to the requesting socket, including a final > complete message. > > Closing the controlling netlink socket will abort a running > measurement. > > Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> > --- > v3: > - add a bit to report "final" for partial results > - remove list keeping etc. and just unicast out the results > to the requester (big code reduction ...) > - also send complete message unicast, and as a result > remove the multicast group > - separate out struct cfg80211_pmsr_ftm_request_peer > from struct cfg80211_pmsr_request_peer > - document timeout == 0 if no timeout > - disallow setting timeout nl80211 attribute to 0, > must not include attribute for no timeout > - make MAC address randomization optional > - change num bursts exponent default to 0 (1 burst, rather > rather than the old default of 15==don't care) [...] > @@ -3176,6 +3361,8 @@ struct cfg80211_ftm_responder_stats { > * > * @get_ftm_responder_stats: Retrieve FTM responder statistics, if available. > * Statistics should be cumulative, currently no way to reset is provided. > + * @start_pmsr: start peer measurement (e.g. FTM) > + * @abort_pmsr: abort peer measurement > */ > struct cfg80211_ops { > int (*suspend)(struct wiphy *wiphy, struct cfg80211_wowlan *wow); It would be nice to document if these ops can sleep or not. -- Kalle Valo