{"id":2229905,"url":"http://patchwork.ozlabs.org/api/1.1/patches/2229905/?format=json","web_url":"http://patchwork.ozlabs.org/project/hostap/patch/20260428200639.40243-97-andrei.otcheretianski@intel.com/","project":{"id":22,"url":"http://patchwork.ozlabs.org/api/1.1/projects/22/?format=json","name":"HostAP Development","link_name":"hostap","list_id":"hostap.lists.infradead.org","list_email":"hostap@lists.infradead.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20260428200639.40243-97-andrei.otcheretianski@intel.com>","date":"2026-04-28T20:06:37","name":"[96/97] NAN: Add data_path parameter to NAN_PUBLISH command","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"8b699b7c53c6e3de83a39d8e8b809951e2afc25b","submitter":{"id":62065,"url":"http://patchwork.ozlabs.org/api/1.1/people/62065/?format=json","name":"Andrei Otcheretianski","email":"andrei.otcheretianski@intel.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/hostap/patch/20260428200639.40243-97-andrei.otcheretianski@intel.com/mbox/","series":[{"id":501927,"url":"http://patchwork.ozlabs.org/api/1.1/series/501927/?format=json","web_url":"http://patchwork.ozlabs.org/project/hostap/list/?series=501927","date":"2026-04-28T20:05:05","name":"NAN: Group keys support, schedule update and more","version":1,"mbox":"http://patchwork.ozlabs.org/series/501927/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2229905/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2229905/checks/","tags":{},"headers":{"Return-Path":"\n <hostap-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n secure) header.d=lists.infradead.org header.i=@lists.infradead.org\n header.a=rsa-sha256 header.s=bombadil.20210309 header.b=gXOBTAkL;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n secure) header.d=infradead.org header.i=@infradead.org header.a=rsa-sha256\n header.s=casper.20170209 header.b=SdWMDQrv;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n unprotected) header.d=intel.com header.i=@intel.com header.a=rsa-sha256\n header.s=Intel header.b=EyoBxnGb;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=none (no SPF record) smtp.mailfrom=lists.infradead.org\n (client-ip=2607:7c80:54:3::133; helo=bombadil.infradead.org;\n envelope-from=hostap-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org;\n receiver=patchwork.ozlabs.org)"],"Received":["from bombadil.infradead.org (bombadil.infradead.org\n [IPv6:2607:7c80:54:3::133])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g4sCT3HrXz1xvV\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 29 Apr 2026 06:16:37 +1000 (AEST)","from localhost ([::1] helo=bombadil.infradead.org)\n\tby bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux))\n\tid 1wHoqj-00000002Nqt-30tD;\n\tTue, 28 Apr 2026 20:16:05 +0000","from casper.infradead.org ([2001:8b0:10b:1236::1])\n\tby bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux))\n\tid 1wHolE-00000002G8n-18cj\n\tfor hostap@bombadil.infradead.org;\n\tTue, 28 Apr 2026 20:10:24 +0000","from mgamail.intel.com ([198.175.65.16])\n\tby casper.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux))\n\tid 1wHolA-00000004NBq-1kcQ\n\tfor hostap@lists.infradead.org;\n\tTue, 28 Apr 2026 20:10:22 +0000","from fmviesa001.fm.intel.com ([10.60.135.141])\n  by orvoesa108.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 28 Apr 2026 13:09:44 -0700","from iapp347.iil.intel.com (HELO 87c02287900a.iil.intel.com)\n ([10.167.28.6])\n  by smtpauth.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 28 Apr 2026 13:09:43 -0700"],"DKIM-Signature":["v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=lists.infradead.org; s=bombadil.20210309; h=Sender:\n\tContent-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post:\n\tList-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:\n\tMessage-ID:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description:\n\tResent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:\n\tList-Owner; bh=VX/2Y4Nvr3FDNvolYWY0sLXnYmyms0hL3W7XN68Gq5o=; b=gXOBTAkL1Qqv6V\n\tY//91ZJgQb0kK5LOa2r7pBGhjHYRlQquC9s7NyXYAcXrzkqKWBWkaCwVyn79w7g7J7Jr7Kd94kstU\n\tqSrZvS1MVWfI4ANyVndV9UzfiAUW9f+vYbQFHsarC7TXPu9IGM61FUSQClTXWt7oycUIOBBuJab5A\n\tKQ9TQ2GRp85nPOllxg3p829oIR0xb/esLEK6FaW2zWuCSYPNcEzWXXYlW4NIkok5ZQRKI0NZ0T6rZ\n\tqXI70YhfEy7PWuSu7ZbNvIXH+K3xZu7AZJqQhpFIIlzR36AG63GJARoTeA9+2C+sOaD9wtJYpis72\n\tIT30Gm8+oQ1X9D7j3g3w==;","v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=infradead.org; s=casper.20170209; h=Content-Transfer-Encoding:MIME-Version:\n\tReferences:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Sender:Reply-To:\n\tContent-Type:Content-ID:Content-Description;\n\tbh=U/C1m5UDRq+6FMvs14TCV+MAKNR83WIJMm91EXrCxnk=; b=SdWMDQrvMGKHucduz07Q4LNJ15\n\tP1cwgOJAQ2uuvUgTwBdBQMK85CIUsTW2+4Cnh3TokEa/8j8Fk6L4Mpn042MvS9oyJiCk1S3I+i+V3\n\tXZz7Z5R/zzm38nQ8fYcMK621iE7vY3rDahj/axUjgJdYAWrt3qnEtC2hL04xfr+9mlwsMj/QMXKHt\n\tx8A7uC/Y9pFJqSlh6jL3ciIMnXj+/NyLvYaoo+yNi+YMFZTwtSlPYK0ynfSPhNYYUIHQy5512T0c8\n\tjPrJ3uC5h+vTYuI29DqF1eDSW+3JpVB5rwhRwaz5oNbBCuO/ffV5xyDAXpBN0juU/FJaiWkHIXeiA\n\tpgEpmExw==;","v=1; a=rsa-sha256; c=relaxed/simple;\n  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;\n  t=1777407020; x=1808943020;\n  h=from:to:cc:subject:date:message-id:in-reply-to:\n   references:mime-version:content-transfer-encoding;\n  bh=ZLZyeTh863HjHmxMA4cUR9UWOnIa4tZwc1IHQ6wOIGo=;\n  b=EyoBxnGb1ALTDDuKXfWPTaWEyWcOzBcffj1xlkk1GZt+i1W/Le4Br/5E\n   LpIVoICF2FaeQyUq/Ia43P9famo739Lz2edlGdeFoOTqsTsjllXhSH/MC\n   /QZpsCm73B6gapNKKOLnpJIOat1UOPmAv5PlIphyf6vfD09+Ke5SV3NdO\n   7/JBRJCVMS2+yB+IU6OGcsBd55SytQ3hBtSJ2UCEgrvNIrFTGjCJh1CuZ\n   7HVk9EzKOdp9bMMVTU2d4rxuxyjXhx+msRhpGr4drG5KruADEncd3TGku\n   vlvRTt3U+HAYK2em1RoEVOv7601Szy6dq42XBSoyWcmPXwTEYYoBWm17t\n   g==;"],"X-CSE-ConnectionGUID":["NyKY9xAyT7uq68aXStvIRg==","DJ73b1zdTB+0Ry+ghdl6xA=="],"X-CSE-MsgGUID":["+ribvXlERym4m/Y/onHySA==","axPk/bZmQFStXtzHyKLojw=="],"X-IronPort-AV":["E=McAfee;i=\"6800,10657,11770\"; a=\"78519780\"","E=Sophos;i=\"6.23,204,1770624000\";\n   d=\"scan'208\";a=\"78519780\"","E=Sophos;i=\"6.23,204,1770624000\";\n   d=\"scan'208\";a=\"257611027\""],"X-ExtLoop1":"1","From":"Andrei Otcheretianski <andrei.otcheretianski@intel.com>","To":"hostap@lists.infradead.org","Cc":"vamsin@qti.qualcomm.com,\n\tmaheshkkv@google.com,\n\tAndrei Otcheretianski <andrei.otcheretianski@intel.com>","Subject":"[PATCH 96/97] NAN: Add data_path parameter to NAN_PUBLISH command","Date":"Tue, 28 Apr 2026 23:06:37 +0300","Message-ID":"<20260428200639.40243-97-andrei.otcheretianski@intel.com>","X-Mailer":"git-send-email 2.53.0","In-Reply-To":"<20260428200639.40243-1-andrei.otcheretianski@intel.com>","References":"<20260428200639.40243-1-andrei.otcheretianski@intel.com>","MIME-Version":"1.0","X-CRM114-Version":"20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 ","X-CRM114-CacheID":"sfid-20260428_211020_766842_DF0E5AE1 ","X-CRM114-Status":"GOOD (  11.61  )","X-Spam-Score":"-4.4 (----)","X-Spam-Report":"SpamAssassin version 4.0.1 on casper.infradead.org summary:\n Content analysis details:   (-4.4 points, 5.0 required)\n  pts rule name              description\n ---- ----------------------\n --------------------------------------------------\n -2.3 RCVD_IN_DNSWL_MED      RBL: Sender listed at https://www.dnswl.org/,\n                             medium trust\n                             [198.175.65.16 listed in list.dnswl.org]\n  0.0 SPF_HELO_NONE          SPF: HELO does not publish an SPF Record\n -0.0 SPF_PASS               SPF: sender matches SPF record\n -0.1 DKIM_VALID             Message has at least one valid DKIM or DK\n signature\n -0.1 DKIM_VALID_EF          Message has a valid DKIM or DK signature from\n                             envelope-from domain\n  0.1 DKIM_SIGNED            Message has a DKIM or DK signature,\n not necessarily valid\n -0.1 DKIM_VALID_AU          Message has a valid DKIM or DK signature from\n author's\n                             domain\n -1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%\n                             [score: 0.0000]\n -0.0 DKIMWL_WL_HIGH         DKIMwl.org - High trust sender","X-BeenThere":"hostap@lists.infradead.org","X-Mailman-Version":"2.1.34","Precedence":"list","List-Id":"<hostap.lists.infradead.org>","List-Unsubscribe":"<http://lists.infradead.org/mailman/options/hostap>,\n <mailto:hostap-request@lists.infradead.org?subject=unsubscribe>","List-Archive":"<http://lists.infradead.org/pipermail/hostap/>","List-Post":"<mailto:hostap@lists.infradead.org>","List-Help":"<mailto:hostap-request@lists.infradead.org?subject=help>","List-Subscribe":"<http://lists.infradead.org/mailman/listinfo/hostap>,\n <mailto:hostap-request@lists.infradead.org?subject=subscribe>","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Sender":"\"Hostap\" <hostap-bounces@lists.infradead.org>","Errors-To":"hostap-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org"},"content":"Add a new data_path parameter to NAN_PUBLISH command that sets the\nNAN_SDEA_CTRL_DATA_PATH_REQ bit in the SDEA control field. This allows\npublishers to indicate that they request a NAN Data Path.\n\nUsage: NAN_PUBLISH ... data_path=1\n\nThe data_path flag is also reported in NAN-DISCOVERY-RESULT events.\n\nSigned-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>\n---\n src/common/nan_de.c         | 5 +++++\n src/common/nan_de.h         | 4 ++++\n wpa_supplicant/ctrl_iface.c | 5 +++++\n wpa_supplicant/notify.c     | 4 ++--\n 4 files changed, 16 insertions(+), 2 deletions(-)","diff":"diff --git a/src/common/nan_de.c b/src/common/nan_de.c\nindex 6850a5aa66..fc01166a92 100644\n--- a/src/common/nan_de.c\n+++ b/src/common/nan_de.c\n@@ -86,6 +86,7 @@ struct nan_de_service {\n \tstruct wpabuf *srf;\n \tbool close_proximity;\n \tbool gtk_required;\n+\tbool data_path;\n \n \t/* Bootstrapping methods */\n \tu16 pbm;\n@@ -580,6 +581,8 @@ static void nan_de_tx_sdf(struct nan_de *de, struct nan_de_service *srv,\n \t\t\t\tsdea_ctrl |= NAN_SDEA_CTRL_FSD_GAS;\n \t\t\tif (srv->gtk_required)\n \t\t\t\tsdea_ctrl |= NAN_SDEA_CTRL_GTK_REQ;\n+\t\t\tif (srv->data_path)\n+\t\t\t\tsdea_ctrl |= NAN_SDEA_CTRL_DATA_PATH_REQ;\n \t\t}\n \n \t\tif (sdea_ctrl || ssi) {\n@@ -1703,6 +1706,7 @@ send_event:\n \tres.peer_addr = peer_addr;\n \tres.fsd = !!(sdea_control & NAN_SDEA_CTRL_FSD_REQ);\n \tres.fsd_gas = !!(sdea_control & NAN_SDEA_CTRL_FSD_GAS);\n+\tres.data_path = !!(sdea_control & NAN_SDEA_CTRL_DATA_PATH_REQ);\n \tres.cipher_suites = cipher_suite_count > 0 ? cipher_suites : NULL;\n \tres.n_cipher_suites = cipher_suite_count;\n \tres.pmkid_list = pmkid_count > 0 ? pmkid_list : NULL;\n@@ -2294,6 +2298,7 @@ int nan_de_publish(struct nan_de *de, const char *service_name,\n \tsrv->close_proximity = params->close_proximity;\n \tsrv->pbm = params->pbm;\n \tsrv->gtk_required = params->gtk_required;\n+\tsrv->data_path = params->data_path;\n \n \tnan_de_add_srv(de, srv);\n \tnan_de_run_timer(de);\ndiff --git a/src/common/nan_de.h b/src/common/nan_de.h\nindex fa0e4ce277..7f32f42bcd 100644\n--- a/src/common/nan_de.h\n+++ b/src/common/nan_de.h\n@@ -33,6 +33,7 @@ struct nan_discovery_result {\n \tconst u8 *peer_addr;\n \tbool fsd;\n \tbool fsd_gas;\n+\tbool data_path;\n \tconst u8 *pmkid_list;\n \tunsigned int pmkid_count;\n \tconst u8 *cipher_suites;\n@@ -174,6 +175,9 @@ struct nan_publish_params {\n \t * and received for the service\n \t */\n \tbool gtk_required;\n+\n+\t/* Request NAN Data Path */\n+\tbool data_path;\n };\n \n /* Returns -1 on failure or >0 publish_id */\ndiff --git a/wpa_supplicant/ctrl_iface.c b/wpa_supplicant/ctrl_iface.c\nindex ba0d3124c9..ca87e88218 100644\n--- a/wpa_supplicant/ctrl_iface.c\n+++ b/wpa_supplicant/ctrl_iface.c\n@@ -12941,6 +12941,11 @@ static int wpas_ctrl_nan_publish(struct wpa_supplicant *wpa_s, char *cmd,\n \t\t\tcontinue;\n \t\t}\n \n+\t\tif (os_strcmp(token, \"data_path=1\") == 0) {\n+\t\t\tparams.data_path = true;\n+\t\t\tcontinue;\n+\t\t}\n+\n \t\twpa_printf(MSG_INFO, \"CTRL: Invalid NAN_PUBLISH parameter: %s\",\n \t\t\t   token);\n \t\tgoto fail;\ndiff --git a/wpa_supplicant/notify.c b/wpa_supplicant/notify.c\nindex e410df1b31..8a09c26c91 100644\n--- a/wpa_supplicant/notify.c\n+++ b/wpa_supplicant/notify.c\n@@ -1158,7 +1158,7 @@ err:\n \n \twpa_msg_global(wpa_s, MSG_INFO, NAN_DISCOVERY_RESULT\n \t\t       \"subscribe_id=%d publish_id=%d address=\" MACSTR\n-\t\t       \" fsd=%d fsd_gas=%d srv_proto_type=%u ssi=%s%s%s%s%s pairing_setup_supp=%d npk_nik_caching_supp=%d pbm=0x%04x\",\n+\t\t       \" fsd=%d fsd_gas=%d srv_proto_type=%u ssi=%s%s%s%s%s pairing_setup_supp=%d npk_nik_caching_supp=%d pbm=0x%04x data_path=%d\",\n \t\t       res->subscribe_id, res->peer_publish_id,\n \t\t       MAC2STR(res->peer_addr),\n \t\t       res->fsd, res->fsd_gas, res->srv_proto_type, ssi_hex,\n@@ -1167,7 +1167,7 @@ err:\n \t\t       cipher_suites_str ? \" cipher_suites=\" : \"\",\n \t\t       cipher_suites_str ? cipher_suites_str : \"\",\n \t\t       res->pairing_setup_supp, res->npk_nik_caching_supp,\n-\t\t       res->pbm);\n+\t\t       res->pbm, res->data_path);\n \tos_free(ssi_hex);\n \tos_free(pmkid_hex);\n \tos_free(cipher_suites_str);\n","prefixes":["96/97"]}