{"id":2229896,"url":"http://patchwork.ozlabs.org/api/1.1/patches/2229896/?format=json","web_url":"http://patchwork.ozlabs.org/project/hostap/patch/20260428200639.40243-90-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-90-andrei.otcheretianski@intel.com>","date":"2026-04-28T20:06:30","name":"[89/97] driver: Add support for NAN channel evacuation event","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"d3e61e4a979c6ade2fe022890955abf869749487","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-90-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/2229896/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2229896/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=lCAwYp3b;\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=YlMkWnLq;\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=BZTVVEEA;\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 4g4sBT5YF5z1xvV\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 29 Apr 2026 06:15:45 +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 1wHopt-00000002MgE-2wlv;\n\tTue, 28 Apr 2026 20:15:13 +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 1wHol8-00000002G1h-1bfY\n\tfor hostap@bombadil.infradead.org;\n\tTue, 28 Apr 2026 20:10:18 +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 1wHol1-00000004NYt-3Xm9\n\tfor hostap@lists.infradead.org;\n\tTue, 28 Apr 2026 20:10:16 +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:33 -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:31 -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=AhQ0VHhqxilN0glees5BuMHzphfNIVGQvZIAWaaglMc=; b=lCAwYp3bHKkpm/\n\tPq0T788NJQlGJpQqHJK5eaYi0sH+N+449ou7eIruKF39vwYyCUbPjgJ98BI7Bf2JPK66oV1HUtzSR\n\tR2rJLkRpdiskkZJWj9je8vvO6zh6fVUjzwsN8nyXw+AQ09yE+GJ+nIbBZLL4i2fDqbR1jDSxBlJZb\n\tqS95uZ4egFIsc/kWtJAbyeoN+TEr7qDKf/1MtL1vdMSVcpfve59rxCwjk5Z93dPhyg8otnxUgm3iZ\n\tIRzUSYrM0z03J7FWfY1ZJsioZaOJS73y1+Mo3KfFBw/6mKmEM0nmB4MeuXMQoozDEQ9c/76T8FmEP\n\t0svMbEl7BQcGVeU3Uklw==;","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=VeJrpDK/jFmTpAXvSMvX6Gxph2eaCnkfDPR5lAsU0uA=; b=YlMkWnLqbPmHjZvCbpCNtpYwm5\n\tQdxh0ZxZxYpAV453+0kcwLzXtrPcdUz6msw3RxyBkkiKWS9mWsaGJcF8zc0oyDJE8CB2iVnWiQ2Pu\n\tyG0l9qcO9lTcyxiHMFXuS3xg9zCJJh/uArdVhaPqfimZQZ4H/bwQUSv4EUl4Koz8GPi3O1DaiPpTt\n\tx5MObI6xuvS/sujy8c5gdXA+8vnrhSMIPBxVnW/r7zJRzW0u3Xj98MyJs0nDAKA1Eg9kCWFpRI5OW\n\t/7L6ra0ZKDDV7xpx5zen1lv1F4GZ9WIm6p/eX19/jLGi1lSNVaGz+D6LImhD2+ANxeJQrU4fK4hQ3\n\t7HzgL0NQ==;","v=1; a=rsa-sha256; c=relaxed/simple;\n  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;\n  t=1777407011; x=1808943011;\n  h=from:to:cc:subject:date:message-id:in-reply-to:\n   references:mime-version:content-transfer-encoding;\n  bh=xDflUkqn94h5R7tT6Cq/QPs04FYqRUiU6bQwTxn+Gtw=;\n  b=BZTVVEEAf9WvElPatBohkcCJnI2ZEcz2qvzIs1xi0eYnUU0OlQpJZgKA\n   /pOFtkr1+RVbAPIlcC2kFledoSx+m3Ok71dIJAP0OHB0fpRmcigImwCck\n   tu2snOyoklamzd/pA2u0+WVrTBVAlMw16fOMNfkNDNd6PFoQ2KzEkW/Vi\n   apFSyAXMRo+0Zk//uIs56ujOaXDzQNxiX7ozAO/PhlAQ0rohsSJi7OyGI\n   i8LChjmIvzYfssCeKd0rKtzhvTKSH5K7XMcbI/zeEQCslxnkL1Ak5TEGm\n   EnDdwPKe+rBkw8+cAt7kc71jRn7e0zlpgg2OON6Hgw38UPWVLoKa7tdJA\n   g==;"],"X-CSE-ConnectionGUID":["shArMxcTSbSZCtMA7H33Ew==","A9fBlvHnQaq4fHSe9DY74A=="],"X-CSE-MsgGUID":["n7cI0eWnSxKOHhJbk9o+rw==","caGMQCo+Qt6PUI0LISiLFQ=="],"X-IronPort-AV":["E=McAfee;i=\"6800,10657,11770\"; a=\"78519632\"","E=Sophos;i=\"6.23,204,1770624000\";\n   d=\"scan'208\";a=\"78519632\"","E=Sophos;i=\"6.23,204,1770624000\";\n   d=\"scan'208\";a=\"257610953\""],"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\tIlan Peer <ilan.peer@intel.com>","Subject":"[PATCH 89/97] driver: Add support for NAN channel evacuation event","Date":"Tue, 28 Apr 2026 23:06:30 +0300","Message-ID":"<20260428200639.40243-90-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_211012_228687_12A9661E ","X-CRM114-Status":"GOOD (  11.65  )","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":"From: Ilan Peer <ilan.peer@intel.com>\n\nExtended the driver event to also include information\nabout NAN channel evacuation and add the nl80211\ndriver specific implementation.\n\nSigned-off-by: Ilan Peer <ilan.peer@intel.com>\n---\n src/drivers/driver.h               | 18 ++++++++++++++++++\n src/drivers/driver_common.c        |  1 +\n src/drivers/driver_nl80211_event.c | 30 ++++++++++++++++++++++++++++++\n 3 files changed, 49 insertions(+)","diff":"diff --git a/src/drivers/driver.h b/src/drivers/driver.h\nindex 36ae970ba9..441a7698d5 100644\n--- a/src/drivers/driver.h\n+++ b/src/drivers/driver.h\n@@ -6515,6 +6515,16 @@ enum wpa_event_type {\n \t * has changed and can be attached to outgoing NAN frames.\n \t */\n \tEVENT_NAN_ULW_UPDATE,\n+\n+\t/**\n+\t * EVENT_NAN_CHAN_EVACUATION - Notification of NAN channel evacuation\n+\t *\n+\t * This event is used to notify wpa_supplicant that the device/driver\n+\t * evacuated one of the channels used for NAN operation, e.g., due to\n+\t * resource constraints (not enough resources to support NAN and other\n+\t * activities).\n+\t */\n+\tEVENT_NAN_CHAN_EVACUATION\n };\n \n \n@@ -7558,6 +7568,14 @@ union wpa_event_data {\n \t\tconst u8 *ulw;\n \t\tsize_t ulw_len;\n \t} nan_ulw_update_info;\n+\n+\t/**\n+\t * struct nan_chan_evacuation_info - Data for EVENT_NAN_CHAN_EVACUATION\n+\t * @freq: Control frequency of the evacuated channel in MHz\n+\t */\n+\tstruct nan_chan_evacuation_info {\n+\t\tint freq;\n+\t} nan_chan_evacuation_info;\n };\n \n /**\ndiff --git a/src/drivers/driver_common.c b/src/drivers/driver_common.c\nindex 5835095d22..f04f737c0d 100644\n--- a/src/drivers/driver_common.c\n+++ b/src/drivers/driver_common.c\n@@ -107,6 +107,7 @@ const char * event_to_string(enum wpa_event_type event)\n \tE2S(INCUMBT_SIG_INTF_DETECTED);\n \tE2S(NAN_SCHED_UPDATE_DONE);\n \tE2S(NAN_ULW_UPDATE);\n+\tE2S(NAN_CHAN_EVACUATION);\n \t}\n \n \treturn \"UNKNOWN\";\ndiff --git a/src/drivers/driver_nl80211_event.c b/src/drivers/driver_nl80211_event.c\nindex 352cb2cab8..a281f59536 100644\n--- a/src/drivers/driver_nl80211_event.c\n+++ b/src/drivers/driver_nl80211_event.c\n@@ -4379,6 +4379,33 @@ static void nl80211_nan_ulw_update_event(struct wpa_driver_nl80211_data *drv,\n \twpa_supplicant_event(drv->ctx, EVENT_NAN_ULW_UPDATE, &data);\n }\n \n+\n+static void\n+nl80211_nan_channel_evacuate_event(struct wpa_driver_nl80211_data *drv,\n+\t\t\t\t   struct nlattr **tb)\n+{\n+\tunion wpa_event_data data;\n+\tstruct nlattr *attrs[NL80211_ATTR_MAX + 1];\n+\n+\twpa_printf(MSG_DEBUG, \"nl80211: NAN channel evacuation event\");\n+\n+\tos_memset(&data, 0, sizeof(data));\n+\n+\tif (!tb[NL80211_ATTR_NAN_CHANNEL] ||\n+\t    nla_parse_nested(attrs, NL80211_ATTR_MAX,\n+\t\t\t     tb[NL80211_ATTR_NAN_CHANNEL], NULL) ||\n+\t    !attrs[NL80211_ATTR_WIPHY_FREQ])\n+\t\treturn;\n+\n+\tdata.nan_chan_evacuation_info.freq =\n+\t\tnla_get_u32(attrs[NL80211_ATTR_WIPHY_FREQ]);\n+\n+\twpa_printf(MSG_DEBUG, \"nl80211: NAN channel evacuate: freq=%d\",\n+\t\t   data.nan_chan_evacuation_info.freq);\n+\n+\twpa_supplicant_event(drv->ctx, EVENT_NAN_CHAN_EVACUATION, &data);\n+}\n+\n #endif /* CONFIG_NAN */\n \n \n@@ -4756,6 +4783,9 @@ static void do_process_drv_event(struct i802_bss *bss, int cmd,\n \tcase NL80211_CMD_NAN_ULW_UPDATE:\n \t\tnl80211_nan_ulw_update_event(drv, tb);\n \t\tbreak;\n+\tcase NL80211_CMD_NAN_CHANNEL_EVAC:\n+\t\tnl80211_nan_channel_evacuate_event(drv, tb);\n+\t\tbreak;\n #endif /* CONFIG_NAN */\n \tcase NL80211_CMD_INCUMBENT_SIGNAL_DETECT:\n \t\tnl80211_incumbt_sig_intf_event(bss, tb);\n","prefixes":["89/97"]}