[PATCH 61/92] nl80211: Register for dual protected SDF on NAN interface

Andrei Otcheretianski andrei.otcheretianski at intel.com
Wed Apr 22 05:23:52 PDT 2026


From: Avraham Stern <avraham.stern at intel.com>

Followup frames from a paired peer are dual protected public action
frames. Register for this type of frame on NAN interface to receive
those frames after pairing.

Signed-off-by: Avraham Stern <avraham.stern at intel.com>
---
 src/drivers/driver_nl80211.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/src/drivers/driver_nl80211.c b/src/drivers/driver_nl80211.c
index 0bc4ef0543..62fa9fe6f4 100644
--- a/src/drivers/driver_nl80211.c
+++ b/src/drivers/driver_nl80211.c
@@ -2730,6 +2730,7 @@ static int nl80211_register_action_frame(struct i802_bss *bss,
 
 
 #define NAN_SDF_ACTION ((const u8 *) "\x04\x09\x50\x6f\x9a\x13")
+#define NAN_PROTECTED_SDF_ACTION ((const u8 *) "\x09\x09\x50\x6f\x9a\x13")
 #define NAN_NAF_ACTION ((const u8 *) "\x04\x09\x50\x6f\x9a\x18")
 
 static int nl80211_mgmt_subscribe_nan(struct i802_bss *bss)
@@ -2771,6 +2772,15 @@ static int nl80211_mgmt_subscribe_nan(struct i802_bss *bss)
 		return -1;
 	}
 #ifdef CONFIG_PASN
+	/* NAN SDF Public Action */
+	if (nl80211_register_action_frame2(bss, NAN_PROTECTED_SDF_ACTION, 6,
+					   true)) {
+		wpa_printf(MSG_DEBUG,
+			   "nl80211: Failed to subscribe to NAN PROTECTED SDFs");
+		nl_destroy_handles(&bss->nl_mgmt);
+		return -1;
+	}
+
 	/* register for PASN Authentication frames */
 	if (nl80211_register_frame(bss, bss->nl_mgmt, type, (u8 *)"\x07\x00", 2,
 				   false)) {
-- 
2.53.0




More information about the Hostap mailing list