diff mbox series

[RFC,3/5] wifi: nl80211: Add NAN Discovery Window (DW) notification

Message ID 20250622222444.356435-4-andrei.otcheretianski@intel.com
State New
Headers show
Series [RFC,1/5] wifi: nl80211: Add more configuration options for NAN commands | expand

Commit Message

Andrei Otcheretianski June 22, 2025, 10:24 p.m. UTC
This notification will be used by the device to inform user space
about upcoming DW. When received, user space will be able to prepare
multicast Service Discovery Frames (SDFs) to be transmitted during the
next DW using %NL80211_CMD_FRAME command on the NAN management interface.
The device/driver will take care to transmit the frames in the correct
timing and flush the queues upon the termination of the DW.
This allows to implement a synchronized Discovery Engine (DE) in user
space, if the device doesn't support DE offload.
Note that this notification can be sent before the actual DW starts as
long as the driver/device handles the actual timing of the SDF
transmission.

Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
---
 include/uapi/linux/nl80211.h | 7 +++++++
 1 file changed, 7 insertions(+)
diff mbox series

Patch

diff --git a/include/uapi/linux/nl80211.h b/include/uapi/linux/nl80211.h
index f2d4a2007463..134cea046bd0 100644
--- a/include/uapi/linux/nl80211.h
+++ b/include/uapi/linux/nl80211.h
@@ -1347,6 +1347,11 @@ 
  *	control EPCS configuration. Used to notify userland on the current state
  *	of EPCS.
  *
+ * @NL80211_CMD_NAN_NEXT_DW_NOTIFICATION: This command is used to notify
+ *	userspace about the next Discovery Window (DW). Userspace may use it
+ *	to prepare frames to be sent in the next DW. %NL80211_ATTR_WIPHY_FREQ
+ *	is used to indicate the frequency of the next DW.
+ *
  * @NL80211_CMD_MAX: highest used command number
  * @__NL80211_CMD_AFTER_LAST: internal use
  */
@@ -1607,6 +1612,8 @@  enum nl80211_commands {
 	NL80211_CMD_ASSOC_MLO_RECONF,
 	NL80211_CMD_EPCS_CFG,
 
+	NL80211_CMD_NAN_NEXT_DW_NOTIFICATION,
+
 	/* add new commands above here */
 
 	/* used to define NL80211_CMD_MAX below */