1. 30 Mar, 2023 36 commits
  2. 24 Mar, 2023 4 commits
    • Jaewan Kim's avatar
      mac80211_hwsim: add PMSR report support via virtio · 2af3b2a6
      Jaewan Kim authored
      PMSR (a.k.a. peer measurement) is generalized measurement between two
      devices with Wi-Fi support. And currently FTM (a.k.a. fine time measurement
      or flight time measurement) is the one and only measurement.
      
      Add the necessary functionality to allow mac80211_hwsim to report PMSR
      result. The result would come from the wmediumd, where other Wi-Fi
      devices' information are kept. mac80211_hwsim only need to deliver the
      result to the userspace.
      
      In detail, add new mac80211_hwsim attributes HWSIM_CMD_REPORT_PMSR, and
      HWSIM_ATTR_PMSR_RESULT. When mac80211_hwsim receives the PMSR result with
      command HWSIM_CMD_REPORT_PMSR and detail with attribute
      HWSIM_ATTR_PMSR_RESULT, received data is parsed to cfg80211_pmsr_result and
      resent to the userspace by cfg80211_pmsr_report().
      
      To help receive the details of PMSR result, hwsim_rate_info_attributes is
      added to receive rate_info without complex bitrate calculation. (i.e. send
      rate_info without adding inverse of nl80211_put_sta_rate()).
      Signed-off-by: default avatarJaewan Kim <jaewan@google.com>
      Link: https://lore.kernel.org/r/20230322131637.2633968-6-jaewan@google.com
      [fix uninitialized return value when there are no reports]
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      2af3b2a6
    • Jaewan Kim's avatar
      mac80211_hwsim: add PMSR abort support via virtio · 8ba1da95
      Jaewan Kim authored
      PMSR (a.k.a. peer measurement) is generalized measurement between two
      devices with Wi-Fi support. And currently FTM (a.k.a. fine time
      measurement or flight time measurement) is the one and only measurement.
      
      Add necessary functionalities for mac80211_hwsim to abort previous PMSR
      request. The abortion request is sent to the wmedium where the PMSR request
      is actually handled.
      
      In detail, add new mac80211_hwsim command HWSIM_CMD_ABORT_PMSR. When
      mac80211_hwsim receives the PMSR abortion request via
      ieee80211_ops.abort_pmsr, the received cfg80211_pmsr_request is resent to
      the wmediumd with command HWSIM_CMD_ABORT_PMSR and attribute
      HWSIM_ATTR_PMSR_REQUEST. The attribute is formatted as the same way as
      nl80211_pmsr_start() expects.
      Signed-off-by: default avatarJaewan Kim <jaewan@google.com>
      Link: https://lore.kernel.org/r/20230322131637.2633968-5-jaewan@google.comSigned-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      8ba1da95
    • Jaewan Kim's avatar
      mac80211_hwsim: add PMSR request support via virtio · 5530c04c
      Jaewan Kim authored
      PMSR (a.k.a. peer measurement) is generalized measurement between two
      Wi-Fi devices. And currently FTM (a.k.a. fine time measurement or flight
      time measurement) is the one and only measurement. FTM is measured by
      RTT (a.k.a. round trip time) of packets between two Wi-Fi devices.
      
      Add necessary functionalities for mac80211_hwsim to start PMSR request by
      passthrough the request to wmediumd via virtio. mac80211_hwsim can't
      measure RTT for real because mac80211_hwsim the software simulator and
      packets are sent almost immediately for real. This change expect wmediumd
      to have all the location information of devices, so passthrough requests
      to wmediumd.
      
      In detail, add new mac80211_hwsim command HWSIM_CMD_ABORT_PMSR. When
      mac80211_hwsim receives the PMSR start request via
      ieee80211_ops.start_pmsr, the received cfg80211_pmsr_request is resent to
      the wmediumd with command HWSIM_CMD_START_PMSR and attribute
      HWSIM_ATTR_PMSR_REQUEST. The attribute is formatted as the same way as
      nl80211_pmsr_start() expects.
      Signed-off-by: default avatarJaewan Kim <jaewan@google.com>
      Link: https://lore.kernel.org/r/20230322131637.2633968-4-jaewan@google.comSigned-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      5530c04c
    • Jaewan Kim's avatar
      wifi: nl80211: make nl80211_send_chandef non-static · 5097f844
      Jaewan Kim authored
      Expose nl80211_send_chandef functionality for mac80211_hwsim or vendor
      netlink can use it where needed.
      Signed-off-by: default avatarJaewan Kim <jaewan@google.com>
      Reviewed-by: default avatarMichal Kubiak <michal.kubiak@intel.com>
      Link: https://lore.kernel.org/r/20230322131637.2633968-3-jaewan@google.comSigned-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      5097f844