[RFC PATCH v2 00/23] PR: Add nl80211 support and ranging for Proximity Detection

Peddolla Harshavardhan Reddy peddolla.reddy at oss.qualcomm.com
Thu Apr 2 05:24:05 PDT 2026


wpa_supplicant already had PASN authentication support for
Proximity Ranging (PR). This series adds the missing nl80211
driver support and ranging to complete the PD (Proximity
Detection) flow.

It introduces a dedicated PD virtual interface (NL80211_IFTYPE_PD)
with its own MAC address, updates nl80211_copy.h with the
proposed kernel API additions for PD, improves driver capability
parsing with dedicated PR-specific flags, extends the set_key
path to carry LTF key seeds for secure ranging, and wires up
peer measurement start and result handling through the nl80211
driver. The existing PR_PASN_START control interface command is
extended with the full set of EDCA, NTB, and proximity threshold
parameters and rerouted through wpas_pr_pasn_trigger() to drive
the complete PASN-then-ranging flow in a single step.

The proposed wireless-next changes that are used here are:
https://lore.kernel.org/linux-wireless/20260320175938.2547288-1-peddolla.reddy@oss.qualcomm.com/

---
Changes in v2
- Added the correct NL attributes.
- Refactored dependent code paths to reflect the updated NL attribute handling.
---
Peddolla Harshavardhan Reddy (18):
  nl80211_copy.h changes related to Proximity Ranging
  ctrl_iface: Add forced_addr parameter to NAN_PUBLISH and NAN_SUBSCRIBE
  nl80211: Add MAC address filter support for remain-on-channel
  nl80211: Parse Peer Measurement (PMSR) capabilities
  PR: Use a dedicated flag for EDCA-based ranging responder support
  nl80211: Add dedicated flag for PR 6GHz capability
  PR: Replace format_and_bw attribute with preamble/BW bitmaps
  PR: Add nl80211 driver support for PD interface
  PR: Extend PR_PASN_START ctrl iface with src_addr and role
  PR: Use set_key to configure secure ranging context for PASN
  nl80211: Support key operations on wdev-only interfaces
  PR: Add dedicated interface for PASN with custom MAC address
  PR: Add interface to trigger PASN authentication for ranging
  PR: Add extended ranging parameters to PASN peer structure
  nl80211: Add peer measurement support for proximity ranging
  PR: Extend PR_PASN_START ctrl iface with full ranging parameters
  wpa_supplicant: Implement FTM peer measurement result handling
  provisioning-ranging: Add dedicated ranging socket and timeout
    handling

Veerendranath Jakkam (5):
  nl80211: Add Proximity Detection (PD) wdev support
  nl80211: Route set_key operations to PD wdev based on own_addr
  nl80211: Route MLME TX via PD wdev based on source address
  nl80211: Factor out global event BSS lookup and prefer PD BSS by wdev
  nl80211: Add dedicated ranging handle for peer measurements

 src/common/proximity_ranging.c     |    3 +
 src/common/proximity_ranging.h     |  130 +++
 src/common/wpa_ctrl.h              |    6 +
 src/drivers/driver.h               |  239 +++++-
 src/drivers/driver_common.c        |    1 +
 src/drivers/driver_nl80211.c       |  676 +++++++++++++++-
 src/drivers/driver_nl80211.h       |   35 +
 src/drivers/driver_nl80211_capa.c  |  168 ++++
 src/drivers/driver_nl80211_event.c |  347 +++++++-
 src/drivers/nl80211_copy.h         |  229 +++++-
 wpa_supplicant/ctrl_iface.c        |  111 ++-
 wpa_supplicant/dpp_supplicant.c    |    2 +-
 wpa_supplicant/driver_i.h          |   66 +-
 wpa_supplicant/events.c            |   11 +
 wpa_supplicant/nan_supplicant.c    |    2 +-
 wpa_supplicant/offchannel.c        |    4 +-
 wpa_supplicant/p2p_supplicant.c    |    2 +-
 wpa_supplicant/pr_supplicant.c     | 1212 +++++++++++++++++++++++++---
 wpa_supplicant/pr_supplicant.h     |   34 +-
 wpa_supplicant/wpa_supplicant.c    |    3 +-
 wpa_supplicant/wpa_supplicant_i.h  |   24 +
 21 files changed, 3092 insertions(+), 213 deletions(-)


base-commit: 5572891914d3d48b6870395bc246ab6b7365cd9b
-- 
2.34.1




More information about the Hostap mailing list