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 _______________________________________________ Hostap mailing list Hostap@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/hostap