]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
NAN: Add more driver capability flags
authorAndrei Otcheretianski <andrei.otcheretianski@intel.com>
Tue, 23 Dec 2025 11:46:01 +0000 (13:46 +0200)
committerJouni Malinen <j@w1.fi>
Thu, 29 Jan 2026 10:31:55 +0000 (12:31 +0200)
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@intel.com>
src/drivers/driver.h
wpa_supplicant/wpa_supplicant.c
wpa_supplicant/wpa_supplicant_i.h

index b91d4fc6efad6bfa599bfb13f0d8eb172f770036..f171a612e038c70c217d470124651d8774cd84f6 100644 (file)
@@ -2579,6 +2579,10 @@ struct wpa_driver_capa {
 #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      0x00000004
        u32 nan_flags;
 #endif /* CONFIG_NAN */
 };
index 0c4abaafbaf3cb31009df1ab68a47962fe28ec7a..98e82a4f2728f9f76e223cca0bbdd46ff67a7e61 100644 (file)
@@ -7992,6 +7992,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);
index 5371f5b6e9ce7d8cda64ee751eb211cecb22e790..60c65009ce1b7841d461ab54a86ab86fd0d21a79 100644 (file)
@@ -1670,6 +1670,7 @@ struct wpa_supplicant {
        bool nan_mgmt;
 
 #ifdef CONFIG_NAN
+       u32 nan_drv_flags;
        struct nan_data *nan;
 #endif /* CONFIG_NAN */
 };