[PATCH v2 00/35] Add initial support for NAN synchronized discovery
Andrei Otcheretianski
andrei.otcheretianski at intel.com
Tue Dec 23 03:45:49 PST 2025
This patch series add initial support for NAN synchronized discovery
by reusing the existing USD implemetation in wpa_supplicant.
This is based on the latest wireless-next tree, which introduced
DW notification concept and allows SDF transmissions over NAN device
interface with proper timing.
This patch series implement the following:
- Add support for NAN device interface
- Introduce NAN module, and refactor USD so it will be possible to
reuse the existing implementation.
- Handle DW notifications and support synchronized discovery
- Extend NAN DE to support match, SRF and RSSI filtering.
- Testing coverage
In this implementation, NAN device interface can be used both for
synchronized and unsynchronized discovery (USD). For sync discovery, NAN
services (publish/subscribe) should be added with sync=1 parameter,
otherwise USD will be used. Sync discovery is only allowed after NAN
operation has been started.
Changes in V2:
- Fixed sync follow up addressing and added follow up hwsim test
- Fixed NAN cluster ID configuration.
- Increased timeouts in hwsim tests for discovery events.
- Don't set FSD bit in sync discovery tests.
Andrei Otcheretianski (20):
Add support for NAN start/stop callbacks.
wpa_supplicant: Handle NAN cluster join and next DW events
wpa_supplicant: Add more NAN driver flags
nl80211: Parse NAN capabilities
wpa_supplicant: Check SYNC_CONFIG support
nl80211: Handle NAN cluster join and DW notifications
nl80211: Configure 'enable dw notification' NAN flag
NAN: Handle cluster join notification
nl80211: Config address and register mgmt frames on NAN iface
NAN: Support synchronized SDF transmissions
wpa_supplicant: Refactor NAN USD
wpa_supplicant: Make sure NAN DE is initialized in wpas_nan_ready()
NAN: Enable DW notification
wpa_supplicant: Support synchronized NAN publish/subscribe
NAN: Reuse nan_de_tx_sdf() to transmit solicited publish
NAN: Support matching filters
ctrl_iface: Support configuration of publish/subscribe match filters
NAN: Support Service Response Filters (SRF)
NAN: Support RSSI range limited services
NAN: Don't send sync SDFs with offchannel tx
Ilan Peer (15):
NAN: Fix enumeration value of NAN_ATTR_EXT_P2P_OPER
USD: Rename WPA_DRIVER_FLAGS2_NAN_OFFLOAD
NAN: Rename common/nan.h to common/nan_defs.h
driver: Add support for NAN device operations
tests: Enable building NAN for hwsim testing
NAN: Add a basic NAN module
NAN: Integrate the NAN module with the wpa_supplicant
wpa_supplicant: Add control interface commands for NAN
nl80211: Support NAN Device interface
nl80211: Do not allow off channel for NAN Device action frames
driver: Extend NAN cluster configuration
NAN: Support configuring NAN operation
nl80211: Support updating NAN configuration
nl80211: Extend NAN configuration
tests: Add testing coverage for NAN operation
src/ap/nan_usd_ap.c | 2 +-
src/common/nan_de.c | 633 +++++++++++---
src/common/nan_de.h | 44 +-
src/common/{nan.h => nan_defs.h} | 15 +-
src/common/wpa_ctrl.h | 3 +-
src/drivers/driver.h | 133 ++-
src/drivers/driver_common.c | 2 +
src/drivers/driver_nl80211.c | 425 ++++++++--
src/drivers/driver_nl80211.h | 8 +
src/drivers/driver_nl80211_capa.c | 47 +-
src/drivers/driver_nl80211_event.c | 50 ++
src/nan/Makefile | 3 +
src/nan/nan.c | 112 +++
src/nan/nan.h | 46 ++
src/nan/nan_i.h | 19 +
tests/hwsim/example-wpa_supplicant.config | 2 +
tests/hwsim/test_nan.py | 776 ++++++++++++++++++
wpa_supplicant/Android.mk | 14 +-
wpa_supplicant/Makefile | 14 +-
wpa_supplicant/ctrl_iface.c | 137 +++-
wpa_supplicant/dbus/dbus_new_handlers.c | 14 +-
wpa_supplicant/defconfig | 3 +
wpa_supplicant/driver_i.h | 27 +
wpa_supplicant/events.c | 33 +-
.../{nan_usd.c => nan_supplicant.c} | 483 +++++++++--
wpa_supplicant/nan_supplicant.h | 182 ++++
wpa_supplicant/nan_usd.h | 53 --
wpa_supplicant/notify.c | 4 +-
wpa_supplicant/p2p_supplicant.c | 1 +
wpa_supplicant/wpa_cli.c | 41 +-
wpa_supplicant/wpa_supplicant.c | 32 +-
wpa_supplicant/wpa_supplicant_i.h | 15 +-
32 files changed, 3000 insertions(+), 373 deletions(-)
rename src/common/{nan.h => nan_defs.h} (91%)
create mode 100644 src/nan/Makefile
create mode 100644 src/nan/nan.c
create mode 100644 src/nan/nan.h
create mode 100644 src/nan/nan_i.h
create mode 100644 tests/hwsim/test_nan.py
rename wpa_supplicant/{nan_usd.c => nan_supplicant.c} (52%)
create mode 100644 wpa_supplicant/nan_supplicant.h
delete mode 100644 wpa_supplicant/nan_usd.h
--
2.49.0
More information about the Hostap
mailing list