[RFC 00/34] Add initial support for NAN synchronized discovery
Andrei Otcheretianski
andrei.otcheretianski at intel.com
Wed Aug 13 10:38:44 PDT 2025
This patch series adds initial support for NAN synchronized discovery
by reusing the existing USD implemetation in wpa_supplicant.
This is based on the nl80211 kernel APIs proposed in RFC patch series
"[RFC v3 0/4] wifi: nl80211: Extend NAN APIs to allow more flexible
implementations", which introduces DW notification concept and allows
SDF transmissions over NAN device interface with proper timing.
This RFC patch series implements 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.
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.
Andrei Otcheretianski (20):
Add support for NAN start/stop callbacks.
NAN: Fix SDA parsing
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: 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 (14):
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 configuration
src/ap/nan_usd_ap.c | 2 +-
src/common/nan_de.c | 541 +++++++++++--
src/common/nan_de.h | 44 +-
src/common/{nan.h => nan_defs.h} | 13 +-
src/common/wpa_ctrl.h | 3 +-
src/drivers/driver.h | 132 +++-
src/drivers/driver_common.c | 2 +
src/drivers/driver_nl80211.c | 423 +++++++++--
src/drivers/driver_nl80211.h | 9 +
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 | 784 +++++++++++++++++++
wpa_supplicant/Android.mk | 14 +-
wpa_supplicant/Makefile | 14 +-
wpa_supplicant/ctrl_iface.c | 136 +++-
wpa_supplicant/dbus/dbus_new_handlers.c | 14 +-
wpa_supplicant/defconfig | 3 +
wpa_supplicant/driver_i.h | 27 +
wpa_supplicant/events.c | 33 +-
wpa_supplicant/nan_supplicant.c | 886 ++++++++++++++++++++++
wpa_supplicant/nan_supplicant.h | 166 ++++
wpa_supplicant/nan_usd.c | 566 --------------
wpa_supplicant/nan_usd.h | 49 --
wpa_supplicant/p2p_supplicant.c | 1 +
wpa_supplicant/wpa_cli.c | 24 +
wpa_supplicant/wpa_supplicant.c | 32 +-
wpa_supplicant/wpa_supplicant_i.h | 15 +-
32 files changed, 3423 insertions(+), 789 deletions(-)
rename src/common/{nan.h => nan_defs.h} (92%)
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
create mode 100644 wpa_supplicant/nan_supplicant.c
create mode 100644 wpa_supplicant/nan_supplicant.h
delete mode 100644 wpa_supplicant/nan_usd.c
delete mode 100644 wpa_supplicant/nan_usd.h
--
2.49.0
More information about the Hostap
mailing list