{"id":2218852,"url":"http://patchwork.ozlabs.org/api/1.0/patches/2218852/?format=json","project":{"id":22,"url":"http://patchwork.ozlabs.org/api/1.0/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":"<20260401220220.4418-62-andrei.otcheretianski@intel.com>","date":"2026-04-01T22:02:10","name":"[61/71] NAN: Pass the entire frame in follow up receive callbacks","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"77972bfc974a3459479602f26c509521f07a4724","submitter":{"id":62065,"url":"http://patchwork.ozlabs.org/api/1.0/people/62065/?format=json","name":"Andrei Otcheretianski","email":"andrei.otcheretianski@intel.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/hostap/patch/20260401220220.4418-62-andrei.otcheretianski@intel.com/mbox/","series":[{"id":498402,"url":"http://patchwork.ozlabs.org/api/1.0/series/498402/?format=json","date":"2026-04-01T22:01:09","name":"NAN Data Path and Bootstrapping support","version":1,"mbox":"http://patchwork.ozlabs.org/series/498402/mbox/"}],"check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2218852/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=x621E4S9;\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=GU17JTio;\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 4fmK1X5Cwkz1xtJ\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 02 Apr 2026 09:10:40 +1100 (AEDT)","from localhost ([::1] helo=bombadil.infradead.org)\n\tby bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux))\n\tid 1w83lD-0000000GFqu-1RGE;\n\tWed, 01 Apr 2026 22:10:04 +0000","from mgamail.intel.com ([198.175.65.20])\n\tby bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux))\n\tid 1w83hz-0000000G9is-3vAX\n\tfor hostap@lists.infradead.org;\n\tWed, 01 Apr 2026 22:06:49 +0000","from fmviesa003.fm.intel.com ([10.60.135.143])\n  by orvoesa112.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 01 Apr 2026 15:06:15 -0700","from iapp347.iil.intel.com (HELO 87c02287900a.iil.intel.com)\n ([10.167.28.6])\n  by fmviesa003-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 01 Apr 2026 15:06:14 -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:To:From:Reply-To:Cc:Content-ID:Content-Description:\n\tResent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:\n\tList-Owner; bh=fJx4efkt70j1DoBJqBkdNe0CegY92X/SiJDOU9M5zy4=; b=x621E4S98O5KfX\n\ttsmgyD2xOc8Jbtgcdt1X4xIkL4KPIpd5yvg1Ai6i/snCdHD2wRuxChPqZv5Xwh/o3LqkcIgSe0S8S\n\trh09tTifLGY/Jm6QQpqK1xR4ho6cySgdUH6Q/8gPcrE0uv4U/uNcxXfgGRQL2JS3RrKwqQOXvToFR\n\tlz3bBcvqGpLXp/mq55AFWoMRntdsXdS5R7SsKAkaqaBbXGThwej80H432zEA2oUKW5+/5Qux3smZx\n\tORPve8TbNai/h97rKp8Sv2T1MrvYId2uf2iqe+eoJ+muZKtrvIvLbK+GCjnuRFQ8hhA1JZ6PLl1l4\n\tIWkes69Bx/4jXeL4Yz1g==;","v=1; a=rsa-sha256; c=relaxed/simple;\n  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;\n  t=1775081204; x=1806617204;\n  h=from:to:subject:date:message-id:in-reply-to:references:\n   mime-version:content-transfer-encoding;\n  bh=Mv2geJsQo7uRPxVVEagPQDVchLYmgZcHAiiijgWbsLI=;\n  b=GU17JTiowOeAHjdb1Kb7u7wR0knGhFZaSBl43I+kwFxF4X49KYFEXi3H\n   b9fsaMZ36huxUKUMVAbBaASw5jwKmuolEJnQ+dsiHPSGbQ3TQGWLQxH93\n   EevYKOTMIZUKrI+an5lxAzHuqO9132uSeiMqrhRjV61Dcf4eewDZed5QC\n   Npv7Rl89L3mq1GU/dil5/MLMclVc6uSekOk3NhMuiJtyTBb6q/sQ2F12t\n   bQIebgcw4NDzXwDKqmbdV7o4w2uK2HTiMFgpXN3vfJCEyHcxxqWVpqZBP\n   mctbvAuc9yl50L4SMh72ql7NZ4uSaTY+ozclBvFzfDJtHFInVo0pog5An\n   g==;"],"X-CSE-ConnectionGUID":["8cYwHzZnQRWZxsx11rNGEA==","cp0kCA3DTsqkcgR4QvXnrg=="],"X-CSE-MsgGUID":["Q6bZPuGWRhGNPXYm4F+6VQ==","+8jqAHhgRjK/QdgVev3liQ=="],"X-IronPort-AV":["E=McAfee;i=\"6800,10657,11746\"; a=\"75851663\"","E=Sophos;i=\"6.23,153,1770624000\";\n   d=\"scan'208\";a=\"75851663\""],"X-ExtLoop1":"1","From":"Andrei Otcheretianski <andrei.otcheretianski@intel.com>","To":"hostap@lists.infradead.org","Subject":"[PATCH 61/71] NAN: Pass the entire frame in follow up receive\n callbacks","Date":"Thu,  2 Apr 2026 01:02:10 +0300","Message-ID":"<20260401220220.4418-62-andrei.otcheretianski@intel.com>","X-Mailer":"git-send-email 2.53.0","In-Reply-To":"<20260401220220.4418-1-andrei.otcheretianski@intel.com>","References":"<20260401220220.4418-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-20260401_150644_083426_52060358 ","X-CRM114-Status":"GOOD (  11.68  )","X-Spam-Score":"-1.9 (-)","X-Spam-Report":"Spam detection software,\n running on the system \"bombadil.infradead.org\",\n has NOT identified this incoming email as spam.  The original\n message has been attached to this so you can view it or label\n similar future email.  If you have any questions, see\n the administrator of that system for details.\n Content preview:  Follow up frames may be used outside of DE to carry\n additional\n    attributes. For example using NPBA for bootstrapping etc. Extend the\n receive\n    callback so the entire frame buffer is provided. Signed-off-by: Andrei\n Otcheretianski\n    <andrei.otcheretianski@intel.com> Signed-off-by: Ilan Peer\n <ilan.peer@intel.com>\n    --- src/ap/nan_usd_ap.c | 3 ++- src/common/nan_de.c | 8 +++++---\n src/common/nan_de\n    [...]\n Content analysis details:   (-1.9 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.20 listed in list.dnswl.org]\n  1.0 RCVD_IN_VALIDITY_RPBL_BLOCKED RBL: ADMINISTRATOR NOTICE: The query to\n                              Validity was blocked.  See\n                             https://knowledge.validity.com/hc/en-us/articles/20961730681243\n                              for more information.\n                             [198.175.65.20 listed in\n bl.score.senderscore.com]\n  1.0 RCVD_IN_VALIDITY_CERTIFIED_BLOCKED RBL: ADMINISTRATOR NOTICE: The\n                             query to Validity was blocked.  See\n                             https://knowledge.validity.com/hc/en-us/articles/20961730681243\n                              for more information.\n                          [198.175.65.20 listed in\n sa-trusted.bondedsender.org]\n  1.0 RCVD_IN_VALIDITY_SAFE_BLOCKED RBL: ADMINISTRATOR NOTICE: The query to\n                              Validity was blocked.  See\n                             https://knowledge.validity.com/hc/en-us/articles/20961730681243\n                              for more information.\n                             [198.175.65.20 listed in sa-accredit.habeas.com]\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_SIGNED            Message has a DKIM or DK signature,\n not necessarily valid\n -0.1 DKIM_VALID_EF          Message has a valid DKIM or DK signature from\n                             envelope-from domain\n -0.1 DKIM_VALID_AU          Message has a valid DKIM or DK signature from\n author's\n                             domain\n -0.1 DKIM_VALID             Message has at least one valid DKIM or DK\n signature\n -1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%\n                             [score: 0.0000]\n -0.5 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":"Follow up frames may be used outside of DE to carry additional\nattributes. For example using NPBA for bootstrapping etc.\nExtend the receive callback so the entire frame buffer is provided.\n\nSigned-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>\nSigned-off-by: Ilan Peer <ilan.peer@intel.com>\n---\n src/ap/nan_usd_ap.c             | 3 ++-\n src/common/nan_de.c             | 8 +++++---\n src/common/nan_de.h             | 3 ++-\n wpa_supplicant/nan_supplicant.c | 3 ++-\n 4 files changed, 11 insertions(+), 6 deletions(-)","diff":"diff --git a/src/ap/nan_usd_ap.c b/src/ap/nan_usd_ap.c\nindex 5263a0be41..e862e9b31d 100644\n--- a/src/ap/nan_usd_ap.c\n+++ b/src/ap/nan_usd_ap.c\n@@ -129,7 +129,8 @@ static void hostapd_nan_de_subscribe_terminated(void *ctx, int subscribe_id,\n \n static void hostapd_nan_de_receive(void *ctx, int id, int peer_instance_id,\n \t\t\t\t   const u8 *ssi, size_t ssi_len,\n-\t\t\t\t   const u8 *peer_addr)\n+\t\t\t\t   const u8 *peer_addr,\n+\t\t\t\t   const u8 *buf, size_t len)\n {\n \tstruct hostapd_data *hapd = ctx;\n \tchar *ssi_hex;\ndiff --git a/src/common/nan_de.c b/src/common/nan_de.c\nindex 38a4245745..1820d1c412 100644\n--- a/src/common/nan_de.c\n+++ b/src/common/nan_de.c\n@@ -1324,7 +1324,8 @@ offload:\n \n static bool nan_de_rx_follow_up(struct nan_de *de, struct nan_de_service *srv,\n \t\t\t\tconst u8 *peer_addr, const u8 *a3,\n-\t\t\t\tu8 instance_id, const u8 *ssi, size_t ssi_len)\n+\t\t\t\tu8 instance_id, const u8 *ssi, size_t ssi_len,\n+\t\t\t\tconst u8 *buf, size_t len)\n {\n \t/* Follow-up function processing of a receive Follow-up message for a\n \t * Subscribe or Publish instance */\n@@ -1347,7 +1348,7 @@ static bool nan_de_rx_follow_up(struct nan_de *de, struct nan_de_service *srv,\n \n \tif (de->cb.receive)\n \t\tde->cb.receive(de->cb.ctx, srv->id, instance_id, ssi, ssi_len,\n-\t\t\t       peer_addr);\n+\t\t\t       peer_addr, buf, len);\n \n \treturn true;\n }\n@@ -1566,7 +1567,8 @@ static bool nan_de_rx_sda(struct nan_de *de, const u8 *peer_addr, const u8 *a3,\n \t\t\tbreak;\n \t\tcase NAN_SRV_CTRL_FOLLOW_UP:\n \t\t\tret |= nan_de_rx_follow_up(de, srv, peer_addr, a3,\n-\t\t\t\t\t\t   instance_id, ssi, ssi_len);\n+\t\t\t\t\t\t   instance_id,\n+\t\t\t\t\t\t   ssi, ssi_len, buf, len);\n \t\t\tbreak;\n \t\t}\n \t}\ndiff --git a/src/common/nan_de.h b/src/common/nan_de.h\nindex e0d11af85c..ab7f70a40c 100644\n--- a/src/common/nan_de.h\n+++ b/src/common/nan_de.h\n@@ -55,7 +55,8 @@ struct nan_callbacks {\n \n \tvoid (*receive)(void *ctx, int id, int peer_instance_id,\n \t\t\tconst u8 *ssi, size_t ssi_len,\n-\t\t\tconst u8 *peer_addr);\n+\t\t\tconst u8 *peer_addr,\n+\t\t\tconst u8 *buf, size_t len);\n \n \tvoid (*process_p2p_usd_elems)(void *ctx, const u8 *buf,\n \t\t\t\t      u16 buf_len, const u8 *peer_addr,\ndiff --git a/wpa_supplicant/nan_supplicant.c b/wpa_supplicant/nan_supplicant.c\nindex 736ea6af2e..6cc7cc1dc5 100644\n--- a/wpa_supplicant/nan_supplicant.c\n+++ b/wpa_supplicant/nan_supplicant.c\n@@ -2669,7 +2669,8 @@ static void wpas_nan_usd_offload_cancel_subscribe(void *ctx, int subscribe_id)\n \n static void wpas_nan_de_receive(void *ctx, int id, int peer_instance_id,\n \t\t\t\tconst u8 *ssi, size_t ssi_len,\n-\t\t\t\tconst u8 *peer_addr)\n+\t\t\t\tconst u8 *peer_addr,\n+\t\t\t\tconst u8 *buf, size_t len)\n {\n \tstruct wpa_supplicant *wpa_s = ctx;\n \n","prefixes":["61/71"]}