[RFC 12/34] wpa_supplicant: Add more NAN driver flags

Andrei Otcheretianski andrei.otcheretianski at intel.com
Wed Aug 13 10:38:56 PDT 2025


Add new NAN driver flags to indicate support for:
  - Synchronization offload and support for additional NAN sync
    parameters.
  - Support for user space NAN DE implementation which requires the
    driver to send DW notification and be able to transmit and receive
    SDF frames over NAN device interface with the correct timing.

Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski at intel.com>
---
 src/drivers/driver.h              | 5 +++++
 wpa_supplicant/wpa_supplicant.c   | 4 ++++
 wpa_supplicant/wpa_supplicant_i.h | 1 +
 3 files changed, 10 insertions(+)

diff --git a/src/drivers/driver.h b/src/drivers/driver.h
index a9c139b6c4..ad916f4f6c 100644
--- a/src/drivers/driver.h
+++ b/src/drivers/driver.h
@@ -2550,7 +2550,12 @@ struct wpa_driver_capa {
 	size_t max_probe_req_ie_len;
 
 #ifdef CONFIG_NAN
+/* Driver supports dual band NAN operation */
 #define WPA_DRIVER_FLAGS_NAN_SUPPORT_DUAL_BAND		0x00000001
+/* Driver supports NAN synchronization configuration */
+#define WPA_DRIVER_FLAGS_NAN_SUPPORT_SYNC_CONFIG	0x00000002
+/* Driver supports DW notifications and SDF TX/RX over NAN device interface */
+#define WPA_DRIVER_FLAGS_NAN_SUPPORT_USERSPACE_DE	0x00000008
 	u32 nan_flags;
 #endif /* CONFIG_NAN */
 };
diff --git a/wpa_supplicant/wpa_supplicant.c b/wpa_supplicant/wpa_supplicant.c
index d3b7361f37..5bfee7abe8 100644
--- a/wpa_supplicant/wpa_supplicant.c
+++ b/wpa_supplicant/wpa_supplicant.c
@@ -7924,6 +7924,10 @@ static int wpa_supplicant_init_iface(struct wpa_supplicant *wpa_s,
 		return -1;
 #endif /* CONFIG_NAN_USD */
 
+#ifdef CONFIG_NAN
+	wpa_s->nan_drv_flags = capa.nan_flags;
+#endif /* CONFIG_NAN */
+
 	if (wpa_supplicant_init_eapol(wpa_s) < 0)
 		return -1;
 	wpa_sm_set_eapol(wpa_s->wpa, wpa_s->eapol);
diff --git a/wpa_supplicant/wpa_supplicant_i.h b/wpa_supplicant/wpa_supplicant_i.h
index a53bda9431..0387768a52 100644
--- a/wpa_supplicant/wpa_supplicant_i.h
+++ b/wpa_supplicant/wpa_supplicant_i.h
@@ -1640,6 +1640,7 @@ struct wpa_supplicant {
 	bool nan_mgmt;
 
 #ifdef CONFIG_NAN
+	u32 nan_drv_flags;
 	struct nan_data *nan;
 #endif
 };
-- 
2.49.0




More information about the Hostap mailing list