]> git.ipfire.org Git - thirdparty/iw.git/commitdiff
iw: add support for NDP ranging - trigger based and non trigger based
authorAvraham Stern <avraham.stern@intel.com>
Wed, 13 May 2020 09:07:18 +0000 (05:07 -0400)
committerJohannes Berg <johannes.berg@intel.com>
Thu, 27 Aug 2020 11:00:41 +0000 (13:00 +0200)
Add support for requesting NDP ranging by specifying the requested
NDP ranging type (trigger based / non trigger based).

Change-Id: I0bebcde19a5615a1261a23168a21b099570e83a0
Signed-off-by: Avraham Stern <avraham.stern@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
measurements.c

index 29056c1385cf5dc18dde32e58df63a0d937319ce..635d9425a1ee7eab77262ec87107a70db6957718 100644 (file)
@@ -140,6 +140,18 @@ static int parse_ftm_target(struct nl_msg *msg, char *str, int peer_index)
                                return HANDLER_RET_USAGE;
                        }
                        preamble = true;
+               } else if (strncmp(pos, "tb", 2) == 0) {
+                       NLA_PUT_FLAG(msg,
+                                    NL80211_PMSR_FTM_REQ_ATTR_TRIGGER_BASED);
+                       NLA_PUT_U32(msg, NL80211_PMSR_FTM_REQ_ATTR_PREAMBLE,
+                                   NL80211_PREAMBLE_HE);
+                       preamble = true;
+               } else if (strncmp(pos, "non_tb", 6) == 0) {
+                       NLA_PUT_FLAG(msg,
+                                    NL80211_PMSR_FTM_REQ_ATTR_NON_TRIGGER_BASED);
+                       NLA_PUT_U32(msg, NL80211_PMSR_FTM_REQ_ATTR_PREAMBLE,
+                                   NL80211_PREAMBLE_HE);
+                       preamble = true;
                } else {
                        printf("Unknown parameter %s\n", pos);
                        return HANDLER_RET_USAGE;
@@ -317,6 +329,6 @@ COMMAND(measurement, ftm_request, "<config-file> [timeout=<seconds>] [randomise[
        CIB_NETDEV, handle_ftm_req,
        "Send an FTM request to the targets supplied in the config file.\n"
        "Each line in the file represents a target, with the following format:\n"
-       "<addr> bw=<[20|40|80|80+80|160]> cf=<center_freq> [cf1=<center_freq1>] [cf2=<center_freq2>] [ftms_per_burst=<samples per burst>] [ap-tsf] [asap] [bursts_exp=<num of bursts exponent>] [burst_period=<burst period>] [retries=<num of retries>] [burst_duration=<burst duration>] [preamble=<legacy,ht,vht,dmg>] [lci] [civic]");
+       "<addr> bw=<[20|40|80|80+80|160]> cf=<center_freq> [cf1=<center_freq1>] [cf2=<center_freq2>] [ftms_per_burst=<samples per burst>] [ap-tsf] [asap] [bursts_exp=<num of bursts exponent>] [burst_period=<burst period>] [retries=<num of retries>] [burst_duration=<burst duration>] [preamble=<legacy,ht,vht,dmg>] [lci] [civic] [tb] [non_tb]");
 HIDDEN(measurement, ftm_request_send, "", NL80211_CMD_PEER_MEASUREMENT_START,
        0, CIB_NETDEV, handle_ftm_req_send);