[PATCH 40/97] NAN: Add group keys to NDP connected data

Andrei Otcheretianski andrei.otcheretianski at intel.com
Tue Apr 28 13:05:41 PDT 2026


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

Add the local GTK and the peer GTK to the NDP connected data so the
GTKs can be installed for the NDI.

Signed-off-by: Avraham Stern <avraham.stern at intel.com>
---
 src/nan/nan.c | 9 +++++++++
 src/nan/nan.h | 9 +++++++++
 2 files changed, 18 insertions(+)

diff --git a/src/nan/nan.c b/src/nan/nan.c
index fce341af5a..f7752f9d84 100644
--- a/src/nan/nan.c
+++ b/src/nan/nan.c
@@ -1653,6 +1653,15 @@ static int nan_ndp_connected(struct nan_data *nan, struct nan_peer *peer)
 						     params.peer_ndi,
 						     params.local_ndi);
 	params.first_ndp = dl_list_empty(&peer->ndps);
+
+	if (peer->ndp_setup.sec.local_gtk.csid != NAN_CS_NONE)
+		params.local_gtk = &peer->ndp_setup.sec.local_gtk;
+
+	if (peer->ndp_setup.sec.peer_gtk.csid != NAN_CS_NONE) {
+		params.peer_gtk = &peer->ndp_setup.sec.peer_gtk;
+		params.peer_gtk_rsc = peer->ndp_setup.sec.peer_gtk_rsc;
+	}
+
 	params.new_ndi_sta = !nan_peer_ndi_in_use(peer, params.peer_ndi);
 	if (nan->cfg->ndp_connected &&
 	    nan->cfg->ndp_connected(nan->cfg->cb_ctx, &params)) {
diff --git a/src/nan/nan.h b/src/nan/nan.h
index 0e2469d8b3..37af4262c2 100644
--- a/src/nan/nan.h
+++ b/src/nan/nan.h
@@ -309,6 +309,11 @@ struct nan_channels {
  * @new_ndi_sta: Whether a new NDI station needs to be added (peer_ndi not
  * 	already used by another NDP with this peer)
  * @interface_id: The interface identifier to be used by the peer for the NDP
+ * @local_gtk: Pointer to local GTK info. NULL if local GTK is
+ *	not to be installed
+ * @peer_gtk: Pointer to peer GTK info. NULL if peer GTK is
+ *	not to be installed
+ * @peer_gtk_rsc: Pointer to the peer GTK receive sequence counter
  */
 struct nan_ndp_connection_params {
 	struct nan_ndp_id ndp_id;
@@ -320,6 +325,10 @@ struct nan_ndp_connection_params {
 	bool first_ndp;
 	bool new_ndi_sta;
 	const u8 *interface_id;
+
+	struct nan_gtk *local_gtk;
+	struct nan_gtk *peer_gtk;
+	u8 *peer_gtk_rsc;
 };
 
 /**
-- 
2.53.0




More information about the Hostap mailing list