From patchwork Wed Feb 5 10:45:10 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Serhii Iliushyk X-Patchwork-Id: 150932 X-Patchwork-Delegate: stephen@networkplumber.org Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id ED48E4619A; Wed, 5 Feb 2025 11:45:58 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 88DD140289; Wed, 5 Feb 2025 11:45:58 +0100 (CET) Received: from egress-ip42a.ess.de.barracuda.com (egress-ip42a.ess.de.barracuda.com [18.185.115.201]) by mails.dpdk.org (Postfix) with ESMTP id 5948840270 for ; Wed, 5 Feb 2025 11:45:57 +0100 (CET) Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05lp2112.outbound.protection.outlook.com [104.47.18.112]) by mx-outbound9-60.eu-central-1a.ess.aws.cudaops.com (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Wed, 05 Feb 2025 10:45:56 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ig5UNp1wO0mqyFDBEZr0MgD1VZvNgoW3SaogSYUQOJXKwhJJII45ZuT4tr3FPZAf3f9Lr+inSHY3kBWWshgx6njJN1/AdHlARUd9Cao78Gz19qsiTmzkmss7gt9DJBeNFMNsDbLxYiq3zMu6IJR9OXXLl2irxCk3NpH4VXzc2R1hpkE79D5nLsEU5hipnsRQgbfhJzUUltSkn2FHg6TfWoE0Io/PpCGmddrTFX2uDf79iQ/PoevRBVqbTGsdN2+qjODrU72zkQ+4NmUXka8qf9Dz5MfCqEvM5QLSjVrAd+tCHibBSlne/hdo7iwgf1nzoatJnPUKyck2ReyDrHzN9A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=JVIH8/dvec91XX2uLMfuS18hD2JwWvPWwLrQiTzfGwQ=; b=YLEi1Bd5OsnxVy+2zYZWg9HxhCeAJSuaXO7/O8IlX9sIKd3aYeWdQCsqygMxMwQ/Nm6Ns4Ty8VaH9zVwOXUdFcntJlXETvMgFmlHdtOn0ewdTneSr4AMc1RQqa2dwHGHcc3d/Pbr7RTIeIkXDs7hGoDjSGBG01ZirCs8hvtNylnb9rijf3dLRCif+tFcJr5/ZWT+3QQCKd4WbbTShn5nJM5t7T7QHSkZsLQ/zcbamD5h4kODve3fJQLc60h0hZS1Gs8QjD2x112Fnj9HlEKJdGhXYF//83fYNBDYlXtrTCBCAYqYeKVcEKdY3Q07ud7DVR0J408ltdzryvut3u21tA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=fail (sender ip is 178.72.21.4) smtp.rcpttodomain=dpdk.org smtp.mailfrom=napatech.com; dmarc=fail (p=reject sp=reject pct=100) action=oreject header.from=napatech.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=napatech.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=JVIH8/dvec91XX2uLMfuS18hD2JwWvPWwLrQiTzfGwQ=; b=RTCKJs8YBZsBabMG1FRuQqBbUfBktksOE282ZW5mcP8kyXqM3/ZP+Nl+ibF92/i4YVwwA/gvlb8H6vqCmKB5l7UC6ojdGwnDPegCEWRoY8t/JpMp/r18tVhrjupGd6+pTv/yTaF3F43X66MQ3qw22t/++4P2iOaX/N/KsfU+xg4= Received: from CWLP265CA0347.GBRP265.PROD.OUTLOOK.COM (2603:10a6:401:5a::23) by PA4P190MB1086.EURP190.PROD.OUTLOOK.COM (2603:10a6:102:106::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.11; Wed, 5 Feb 2025 10:45:55 +0000 Received: from AMS0EPF000001A5.eurprd05.prod.outlook.com (2603:10a6:401:5a:cafe::a4) by CWLP265CA0347.outlook.office365.com (2603:10a6:401:5a::23) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.24 via Frontend Transport; Wed, 5 Feb 2025 10:45:55 +0000 X-MS-Exchange-Authentication-Results: spf=fail (sender IP is 178.72.21.4) smtp.mailfrom=napatech.com; dkim=none (message not signed) header.d=none;dmarc=fail action=oreject header.from=napatech.com; Received-SPF: Fail (protection.outlook.com: domain of napatech.com does not designate 178.72.21.4 as permitted sender) receiver=protection.outlook.com; client-ip=178.72.21.4; helo=localhost.localdomain; Received: from localhost.localdomain (178.72.21.4) by AMS0EPF000001A5.mail.protection.outlook.com (10.167.16.232) with Microsoft SMTP Server id 15.20.8398.14 via Frontend Transport; Wed, 5 Feb 2025 10:45:53 +0000 From: Serhii Iliushyk To: dev@dpdk.org Cc: mko-plv@napatech.com, sil-plv@napatech.com, ckm@napatech.com, stephen@networkplumber.org, Danylo Vodopianov Subject: [PATCH v2 01/34] net/ntnic: fix index verification Date: Wed, 5 Feb 2025 11:45:10 +0100 Message-ID: <20250205104548.1533554-2-sil-plv@napatech.com> X-Mailer: git-send-email 2.45.0 In-Reply-To: <20250205104548.1533554-1-sil-plv@napatech.com> References: <20250121170814.3252171-2-sil-plv@napatech.com> <20250205104548.1533554-1-sil-plv@napatech.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AMS0EPF000001A5:EE_|PA4P190MB1086:EE_ X-MS-Office365-Filtering-Correlation-Id: 9b8a1776-0e2e-4359-d080-08dd45d243ec X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|36860700013|82310400026|1800799024|376014; X-Microsoft-Antispam-Message-Info: ro7Sv4Ne+K4sB5YgTqYhKXyhpTXLL4XqlBZBclRhAi5hwv2yade4elO4cJrHj07AaBqwkOFzTeIr4xDnxdOYRzc/zC14ozoXLyXaCN2I0UAruoPX2B7UE6/iUi9QnuAfqaFHasgTJ4wbRwYUzEJI8lfSHMuhsXxR393GvDC7QfpZqPpDcN6gwZ2tWn5888ly4WexXjFd2pxRs+tsm+Y/1rKI0ggUKS7TkIB3y1njy7tlKoYWDygxB8H4z7E8e0s62zo0gzIWVgph+KYawmH1pXuExwqwucO1fg2qUmOSx58vxRiuMa4205odMfzBBR8GgwsW4ZCzD8No2tLZxS4JrvPdxcn9C/TvZ2NRuOuVG0w10wJIfrifEhbfxtJgsXBp0g0znl5+MapsguwLm655yPrwgyOxH88MqaKj997vCwSdji4qa1SCwrIgRbyHQY09HGVrIE1FzpHlWcItizsgtAYx5PLiqlb6jq/p8eURvkKcOoDuMh5aWi5SJ93zZ1OUha7vK+TKM6vPFq6ZfZ4/s6Iinqet4Zql7vUMoQKGXcFRHf8XJ2xWkMMmadU77cS90oSMYJLVJxpNcM+eSRK1Ssp/oUk+G6JpmOEz5R8mVbzHW8Xhp4SRq22Wt++sY2YJzaHKH/smH+ivN6F0Uk39AaubZUv1pjAEzAS2numVo0mjpHq0HFjkT7T+lFSQ49znYouVSYIJMGlADMfeyj+yodg2fhTCK+/PsOOdJMOrg218MCK5I9SqmJVtUgTN/8llEe6PAOlINap4XF6HpduBZF1JIiri9Q/5V3h1aK/P5SSvkETShXH4L2V+zFX8oOIlmZ/hX8RuRfa19ruiNb0yNJSVAGjJL6e6VYnLDkbAHAJ/kTMHW9yLtpHdAycijBpFeOIfpVb59DjJix0hYdCWaEpb2mY+UAROns8YE2IGoFBUqTIDlQKMxBUO7yMcN8f+hBh/OmC8gy/Gstvf5RIW9Q0QgyLSnxLW+baHy6thtsSRFtG/7UAbHq3c5xBpeXtMEUcRk6LkyBe++psjiWboGn2tHnIMPv1EIouTmVqdQyql/g9nignsi/Bv3D9+lQPgd75RSP1QqGYgrftI17Nz9Xg7N0ZOxDjcPMKEwbRrDtDlubeqk3kSF7fwavjfLVdCJMg9lzie8/p/3w21RMSxQT4ac5DYw9jhflCrp0NITctiSUzMlYyzi9RO5MJAg2Z8moS88w2X3fARCLe97yijXHcXZ+XzFOUsu6cVXKUFB84PMZrbLCHIfNx0xK4DbdZbcayR+kwUIZ4EnV6Ans1uBGhhAQ87aXYP/y8EL8iZbG2ExPxACtNBMZX7Ob+DjyIfeiFckf78Abe7mB4LiOXMtGeFiYbf0yeoWgiAcsN8PBLYzUFHlZhukWpGt0pz51lOM30yoc2IW4oGRrrsGpk5+a+2/+Zrp9VE+bpWR9NEuKU5pIqwsQjrGgDqMb/AZrr8eLcVMk2w0PPsuA0yleORIQltnvPq53vvIJxi0s5cfbM= X-Forefront-Antispam-Report: CIP:178.72.21.4; CTRY:DK; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:localhost.localdomain; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(36860700013)(82310400026)(1800799024)(376014); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: UeAfyboh5PWyPCU7wQ78QIq9Kx1XRjfD/bC7pEIB0mOqARW3++XbHVOQloKO+l5SkdPtmGtUZVzPbMVS5YjCl71U5MeAsYa98ajrswK234t7wWEwBULjiEJjsbVMY6f55bkkecfcYEfyavKXGDmPW2rvpr0FriLw4XmYp+SqAT0J8Gd+mC1W1IOVxY61TYJ90Qs+mz2nYPHfAdFP4uqk8QJMXu/lq4RG1EHwUVvVGA00HAS/oN821P0LyEYZ6w3pbzQfWaDmarPs0ZhvuoSnc9UopcKLJqEgWIRgASFvGtbqcqIRqPSJgtHGamdkjz1HkopH+0h6AHRFl1PBGybtbLBwHyqH8VI/qA/vAuLIHKns24Yi7c3JyndpYUcayN1gvK0qVSs0EKvtp/zwD4+3laa2EFPCKa2RIeBfvtEzAWf1tCtPS11YuvI6QAuAWFzSx0yBNcpplf2igEJ0voEkHTxJ9xeQPh6ClCAZY5wwBGgZoTU9y1qzTaag8a8EM3pl38q33VUuwVh9UO4C7uh2R50+Dpox+LYX7D5jHXLFA2IMJ+w1h0yCyF471lYrYpzsEfDPgEWDCRFrLJ0IPbW22dUybhL9mg7Cwjv7cVK5AUoKZbtgoDhuWDr5+dYi5Qf79+5mXoi6a4g6NHrYFWw1xQ== X-OriginatorOrg: napatech.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Feb 2025 10:45:53.9958 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 9b8a1776-0e2e-4359-d080-08dd45d243ec X-MS-Exchange-CrossTenant-Id: c4540d0b-728a-4233-9da5-9ea30c7ec3ed X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=c4540d0b-728a-4233-9da5-9ea30c7ec3ed; Ip=[178.72.21.4]; Helo=[localhost.localdomain] X-MS-Exchange-CrossTenant-AuthSource: AMS0EPF000001A5.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4P190MB1086 X-BESS-ID: 1738752356-302364-7589-626-1 X-BESS-VER: 2019.1_20250203.2302 X-BESS-Apparent-Source-IP: 104.47.18.112 X-BESS-Parts: H4sIAAAAAAACA4uuVkqtKFGyUioBkjpK+cVKVoYG5gZAVgZQ0Mgg2TLF0CIxyS I5LS0pOS3RMi3J0NDcNNk0zdLI0jhVqTYWAJJNXIlBAAAA X-BESS-Outbound-Spam-Score: 0.00 X-BESS-Outbound-Spam-Report: Code version 3.2, rules version 3.2.2.262304 [from cloudscan18-131.eu-central-1b.ess.aws.cudaops.com] Rule breakdown below pts rule name description ---- ---------------------- -------------------------------- 0.00 BSF_BESS_OUTBOUND META: BESS Outbound X-BESS-Outbound-Spam-Status: SCORE=0.00 using account:ESS113687 scores of KILL_LEVEL=7.0 tests=BSF_BESS_OUTBOUND X-BESS-BRTS-Status: 1 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org From: Danylo Vodopianov CI found couple coverity problems which were fixed in this commit. CID: 448974, 448977, 448978 (OVERRUN). These issues were fixed with updating index verification statement. Coverity issue: 448974 Fixes: effa04693274 ("net/ntnic: add statistics") Signed-off-by: Danylo Vodopianov --- drivers/net/ntnic/ntnic_filter/ntnic_filter.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ntnic/ntnic_filter/ntnic_filter.c b/drivers/net/ntnic/ntnic_filter/ntnic_filter.c index 4c8503f689..e00b10ff82 100644 --- a/drivers/net/ntnic/ntnic_filter/ntnic_filter.c +++ b/drivers/net/ntnic/ntnic_filter/ntnic_filter.c @@ -1201,7 +1201,7 @@ static int poll_statistics(struct pmd_internals *internals) const int if_index = internals->n_intf_no; uint64_t last_stat_rtc = 0; - if (!p_nt4ga_stat || if_index < 0 || if_index > NUM_ADAPTER_PORTS_MAX) + if (!p_nt4ga_stat || if_index < 0 || if_index >= NUM_ADAPTER_PORTS_MAX) return -1; assert(rte_tsc_freq > 0); From patchwork Wed Feb 5 10:45:11 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Serhii Iliushyk X-Patchwork-Id: 150934 X-Patchwork-Delegate: stephen@networkplumber.org Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 02D6B4619A; Wed, 5 Feb 2025 11:46:17 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id CBA52402EB; Wed, 5 Feb 2025 11:46:03 +0100 (CET) Received: from egress-ip42a.ess.de.barracuda.com (egress-ip42a.ess.de.barracuda.com [18.185.115.201]) by mails.dpdk.org (Postfix) with ESMTP id 2ED53402E4 for ; Wed, 5 Feb 2025 11:46:01 +0100 (CET) Received: from EUR02-VI1-obe.outbound.protection.outlook.com (mail-vi1eur02lp2042.outbound.protection.outlook.com [104.47.11.42]) by mx-outbound43-8.eu-central-1c.ess.aws.cudaops.com (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Wed, 05 Feb 2025 10:45:59 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=MEZjO904zD3DEWOvjgx0qNAACT6ntFHuuBekM4VmCtNtk2fyzfbi1AqvtUUEM0TnLnKE6u0XPANVfTUkpGuk2ttWnfXvZcmojx+zgX8QpIPR+/AMu6D5W7QnXNJc9XqjYpeMomY3CyVovkbwsN+DmegYzS9ChGEmjyRLZNQ+O1EvOLiHK6NSMaZC9V1RPhpBdIe3INIJOzruf6uHjyLj3Fss9SvvVKd2+MoHIAKhZMZMKtaYrzhlv4hVYn0Gxd7sFDg+SNY25f/ZLsWxsxz5BQ+yz/C6C+dNAXsFhPjqDA/OWodZQm+LVNxSEJF3j95vMCBNKRNXARc0sBYVqq1pOw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=C6pqbPqev+nEobRP2hbDefDxOlHnesnAcEPwSULv6kw=; b=oSRSqGcbqJk49TynV1QlC0ozgrO4ULD3N9/o7TmbtLePjR+Umu/AWIrYjgg6k8b77y+T3regyWEzivZIJCb7glBRB3DKWN9jVsyyyUa+gH/zBXSqdL8ScNFkiDRzcmPyWDQTKCkjxIOCf2eYVnchgUa6QqqRRtgN36r2rcgSjmLZw0Ab0PIOVyKOSV2NMZ4tFhpJTE21YvRRM+62m+Sj9M7ION+jne+pzOocAgXue48aAN3ZH4ncGRsbzyT3fWM+pkz1TPph31ecpeHzduLaVfyemB2HUVvLmIUyldCL5cJtg86oHIV3ZO4fisZJeycOWJbFMsUzoPBsa1UlXMhrxw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=fail (sender ip is 178.72.21.4) smtp.rcpttodomain=dpdk.org smtp.mailfrom=napatech.com; dmarc=fail (p=reject sp=reject pct=100) action=oreject header.from=napatech.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=napatech.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=C6pqbPqev+nEobRP2hbDefDxOlHnesnAcEPwSULv6kw=; b=ZIoXiRnUp2jj6IXQGx8gtgVvBqM2bueCDp7ZdvAIMIX/b5Ms9DKrEtzWlp193w2y7ifnQzCvBTajjUx3uvL6/xdxzulLEHnFfUqVD9ghcGI7PhbnGh5RyqN3pYOaoN3cETMjAJVoOn6om1qFblkBdCQotoEcoa5g3BjAPCmAs0Y= Received: from CWLP265CA0347.GBRP265.PROD.OUTLOOK.COM (2603:10a6:401:5a::23) by DU4P190MB2198.EURP190.PROD.OUTLOOK.COM (2603:10a6:10:56f::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.11; Wed, 5 Feb 2025 10:45:57 +0000 Received: from AMS0EPF000001A5.eurprd05.prod.outlook.com (2603:10a6:401:5a:cafe::6) by CWLP265CA0347.outlook.office365.com (2603:10a6:401:5a::23) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.24 via Frontend Transport; Wed, 5 Feb 2025 10:45:57 +0000 X-MS-Exchange-Authentication-Results: spf=fail (sender IP is 178.72.21.4) smtp.mailfrom=napatech.com; dkim=none (message not signed) header.d=none;dmarc=fail action=oreject header.from=napatech.com; Received-SPF: Fail (protection.outlook.com: domain of napatech.com does not designate 178.72.21.4 as permitted sender) receiver=protection.outlook.com; client-ip=178.72.21.4; helo=localhost.localdomain; Received: from localhost.localdomain (178.72.21.4) by AMS0EPF000001A5.mail.protection.outlook.com (10.167.16.232) with Microsoft SMTP Server id 15.20.8398.14 via Frontend Transport; Wed, 5 Feb 2025 10:45:55 +0000 From: Serhii Iliushyk To: dev@dpdk.org Cc: mko-plv@napatech.com, sil-plv@napatech.com, ckm@napatech.com, stephen@networkplumber.org, Danylo Vodopianov Subject: [PATCH v2 02/34] net/ntnic: add thread check return code Date: Wed, 5 Feb 2025 11:45:11 +0100 Message-ID: <20250205104548.1533554-3-sil-plv@napatech.com> X-Mailer: git-send-email 2.45.0 In-Reply-To: <20250205104548.1533554-1-sil-plv@napatech.com> References: <20250121170814.3252171-2-sil-plv@napatech.com> <20250205104548.1533554-1-sil-plv@napatech.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AMS0EPF000001A5:EE_|DU4P190MB2198:EE_ X-MS-Office365-Filtering-Correlation-Id: 5f41c95f-1a14-4d2e-6162-08dd45d24501 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|36860700013|1800799024|82310400026|376014; X-Microsoft-Antispam-Message-Info: aRVnaLfk0zKNE2PSad4uoHG+hFF/9yw7fb0+fmeaxhal2dXCkmhhtyhkTJzyXZcTOm/aCJw+Rz0+2b/GRsIAd0Sjr5W4BUJG4UJtUWtKMbYtAeTUzrQ8mZdTJTgPNZEjRBKfKwksuZm+eBiVI17sl6QaQnYlHjNupySoz09EArcutVdOc27h/cxvgLK+S4ysp4hyu4l+RVhVl6u+neelnmZcrnTPw1e7V5SpFZ+SFJi4oQW0vezoogksy8Jm/BAnkD5RsipMuXhkKNOJq2uLTl/m3Ew7D5edM3np64W6HdTEEDGNtLWcZVnf1EmMp3O46DYfLS1pRrOIhDhQoEfO/BjxtjGmjazwVYirkTdba2fh5I3sWKS6brpRFw0LX3NHsqXIP7hXmPwr7VyvpC4ehCNF4z3/mn+cot/IE67Dnu/2kPH1qlmZ2neW/iMNA1fNcdpnqisnwRmxj1HpohleLKsmukjPREamUVzABk56ZfGmHjJEhCJcL9IoemlsrbM7OnN+fu3EyzStJY2d2SclfVNlAhzWDvg99MDeaobFfC0kjh7Jd8I9UhSr9boCVlA/RylZNudGtd3S+PalINBmji/VIfyFYnkpqhFpk9HW4E34nNOOOcbh+5QjxF56OtuqxZozlq9slNjsVCH9nvOZ+DwA0i6ERpLHe05greTlNlZHDPkx0FYvcWbbrlhIeWtE7UFJHZgpB1hXhcUrSFEwZOx5sv2tdbw81H3tjy8SDS4Qt0gzTrR/qpt/JzmW3k35VhtLyPC1mm2y/hYt2zjj/2Zy+srWNKleZh4C/jszx2uqrud8u8S0gHgKNAWjDxDpSf9JDXzPfjxS/8d84opG5/oCInhOW9HJ3kq83hOoN9/dSvRPVxj7pCIY+fBS345go0KujC2yVTZ3xhkN6WGyr4jU37+n32I423kZ3JwJQyp9MJDmEgeV5qCWryX8y1fuP4jgHodMmn09qa2jefNKUvh6ixuwuJyz6D6p3lwZfoc93ACX9AFcrqLJ08fQXIo9cJnicq6cGFcKZyJbHgdAXG6tK72hCS4dlUrIe01Dhv825SivHtF6EsLgy3e30rd/HN/5kxBUxX/d+Ul3AlqUQ0J7leMIfbEkns4HEKLDjPgcRCNyafW2TSePKB2NNWTCsMg5drPBgqXQh/oQ1S4TAXMOvqXxH1KsyQVuYdSQAOcenuRsQEFVjtg6KqrEziNzeNQV16zi4Beg0UqImCqMVnWU0mpygcTB0k5G0ILsh+Tq7+aXbysdDuge3lVkWVZKMKiQl7h76Kg6mtPIYJ3uj88lx3y/BGeNBc2pIo+IwAZk7tC3uB7fZ4LhkQQm9A8bQ3QlZwjOH9M5tMvbR6pYVuuo9stjmjMN0p/F0pRzdmNyxw8VHCuwUEcfVjRMDFkykKvMQTVxlJAMtR6WVWtsfA/HrIt9jzPZxWDbl8OpaOgEfz+C+qeQUy5pDmNEOTM0F86Xb/p5ZGM1MNtuLb5XIijMULzVRbGK4jIjDVbYuJg= X-Forefront-Antispam-Report: CIP:178.72.21.4; CTRY:DK; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:localhost.localdomain; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(36860700013)(1800799024)(82310400026)(376014); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 7t524CIuJ07oTcn+ynr4NOh0sallN3Uab4DiWpNXbzLSLI2c4+jQv0q9tS0SK1SRGR6IL2Y53U8HpigbxHUr3Ki3K1jArWc41j1c2F6CxdwCFcLpFP+5r6fK6/C9yAuYYomZZthRr3/qA0kKwBcDJHcotj4XnRvNTeOL3suQ4LCA+pG1LNdtoqThUDBAiFl116iGClQUDCBVKyIoc4auTrqGp6Y+ek3QvZuNOsQgTClIQk4DBCiOigrSZq3mpCTQWrzhgtIgeCVLI7qV18yawhkIafk/Gv6Nfm3SbkovTD1M/WtAiRHCpPyv0ii2TsEPlcTB99htvIvIEySWUQfawm6adBy1Dv9JLpA8ZuK/oTybA5+OsczjcFW7gcVxsTgeQYAOn+sJjnp4P7B1kTEjZelxJwyR4P85vFo6cf75eUgXGN+7w/KC19aMd7Pg8Fb3t6pWH/SI9DEReLhwMJaa5/XAs7nADgiG2enf+GgjR7UA4kwvqTFNzQQCbVLoZfaZSAi3ePXRd5/ivGNaO7oBLrpY1BXCMlVhB/aO50e+jAMFRfjI77oF7rToWbsFJbtarEHGmE78LUidJyqj3iqVSN0Ge699ibAU1gquDOyeNLro4M4akmEDjm9AGYRjsMbnxxLAyHZ91PD1TMJH12GjVQ== X-OriginatorOrg: napatech.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Feb 2025 10:45:55.8083 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 5f41c95f-1a14-4d2e-6162-08dd45d24501 X-MS-Exchange-CrossTenant-Id: c4540d0b-728a-4233-9da5-9ea30c7ec3ed X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=c4540d0b-728a-4233-9da5-9ea30c7ec3ed; Ip=[178.72.21.4]; Helo=[localhost.localdomain] X-MS-Exchange-CrossTenant-AuthSource: AMS0EPF000001A5.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU4P190MB2198 X-BESS-ID: 1738752359-311016-7902-606-1 X-BESS-VER: 2019.1_20250203.2302 X-BESS-Apparent-Source-IP: 104.47.11.42 X-BESS-Parts: H4sIAAAAAAACA4uuVkqtKFGyUioBkjpK+cVKVoZGxoZAVgZQMNHUwswgNTnJ0i gtzTLF2DjZJM3AJDklyTjJzCLNPClRqTYWAC9VHltBAAAA X-BESS-Outbound-Spam-Score: 0.00 X-BESS-Outbound-Spam-Report: Code version 3.2, rules version 3.2.2.262304 [from cloudscan21-38.eu-central-1b.ess.aws.cudaops.com] Rule breakdown below pts rule name description ---- ---------------------- -------------------------------- 0.00 BSF_BESS_OUTBOUND META: BESS Outbound X-BESS-Outbound-Spam-Status: SCORE=0.00 using account:ESS113687 scores of KILL_LEVEL=7.0 tests=BSF_BESS_OUTBOUND X-BESS-BRTS-Status: 1 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org From: Danylo Vodopianov CI found couple coverity problems which were fixed in this commit. CID: 448965 Error handling issues (CHECKED_RETURN). Thread return code check was added. Coverity issue: 448965 Fixes: a1ba8c473f5c ("net/ntnic: add statistics poll") Signed-off-by: Danylo Vodopianov --- drivers/net/ntnic/ntnic_ethdev.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/drivers/net/ntnic/ntnic_ethdev.c b/drivers/net/ntnic/ntnic_ethdev.c index 2a2643a106..620d023a71 100644 --- a/drivers/net/ntnic/ntnic_ethdev.c +++ b/drivers/net/ntnic/ntnic_ethdev.c @@ -2516,8 +2516,11 @@ static int init_shutdown(void) NT_LOG(DBG, NTNIC, "Starting shutdown handler"); kill_pmd = 0; previous_handler = signal(SIGINT, signal_handler_func_int); - THREAD_CREATE(&shutdown_tid, shutdown_thread, NULL); - + int ret = THREAD_CREATE(&shutdown_tid, shutdown_thread, NULL); + if (ret != 0) { + NT_LOG(ERR, NTNIC, "Failed to create shutdown thread, error code: %d", ret); + return -1; + } /* * 1 time calculation of 1 sec stat update rtc cycles to prevent stat poll * flooding by OVS from multiple virtual port threads - no need to be precise From patchwork Wed Feb 5 10:45:12 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Serhii Iliushyk X-Patchwork-Id: 150933 X-Patchwork-Delegate: stephen@networkplumber.org Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 7417A4619A; Wed, 5 Feb 2025 11:46:09 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id AD9FA402E4; Wed, 5 Feb 2025 11:46:02 +0100 (CET) Received: from egress-ip11b.ess.de.barracuda.com (egress-ip11b.ess.de.barracuda.com [18.185.115.215]) by mails.dpdk.org (Postfix) with ESMTP id 085C040270 for ; Wed, 5 Feb 2025 11:46:01 +0100 (CET) Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05lp2107.outbound.protection.outlook.com [104.47.17.107]) by mx-outbound23-121.eu-central-1b.ess.aws.cudaops.com (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Wed, 05 Feb 2025 10:46:00 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=JlNdqjN3z1PMTdmKDFCf/OhQRWk7+AVmqZSozVJXVE7SvvVbiXSxczARS3T+/PgEtUawlBemt0GaUt2dpLupMkUk+UPzMrUAqm2HjtZL1exJPl/KN9EzYhgYukP/hoMWygjwHrTlFFilcubSzAkAwkY0PRc+zMxtRb2QKdTQ7tHPH0yo7GBLh3DZe6cnMxJF3DoQsZMUKLZIEZFwXXWt/k7y3J5ol7Ivy+Smo8J8HVdj2VaN84tVD5BIWgNXNlRaEBaH56pMvD0sODepUOOBZdHNmjaZFcOYqVJwISCiyDYzG9xeyqYtmuZhjuZ4F9mm689wmVKiW1ifVymNfFHMxw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=EIDWmYnPEWwG8gGVTVuoeXccAKULQbRmMDi2w5LpiRM=; b=A6fQI7rsbsqJmTC7t2ZQQ1sMYyvCr6AJporhgAjQoykrCEEVcEmI3tD54ErHGlQPWOylESzhDsNEYZxDLxNP7WTTp845hg/bINp7JTEVHJqoYdBf5FPvlmHROAo42Nxwyi1wGRpttxa6biPxNahAfecBwZL7/daWRo7kt6QPfvW2J76h8ff7XgJ9awHNtCQYZCrg38Hg0b+YpLW2UC/DHlsEK8XKWuFoI7Cw0HyQg/4M3Zgihcn14T9l/cPhKnAfmD8aSbPdiN+7M2BKWm7cdwlL49mpLXLAJGZuzRUkcyUl127eEOC0dUSPe9YQMU5hbmJB9RUMjhRsDRgLfI5eBw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=fail (sender ip is 178.72.21.4) smtp.rcpttodomain=dpdk.org smtp.mailfrom=napatech.com; dmarc=fail (p=reject sp=reject pct=100) action=oreject header.from=napatech.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=napatech.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=EIDWmYnPEWwG8gGVTVuoeXccAKULQbRmMDi2w5LpiRM=; b=kWEuIIpcmGmyCLrCdUfEGJ4nd8liswBbc07NGgMdHswaivqESIfddmdQnz71x8Mmfgeud/U2VwJlM8F1HhUfml1VvI2VP4jm7ZoPqwiW1TPlk/VkhEbxVH3QW9HKw1C201p5fSASoN9HYnWZRC1ZS1zOmvPP9WO5DaXQFY3zqZI= Received: from CWLP265CA0348.GBRP265.PROD.OUTLOOK.COM (2603:10a6:401:5a::24) by DB9P190MB1195.EURP190.PROD.OUTLOOK.COM (2603:10a6:10:221::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8398.25; Wed, 5 Feb 2025 10:45:58 +0000 Received: from AMS0EPF000001A5.eurprd05.prod.outlook.com (2603:10a6:401:5a:cafe::20) by CWLP265CA0348.outlook.office365.com (2603:10a6:401:5a::24) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.24 via Frontend Transport; Wed, 5 Feb 2025 10:45:58 +0000 X-MS-Exchange-Authentication-Results: spf=fail (sender IP is 178.72.21.4) smtp.mailfrom=napatech.com; dkim=none (message not signed) header.d=none;dmarc=fail action=oreject header.from=napatech.com; Received-SPF: Fail (protection.outlook.com: domain of napatech.com does not designate 178.72.21.4 as permitted sender) receiver=protection.outlook.com; client-ip=178.72.21.4; helo=localhost.localdomain; Received: from localhost.localdomain (178.72.21.4) by AMS0EPF000001A5.mail.protection.outlook.com (10.167.16.232) with Microsoft SMTP Server id 15.20.8398.14 via Frontend Transport; Wed, 5 Feb 2025 10:45:58 +0000 From: Serhii Iliushyk To: dev@dpdk.org Cc: mko-plv@napatech.com, sil-plv@napatech.com, ckm@napatech.com, stephen@networkplumber.org, Danylo Vodopianov , Oleksandr Kolomeiets Subject: [PATCH v2 03/34] net/ntnic: add return code handling Date: Wed, 5 Feb 2025 11:45:12 +0100 Message-ID: <20250205104548.1533554-4-sil-plv@napatech.com> X-Mailer: git-send-email 2.45.0 In-Reply-To: <20250205104548.1533554-1-sil-plv@napatech.com> References: <20250121170814.3252171-2-sil-plv@napatech.com> <20250205104548.1533554-1-sil-plv@napatech.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AMS0EPF000001A5:EE_|DB9P190MB1195:EE_ X-MS-Office365-Filtering-Correlation-Id: e62554d8-4fa7-4374-9e56-08dd45d24683 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|376014|82310400026|36860700013; X-Microsoft-Antispam-Message-Info: bpC4SsoRPn7BfE+drVJdC9odxKFh/io+tHUSgDvhOK7deeLB02ADw0xizCVF40WQNp9uxMffSUrijFvs+5WR7MWVXKJIxf/Sn5ubnxFSUAzaMDodIw2cX21aH0vZ5husnxmA8E6vRnzhYmb66x5/XmklxfJxGPs0f6MP24qG8Cxbo4nJ38NtF2lDeS7KtWq6+Ijl0mPg4YwPQZWRcCSqyP4YengTJDjzKBw0q6q1F/IYra1Zt8wHyQlU4Ha0dNywCKEF/kEnNm5v2eLZSqLvlDcgGCYkLV7Zx4UN51OB2/PuMsCsWaWtea0NnD+Cl2aZPrTLZXeCXNZoikan7L55kIUyPP69cYt2jmpr6ib+XhnLbk2J/oWTvM8zzv3HA7DNtCBVuOZvxlKOmP3nR6GV9cMLI/b7tPB0BKJzFV5k6XoLfKIznmIFQAip4WZLW7hc2RCrYmAm8Jr3Eku4trIDlLcbZFtWym8TbAJKQnhTzHHgxCnaoP9UaUS1T7RMOnGvWfs7YYCCB/Jl3gjQVK6YSd2DyM9JoBwElyQ4i5Q6ZjKMlP+NbMFHb/mabWimypuHX1jm6L75CCLb1JdzmrOWBosCaQvAw0xoBXfWwkXswerjDBBP7qfvbh7A2tolpWWPvvU65GkiwAFWSmelTQa0O1Ii9v4vp+/Oj1DpUdMrFY2xJRF3RkavwI01QwFe+b6Nk6VQsVfMNoP0ml/S5jJm4RQosUeLoaTYD3iBJeotunL9rLARB+Wq8S7txtk1S3iSBEgxB81HRn1V9Kyd+dJvYwOJVxxtgN20nQykSYIS6vpulfk6tf6J6a80ngQi6c7LK259AXNkh65UISeUKXhzZlJ0viT+sWkXx8iz6g7psLuzBpzHJt7/R0m9sQTQofOTXeadrI3MPEmsiTgVbW56ywLMt7G63ZWpq6BijEloVQA69npZTrMDx1kdTeMK/CaJCTMKl3yDURHffpMvxJjoF9LdMsgTVJ/L8THO48JizWsUT3mTYPDNb1hK0hJllidi0/Qz+RUGou90ZcCf8cNU1Cih3EqkUKQPEKSVQq3MDrHgW0ASFutV7wt2hijqVbfm6SGWjDR1qpmcfc0aXnmhnbwWq9AkxRUDDc/6ulG1mZ61FXQQG8RdzpqeT8xKoksLuzp/OJMHINjrMK3N+2rF7MAazrcl0BYjEHCR1PULR78cn7PN+LAv+hGAPhT/SrozWkmJNESmAzNzbT9HFoUTeV4Ym56B5STS6LrPJw67XuGaw9sNoJK/oevkRoCYUJvVNooigqYTPAHKRhOQxs7bjIGNIphXSHJ+XjjYImK6dzbjiCOGZJQhYgOanfyPEAmCSIpRovP6PHJpBJ8IhVzXlLHJ60FWgOSNIeabPuqKbtkLwvu1JVKUtpql/9RiaUpQmX4hFJFpJnPPnWYBz0gu3EkTchSulDOpcpAnhtpA7um7OemiNNDeyZ1zXyZulAC/sJOcbeN1Oem5SrxWnp7+idBSv7g2C0oxXVR1GjGIqbM= X-Forefront-Antispam-Report: CIP:178.72.21.4; CTRY:DK; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:localhost.localdomain; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(1800799024)(376014)(82310400026)(36860700013); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: fkskWk+gNRFYr82o5UqSQY2t5nNVzCP7NYX93zC7xRB61Xq6PoKSCBvQFkznyCSwXJgYxtrglGKkz0Fo/7Y7xcDQUrOoSYK9r9V2A8CYlOI4Ym6HVMaCvKw0LLqZbzuRO4+RTpt5J1uuhos48XNrr6Fvhp5OeMmzQH2iWtWzk/1LD1kYPNcpomZhcaAp+rUgp/2HicrnV1UlhvoF1PQna3cZ+xmPM0+yKulRkoDAfWPdY6WgC8AM/C21JqnBSccqYgbmpqUQ28omR1CEe53QPUZYDmwPWPN84q6I4BFLfA4dBCSeoazG0IhQrZQxJcl65k2JdG9+m11pHENXCGIoFPyGS+LbXPsBZy1GPnf+fO97UBnZDEbgbQTJTa6CO4xL9uqGyqD+YGZZ3SWau17Uw4YECdqIqUlbwlfHQGtXNWBu2pcbeK2x4jcLutYUIIKDXJ68JG/MRO8PnEzeeeexcI1vmwuzYoYto9UfjsVcznh5P1IgaXJCZHWghdbfH/kyV+V9VcojGYuvPU+niMyW9lbjUv5+eaOzHhOiBhnhkBXN3YmZw82nX8OWmqjHG43TJqXUVa135sTdfBQ+NpapCvoxOKD92PZ2Iu9HkiO2wQWflJWhJiAUagFKb+3OICCdug5xyLjP/J023jp0JCSsCw== X-OriginatorOrg: napatech.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Feb 2025 10:45:58.3239 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: e62554d8-4fa7-4374-9e56-08dd45d24683 X-MS-Exchange-CrossTenant-Id: c4540d0b-728a-4233-9da5-9ea30c7ec3ed X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=c4540d0b-728a-4233-9da5-9ea30c7ec3ed; Ip=[178.72.21.4]; Helo=[localhost.localdomain] X-MS-Exchange-CrossTenant-AuthSource: AMS0EPF000001A5.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9P190MB1195 X-BESS-ID: 1738752360-306009-7767-585-1 X-BESS-VER: 2019.1_20250203.2302 X-BESS-Apparent-Source-IP: 104.47.17.107 X-BESS-Parts: H4sIAAAAAAACA4uuVkqtKFGyUioBkjpK+cVKVobmxoZAVgZQMNk0xdDEwMjM0s TU2NTUOMnI0NjEINUgzcDA0tzUyCBRqTYWAGZnMSRBAAAA X-BESS-Outbound-Spam-Score: 0.00 X-BESS-Outbound-Spam-Report: Code version 3.2, rules version 3.2.2.262304 [from cloudscan23-248.eu-central-1b.ess.aws.cudaops.com] Rule breakdown below pts rule name description ---- ---------------------- -------------------------------- 0.00 BSF_BESS_OUTBOUND META: BESS Outbound X-BESS-Outbound-Spam-Status: SCORE=0.00 using account:ESS113687 scores of KILL_LEVEL=7.0 tests=BSF_BESS_OUTBOUND X-BESS-BRTS-Status: 1 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org From: Danylo Vodopianov CI found couple coverity problems which were fixed in this commit. CID: 448984, 448982, 448975, 448969, 448968, 448967 API usage errors (BAD_COMPARE). Add memcmp return value checking. Coverity issue: 448984 Fixes: 6e8b7f11205f ("net/ntnic: add categorizer (CAT) FPGA module") Signed-off-by: Danylo Vodopianov --- v2 * replace return with break for macro DO_COMPARE_INDEXS --- drivers/net/ntnic/include/hw_mod_backend.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/net/ntnic/include/hw_mod_backend.h b/drivers/net/ntnic/include/hw_mod_backend.h index f91a3ed058..544962751a 100644 --- a/drivers/net/ntnic/include/hw_mod_backend.h +++ b/drivers/net/ntnic/include/hw_mod_backend.h @@ -114,10 +114,10 @@ enum { typeof(be_module_reg) *temp_be_module = &(be_module_reg); \ typeof(idx) tmp_idx = (idx); \ typeof(cmp_idx) tmp_cmp_idx = (cmp_idx); \ - if ((unsigned int)(tmp_idx) != (unsigned int)(tmp_cmp_idx)) { \ - (void)memcmp(temp_be_module + tmp_idx, &temp_be_module[tmp_cmp_idx], \ - sizeof(type)); \ - } \ + if ((unsigned int)(tmp_idx) != (unsigned int)(tmp_cmp_idx)) \ + if (memcmp(temp_be_module + tmp_idx, &temp_be_module[tmp_cmp_idx], \ + sizeof(type)) == 0) \ + break; \ } while (0) static inline int is_non_zero(const void *addr, size_t n) From patchwork Wed Feb 5 10:45:13 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Serhii Iliushyk X-Patchwork-Id: 150935 X-Patchwork-Delegate: stephen@networkplumber.org Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 6DF184619A; Wed, 5 Feb 2025 11:46:24 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 3C5FD40611; Wed, 5 Feb 2025 11:46:05 +0100 (CET) Received: from egress-ip11b.ess.de.barracuda.com (egress-ip11b.ess.de.barracuda.com [18.185.115.215]) by mails.dpdk.org (Postfix) with ESMTP id AC104402DF for ; Wed, 5 Feb 2025 11:46:02 +0100 (CET) Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05lp2171.outbound.protection.outlook.com [104.47.17.171]) by mx-outbound23-121.eu-central-1b.ess.aws.cudaops.com (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Wed, 05 Feb 2025 10:46:01 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Yttqx4+oXMq+jjlPTOq/ZFEF7Vtz02yIp4OURxJEu70bIG4WUu2dCzTsHf4QVYwxjhhWKP1kn6l48y2gbrNI2o0jToxuJUqL7WHee/ARiTTZxeZ/zceaRoOfyEEfV2pj9tfLbJ7bY1IHhxhmS/lgP4CH34B0S7tNi9tvVhxUbKcZ4kMgRUEvAQZCaitpPB5pVXpU1nn4A8Zx7+AkmyTmnKgwwLKYuWktb4m+sBsB9GhOKZg4sxBwVijQUM91+xyGsSEaDsRQVPQuzFlVjKRMRSMWDCbFHB4tDO1vz2ncCmd6SUfIFwTBo13wTQ1NQQQEDPFMzqLiqHUIo+ULqXHtZQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=SkNidEHEOTLd84GD9ArcbZWOvIXiuZEOEV2ZnDIP+/c=; b=JIWH4WFX1U2gRwkf0NAHXaPaGths87DpGmuakEsLQ+EfzjwoksKzD7BIJeUjhFr7ahpC5BEGfssCpxD4HSwXFaa75rnjT7qXI/s+iuLXa+2OLKRRTROvdN9fkIKOOz3uSqZx6qEmstPtgoUksVjfnRlQUOzGzxCyKlqr8XOAGBhp+Mx7KnTvBDC7iDVntIljSl2ctGrSV5Dn1vqzkha36l4bq5Z3YX2AF1/NcPNo7WxXzyZtj8jmHyWXn2UBT8ps2UtQTsYkAqeeixvJAnyhlL4u+wngUOZUMlJijJ8nPIMrTcIXuSt0/WeFspUCx+J/DC3s0zjkoDl+5CsP/+TLtA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=fail (sender ip is 178.72.21.4) smtp.rcpttodomain=dpdk.org smtp.mailfrom=napatech.com; dmarc=fail (p=reject sp=reject pct=100) action=oreject header.from=napatech.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=napatech.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=SkNidEHEOTLd84GD9ArcbZWOvIXiuZEOEV2ZnDIP+/c=; b=fSYqejPSiFvBzNLA2T3iJ3N/W6rP4lKq96/pqZ8L7U2PWEuXDZ0AwO4LNC3lb8B3GIP3i7xVjamUq3A9PX427w9anBqqGq6ObLoOj9HiaRrAKqY2Bhi6l5IbqWsMb0Mbnsc2B1X3iPqh/IyDCvdEswM5E6gkBbeue4YKbnlLX8Q= Received: from CWLP265CA0339.GBRP265.PROD.OUTLOOK.COM (2603:10a6:401:5a::15) by PAWP190MB2189.EURP190.PROD.OUTLOOK.COM (2603:10a6:102:468::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8398.26; Wed, 5 Feb 2025 10:46:00 +0000 Received: from AMS0EPF000001A5.eurprd05.prod.outlook.com (2603:10a6:401:5a:cafe::b9) by CWLP265CA0339.outlook.office365.com (2603:10a6:401:5a::15) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.22 via Frontend Transport; Wed, 5 Feb 2025 10:45:59 +0000 X-MS-Exchange-Authentication-Results: spf=fail (sender IP is 178.72.21.4) smtp.mailfrom=napatech.com; dkim=none (message not signed) header.d=none;dmarc=fail action=oreject header.from=napatech.com; Received-SPF: Fail (protection.outlook.com: domain of napatech.com does not designate 178.72.21.4 as permitted sender) receiver=protection.outlook.com; client-ip=178.72.21.4; helo=localhost.localdomain; Received: from localhost.localdomain (178.72.21.4) by AMS0EPF000001A5.mail.protection.outlook.com (10.167.16.232) with Microsoft SMTP Server id 15.20.8398.14 via Frontend Transport; Wed, 5 Feb 2025 10:45:59 +0000 From: Serhii Iliushyk To: dev@dpdk.org Cc: mko-plv@napatech.com, sil-plv@napatech.com, ckm@napatech.com, stephen@networkplumber.org, Danylo Vodopianov , Oleksandr Kolomeiets Subject: [PATCH v2 04/34] net/ntnic: add array index verification Date: Wed, 5 Feb 2025 11:45:13 +0100 Message-ID: <20250205104548.1533554-5-sil-plv@napatech.com> X-Mailer: git-send-email 2.45.0 In-Reply-To: <20250205104548.1533554-1-sil-plv@napatech.com> References: <20250121170814.3252171-2-sil-plv@napatech.com> <20250205104548.1533554-1-sil-plv@napatech.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AMS0EPF000001A5:EE_|PAWP190MB2189:EE_ X-MS-Office365-Filtering-Correlation-Id: 36e8aae2-52d8-46bc-ab6f-08dd45d24712 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|36860700013|1800799024|82310400026|376014; X-Microsoft-Antispam-Message-Info: NbiwjP/p/omgs7oGpkpQhxlDR/afPdlYvmBhbfBNCbFmd11FHXq9PAQiqAec81iUxyrOwVFJD1hgrEFCApkCHI47QSC30D5GnQGZDsE7BTKmkcyYC2hiCJWa0BHVYP4dh9YrDR1KuzFbGi4moloubB8VEMJt1KxoT44759CjhMSSnnDhauGfs8dFy4IflqCuYouWDPT9Hh/YTfopypKhisXsn6pEV2uw80AaxfAqkIwXrhaBXKPLUGBDnQsUvBP30DJtczNGefLccYr/K7I5mMYZ/rEKRxcM5+78Nzpdjby/TnEsPF3yhcC4LqqnvWh7jKxX7ufispzf34VB/deOI1YYvm74y3/eHBHTjZIpRyVvoqaz/YwUAm1N57Kr8IW2UsqN+kLt4D10vFqaWxeFIfJUmwIacyWkmc3wKbLNwqEiR70x1YBZzTIY2wQiY/Ndr2tjBMkxn/r++/FpXyRAg1NfR4945f0zF/aTAwlhNrvpWewKwPf3UXpayVI9kN1lnN1uU0pWUgyeckKeGtW1piS/ErKVItkutC8GiGIzPTQ0wc+6svTEssc+C1g+p5E3FFtaONTbLrUDMT32n80zngbVazdwEIQxmULMjje/QqVf/FnZrdvbTUdhU0z7TnfpUtvNDnxmFl+f+qt/RNrnlG9lXHZjI/SIXItRU6JrJcPO9YmMgU5po01A6C9L/KPT7vOSM/tq0sDndmfxfuAqGqFtqjBILxv6UIS1gpyQLMP0Jd/hO5T7h6ALTP2g8xaq0JV0CKnYqGuxrR1f5U3zEB/N4AlIzp62sh2x3YEWrfRZOhpSo+1+Ctjtmrfm0qeyB/dyYlEjp0+a8ESqxkf2aJmYi66Td5nv4EQciUSQSPfQ6iGKCoIgCd1DRV+l64WchGN4e5EnbaE6zw+QkFrHCMqP0I6L/5VtBpTcKvame6J38VW7xaqTPiyufnDAfFgZQWqAKtk7nay7a7wrf4X9vWoCn0VtDb4tCsrohzoLpleRNKCoqTrsrMSOK9xrPLBrxbcWBCG2xSIYSA7M30bRqOTmcBQnLdIau8XxDq6D4GUi/zesgmL4R5igdoeegSFIuiYVCuntofetJIrLN5KYXu5XHBlfOzvuvMIFg9P5CPpaKZ+N4GofW32k2MKJ5nkoPn9v+/2RTXfTWnEemrioJcSDHWGsmWr61afUcLQm0c2dFs1ZkKNJA4/XFurYMH34icJFAAo1n8nkDNQOR739RsNvT7qIwOd/Z7VMlrzYKSDwhLi1/r2Ts/BOZIhd02TrxW+ivEI9Gdm+Sc2oJ+G13cQjx5e+86PBhI0egrROQgZ1ERQHkUMAOfX4aO2GiRL9gqbL1A03PRS8shm+6AU5JyPtI9O+BlhD7O89BArxtwUbrHb90xhg/J50zFOovUtYUKWrVjMrmSln9OBQnjV6CojaXzTqHhJlDiCRfc4g7bBbWfZrbSy5Lui11YsTc/D6wuYv0lJY8In8oSdskYVxc+Vq0ESECSzowIxSRjGifSk= X-Forefront-Antispam-Report: CIP:178.72.21.4; CTRY:DK; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:localhost.localdomain; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(36860700013)(1800799024)(82310400026)(376014); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 9qrt/dv3zASgcNvAjPNd3RKiUfw4LIDKOPuxkWBAPmtnPBuvHLwuVUuefAv/fjBmQ7W3gvbbZKQ9Gn64Eg5Htcke2YGRMpdkD4Bd3dcD0AWjDKJkVfasVRh8f7sAgO+f+Cj6O2LQdIDj0NLtIth0oh7qoZcEwvl9Tgxg6A3EhAlt9DHE7YSmI66eH6UMmZyY/qSHwFDA2/MJGL44ruKPV+weR01Fmckcy8mhW23+v0tDHEgi5CwAdvoPYq6QDteQQ7bxf+F43zJP38X6pl0AcoQpw++JmixyImg9GmcwFwSYjhAh8CoAqj3I3CtwWlb3FJo24mftml1uGobTBTSvj0dDGUxQfU13gxCxIqyPWMRQm4Lu45cyZjrOYUFcJgpK3+69gXhQaXqL6AHfj9TVv1NpChxYYPQLzoiYdsHLqFYX4N4m1N717B+qo4LmWiAmVYiU9j9UKkitulVpLFykExYOrrY5pYHCY/YIC91yEVdAwdCX8TfxfPMQRSqUFnWafHEXRWR6qe9YI//FUW59bQhoebBStS1YQPADBUkd0wtVYk1YD05ZMibOOLr6mol1LH3fVbLckJ6lAEyfq4u+RZgF8U5nlbfuUTJBJGaJq8cYTiXFIudHSydkHNIISRFyAhJqwSSNW2em+HhFgFcsNg== X-OriginatorOrg: napatech.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Feb 2025 10:45:59.2770 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 36e8aae2-52d8-46bc-ab6f-08dd45d24712 X-MS-Exchange-CrossTenant-Id: c4540d0b-728a-4233-9da5-9ea30c7ec3ed X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=c4540d0b-728a-4233-9da5-9ea30c7ec3ed; Ip=[178.72.21.4]; Helo=[localhost.localdomain] X-MS-Exchange-CrossTenant-AuthSource: AMS0EPF000001A5.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWP190MB2189 X-BESS-ID: 1738752361-306009-7769-589-1 X-BESS-VER: 2019.1_20250203.2302 X-BESS-Apparent-Source-IP: 104.47.17.171 X-BESS-Parts: H4sIAAAAAAACA4uuVkqtKFGyUioBkjpK+cVKVkYWpmZAVgZQMMncwMLS1DI5NT HRyNTCMNHQONk8xcjM0iIlOdkkKc1UqTYWALA9U/BBAAAA X-BESS-Outbound-Spam-Score: 0.00 X-BESS-Outbound-Spam-Report: Code version 3.2, rules version 3.2.2.262304 [from cloudscan13-35.eu-central-1a.ess.aws.cudaops.com] Rule breakdown below pts rule name description ---- ---------------------- -------------------------------- 0.00 BSF_BESS_OUTBOUND META: BESS Outbound X-BESS-Outbound-Spam-Status: SCORE=0.00 using account:ESS113687 scores of KILL_LEVEL=7.0 tests=BSF_BESS_OUTBOUND X-BESS-BRTS-Status: 1 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org From: Danylo Vodopianov CI found couple coverity problems which were fixed in this commit. CID: 448983, 448980 Memory - corruptions (OVERRUN) Add check both indices within bounds before calling the macro Coverity issue: 448983 Fixes: 6e8b7f11205f ("net/ntnic: add categorizer (CAT) FPGA module") Signed-off-by: Danylo Vodopianov --- .../ntnic/nthw/flow_api/hw_mod/hw_mod_hsh.c | 17 ++++++++++++++++- .../ntnic/nthw/flow_api/hw_mod/hw_mod_pdb.c | 18 ++++++++++++++++-- 2 files changed, 32 insertions(+), 3 deletions(-) diff --git a/drivers/net/ntnic/nthw/flow_api/hw_mod/hw_mod_hsh.c b/drivers/net/ntnic/nthw/flow_api/hw_mod/hw_mod_hsh.c index 1750d09afb..cc8db2fae5 100644 --- a/drivers/net/ntnic/nthw/flow_api/hw_mod/hw_mod_hsh.c +++ b/drivers/net/ntnic/nthw/flow_api/hw_mod/hw_mod_hsh.c @@ -121,8 +121,23 @@ static int hw_mod_hsh_rcp_mod(struct flow_api_backend_s *be, enum hw_hsh_e field INDEX_TOO_LARGE_LOG; return INDEX_TOO_LARGE; } + /* Size of the structure */ + size_t element_size = sizeof(struct hsh_v5_rcp_s); + /* Size of the buffer */ + size_t buffer_size = sizeof(be->hsh.v5.rcp); - DO_COMPARE_INDEXS(be->hsh.v5.rcp, struct hsh_v5_rcp_s, index, word_off); + /* Calculate the maximum valid index (number of elements in the buffer) */ + size_t max_idx = buffer_size / element_size; + + /* Check that both indices are within bounds before calling the macro */ + if (index < max_idx && word_off < max_idx) { + DO_COMPARE_INDEXS(be->hsh.v5.rcp, struct hsh_v5_rcp_s, index, + word_off); + + } else { + INDEX_TOO_LARGE_LOG; + return INDEX_TOO_LARGE; + } break; case HW_HSH_RCP_FIND: diff --git a/drivers/net/ntnic/nthw/flow_api/hw_mod/hw_mod_pdb.c b/drivers/net/ntnic/nthw/flow_api/hw_mod/hw_mod_pdb.c index 59285405ba..147a06ac2b 100644 --- a/drivers/net/ntnic/nthw/flow_api/hw_mod/hw_mod_pdb.c +++ b/drivers/net/ntnic/nthw/flow_api/hw_mod/hw_mod_pdb.c @@ -131,8 +131,22 @@ static int hw_mod_pdb_rcp_mod(struct flow_api_backend_s *be, enum hw_pdb_e field INDEX_TOO_LARGE_LOG; return INDEX_TOO_LARGE; } - - DO_COMPARE_INDEXS(be->pdb.v9.rcp, struct pdb_v9_rcp_s, index, *value); + /* Size of the structure */ + size_t element_size = sizeof(struct pdb_v9_rcp_s); + /* Size of the buffer */ + size_t buffer_size = sizeof(be->pdb.v9.rcp); + + /* Calculate the maximum valid index (number of elements in the buffer) */ + size_t max_idx = buffer_size / element_size; + + /* Check that both indices are within bounds before calling the macro */ + if (index < max_idx && *value < max_idx) { + DO_COMPARE_INDEXS(be->pdb.v9.rcp, struct pdb_v9_rcp_s, index, + *value); + } else { + INDEX_TOO_LARGE_LOG; + return INDEX_TOO_LARGE; + } break; case HW_PDB_RCP_DESCRIPTOR: From patchwork Wed Feb 5 10:45:14 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Serhii Iliushyk X-Patchwork-Id: 150936 X-Patchwork-Delegate: stephen@networkplumber.org Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 9F02E4619A; Wed, 5 Feb 2025 11:46:30 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 4A4C540648; Wed, 5 Feb 2025 11:46:07 +0100 (CET) Received: from egress-ip11a.ess.de.barracuda.com (egress-ip11a.ess.de.barracuda.com [18.184.203.234]) by mails.dpdk.org (Postfix) with ESMTP id 09A87402EE for ; Wed, 5 Feb 2025 11:46:04 +0100 (CET) Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05lp2107.outbound.protection.outlook.com [104.47.18.107]) by mx-outbound9-60.eu-central-1a.ess.aws.cudaops.com (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Wed, 05 Feb 2025 10:46:03 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=wBk3XHZYPx87PIx2iZv/1wM4s4OHZXGjeSSt+fpmYC3ThVzuecQmuGx3VynyjDl6ZWYkPGWT2bPodHfoRzoIhMrB2uF54cT+rZel1G4Fg6ZaaTagAJBc+bQ+P6kp26bdIphyYMMOV4dI+jgLa9NbuN18rQ0P5WE1mCbGVMhlqz9VHDOgu+MSGfY8JqnyX12J5DXLkqBdrFxkzG+XYNwPpDsFc1qJqAF+GBjCL3BeNy8XB6LQCfDroz8aOIj4bwNalJPaCcNuKUvAcie2V5bQSZoPikLt++j8J5nPkxY/w+ZU8y/menSZPOfng6F5RAjgGLGqmRgPggdpCETD+UHCaQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=tlHhZZ9a2kkHpFMqW04E5US1XIu9MeYVaZ/Yzaq1AAQ=; b=iR67VSI9UVFBCbhGVETflJBu6NEmJaVLIylx0+tIJa4ZpOjtzwj+hu7xtRGhZVRk0UDhG+pPt3mqcR6089/zHsj5Ip+2NjfW8M2HSgeRixMs9F7UNv1Mvf2EIePJaWgByoMn5/8hIWLqjK0gzayJZ5BYn7iVsaLad4XobSvSZzRbGnmCOsxowcSrW7cfCFqbrleuq3KACYPFNxNURTWTdH7J0VSeBtyGEsOF5V6Qi6u8ihmwS5wrBDz9qVKxNR1bDtN37U125IHswQGd17/74uM6R/HdqkbS5kZ0/08KK4yBS3eVXb6ZgRi5A1mvlm4EdF46s5F7ENi8tSBPkn4PZg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=fail (sender ip is 178.72.21.4) smtp.rcpttodomain=dpdk.org smtp.mailfrom=napatech.com; dmarc=fail (p=reject sp=reject pct=100) action=oreject header.from=napatech.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=napatech.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=tlHhZZ9a2kkHpFMqW04E5US1XIu9MeYVaZ/Yzaq1AAQ=; b=DrDEIwV1YU9mh5V4BXdcNvY/Qb/FemXPCGuwPHChdWt90TrURzjdHCdvZfv758UnPPNsvYsb0QZH35+wBkIXU2xgT1G1u/7afHbW3I8FaGT0mcRsaXxvPZ22pAFfKKgz90sooPHP/kzE5RRZBpP/rmx0u+PKMvTon05x2YMc2tg= Received: from CWLP265CA0342.GBRP265.PROD.OUTLOOK.COM (2603:10a6:401:5a::18) by DU0P190MB1780.EURP190.PROD.OUTLOOK.COM (2603:10a6:10:348::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8398.24; Wed, 5 Feb 2025 10:46:01 +0000 Received: from AMS0EPF000001A5.eurprd05.prod.outlook.com (2603:10a6:401:5a:cafe::1) by CWLP265CA0342.outlook.office365.com (2603:10a6:401:5a::18) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.25 via Frontend Transport; Wed, 5 Feb 2025 10:46:01 +0000 X-MS-Exchange-Authentication-Results: spf=fail (sender IP is 178.72.21.4) smtp.mailfrom=napatech.com; dkim=none (message not signed) header.d=none;dmarc=fail action=oreject header.from=napatech.com; Received-SPF: Fail (protection.outlook.com: domain of napatech.com does not designate 178.72.21.4 as permitted sender) receiver=protection.outlook.com; client-ip=178.72.21.4; helo=localhost.localdomain; Received: from localhost.localdomain (178.72.21.4) by AMS0EPF000001A5.mail.protection.outlook.com (10.167.16.232) with Microsoft SMTP Server id 15.20.8398.14 via Frontend Transport; Wed, 5 Feb 2025 10:46:00 +0000 From: Serhii Iliushyk To: dev@dpdk.org Cc: mko-plv@napatech.com, sil-plv@napatech.com, ckm@napatech.com, stephen@networkplumber.org, Danylo Vodopianov Subject: [PATCH v2 05/34] net/ntnic: fix realloc memory leak Date: Wed, 5 Feb 2025 11:45:14 +0100 Message-ID: <20250205104548.1533554-6-sil-plv@napatech.com> X-Mailer: git-send-email 2.45.0 In-Reply-To: <20250205104548.1533554-1-sil-plv@napatech.com> References: <20250121170814.3252171-2-sil-plv@napatech.com> <20250205104548.1533554-1-sil-plv@napatech.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AMS0EPF000001A5:EE_|DU0P190MB1780:EE_ X-MS-Office365-Filtering-Correlation-Id: 29ca1c55-61f5-4211-2aca-08dd45d247f5 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|376014|36860700013|82310400026; X-Microsoft-Antispam-Message-Info: KUBhOkG2JNLzlr6PCwYEnF9XEcNrEQmNma6kaYlxKUlcl1rIpRafNycigO08CAESiGb9XV9z1EuIddcMDQDqJUAIz/kEQd++sDWUA1Nq9HDoZGn4LwShJaO0etadwi6RNuWXP/NfCafFdipxZ1J4Y/JkZwM1mdZYcZCXpcGOfOM7qDLVKghfUwaLzqSoInh1ZQLBDGs7srEc+cFeuA9aYh/Qgm/+5/oxdJx77eTA4ZRGXhcK1G3c/SFNyZ6XbMONFIUg5/pKJtP2TjxdlWBrCFJfDxz2M44dYKOU6T3bdorohrlJsrev97pytvj15UJMI8GQBMhriHtkc4FLprinjRdwFa/hzesLesVQA7NkY19j/qm09+wq48Kan1R+QLX6I2CDT32lRhiZsVdVv0Zsn+c/Fwq4HyJmGoLaZxyUlElKQHX+8VPJWiEcF/kHmo9rcnpFuQGt3CwdVCuivWOIHjlXYl51A4iAclmRYrWOLkXmFT4QRMVonyW5T5eYS4h/Zd4hZ95D0F0k+Nzryhl04bzxGlwlW0Dmr7A57veTBJ1HesjPK+Dw58Mvb+S3TbAM4qFo57Wz1n8C4LQWV6TaZTzRHvyCD2hjRQnL1wEZsEfnFQjx1XcxyLRoP9ulMvC/OCLf2FB/Af+VgXNVMZI3SsSgNGz6XnHbvfn/3u6Ohp7aD9YgqMPzQtI9e1vBi7FAh5G6t5LdFjXzL9fqYMtwdgsJtEk+gCkA6f2X5gxdfL9mGO4JonqupsPGhmGNK7oeX9CCmG8ecjtyFs+vcO3UzgBmALOoFBq7fMCp1ZICMfazIovjnwo02KiXJv9itowfNdFLE0CKvCuT+2YP3CMuW+1YWLDv6ATchE/GrTQ3qlNExWUsz9PGw5wHNtfbIMPlwihmMCeD2yaCM0hGou7XFB11p8pCdekf76C4gM//H5Lp7dYwLpUuZS190LKtTKDN+qklyNp02bi8zNpAq2lKuQxg8dDAbkmDH+NMeTvOLYrkHXgdA2McUg4ob2QJjhrqbQmTIW7t64y22e76h452YrC4u51Oc1iU8zbDK/CzCWU0Qe6zVBryG4sJSt70DZvshTue1FhcQeoRsD01WdXGK0KwY4WroShqO/R/ldL549Ow+vcbPM1NpBYn/LkVfgWewbXXwiWylhKF3Xlt6oCf5agbXC+mpAWoaUUVsGQ4U8T/1YwnJRpHkS2o6k4EQSC24rmZgtRw6LQchezo0ivbG+If2HVxUS+nu/x+ui5qcxE1Fw4JaPqwfYoha68RNzqsUxuO7Wi4VA2M15LFgbIHx7I02r7TW8AVwrvW23jWaMF1qtzh3KDGcZ3vGpfoXxCfoVLFvyuAbVRuf96e/G1NavtH15m2sB+vobrHCFovEqFr7fonXlRD69UdXIt08PhB021pX9lCh44T+AfV1vV5tvQ0Qhn4/8L9F/AUdthSs6i19o2qB+BUDwSsmK4pK8eSpLEWtazYNjk7t1PnuW61jXjLXMKBiUeIbAe5Ir0wW/w= X-Forefront-Antispam-Report: CIP:178.72.21.4; CTRY:DK; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:localhost.localdomain; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(1800799024)(376014)(36860700013)(82310400026); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: gMzUA5BrItBgE+OINBczsJ6dazeVO3e9Do0XciOCRrW/rwKe39qsBX51W/yJbtqmpD9jePDE3qXpbBj3TIBH1X+ALikIoMRCFIadgWeWrfz7HUreuMByZs8b/9awb0UslGeEwsJ+JopcTl60qJ/npwAhhHV0vuI5HhmVtB3Xj9SUAphB93+B+Y+jHBFVDc2BtXAwvnokVm4pMemHJnoSSykLhkR5lPbQbkTI77f9Or1QHMbvqY5cSHbqAKs1OKinlI7JDCzbLzixGsB95li/BCEK3DcmSaYupGehc2a+aD2zaSLEi4IyTgTvVTNmWFiz4tUR7CB5dzL7oMWJ01m4rlvvgO4J92vrI6jjpHQ8++B5vKsg8mpzd8KdQPz7Xw9pn3fvNcEUJECiytql2xw4NcH48+AU4MXxXZ09fT57iJVXBNEOT2RMtsYWB1CUM5LQ4ZXADUY7vNd61ih+XEgr6JhQJjjolymOlVHwI8PlPK1IYvqNHZgK56k/JMDiwYjJ8dik7b1/EPCfEQmoWRgUc67TPW7dbD499InKbNbrmKbbVjYz4jjBFlu0w0w86ZBkYwSLlr6fXWXEsCUjenInQXwdqZBHnOycyYr9F7khzEAJvs+A5gKjiUdQGtvTFVJhGbzSpCgj9RP2PbAXr1PDRQ== X-OriginatorOrg: napatech.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Feb 2025 10:46:00.7770 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 29ca1c55-61f5-4211-2aca-08dd45d247f5 X-MS-Exchange-CrossTenant-Id: c4540d0b-728a-4233-9da5-9ea30c7ec3ed X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=c4540d0b-728a-4233-9da5-9ea30c7ec3ed; Ip=[178.72.21.4]; Helo=[localhost.localdomain] X-MS-Exchange-CrossTenant-AuthSource: AMS0EPF000001A5.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0P190MB1780 X-BESS-ID: 1738752363-302364-7584-639-1 X-BESS-VER: 2019.1_20250203.2302 X-BESS-Apparent-Source-IP: 104.47.18.107 X-BESS-Parts: H4sIAAAAAAACA4uuVkqtKFGyUioBkjpK+cVKVoamppZAVgZQMCXF1NLE3CDZLM 08JTnNKM0syTLVxCjRJNko0SA50dxCqTYWAI+ihkxBAAAA X-BESS-Outbound-Spam-Score: 0.00 X-BESS-Outbound-Spam-Report: Code version 3.2, rules version 3.2.2.262304 [from cloudscan17-75.eu-central-1b.ess.aws.cudaops.com] Rule breakdown below pts rule name description ---- ---------------------- -------------------------------- 0.00 BSF_BESS_OUTBOUND META: BESS Outbound X-BESS-Outbound-Spam-Status: SCORE=0.00 using account:ESS113687 scores of KILL_LEVEL=7.0 tests=BSF_BESS_OUTBOUND X-BESS-BRTS-Status: 1 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org From: Danylo Vodopianov Issue was fixed with verification in case of the successful memory re-allocation. Coverity issue: 448959 Fixes: 4033e0539435 ("net/ntnic: add flow meter") Signed-off-by: Danylo Vodopianov --- .../profile_inline/flow_api_profile_inline.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/drivers/net/ntnic/nthw/flow_api/profile_inline/flow_api_profile_inline.c b/drivers/net/ntnic/nthw/flow_api/profile_inline/flow_api_profile_inline.c index ff8eb502f4..1c7d5cac3e 100644 --- a/drivers/net/ntnic/nthw/flow_api/profile_inline/flow_api_profile_inline.c +++ b/drivers/net/ntnic/nthw/flow_api/profile_inline/flow_api_profile_inline.c @@ -5523,11 +5523,16 @@ int flow_configure_profile_inline(struct flow_eth_dev *dev, uint8_t caller_id, struct flm_flow_mtr_handle_s *mtr_handle = dev->ndev->flm_mtr_handle; if (mtr_handle->port_stats[caller_id]->shared == 1) { - res = realloc(mtr_handle->port_stats[caller_id]->stats, - port_attr->nb_meters) == NULL - ? -1 - : 0; - mtr_handle->port_stats[caller_id]->size = port_attr->nb_meters; + struct flm_mtr_stat_s *temp_stats = + realloc(mtr_handle->port_stats[caller_id]->stats, + port_attr->nb_meters); + if (temp_stats == NULL) { + res = -1; + } else { + res = 0; + mtr_handle->port_stats[caller_id]->stats = temp_stats; + mtr_handle->port_stats[caller_id]->size = port_attr->nb_meters; + } } else { mtr_handle->port_stats[caller_id] = From patchwork Wed Feb 5 10:45:15 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Serhii Iliushyk X-Patchwork-Id: 150938 X-Patchwork-Delegate: stephen@networkplumber.org Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 653634619A; Wed, 5 Feb 2025 11:46:44 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 26AAA40650; Wed, 5 Feb 2025 11:46:09 +0100 (CET) Received: from egress-ip42a.ess.de.barracuda.com (egress-ip42a.ess.de.barracuda.com [18.185.115.201]) by mails.dpdk.org (Postfix) with ESMTP id A8E0F402EE for ; Wed, 5 Feb 2025 11:46:04 +0100 (CET) Received: from EUR03-AM7-obe.outbound.protection.outlook.com (mail-am7eur03lp2238.outbound.protection.outlook.com [104.47.51.238]) by mx-outbound43-8.eu-central-1c.ess.aws.cudaops.com (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Wed, 05 Feb 2025 10:46:03 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=d7zdjaNtk2+yQCff9Pu69LAFouc0H1uvbtlTgZWMO1H4f6cpGBmIfRHk05FlWL4GXr5/iaebeZZZXlxoFpGDIRZnO9B+ow3dcb8+mW2/ylR1EDDUOsbqcxCJfcj8yhhMDSKHzjigSbD+75/fm+acU4mixZ+i1AnOg/jfzoMKLXgsxfvEVdaEq9s2jFY60JTmmfLk0QVa4GRhrQaKvsvBLeaKEfnuN0MiuyWv8txCt+6bMxMzaGr/IG1Rilmrmnruq0awqLDqCgZ8h73KDT365lEdvftaQRmnLIzltV0mqd0yvTvLxEpgjHaW3sdZnCoEih72Uvrc8vTgK046xf8QRA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=eHOwN2j0QqqOHW43rmJ5SH1sjM3KFtjLJIZvD2VB2iE=; b=X06TaX0zdHdQlhSgQl/iA2KNONq1sEHf7Hrxwmmiosl45w0jyZYwLJ4VjEmjGmTgM4I+9SzBgSJG6omFnnHdrzyBz3OAKcO217/rnLYU8ubsWHiw0ProRE+qtSLeamwVvM0sQiYZFcp8bSSvWYYuTrurSjVf2ENRt8kM8B2N6H+cmaXSnGmgSsukyops0Soosm+WZyChSVK3Pr6YNPtVWG5Ij8RWkmlLEOI4ueOka0FqtBXeKLcsIW1LCRQrdmVt605GCEswoExmZWFjiw60pyPTkF/iZrmtL5RUWqz6DuXO/XdRevKO7L1ImqZb2HzQQL9g+i6JEIozfi6lEh7eXA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=fail (sender ip is 178.72.21.4) smtp.rcpttodomain=dpdk.org smtp.mailfrom=napatech.com; dmarc=fail (p=reject sp=reject pct=100) action=oreject header.from=napatech.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=napatech.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=eHOwN2j0QqqOHW43rmJ5SH1sjM3KFtjLJIZvD2VB2iE=; b=HOgCjp1QazbrAFV4sBV4oNK6gLVXDlELyAWfCnV0J3ro9PcmJlbdKj2LJqo0vuNH7VMFCkbGKDYtyE+svwUsy0q3uKxjtrn8ZolgaqXKVzQ4hnbaLB1koqYItnrn9JTI4G4XmFMDw5TvxUAFGJBl7SwoB411+ZKM9NZHv2caJNw= Received: from CWLP265CA0340.GBRP265.PROD.OUTLOOK.COM (2603:10a6:401:5a::16) by PRAP190MB1737.EURP190.PROD.OUTLOOK.COM (2603:10a6:102:29c::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.11; Wed, 5 Feb 2025 10:46:01 +0000 Received: from AMS0EPF000001A5.eurprd05.prod.outlook.com (2603:10a6:401:5a:cafe::d1) by CWLP265CA0340.outlook.office365.com (2603:10a6:401:5a::16) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.27 via Frontend Transport; Wed, 5 Feb 2025 10:46:01 +0000 X-MS-Exchange-Authentication-Results: spf=fail (sender IP is 178.72.21.4) smtp.mailfrom=napatech.com; dkim=none (message not signed) header.d=none;dmarc=fail action=oreject header.from=napatech.com; Received-SPF: Fail (protection.outlook.com: domain of napatech.com does not designate 178.72.21.4 as permitted sender) receiver=protection.outlook.com; client-ip=178.72.21.4; helo=localhost.localdomain; Received: from localhost.localdomain (178.72.21.4) by AMS0EPF000001A5.mail.protection.outlook.com (10.167.16.232) with Microsoft SMTP Server id 15.20.8398.14 via Frontend Transport; Wed, 5 Feb 2025 10:46:01 +0000 From: Serhii Iliushyk To: dev@dpdk.org Cc: mko-plv@napatech.com, sil-plv@napatech.com, ckm@napatech.com, stephen@networkplumber.org, Danylo Vodopianov Subject: [PATCH v2 06/34] net/ntnic: fix array index verification Date: Wed, 5 Feb 2025 11:45:15 +0100 Message-ID: <20250205104548.1533554-7-sil-plv@napatech.com> X-Mailer: git-send-email 2.45.0 In-Reply-To: <20250205104548.1533554-1-sil-plv@napatech.com> References: <20250121170814.3252171-2-sil-plv@napatech.com> <20250205104548.1533554-1-sil-plv@napatech.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AMS0EPF000001A5:EE_|PRAP190MB1737:EE_ X-MS-Office365-Filtering-Correlation-Id: c0ec9eea-51e3-4c68-8745-08dd45d24873 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|82310400026|36860700013|376014; X-Microsoft-Antispam-Message-Info: KHBOL7xlB0twrpmojj3iMsn5aBnoNXUKGXPugrMpJSPxQsTU7feS3R/53pwWpQFUReezK3cgv+GLDBQADSiU5OickXqFPiVgkRoZpW2nNnC5G8JiVMny+McLHkY+rnsoBcP6XI2nQC/CpjyPvciZ/mdAnRDvkQIcwT7xjUQjhBHdp7IOwPAfH7IIJIHunCf75/iFurk/Tg5lwUXBflB76OxUhEjMWcwlF+E4augGVySPqxjpwwyqDWItt4Z9EFke2VvMxslNw77E/bygqE+d+HbxAVTqQ4pkiIiBkfcLYR2zm1jDKWY/Pzj7/GVijDeEj/Wjo/JLP99pnhR28EGGajEljScN6BAGpErR+onNmFP35p772rEgEtosniAmXXhbPPTAl141iG4UDOCbh7MxS1WPq5MY/vVYyXy6XRpH12sfDKVaozVRAaEScHpNaN7vy0DRzRJQLAeVUOzyrR3gIDMCe7xmEC2ClyNaIxS39CkdoVl2LW2wPPfo0Ml9//4/4kXS8W3VYSSyM+8IugJxlVfZdctF++xJ03SbkVBi4E4qDEuGt2/r8I/Zzxxuf/803uBXHcC4i1WcaXadtyjZG/gebVSB7Wg/5FVCT7YiyERj1dfzL8Ef9mI0+25Ds7MRH7yaABaCS3668qwA6o5jtzJN4enqnXnJfoaBsUOEDiG30XL6YzrCBFnN9JCxKxtardhulkMdVY+mS3le2F6O6XNfR/t6kxaHMK4yGIKBSJUyHhScWMAChxNdazUb5N5IG+6jzFOJQXzCKlGDija62gi4WWaNSy6eCJZIZKgNjsXlmWS3SBUtyhUWwiXyCFK7P5pr6rctfHXCQ7fZuM0oMPEuTjzjVEc9IeTVa8FHjeAmO4gEWGnBENZLZrQRpkE0lS4YpsH1Taxpv737BdwZXUmIGFEZKQFIMMm+vHJvykkbCh9n7HZ2ZAFL4sqD8oeM9GTKncBYpU6ELidsfC1YiVhKJ4QHYFqSnrXPlQjUG2MUyYksj+o5ZRSLfz7IzP8Im/GKRNTsTwdAH6GvvR0+VtRMaX67BobFHcHViAYwzyDOeoOg3fa9zi615R6830vpNHF2BCCZg4itOoSSS7tgujJd8Ek0MlnJK3jDiK6bDQnXhFjdgioDR8ev7amNkxcIpTAodC8tnmfWMAxSj6LSjnTENmCje1vNNp34KhXoJEcORAcLLZD6FGCe5jJigpidPDFtzg99B/PZuMlykvqpuKQl4760/GSr1o9uuPsivwc527S5ER7arRk2V40wTJzJqP20A5xZsP5fS3EwdVwJ9IVBEP5PMVQNaMb3XjtKgYoK9Sx3qaR+A+9uneuALBqtjOlOUNEX+QS4dPm5bk30PM8YEwGUTqL65kbaHTCgyi+3r+gXC2yoH0FEGAkMUbuBGPitBIGJhNHmXwO05haEtr3ma99DO8FgrG+FdpzV/4s+9ZGN4fuK0RefZhJb0ciwyu4VCO9KXNJ5aSktT7r7B7J68ydNLVBgegH50jyfVjQ= X-Forefront-Antispam-Report: CIP:178.72.21.4; CTRY:DK; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:localhost.localdomain; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(1800799024)(82310400026)(36860700013)(376014); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: tmExKa5AUDAvygLjvE9avMfPh2Za5Swn/xzGeI5uXNblfPRKngl9g+W+CBUrpUy1QnaeeIMGbemijWmCxrHLcTP3BsJvmBOosng1SqAyqBcBlqEmXpAPVTUjaafRIXWU9gOY2ECcstQE2PgfEe/CPdLkIefsPVGy49ctXpMlIi8pLKJUGwVTB9fO3asxRjAVSXogVtGH3yaG8jGT3DXwgIZqy/odO6Q9RtgImqJIEaYWzFeKbkSx/UOtyBjqfjNaDZv/g98eibEudu59MevXg4p7xM+u5xhxc3Yf+XXznw17wkdf9Jju/i+2MF39lbVSVIvDvCiuu5EvZ0xBo0YbPHFUb9C4JFjNWxYlkyNoPlmFwy68PqWd7B+Vk8ptTWOEWli0qZBHbo5/HNgVKRGAmEy++HsRwTFZq6Ca1Wbgl6xbFt/aHj1AWnPSXDLBWBKUjOw029R5hfWS1RQsNw0929WmSVmOuAr7wkHhsuDOsZZGq3YLxJ0QLu4RsTFezkCezFlewDnHEI2aAJ3Px0IB0yJfAnRRa+SQBL74PBPEJ8PdPmyk/4aR8eZnoKs5Dtdauyv6YQmPDRuS4Zg40Ht+UUN9Xm3HNieNfJZuNCdIXq+vpLgs79CqpMNfkAcrUEVHcrdfRCmohLS7+odO7OQSAA== X-OriginatorOrg: napatech.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Feb 2025 10:46:01.6051 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: c0ec9eea-51e3-4c68-8745-08dd45d24873 X-MS-Exchange-CrossTenant-Id: c4540d0b-728a-4233-9da5-9ea30c7ec3ed X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=c4540d0b-728a-4233-9da5-9ea30c7ec3ed; Ip=[178.72.21.4]; Helo=[localhost.localdomain] X-MS-Exchange-CrossTenant-AuthSource: AMS0EPF000001A5.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PRAP190MB1737 X-BESS-ID: 1738752363-311016-7904-613-1 X-BESS-VER: 2019.1_20250203.2302 X-BESS-Apparent-Source-IP: 104.47.51.238 X-BESS-Parts: H4sIAAAAAAACA4uuVkqtKFGyUioBkjpK+cVKVpYGRkBGBlAsySA1zdA4xcwk1d IiJc3UPDU5ydjAItXC2DjV1NLU2EipNhYAaqoIgUAAAAA= X-BESS-Outbound-Spam-Score: 0.00 X-BESS-Outbound-Spam-Report: Code version 3.2, rules version 3.2.2.262304 [from cloudscan20-146.eu-central-1b.ess.aws.cudaops.com] Rule breakdown below pts rule name description ---- ---------------------- -------------------------------- 0.00 BSF_BESS_OUTBOUND META: BESS Outbound X-BESS-Outbound-Spam-Status: SCORE=0.00 using account:ESS113687 scores of KILL_LEVEL=7.0 tests=BSF_BESS_OUTBOUND X-BESS-BRTS-Status: 1 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org From: Danylo Vodopianov CI found couple coverity problems which were fixed in this commit. CID: 448983 Out-of-bounds write (OVERRUN). These issues were fixed with updating index verification statement. Coverity issue: 448983 Fixes: 96c8249be53e ("net/ntnic: learn flow queue handling") Signed-off-by: Danylo Vodopianov --- drivers/net/ntnic/ntnic_ethdev.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ntnic/ntnic_ethdev.c b/drivers/net/ntnic/ntnic_ethdev.c index 620d023a71..28b086c009 100644 --- a/drivers/net/ntnic/ntnic_ethdev.c +++ b/drivers/net/ntnic/ntnic_ethdev.c @@ -140,7 +140,7 @@ store_pdrv(struct drv_s *p_drv) static void clear_pdrv(struct drv_s *p_drv) { - if (p_drv->adapter_no > NUM_ADAPTER_MAX) + if (p_drv->adapter_no >= NUM_ADAPTER_MAX) return; rte_spinlock_lock(&hwlock); From patchwork Wed Feb 5 10:45:16 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Serhii Iliushyk X-Patchwork-Id: 150937 X-Patchwork-Delegate: stephen@networkplumber.org Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 4C5804619A; Wed, 5 Feb 2025 11:46:37 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 4A8E840649; Wed, 5 Feb 2025 11:46:08 +0100 (CET) Received: from egress-ip42a.ess.de.barracuda.com (egress-ip42a.ess.de.barracuda.com [18.185.115.201]) by mails.dpdk.org (Postfix) with ESMTP id F046740609 for ; Wed, 5 Feb 2025 11:46:04 +0100 (CET) Received: from EUR03-DBA-obe.outbound.protection.outlook.com (mail-dbaeur03lp2169.outbound.protection.outlook.com [104.47.51.169]) by mx-outbound43-8.eu-central-1c.ess.aws.cudaops.com (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Wed, 05 Feb 2025 10:46:04 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ezylDBl0YyyiSYlwkxDlAb39W4pmYk5RAxwGJ30PIyLZN5AgXihAbLX+Dud0K4KK3FuZDB1tOQOx8esuxNsG1ObOKqZYiVqPWV/CueEIVbA8oTMT1SacT87fmj87G66C7hM7AMlhhqWhWQSJv2VrB0o3DG70ogCfyVrQnqprTOvY1yL71/DUaE9JoJWX24UZNh8I7j/JqeeFXZgj+F9P+kftRVLwjRGw3BlOJ4JfCvuvYDY6qyZ//AclWgNnfVclXeGrVDeGHjBVybMIcRly+MKEq6oXTkajqlQb7PtN/jauzrq+B1TERslseo+1JmdoBHEK1J/erHbghR5xlmNoFA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=zRKpFF+WF5+nMnuUeYLUsJI0Oo30HZfnbypT5I74Lr8=; b=hkjjaiwifGsgDX0dHGGghbKj8d1dezc6otbM7njehBxOm1mzZu7dkYve6wkybWz6TsenQBtC7EuY1tLtFrbkyri74kkX6u7MkTPurJIFJdzGcCS4mMjzVYaencfBXIA1zJDONaUI8mcM3p4vWppyVCzkJfd3ozoS58OW7ROTXl6K+CKFCEei5t89Udk4KX6/A9+gcdA6s5dPDyrciQAXY3DwtNUVcvo4A8q/FTno3c+s3zjSpBY6Pn1ckdSB1KVjrYpudW5ATyHxCIkVdHeKNFqvJvV0bv1eyrHQmTIH0skutMTYmScBugAbv9uijfFq6q356AjoiZYxv4HcpTpU8Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=fail (sender ip is 178.72.21.4) smtp.rcpttodomain=dpdk.org smtp.mailfrom=napatech.com; dmarc=fail (p=reject sp=reject pct=100) action=oreject header.from=napatech.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=napatech.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=zRKpFF+WF5+nMnuUeYLUsJI0Oo30HZfnbypT5I74Lr8=; b=m0dwE1ZJtFG+1p5seZX+SPud5MhRWU66aa5EyJTI0o6e07UgP9G9SZ2/QsgIWJQ+ks667XPe0s4+eEaE/OMxqoUU548eIJheJFmwKuirVg4+uWS9ssWrUBE5Ix4/y2zwDihfpFPSWQkmpCPX6D55QjaKnkzJSAFBbiJcwD4Dr5A= Received: from CWLP265CA0357.GBRP265.PROD.OUTLOOK.COM (2603:10a6:401:5a::33) by PR3P190MB0953.EURP190.PROD.OUTLOOK.COM (2603:10a6:102:87::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8398.26; Wed, 5 Feb 2025 10:46:02 +0000 Received: from AMS0EPF000001A5.eurprd05.prod.outlook.com (2603:10a6:401:5a:cafe::33) by CWLP265CA0357.outlook.office365.com (2603:10a6:401:5a::33) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.27 via Frontend Transport; Wed, 5 Feb 2025 10:46:02 +0000 X-MS-Exchange-Authentication-Results: spf=fail (sender IP is 178.72.21.4) smtp.mailfrom=napatech.com; dkim=none (message not signed) header.d=none;dmarc=fail action=oreject header.from=napatech.com; Received-SPF: Fail (protection.outlook.com: domain of napatech.com does not designate 178.72.21.4 as permitted sender) receiver=protection.outlook.com; client-ip=178.72.21.4; helo=localhost.localdomain; Received: from localhost.localdomain (178.72.21.4) by AMS0EPF000001A5.mail.protection.outlook.com (10.167.16.232) with Microsoft SMTP Server id 15.20.8398.14 via Frontend Transport; Wed, 5 Feb 2025 10:46:02 +0000 From: Serhii Iliushyk To: dev@dpdk.org Cc: mko-plv@napatech.com, sil-plv@napatech.com, ckm@napatech.com, stephen@networkplumber.org, Danylo Vodopianov , Oleksandr Kolomeiets Subject: [PATCH v2 07/34] net/ntnic: add var definition transparently Date: Wed, 5 Feb 2025 11:45:16 +0100 Message-ID: <20250205104548.1533554-8-sil-plv@napatech.com> X-Mailer: git-send-email 2.45.0 In-Reply-To: <20250205104548.1533554-1-sil-plv@napatech.com> References: <20250121170814.3252171-2-sil-plv@napatech.com> <20250205104548.1533554-1-sil-plv@napatech.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AMS0EPF000001A5:EE_|PR3P190MB0953:EE_ X-MS-Office365-Filtering-Correlation-Id: 9ebd61e4-6675-4d80-5aa5-08dd45d248e8 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|376014|36860700013|82310400026; X-Microsoft-Antispam-Message-Info: b9QtFm/Td89MMqOMs+if0T/nruQqDdwCo4XbWWeWvpzTVa5L3Otr0I8fa4ZAwJjjnWqoVSBm6I5b3PxQYQUQWgmTi7KtGDq6twtMF3YOXWvy4tERINUuDD/lTHEaTV+bPSSETwQteqTUYL2aDjpcvXshAKAf/6jo/N7YaThnxMwWa6RflGK46/uDeOZ8gBvrQJDenuOlBMFRN1nsmNi09rV95ehVhZUMFSPZIDJk3QT9P5oTimYxbKz5e9NhJwkreFrO1kojSUhf7veojyefAQgFyTw4CaZojPrJKvU/3Q5U3Odl21GbgSwDUQMsD76HVpAN7bD9w65bT+tXK7lnPHn0N2o0xgT8uAIQzOwX5O7ug10mpML7n64LIdfFQl5WqBeJPkVyruarfu6/Hp5MXhrxzlFJmBxE2Tg/23HL6PiRRHCVZ5IFjiRjN4WFsA6L8HWHG6nKnpBA0roeO+j9Cw8yUDrEwd0kvgSXb0fa2sHIrR3khoiZNod6o76GztjARDzpsedPyaCBRIuVUB1YJcEoALvmboN3Sr/PFaKbkXXCmoMYNvJLerdBj9o6mNjEAB9wErC6EEo1Ux+ohMq4dSPXQBLnjWFAj0S9MhAiYKvEs1N/mU/hV5op6mKKv1t2CBwfHT7uI3TmRPr1pUEbgyHHW8uwD7o653dJbiJOw/x2K3G2urJcG280J1+vUsDsqEqfPGzN5Lmmc2ciOuiGrQVIh6etO75AkfHmO5A3cY0SqPCUqaNZoAxResD7rZNiwb8fjFxpRqfmAh/4hqCKrbqlaDys2BE+Gi+QyeuTN5TX+PL0waQuPl4Mv9z7F4E6NDO/Buh/Rpo1BWgAIOV/bO0mwC+tA16I79deJ3TK0iFkRfz8gz7GLTCPjd1OOaYfhhvX6GEqUjqt5uZEbAcG95d3SFCgj8udp5p4Nm86Gud9asK+lzCxrHl1ihlX8B0sdE6aE9SfGZXzG2PMIoSNi4SMDQbtJRbRDLMEiTcRbGf9j+da5/DztW2UFVIgi2vU+Za0t9UL6/Epem1fOElU0Ikyv67p3Q5a3AMvp/Zvt3JChuHNvStlqSH3nssI9W8RbupsPP6lYZ6ZBuR/2ZcMjq8YeF+iVRVj1tIan2Rgl6vl8VaR1OzL4LgSq3TnYPUDf2dIhbfzywzBN81niuSt19OjrNeI9iRX4Jr0xJZFwPMt5HzOhFjorEiokEvHu9xLroFZgE9wltynrLiEce5A/NceGlUCcnMT3vd1uQ/25EsKjT9MljJA9/i2Lx9iRidAw1G70V9y1mPBgLPiIps5MrhXBFngd5SNzpeHk3U5QyCFTz+hY/hiFCN0g8GFbJH4Se1MySbJ734RhZHT76WTlx448OI9zYYrUSZZhmebCXAooLeviRwPBlpGY/xvoIvMYCGvzbCF2FJ9hR6ppQ3+A4pfKaY93DMR/PmVkEejC+K/al2skiceMez1DrKvDt7nfFCNd5ofhar2yfhDMrL5mg== X-Forefront-Antispam-Report: CIP:178.72.21.4; CTRY:DK; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:localhost.localdomain; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(1800799024)(376014)(36860700013)(82310400026); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: Kz4MgI2YIAOYU9KGzbJSjuLL+XYaGBh9tYr8faHlzTBDkSXtQK+nY2QBoWfgYwP6AAih+WMMEUnMGG5HpOwZAZQ/gjiAHh6nCGhmzLeW9Ch0CXgykWalA0vK/pq9nUahAn8UEqUGzrx8j0bUbv8mktflKJwSYwhwTgDCjriDXNke6d15vT24LZjKu4I4JG5QWLrCAOCYbsX+zKFrHwI1EMDn8t9yTHALpfipzArO8MNBy49GbdaTtmEdAEg4PRi2oKSQ0igtaA2zgWfOC3MnRS+ipEdmmkmWTERgGy5L8zG2eQ+ZG8v+1j7fi1GSzNbavyB0l/RvJ1ppHrhLGCfHl2NtADa3CKt2Fr5kybcyZcqu+/SEKqULfMM/DMYEz1XQgbfIazFCojbX7qvVDAM/my2s6onpW4vgVy6d+P/VclzC95hkCEWB5jFP+e1enx66SeLBGkR51OBebuEYmEY4p8uATasewuaT1a4VMMrDglrMNPjbdt5cS46Ujvm5mbItw9BftlbhSIXBAyGGjiCDJ8PiGJfXQBj3xd+oQF5/XBUq6Pc1yUsuGGeHb8aIKCTWnGFP0S54M0pgNdSZTcLjc5SbUMbidUbfnf1KCF0nZQzHfqJYjF80z3y7rQisebrx6h7/9A8WW48BI9fwtVoaeg== X-OriginatorOrg: napatech.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Feb 2025 10:46:02.3395 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 9ebd61e4-6675-4d80-5aa5-08dd45d248e8 X-MS-Exchange-CrossTenant-Id: c4540d0b-728a-4233-9da5-9ea30c7ec3ed X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=c4540d0b-728a-4233-9da5-9ea30c7ec3ed; Ip=[178.72.21.4]; Helo=[localhost.localdomain] X-MS-Exchange-CrossTenant-AuthSource: AMS0EPF000001A5.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3P190MB0953 X-BESS-ID: 1738752364-311016-7905-614-1 X-BESS-VER: 2019.1_20250203.2302 X-BESS-Apparent-Source-IP: 104.47.51.169 X-BESS-Parts: H4sIAAAAAAACA4uuVkqtKFGyUioBkjpK+cVKVpbm5kBGBlDMIiXVJNXcwCglNd XELMXAMik12TLZ0sAwycQ4OdnCyFipNhYAHob84kAAAAA= X-BESS-Outbound-Spam-Score: 0.00 X-BESS-Outbound-Spam-Report: Code version 3.2, rules version 3.2.2.262304 [from cloudscan21-135.eu-central-1b.ess.aws.cudaops.com] Rule breakdown below pts rule name description ---- ---------------------- -------------------------------- 0.00 BSF_BESS_OUTBOUND META: BESS Outbound X-BESS-Outbound-Spam-Status: SCORE=0.00 using account:ESS113687 scores of KILL_LEVEL=7.0 tests=BSF_BESS_OUTBOUND X-BESS-BRTS-Status: 1 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org From: Danylo Vodopianov set eth_base to NULL after freeing to prevent use-after-free CID: 446746 Use after free (USE_AFTER_FREE) Coverity issue: 446746 Fixes: 1d3f62a0c4f1 ("net/ntnic: add base init and deinit of flow API") Signed-off-by: Danylo Vodopianov --- drivers/net/ntnic/nthw/flow_api/flow_api.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/net/ntnic/nthw/flow_api/flow_api.c b/drivers/net/ntnic/nthw/flow_api/flow_api.c index 82d4e34ae9..d25d1a3dd1 100644 --- a/drivers/net/ntnic/nthw/flow_api/flow_api.c +++ b/drivers/net/ntnic/nthw/flow_api/flow_api.c @@ -385,8 +385,10 @@ static void flow_ndev_reset(struct flow_nic_dev *ndev) } /* Delete all eth-port devices created on this NIC device */ - while (ndev->eth_base) + while (ndev->eth_base) { flow_delete_eth_dev(ndev->eth_base); + ndev->eth_base = NULL; + } /* Error check */ while (ndev->flow_base) { From patchwork Wed Feb 5 10:45:17 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Serhii Iliushyk X-Patchwork-Id: 150945 X-Patchwork-Delegate: stephen@networkplumber.org Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 822254619A; Wed, 5 Feb 2025 11:47:42 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 80BA240665; Wed, 5 Feb 2025 11:46:20 +0100 (CET) Received: from egress-ip11a.ess.de.barracuda.com (egress-ip11a.ess.de.barracuda.com [18.184.203.234]) by mails.dpdk.org (Postfix) with ESMTP id 7CA5A4060F for ; Wed, 5 Feb 2025 11:46:10 +0100 (CET) Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05lp2105.outbound.protection.outlook.com [104.47.18.105]) by mx-outbound9-60.eu-central-1a.ess.aws.cudaops.com (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Wed, 05 Feb 2025 10:46:05 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=DCx8f2O6obHI/bOXzL1fOgk4bfhWgwls3ZamWLQF8x2hh45kwu5dPQxg3Gc5xfiG/9NrR/XKo/5Dx7X/Jxop7LL8tdTEKy+xYg7eaPq6VaruFoGbFA+RqV5Z6JJWM+5jMGimMayJiycprltWpl3iYcxPHKDTOqjUuCUJRRCsN7GV/xZvwBCato3ieclJek7WwagYUM6SCQi1ic2rGz8OMnXt2QDJ+tNOAIwdulQQ37MqHkaE7HWczAVMHGE3+soEJDhP+TxIhMbX24P1bOYBsOcddEKJB/VnZNFxZjovXc4t2DMldCCkiunGSo1w4WP8n+PItPSlrP7G37lW3yUtJw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=8DPBLE/ulgBNa9kGWwpKE9HpQti7GT8fm2dwBMXfO6Y=; b=KR1lcSYcpBRfwF0BGgftae1jN7jr+g0dsk8AByESTOkYOIlMuPgNkFHJ/HlA/NzSM9A4joZhkq5D85XcSdR31Cr0oA773A+SFbv0PEPMbqWM3Tck82dQ6PRwT5lUKDCcIpheAGg33xQ6ppIGd/vm04noZbrl0EXvCCXH2QkUJtjx5skou5DEWSTZLb7zOfFFAu8VTZU8ilri+aaIfMKomUFNZX4scnbbT5nY3irQfl5Fr5fUjDZcaU4z90X42EVje7fqoQsrJTPbz25BbyFbi0LqvFo+6gE39ps1ZQaafODok/SRpTifAQ3qWBSLvzAozp1kzT0fzpPUXdj9WchkdA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=fail (sender ip is 178.72.21.4) smtp.rcpttodomain=dpdk.org smtp.mailfrom=napatech.com; dmarc=fail (p=reject sp=reject pct=100) action=oreject header.from=napatech.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=napatech.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=8DPBLE/ulgBNa9kGWwpKE9HpQti7GT8fm2dwBMXfO6Y=; b=h/K5l8U8gx5JQK7vV8t2Se9yJDGIJRSusi/XSfybNEhHa98WsIQZeh/wwr0qQrNWEXQafRYjS2FxV8XShFgH1rVb0yqduPeUoLXXzTfcdymMrgH0Nrj0GAW+ouJs5aTVZwiITBzZnsJu1XdVlgVmOheIhLOZanJyY0cYMhrxnVk= Received: from CWLP265CA0350.GBRP265.PROD.OUTLOOK.COM (2603:10a6:401:5a::26) by DU0P190MB2028.EURP190.PROD.OUTLOOK.COM (2603:10a6:10:3b3::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8398.25; Wed, 5 Feb 2025 10:46:03 +0000 Received: from AMS0EPF000001A5.eurprd05.prod.outlook.com (2603:10a6:401:5a:cafe::b9) by CWLP265CA0350.outlook.office365.com (2603:10a6:401:5a::26) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.25 via Frontend Transport; Wed, 5 Feb 2025 10:46:03 +0000 X-MS-Exchange-Authentication-Results: spf=fail (sender IP is 178.72.21.4) smtp.mailfrom=napatech.com; dkim=none (message not signed) header.d=none;dmarc=fail action=oreject header.from=napatech.com; Received-SPF: Fail (protection.outlook.com: domain of napatech.com does not designate 178.72.21.4 as permitted sender) receiver=protection.outlook.com; client-ip=178.72.21.4; helo=localhost.localdomain; Received: from localhost.localdomain (178.72.21.4) by AMS0EPF000001A5.mail.protection.outlook.com (10.167.16.232) with Microsoft SMTP Server id 15.20.8398.14 via Frontend Transport; Wed, 5 Feb 2025 10:46:03 +0000 From: Serhii Iliushyk To: dev@dpdk.org Cc: mko-plv@napatech.com, sil-plv@napatech.com, ckm@napatech.com, stephen@networkplumber.org, Danylo Vodopianov , Ferruh Yigit Subject: [PATCH v2 08/34] net/ntnic: add proper var freed Date: Wed, 5 Feb 2025 11:45:17 +0100 Message-ID: <20250205104548.1533554-9-sil-plv@napatech.com> X-Mailer: git-send-email 2.45.0 In-Reply-To: <20250205104548.1533554-1-sil-plv@napatech.com> References: <20250121170814.3252171-2-sil-plv@napatech.com> <20250205104548.1533554-1-sil-plv@napatech.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AMS0EPF000001A5:EE_|DU0P190MB2028:EE_ X-MS-Office365-Filtering-Correlation-Id: 23f4078f-d820-470b-41f2-08dd45d24951 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|376014|82310400026|36860700013|1800799024; X-Microsoft-Antispam-Message-Info: wEvwl//0Tiu/XabF9kHPMIPBrjkC/wR3cLUkipS8mu6PtgTttgf9VEQn3mHoZRZlE/R7SI6S/JbEnh340GSP7k6gq7UYIMe9KNztFxhRal759Jjw1zHGHUO2AfTAIjwLxXKM8SFXY5146JU8g1+HCbTrIOwgzlJnXCN0/sjzAR/Pde5LiIsPL3q+OpkzSY+kkF+feB6I1e2f+v5kk8N07I1xG8zCRyo6k7VJMPhl3csaIRqUX46vURxgTxwlpFuRhnA0MRC/1NbbshXxO13fZP9Ru2Kp3/bHIKHxFQC6feRdTrwZPa+5YvU1wQkp4GCaAesm3pRDZZ1BTa10/W9jR+l95LLXYdExFhYJPuxUD0ZUDhIPhmLwXLYeYV2VzJ+ZN6Ab8W4j8j3m1y/NuiMmCN18e0JXT4RizC2HgZTZyJv2Z9pH8lz0TQO82qUikWovsSaAmy2gpoxEA25/aIlwpIJ3G3LYK0rtt5VeKSp9RTCeUmTDngLTHvntX68lomdCP5WaHuieo3XTG412To6xsSU3M8CDQCAe0qyR9wBqxAQF71HDtFSVuFhuC2/bGTUWhshMRmH7XA2UTZzaOzjYozVcqJBISSLF4Osnkfbal1jUlKnPZ4rFUncxWkKgwnPuNzEwNRrKbnLR6BDfrwAxRgC0WPR8V70hQ2CPg5rTKXzDVVdhm74tqvnBNcZXjuQgSB6eFg+lbIpdnCrk6f/Fl2s9tysdmgWU0ZW61/7Sw3O75F7ejbt3Kx9J+ML7QnVvTyu2dMWXKxAu8Fr2dMCGbj6WlW8icVe0wu0tz+3vScXmLJylVeRzPJj7TL5lG7OIIJDhMCXBlQh7njliWKcZYZSLvMYMtMe6IuINUY3lIUJCmyfdLqYLkgd9EGWDO+z6uiBTye0syNjmgUuyF95fFfEuWXst6x9pzHjQG/YxRMUZNxC0sGfzUD0xISpJ2hk7Vp6xKDEMjq9qIoTAyrYqsOloeFGzxSTLJj7cg+xz6pQaVNIgfsSI0xccPaZF71kqQkayBzMk3iH6G4r0I67MANB0Si97ckSIm3s3+QpOrfUqpOPpJc37zcCzgXf1EIMEZOxYX4y0Sv8qQJFWCG2z9rp1EnuILJxyqN46YZPb84xYji6i8cialgpEn5nFa1UIARWOcirv6BAxbEB73jJ7nsmwGfcLuzIxo+AvHrd2uYxe5Ui5fLE0SkTQLUBG/sPSg7eqPgtdqboJC014bOmlVrVXgjk2BL+avROaX30x0/a4u94/7LXDW+P1It00a/TxGzfQFim+Nvvs8LneszyHHONuePx828Zb2rbzQh6vNUYbtBKDOBLtGA5+fj62jtMCGOpdQpLPokdKfiG4PMHVMv6JlusHRdx9IFqgqDqUPECBvNid7TxTcLUzG7iR29buHc0ObXGGQG/bIFu4lyQTZpGkXlvuQsHNvukEoW53dSJQ9Flajm8XtdAjCgf6girXaWa74Pi0baRaF+uOsN7M0W8CE8XwZ8KHLLkxCLfxrZ4= X-Forefront-Antispam-Report: CIP:178.72.21.4; CTRY:DK; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:localhost.localdomain; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(376014)(82310400026)(36860700013)(1800799024); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: kNlKdchVLwnGJYJecEG1MWn1pv7XvMhTAZ6Xq+dScppB2HyxwQpWo+zhqccNxEBs8466vyr/5I9GxeOcWme0T8LphrJbKa6ax+FxIiNjyWg9ws61XEDSsnWm2q+9M5cQDYrBpgrSv4tNgwDIbxrj9WApK7xaUny2q1RYYnSpCFWKf9nfEbYg0AABJ1FgIJtf6PYeiylFV5r+OdDvsPk4sVozbJDx/Yx2kRh2uekyzY8adBl5zPnlrDMCmj3/MGwdi/64oky3hvJx49xeTgcniUyfvFO8oOGewu+QGXu171YfLouox/n8HW2BB7csy6R4BDMmpz9sI2mtNOzOqae9lRzljtFh+H29trIAdNy5zl+74pku6EIBRXt0LEgJ4QAAE8+oMsh1RpUBD9OKNLV7uSXNC/6Z5OenRoQuSP1gA2L/s5zhu9RhE9w/zL39iUyDu8aJvt2q10+n1/bZm9MKTYgHmtivGthbCg3wLvGLXkb3sCTq7rCFDs8fAFJiyJ11du67gugivLGeDf9W9VGrNiCCyN3c/q8kzkavHwxJ2KR1QrOhMjLd2QMJTjvIxrecJ8q19l0nBKSZL7z7bVzyfqoxckOgwho2fb+N34r+D7p9vHIhlf7UWRrQKjdc018BlP3fQCfVVYmZEifms0jyEw== X-OriginatorOrg: napatech.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Feb 2025 10:46:03.0270 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 23f4078f-d820-470b-41f2-08dd45d24951 X-MS-Exchange-CrossTenant-Id: c4540d0b-728a-4233-9da5-9ea30c7ec3ed X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=c4540d0b-728a-4233-9da5-9ea30c7ec3ed; Ip=[178.72.21.4]; Helo=[localhost.localdomain] X-MS-Exchange-CrossTenant-AuthSource: AMS0EPF000001A5.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0P190MB2028 X-BESS-ID: 1738752365-302364-7587-644-1 X-BESS-VER: 2019.1_20250203.2302 X-BESS-Apparent-Source-IP: 104.47.18.105 X-BESS-Parts: H4sIAAAAAAACA4uuVkqtKFGyUioBkjpK+cVKVpYGRkBGBlDMOM3EKC0pOcXM0N zM1DjFwijFPMk8NdnAMjU10SzJMEWpNhYAexpfk0AAAAA= X-BESS-Outbound-Spam-Score: 0.50 X-BESS-Outbound-Spam-Report: Code version 3.2, rules version 3.2.2.262304 [from cloudscan12-59.eu-central-1a.ess.aws.cudaops.com] Rule breakdown below pts rule name description ---- ---------------------- -------------------------------- 0.50 BSF_RULE7568M META: Custom Rule 7568M 0.00 BSF_BESS_OUTBOUND META: BESS Outbound X-BESS-Outbound-Spam-Status: SCORE=0.50 using account:ESS113687 scores of KILL_LEVEL=7.0 tests=BSF_RULE7568M, BSF_BESS_OUTBOUND X-BESS-BRTS-Status: 1 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org From: Danylo Vodopianov p_fpga_mgr is properly freed when it's no longer needed CID 440546: Resource leak (RESOURCE_LEAK) Fixes: ddf184d0b6c2 ("net/ntnic: add FPGA initialization") Signed-off-by: Danylo Vodopianov --- drivers/net/ntnic/nthw/core/nthw_fpga.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/ntnic/nthw/core/nthw_fpga.c b/drivers/net/ntnic/nthw/core/nthw_fpga.c index ca69a9d5b1..88641145ec 100644 --- a/drivers/net/ntnic/nthw/core/nthw_fpga.c +++ b/drivers/net/ntnic/nthw/core/nthw_fpga.c @@ -230,6 +230,8 @@ int nthw_fpga_init(struct fpga_info_s *p_fpga_info) if (p_fpga == NULL) { NT_LOG(ERR, NTHW, "%s: Unsupported FPGA: %s (%08X)", p_adapter_id_str, s_fpga_prod_ver_rev_str, p_fpga_info->n_fpga_build_time); + nthw_fpga_mgr_delete(p_fpga_mgr); + p_fpga_mgr = NULL; return -1; } From patchwork Wed Feb 5 10:45:18 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Serhii Iliushyk X-Patchwork-Id: 150939 X-Patchwork-Delegate: stephen@networkplumber.org Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 3A1BA4619A; Wed, 5 Feb 2025 11:46:55 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 7252A4065E; Wed, 5 Feb 2025 11:46:10 +0100 (CET) Received: from egress-ip11b.ess.de.barracuda.com (egress-ip11b.ess.de.barracuda.com [18.185.115.215]) by mails.dpdk.org (Postfix) with ESMTP id AFE7440615 for ; Wed, 5 Feb 2025 11:46:06 +0100 (CET) Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05lp2105.outbound.protection.outlook.com [104.47.17.105]) by mx-outbound23-121.eu-central-1b.ess.aws.cudaops.com (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Wed, 05 Feb 2025 10:46:05 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Uz7O2o4jFdVmY9v9kkLnu4wroLJEGtTQSLYBJ7fEIvUUyeBxGal0r+aQVkb+dD8dyn+tfQjG083eZxu8A0eUL4SdS1VCkO5Ky7Q2UGO31RCDsqneFRD103ASHc0UxEGkJhYvINNZ1zXDgd8CAV3xkMTTKoxlKpVBI3c90FCbJ3d0ZM4SUxkDkFlzF+Y8KG2iJKHWnx2vg5pllVu97bodoZKvqWruJP9SlVDToQm5pHIp8xGnBnCzk3ROP0LBtra5KcfRL0+rrjOGYAOVt7jaG4Hkv9FbMov2FBBQwqfeipIUBaAu7Ba1U1nEueuFhesLidDkABFuyzsfe52rXwTvWQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=zhvdolLTlLGbEu8RzML1bG4XV+ks+dEXFfJdZdzteZQ=; b=wFOeU9K8unX6XbROw8IVXPpDZ/rDBUzWrfV+ksp9dIoUXG4oyCNqTSjWKTP3BQLulehncO6L5Ddk1xEW9bXCTeaEFPIQcMGvueratzbI9KbvkQ7doLEAzRKsrA+/N5nxzBF+ZhDbsv8DsbPFFi7uXd2VAOBP45TAjd0w5DT2lX0J115+ujQHu7RCARIcwD426oaUFBY0HnR6+4mLa7pUkdE5PSnayepvltmpQ8RLyuzAbvKMKPm0U5lDCFoAfHaRLfcCk9G5ratNhheUPYpKQ3srF8Cf/s9iebY6l591XDonBAFSkTWrOgQo2nUHwfN1w6wWdrwYyJR0Nru3hggP+g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=fail (sender ip is 178.72.21.4) smtp.rcpttodomain=dpdk.org smtp.mailfrom=napatech.com; dmarc=fail (p=reject sp=reject pct=100) action=oreject header.from=napatech.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=napatech.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=zhvdolLTlLGbEu8RzML1bG4XV+ks+dEXFfJdZdzteZQ=; b=RdKq6F+wY5O4oKzuFUxfflbRFUP5sxzxkxWXUdyrWfIjn6mfhSxy+nNrGJdWbOBQymHMbTI0hZJ94DbXep/r0WrRCLIx/j51ZEdXbVLcZs3dbzF7LcvEw8FGmr1kpjCpk8ysc2i7nSexpTJQFZ4ORHDZ/E9P/LuoAR9/FYzUVQI= Received: from CWLP265CA0344.GBRP265.PROD.OUTLOOK.COM (2603:10a6:401:5a::20) by DB9P190MB1243.EURP190.PROD.OUTLOOK.COM (2603:10a6:10:22f::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8398.25; Wed, 5 Feb 2025 10:46:04 +0000 Received: from AMS0EPF000001A5.eurprd05.prod.outlook.com (2603:10a6:401:5a:cafe::dc) by CWLP265CA0344.outlook.office365.com (2603:10a6:401:5a::20) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.26 via Frontend Transport; Wed, 5 Feb 2025 10:46:04 +0000 X-MS-Exchange-Authentication-Results: spf=fail (sender IP is 178.72.21.4) smtp.mailfrom=napatech.com; dkim=none (message not signed) header.d=none;dmarc=fail action=oreject header.from=napatech.com; Received-SPF: Fail (protection.outlook.com: domain of napatech.com does not designate 178.72.21.4 as permitted sender) receiver=protection.outlook.com; client-ip=178.72.21.4; helo=localhost.localdomain; Received: from localhost.localdomain (178.72.21.4) by AMS0EPF000001A5.mail.protection.outlook.com (10.167.16.232) with Microsoft SMTP Server id 15.20.8398.14 via Frontend Transport; Wed, 5 Feb 2025 10:46:04 +0000 From: Serhii Iliushyk To: dev@dpdk.org Cc: mko-plv@napatech.com, sil-plv@napatech.com, ckm@napatech.com, stephen@networkplumber.org, Danylo Vodopianov Subject: [PATCH v2 09/34] net/ntnic: remove unused code Date: Wed, 5 Feb 2025 11:45:18 +0100 Message-ID: <20250205104548.1533554-10-sil-plv@napatech.com> X-Mailer: git-send-email 2.45.0 In-Reply-To: <20250205104548.1533554-1-sil-plv@napatech.com> References: <20250121170814.3252171-2-sil-plv@napatech.com> <20250205104548.1533554-1-sil-plv@napatech.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AMS0EPF000001A5:EE_|DB9P190MB1243:EE_ X-MS-Office365-Filtering-Correlation-Id: cf8eedc6-ee9e-45eb-253e-08dd45d24a17 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|36860700013|376014|1800799024|82310400026; X-Microsoft-Antispam-Message-Info: 39P9NdpjGYwx/wLThW1DCmCcMOYhHVCoLnZwK9+r/eqtxMh6b9t4LBH7oUNkpABtnoAK4D8er0QWDmZMXolXiVOZtBDN/ug4rAOdcu67QItYZmy5gqEjMw0cJIDmGH8DPSf7o5wxBuPoLcaVBSSU+UCXwdni1FQ/zBZQ2W9PFYSo3NK0ZinAlX5kVewD5e9+wKxF1tDyIDLSXkcL5VFFeNJJ7aIXdiH12jF98gE5XHZyDjOKKWo1OW8zV68SPJ1qLN/N+9DohXmNZBy2R4M37sASY2nl5u+VkkVcKlWCigb1cNImUak+Nq8S5Z6OD/omn/NYwah8P3lnWuwRI55FEHwwlx1qQv/1S0Voa4BIRXLXyYY212Ddw+rQETvNUdQnttRo5s8pyKYcBUohY1xnT1K98jvFRMJKOwU/Q0WjxVsQGy98Hh05b/YIPTCn6wf5NJI3Uqb8cIjywtIHO3eUCzPfYKr/+8OWh3z//VF64alkDBotcXSSAGYK2D/ZnlCuhE8Db10Z24wnlcHS/0oSTtkEHQTD22IZftA4/OWUMnSI9imm7hTG3iLai3B4BWUrI2gXAeFO8mdZjfhQqARz9udSM5VzMrGBJoUnS4Nw4N14tT7OY5c42i1gDyjbC75ZbyKBpA4a6Nge9r27k9a0Nb48xnRjWNZ5HjQuHYsiUiBT/b98aKJiP5+qEd4WhUePySdbr7/pqmVHbw9NWbW/FyqJHFvVJNxZ+1xKi5NdKIgF8IPMm3NI8DMKHaDmDkKytJtrvpKDJ17NS3CO0QK1chuDyp2l1cL10iN09pKmRfGWS/8hWhsqqCiCPfEDOSg9aogBNgKGuizxw5pcM4yYM69I4wcmjjVeiA8N+rGTkreudci0X+j01hLW3AJVBldQiBE2gMdnxj+gjEnY0PU/lyVscIv4D3W3/HlkELHZsPoAAQFJtguzeZ0rqHA48jq6XMAuN9LPowPC0DkUDFJZZaykwQzBwimot21cSvDDNd7S7cKnwj3ELNQEOBELi2RFL8I5Kw7VESKDM6q/WcYZNN3jhCueTHMhqZHy1h5WPWBxUfFHuTf7g+biebplNRUiLnNgjazGaPUryya9RnSAgXj9zSkKIYLJjYgc2nYs0M/HTq2mReArpkbhY2t39tpRamOzlCfCMqu3llYQZndYT3/Yf9GQv6NbeQXmtXLktrVyexrrw5vkiDRFjQ57Omt0SfA5oRS77PeMomGVGWP09oHwb+9Mg8my09VDpZYVPtaTme4Qsvmms+BwJTzkDU5Gwe4nL0WPf2zfNPhUeLmK7/Xm2BWkIGDn4+76GGtoa+wXdKq0JlF4ikbUiKtOS29fst94TLis1mIUwmXfk80KHX44LJZuPV3BxdtNAoT+JDDeOYPiGA8/v75kkvitoqmQZuL9dtDIZnSC6NXH7Kli0V/RTGQ/Dy4AQQ3gsGc2ExCV4c3DH8R4pTHmlqzYLdteX0WeMbC81U6SVRbPSQmkM+5bYxHOPtB7a4OIkSUN/94= X-Forefront-Antispam-Report: CIP:178.72.21.4; CTRY:DK; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:localhost.localdomain; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(36860700013)(376014)(1800799024)(82310400026); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: lHbZKqfwEe5i2q/LE+fwR5egPGx3s40mGyjIV0Kg8T6O2AB5fd9wuV/xlWqTc0CW1bMJ1hZ2hWbMkkKO4h2mC82c+bxMm08EaKjNgST99Ju94nRq8qS6plAgZ+DBElxCn1UFO7z3Ywk2OJtP1Vd6X5wK+khK1cLbLtxf3Kbfdc7nI2daPkRsJFJur/qE610aHxadpyKnkluabun9oablUxdjn7GzTU6Qi0DI+PQYP1NSlDNnJDm30+9cEJtQMCQqkMEqaWSipgkPScpebCITas67aI/t2iDk4E0LIbQ0Cm32bRAVETR6Fw2K9pkDVxQtCo12/ocbf1PvVcNz2c/ZsQEdlFCjtno6TcXopd/GqpwzI1Ae5wX/vdmYInrzvYLDwXZ0cYNBH7IjViu6XoO1yfX66NIjJYjAypcvVVjsb97/G4bZFEYWFacTcZWW3PD9wETbymdYej2TT3/01VyIU4v89VcwF1lzWQ69pumd/0Fk2m7b+lVFjMJ1FArEns3jC6NNzu5I5wMWG1eFKIg5KJAfCvFQfO0xO4pqNkWLgJ0kjEVObZNtnoKNnIfzX/AwXVFIWe//Dk7FV9zBMXFxObVV9eF37qxBR2NHQDSKQG1JRr+ayoZnpj7rxV7Oh7G+GxgBIC2XGgAJG53C/AX/wg== X-OriginatorOrg: napatech.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Feb 2025 10:46:04.3395 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: cf8eedc6-ee9e-45eb-253e-08dd45d24a17 X-MS-Exchange-CrossTenant-Id: c4540d0b-728a-4233-9da5-9ea30c7ec3ed X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=c4540d0b-728a-4233-9da5-9ea30c7ec3ed; Ip=[178.72.21.4]; Helo=[localhost.localdomain] X-MS-Exchange-CrossTenant-AuthSource: AMS0EPF000001A5.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9P190MB1243 X-BESS-ID: 1738752365-306009-7770-598-1 X-BESS-VER: 2019.1_20250203.2302 X-BESS-Apparent-Source-IP: 104.47.17.105 X-BESS-Parts: H4sIAAAAAAACA4uuVkqtKFGyUioBkjpK+cVKVoYGZgZAVgZQMCUpySgtMS0pxc g0Jc3IzDzRKNHE0jzN2ALITzZNTVGqjQUAc/ZbXUEAAAA= X-BESS-Outbound-Spam-Score: 0.00 X-BESS-Outbound-Spam-Report: Code version 3.2, rules version 3.2.2.262304 [from cloudscan17-75.eu-central-1b.ess.aws.cudaops.com] Rule breakdown below pts rule name description ---- ---------------------- -------------------------------- 0.00 BSF_BESS_OUTBOUND META: BESS Outbound X-BESS-Outbound-Spam-Status: SCORE=0.00 using account:ESS113687 scores of KILL_LEVEL=7.0 tests=BSF_BESS_OUTBOUND X-BESS-BRTS-Status: 1 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org From: Danylo Vodopianov Unused code was removed. CID: 448981 Logically dead code (DEADCODE) Coverity issue: 448981 Fixes: e02fdb65c2a8 ("net/ntnic: add flow create/destroy") Signed-off-by: Danylo Vodopianov --- .../flow_api/profile_inline/flow_api_profile_inline.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/drivers/net/ntnic/nthw/flow_api/profile_inline/flow_api_profile_inline.c b/drivers/net/ntnic/nthw/flow_api/profile_inline/flow_api_profile_inline.c index 1c7d5cac3e..535047d246 100644 --- a/drivers/net/ntnic/nthw/flow_api/profile_inline/flow_api_profile_inline.c +++ b/drivers/net/ntnic/nthw/flow_api/profile_inline/flow_api_profile_inline.c @@ -4268,13 +4268,8 @@ struct flow_handle *flow_create_profile_inline(struct flow_eth_dev *dev __rte_un err_exit: - if (fh) { - flow_destroy_locked_profile_inline(dev, fh, NULL); - fh = NULL; - } else { - free(fd); - fd = NULL; - } + free(fd); + fd = NULL; rte_spinlock_unlock(&dev->ndev->mtx); From patchwork Wed Feb 5 10:45:19 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Serhii Iliushyk X-Patchwork-Id: 150940 X-Patchwork-Delegate: stephen@networkplumber.org Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 160394619A; Wed, 5 Feb 2025 11:47:04 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 73CE140666; Wed, 5 Feb 2025 11:46:11 +0100 (CET) Received: from egress-ip42b.ess.de.barracuda.com (egress-ip42b.ess.de.barracuda.com [18.185.115.246]) by mails.dpdk.org (Postfix) with ESMTP id 2FA0640616 for ; Wed, 5 Feb 2025 11:46:07 +0100 (CET) Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05lp2112.outbound.protection.outlook.com [104.47.18.112]) by mx-outbound23-121.eu-central-1b.ess.aws.cudaops.com (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Wed, 05 Feb 2025 10:46:06 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=VKO+UfqVc5pMhOJSPaSaM2V+bCr/Lklby69dZfFvbd7tTNQjGej2WvLJ3NWchQXGRqQvViGWNFLnCnTjJGALHQbrs6rTXzjFy8RbEubrjT0aHNeXdGGe2Fj/xAlz0W/BDwgZ7XBhoNEbWBScLdz3CXBbd9pNJtijhjoOqcVukvPCCkvZRwqMElOfBqjRL/F/DqolprLwo+qnOTSC5EnzkVsAJl4gbypmfJDq6qws/fHEdxZoeF/75fhUHMCJEizF5lxN1jT8rhMz+J0n33OJMFdan5PX2uuQV/g8hrBtNWvCGGl5B2HrAiAFKEJidRA1yQffl9LwHTgrn7owFNtnUw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=h/BQ0YEzrJw4P0V7zVbt1jLjLyZINQ5awRiuF+vSqMM=; b=w0h4LG+f5y6GWzck5BF7Co4vfekpi3B5VR1EN1H4AQPOt6sRSV2vIoDpAm4IDClbx1gzfS0dDXzFsrZ/Uw6cBlY9wMf//o0L7RvfhuwitLOnNBZ00ILiSUjRDfewn9cFQSBz4nEWw7M3xcwlLduSINX2UIfx5SR3tHYoYaCEPcZX4mZsTpCKSzzS4JZt96lxmbT0a3pKPCQeyWI5F/qWoYUmNxykHiKQhDyV4zYUhBfbfBH+nBV642VQlSYLLs0PAmFFPY0j4bmizUylWP9xAn2Lo+RSRrTAIOO2OUb23Q1Abe7Wq8vKVWUe52G6N6gsyLQI9obyB/rXzmLpv7NqvQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=fail (sender ip is 178.72.21.4) smtp.rcpttodomain=dpdk.org smtp.mailfrom=napatech.com; dmarc=fail (p=reject sp=reject pct=100) action=oreject header.from=napatech.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=napatech.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=h/BQ0YEzrJw4P0V7zVbt1jLjLyZINQ5awRiuF+vSqMM=; b=R2Qpx4dKE3udntqT6C2R/J8k7HhRyKuW1+pdFVIdEKq0B5jekSg2hMyF6sqhoe8UEbQe7w9Ma6p381NX/8m+h1l2tRY3vZj0pDBcA1RThGxnOCcQsXZezaoCmBMZtLaU7WyMvOUQf1INSFNMPCY1a7+CD7V3z/TO9S/PrE1OFf0= Received: from CWLP265CA0340.GBRP265.PROD.OUTLOOK.COM (2603:10a6:401:5a::16) by PA4P190MB1088.EURP190.PROD.OUTLOOK.COM (2603:10a6:102:103::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8398.26; Wed, 5 Feb 2025 10:46:05 +0000 Received: from AMS0EPF000001A5.eurprd05.prod.outlook.com (2603:10a6:401:5a:cafe::ea) by CWLP265CA0340.outlook.office365.com (2603:10a6:401:5a::16) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.27 via Frontend Transport; Wed, 5 Feb 2025 10:46:05 +0000 X-MS-Exchange-Authentication-Results: spf=fail (sender IP is 178.72.21.4) smtp.mailfrom=napatech.com; dkim=none (message not signed) header.d=none;dmarc=fail action=oreject header.from=napatech.com; Received-SPF: Fail (protection.outlook.com: domain of napatech.com does not designate 178.72.21.4 as permitted sender) receiver=protection.outlook.com; client-ip=178.72.21.4; helo=localhost.localdomain; Received: from localhost.localdomain (178.72.21.4) by AMS0EPF000001A5.mail.protection.outlook.com (10.167.16.232) with Microsoft SMTP Server id 15.20.8398.14 via Frontend Transport; Wed, 5 Feb 2025 10:46:05 +0000 From: Serhii Iliushyk To: dev@dpdk.org Cc: mko-plv@napatech.com, sil-plv@napatech.com, ckm@napatech.com, stephen@networkplumber.org, Danylo Vodopianov Subject: [PATCH v2 10/34] net/ntnic: fix potentially overflow Date: Wed, 5 Feb 2025 11:45:19 +0100 Message-ID: <20250205104548.1533554-11-sil-plv@napatech.com> X-Mailer: git-send-email 2.45.0 In-Reply-To: <20250205104548.1533554-1-sil-plv@napatech.com> References: <20250121170814.3252171-2-sil-plv@napatech.com> <20250205104548.1533554-1-sil-plv@napatech.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AMS0EPF000001A5:EE_|PA4P190MB1088:EE_ X-MS-Office365-Filtering-Correlation-Id: d13f5896-e5d1-4188-d186-08dd45d24a84 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|36860700013|82310400026|1800799024|376014; X-Microsoft-Antispam-Message-Info: 9tdRsR3YlALdmQlarw/cEeJpk198EUHXHcQdeZkLAAuXnuLCDCtOMpLEHHEKDxgpHnBA8oybMN5n335mpWwTivwkXCzx2OLNpTkvTPsNSTFCC6OhPGHUacxS1rfOZO5OxPXdTmC/4AnJGiND+V728zXfXXmywrgLl9SxD5QpeMjqQZV29NPu+A6YHGReN685CTWvpbN4tq/qmmCy5SqahlXaltpGGXHyS2cUFNcnufcBt7NKLHEjPYwbKdP05LvaTKqmd27D2XFx+0WA1+8obg/o/QG22kIB+lecRFmN6Lez40OEU2E+8spJkKC48zcex0Al0QSQc5IRrc3nGDUcW25c6D4KxOj7omsE6CZ0vtMcUfuzTVzu7+0dQicWAdSIO5nJ5UckCMi2Eu8CDbVzv/Hev0tA/qd4zONwRDAqmYe5QsfmgJ5prblTTjYS0suNk0TQMvbpUoko4KSzI1hYmPyTKYgQ3xSftJxdhngDiOwasuMwaretkcOsHYU9JZGfxZBw5imdmg0Tb5I3adOA2KrzHTzD1aWUfA1vNLp6JtKkXC+u9Ye11gCe2RuJT1iCsU1X2EbvY2BrDEczSDPEtxVTpiUt/AYsZKYeLYBpLpuQ6jJbnuW4KK3sGyUNl+almaa2uCXdNr6eeThUAPll5Y8ZAPhHKmyHJio0ek1Cnq95vbt6z52TXcKQOMFkeYp4/6p3anhcZuk0dls3mCbYCoKmxtgVyW0rkaAvxiio4KR0+uNxCu99Lo7ly9kT2JDBazIlYv8RltnTz/HkogrKP4xXmYJUOKJhXxa6yWt0BpzqmTq3k00j/R7RrpQ/eGymUm+A2Xs7xFDL9CzT4OiT1Br9EU2BC5CIlLCoRxic9JeRo0lSulu3NeLwo+CdkfnvgvrsWkiOlEIKYbg3GeKkOdnYTXlGTbYb/hl8H7qn4eb3HF/X3tCw1IPVwtnZxw+PrgEWT/T/QEvQAPRx3JF8S8W0x1B2rVB4U0EAAgi8Oyd2pTo4AFVVxX6aTIp5YjT9EoSHfvksaayhW9n1ZuvbSYQxfjFotVjwJZB+LQZiv7NM08rLGxJR5dRFbAYpZlTxFe5lTELtMMWKWHpbQZl1TyqA/jj9F20pZRgcWIUmndXFxw9PbsC/eb6bZ5siA7SXC9CsM6yNrPaB2beDsqv6AeVTiReBhO7Xj0E5BRm4gFJEe5K5EXSdDakD5W0+9KI8eK3vYriuISRU+8CdMd5w6rNbUdw2dFBoNqJ/70+qiF5Pw4T4xcr04LavuUAj5x8IUZR3IzHirSysHbryI1orV3gNIX6qPDSl7zJwISSrMuzSj1qa/ixN9lr1i57qk4Fc1sfU7FOQOkrUW8TO3EM2khLwpkLcARExQuMzkh/a9y4si2PJQfKc7qOSFbUQa6OplVbZJnlrpkUbqJDti77TXje2QlNiL8chaultNUPsS9nB5mxDlBnBII5yQDYQfdjBB7O2pTm2P3VpFggMhtg+7A== X-Forefront-Antispam-Report: CIP:178.72.21.4; CTRY:DK; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:localhost.localdomain; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(36860700013)(82310400026)(1800799024)(376014); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: PEvLgo/r3nzSxZTUDFF5L4suAkoY3tRrtEU6NCuvuVPGiqzNu8v5ZZZHsmsX8/1hKKxrzCd5Ru0+UkZjZ0r07RQBFkCu5lU9HGDzE1RjXPurMtcvbOdsxb8uZI62CMRX/EEDjXXSLWS2ecXjsn7uOxjgNJuQrYGneKK9AoiHz1OWuiMQ7qnPf/xqMdJ3KGHYEuYx7ZpcZsupTgPVBvmui07oZSsURzzQ22hhbgCCdyj87xzp9iiS8sRLcIbwByJzmIPTDYV4oor3Yd+dVKZeAPYjcC57LajQyrd3Fj61v6jHIve5Ozg4AWcY3FVTjqMzK5WS6AhpSsvQ2MkiCGJ2ETuVjeKlhhcWDrS9rNyAiSgDXZ17oq71ZaYIkcL04GmwBXDdh/QbLI5uJTfq4K9moUuk96NSUw2o9qXAkMXVfcqwmxoqZAkb5N2lC2hX3cl/cQdnf5YJjd6/Ghxg7BffG0w9UPMA7K6ZnhyvxAoyblKmJzTxNAE350miohGp57brOsY6AfeBCwHBea1cg2Qv56S81apxbrqDOks06Z/tnDKoOz8mmMeBoM4yfOCdoqcZU7n9bX5nnFnygoaQrfy1mbXzTd7Ljbuw+WyOk47KECjqozEMkeUoj0ImpffQw7O0EDIU69EXsdLbvhbgxt15tA== X-OriginatorOrg: napatech.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Feb 2025 10:46:05.0739 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: d13f5896-e5d1-4188-d186-08dd45d24a84 X-MS-Exchange-CrossTenant-Id: c4540d0b-728a-4233-9da5-9ea30c7ec3ed X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=c4540d0b-728a-4233-9da5-9ea30c7ec3ed; Ip=[178.72.21.4]; Helo=[localhost.localdomain] X-MS-Exchange-CrossTenant-AuthSource: AMS0EPF000001A5.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4P190MB1088 X-BESS-ID: 1738752366-306009-7768-599-1 X-BESS-VER: 2019.1_20250203.2302 X-BESS-Apparent-Source-IP: 104.47.18.112 X-BESS-Parts: H4sIAAAAAAACA4uuVkqtKFGyUioBkjpK+cVKVoaGBmZAVgZQ0NzU0iQpOSXJKM kgNcXCKDEZBA3MDFPTLBJTDBLNlWpjAVBFCxpBAAAA X-BESS-Outbound-Spam-Score: 0.00 X-BESS-Outbound-Spam-Report: Code version 3.2, rules version 3.2.2.262304 [from cloudscan20-147.eu-central-1b.ess.aws.cudaops.com] Rule breakdown below pts rule name description ---- ---------------------- -------------------------------- 0.00 BSF_BESS_OUTBOUND META: BESS Outbound X-BESS-Outbound-Spam-Status: SCORE=0.00 using account:ESS113687 scores of KILL_LEVEL=7.0 tests=BSF_BESS_OUTBOUND X-BESS-BRTS-Status: 1 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org From: Danylo Vodopianov Issue with potentially overflow was fixed. CID 448944: Unintentional integer overflow (OVERFLOW_BEFORE_WIDEN) Coverity issue: 448944 Fixes: 339ca124e659 ("net/ntnic: add flow action modify field") Signed-off-by: Danylo Vodopianov --- .../nthw/flow_api/profile_inline/flow_api_profile_inline.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ntnic/nthw/flow_api/profile_inline/flow_api_profile_inline.c b/drivers/net/ntnic/nthw/flow_api/profile_inline/flow_api_profile_inline.c index 535047d246..a68c3ea702 100644 --- a/drivers/net/ntnic/nthw/flow_api/profile_inline/flow_api_profile_inline.c +++ b/drivers/net/ntnic/nthw/flow_api/profile_inline/flow_api_profile_inline.c @@ -1632,7 +1632,7 @@ static int interpret_flow_actions(const struct flow_eth_dev *dev, return -1; } - modify_field_use_flag = 1 + modify_field_use_flag = (uint64_t)1 << fd->modify_field[fd->modify_field_count].select; if (modify_field_use_flag & modify_field_use_flags) { From patchwork Wed Feb 5 10:45:20 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Serhii Iliushyk X-Patchwork-Id: 150942 X-Patchwork-Delegate: stephen@networkplumber.org Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 571404619A; Wed, 5 Feb 2025 11:47:21 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 5BB8D40674; Wed, 5 Feb 2025 11:46:16 +0100 (CET) Received: from egress-ip42b.ess.de.barracuda.com (egress-ip42b.ess.de.barracuda.com [18.185.115.246]) by mails.dpdk.org (Postfix) with ESMTP id BFE1140653 for ; Wed, 5 Feb 2025 11:46:09 +0100 (CET) Received: from EUR02-DB5-obe.outbound.protection.outlook.com (mail-db5eur02lp2105.outbound.protection.outlook.com [104.47.11.105]) by mx-outbound23-121.eu-central-1b.ess.aws.cudaops.com (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Wed, 05 Feb 2025 10:46:08 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=jMrJ1IuvLWzdd6QkXusbkkxqMpxppUAXpWH1aq324OREYBvvxcFJxg2bS8/YEKg5aRuVAQAVCAZ0aRfKJ/4hvRkeQ+1eJvKku6zN1xUb1PXUDKDHe0Ho/UkjU37tJUwvFaI/S9oIG4PPm79DbU8jktbOm5ALV4BmdaBg2vIAsEIHGlF16t6Wzd5JOKmCaew89w7KC6R+S0+8os1dFTupwd4gTzXTZFQGOumldLiQgWMqIGBvoTHR6qANnifViaTt+HuOekdpS4mSwvukaVYceX37HSk+I6Wsw72zYIzWyNV20pbsjXaQpYxjzgCSM9wCuDa4mQDp6rs8k5B19+tjrg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=w/5OorzN93J9AxNLk5sE1aOAhzODKmSBFDgux7H/fso=; b=yoSIpIIGB5BxHMYTUt0sWjjbh/HQPGlP14pPcia1x5eQsTf0h+tIMJ7n6GaGcMuYMhi49Ay7JBLo2EEJz6g8JN8ziGpA/0qYVp923zNVK5S0CpOROtGEBZL/L0GGO1Obw33NqOcoCJW59tlFb+5vD2kH8ldyaj6TvsH5obZoWsGZB0SwdulmJ4ScK7Np0z2TsFz0lfy5fhzjgKheOtNstDNpyoyFs+lBatXiYTuolxhV8hRaBa6t/IdMi/x6d7VPcF4C1RF3Tqb7g0XhLZa74saLe05/xukH/RoirwvVbgwwhQrOu0LcWRAbB74wTPutW9HBIa0/4Er141O0C4uWow== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=fail (sender ip is 178.72.21.4) smtp.rcpttodomain=dpdk.org smtp.mailfrom=napatech.com; dmarc=fail (p=reject sp=reject pct=100) action=oreject header.from=napatech.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=napatech.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=w/5OorzN93J9AxNLk5sE1aOAhzODKmSBFDgux7H/fso=; b=Op7ATRxGSHrw/8WF9ky/uIt8kF7w3NGDCtkAV+O41yoesezHhh6qKTkR2YX/R5D1HauvzcLdzleCVg84v6Dd49XOVHoIdDsm79AuxRtIYJInk0sC/5rK0H7r25YZj/9XG0ZpfdLB+v+S6RTeGiMaP+rSULv95zcHpaVaiZgHLpY= Received: from CWLP265CA0341.GBRP265.PROD.OUTLOOK.COM (2603:10a6:401:5a::17) by VE1P190MB0926.EURP190.PROD.OUTLOOK.COM (2603:10a6:800:1b3::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.11; Wed, 5 Feb 2025 10:46:06 +0000 Received: from AMS0EPF000001A5.eurprd05.prod.outlook.com (2603:10a6:401:5a:cafe::38) by CWLP265CA0341.outlook.office365.com (2603:10a6:401:5a::17) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.24 via Frontend Transport; Wed, 5 Feb 2025 10:46:05 +0000 X-MS-Exchange-Authentication-Results: spf=fail (sender IP is 178.72.21.4) smtp.mailfrom=napatech.com; dkim=none (message not signed) header.d=none;dmarc=fail action=oreject header.from=napatech.com; Received-SPF: Fail (protection.outlook.com: domain of napatech.com does not designate 178.72.21.4 as permitted sender) receiver=protection.outlook.com; client-ip=178.72.21.4; helo=localhost.localdomain; Received: from localhost.localdomain (178.72.21.4) by AMS0EPF000001A5.mail.protection.outlook.com (10.167.16.232) with Microsoft SMTP Server id 15.20.8398.14 via Frontend Transport; Wed, 5 Feb 2025 10:46:05 +0000 From: Serhii Iliushyk To: dev@dpdk.org Cc: mko-plv@napatech.com, sil-plv@napatech.com, ckm@napatech.com, stephen@networkplumber.org, Danylo Vodopianov , Oleksandr Kolomeiets Subject: [PATCH v2 11/34] net/ntnic: add null checking Date: Wed, 5 Feb 2025 11:45:20 +0100 Message-ID: <20250205104548.1533554-12-sil-plv@napatech.com> X-Mailer: git-send-email 2.45.0 In-Reply-To: <20250205104548.1533554-1-sil-plv@napatech.com> References: <20250121170814.3252171-2-sil-plv@napatech.com> <20250205104548.1533554-1-sil-plv@napatech.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AMS0EPF000001A5:EE_|VE1P190MB0926:EE_ X-MS-Office365-Filtering-Correlation-Id: 328fbf06-a561-485a-56c2-08dd45d24aeb X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|376014|82310400026|36860700013; X-Microsoft-Antispam-Message-Info: cp+g/J8QcNgM8dIzgPIT8yMS2OOBjo0x1SMM8bIhqu+xHcM27ZIo5dwN+WW1Mc6TU2IJShDXzL5fXRJFyYyIjEUd68M/dWyXOZAdQxzm3ywBChmAqfwaDn+jZQ/QtWp1/k6v0lvlU/WYN4qcKeLY1kMMhvWOY5iPQLLG4RWsOJrbgZazX9fqfD2lgb3MJcmiDWYfBq7P7bwhk+Spqzgxmxurfpk2N7ju5352YqIcJKmXZ2b5M/WdybKd8TNzzf3VV6Ff80xDAlnYdVpbiufQ2RxXXS7gFIZ6WYA76fuUK5GtuHaFOoxDLnYXvvr4gOQGbjzledfrjqC8XIt6BpbwU76wEHBqkLlJycEOOXn/AgI4NDI7Shz2OaKdzA+H3AdjORqO8QS4x6rlhH/KZQee7PNfJKavNdHGZxNF2AdI1jMKP2yZwKfDjeJnR+FHXVutBMge6KHT10wIdQ36JtxRkcbWcVPVfn8jOeg35Aiklli3bqGUwjj5NW1RX4pGFd1hfb/2JlUhlkMHuliyvvBnPVS+n7k2M81nZi3saP3MLGzeinUaFfvOs76DS4wCgCnsimYBWAEUo5n9lSgZKE18t3xWPzeDWRzlZrT7RGicV/kPDwSRJLZVS0sa9JPc/AD2u2HxCHQ2epS/a4fHVIUH8mDqyA+ECO5hrt9fFB3PP6SFTqPZHpt3qAW5sX8Tk+o8cB0PCHLj+enLX2feHpNdw2aPoXqRi7TnLVzdn6Uulh3xpE0+6RqRgUEPpr+n5c2wht+zwj/mVzloFRT5+4U2tCrNlohpQYGlrFFhj0DBZ+AT2m7eBYP874LLkXen2tOLlABkOPVITAfyhQV5TvEtr4AKW27XZnbvWdVWHmyRJs6LTU5GSlxiHlvjpKTr0ttiSXhHwjAxcbxaIehv416E2klBymgDVTQQHWDkLvtvvm9NDc71ccu6KtEpSfrsBUXRl7O8xMIeSSg2NQwcSXE+rYmkcj0uOVMsi/jtGtz0/H+uemWBuaoqf2QSPW1vBjVspCfRKi3uS2+vvWcbmsxDfEgXmoM31VcrjZCTKEv7yO8vnfS2KbgqLIGlex6vkcnd/Cv2wZL2/3/od/ydLFBR0k61HxGbn4eDUOi/qOkMoqGUs9bg0CuCm3EHRv+nmyeqMs0N3Z67Jf16tKWM+JGY/5J5QUOji2/aW9WN1WURIoIx45Daib6mUj6iSCdRzpGgMqC4Fl1IP9TA0/jcjbT491Lr0sfD9zX0P3cNLK/E7+zbj59lVxJznyGdHy6pGlscjrGJoU0APBw+sfr+3P5047jJU1OMKFnjlwHo7h3mr3tLyQxUy6z76h/cKkc+WdkuBxoT6/mx/TnwCu0cHdEaaWXZVZXh6Hr96qLvuLfgw9Qs5llRlwtMkqBFyeAAMZso0ujcPvpc1dbDc/CmxNDwbN6nldVGLSinAds5ADNV3gmjJ+aKPcUetjkPkc/1cpe2477SU8mBQi39dsLdn+a2+vDtlulvOrah4PzlTattrjY= X-Forefront-Antispam-Report: CIP:178.72.21.4; CTRY:DK; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:localhost.localdomain; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(1800799024)(376014)(82310400026)(36860700013); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: +BQUYYpp1XDJ7QNn9mMrX5Fq8qLecPks/P0h8x+9rGfm2AyNzIBaazpEI8o3JcL5QVrMb2mvsy8/Cfi2n4afrEx2fGOFsDu6IQ41VFo9aD906pwc4itSC2BCOCJLA2aC28h1edJCZMsdDqk3a4VbHvaNO9Fq+9pLartJRRL/ZuTFKdxtFo3651upc001OukdpFBVVenk1r3pIFdU8gUr7w5HOnKb+jK4ySFgo+vq6CPfGHq8nxED1H+ulDYf5Skr9C9Po7P3Qp+9igXfU9jcFZ312JAIToJlb+i9xc+o3gVWIwErwV9hWlRgd7IoPoU+JlY1+VFeoV41vK6kPZEXfiJ7q8/ZkCKZTzzvy3jFcEIBmDD2cqUDu8TnGl0plTD3jmCjZJnhic7DJlMxVIpyCky8vOjqDlQdu4n0pAZ6iLgB+AnbG8obUQIVEwbt9mEZbMXPnQtYNdIhKD7TeLL0vVmYRyvTpUQw3g+WStrOaN/a4WCUAh0pHq1ME8mmu1upESa1KjI5lSKR+QyzID/Uj1yf5PUYQ8LbUb4Wzcpm6o0LQz0jwfsAvPpgVZKflul66Gff+BKbiBR+eGMJcZMmlxhs9rgebTsKVjXs5RZc+oe62Cs8j+GrhU1sVLO9xPnQfvR4hd+BBnAqoY4Z2E/Iag== X-OriginatorOrg: napatech.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Feb 2025 10:46:05.7145 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 328fbf06-a561-485a-56c2-08dd45d24aeb X-MS-Exchange-CrossTenant-Id: c4540d0b-728a-4233-9da5-9ea30c7ec3ed X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=c4540d0b-728a-4233-9da5-9ea30c7ec3ed; Ip=[178.72.21.4]; Helo=[localhost.localdomain] X-MS-Exchange-CrossTenant-AuthSource: AMS0EPF000001A5.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1P190MB0926 X-BESS-ID: 1738752368-306009-7767-603-1 X-BESS-VER: 2019.1_20250203.2302 X-BESS-Apparent-Source-IP: 104.47.11.105 X-BESS-Parts: H4sIAAAAAAACA4uuVkqtKFGyUioBkjpK+cVKVkZGJpZAVgZQ0DTRzDAlLTnJ0M gw1dI8LdHECEhYGlkYJRtaJFomWyjVxgIAYcJ8I0EAAAA= X-BESS-Outbound-Spam-Score: 0.00 X-BESS-Outbound-Spam-Report: Code version 3.2, rules version 3.2.2.262304 [from cloudscan17-75.eu-central-1b.ess.aws.cudaops.com] Rule breakdown below pts rule name description ---- ---------------------- -------------------------------- 0.00 BSF_BESS_OUTBOUND META: BESS Outbound X-BESS-Outbound-Spam-Status: SCORE=0.00 using account:ESS113687 scores of KILL_LEVEL=7.0 tests=BSF_BESS_OUTBOUND X-BESS-BRTS-Status: 1 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org From: Danylo Vodopianov Fix issue with potential rereferencing a pointer that might be NULL p->m_rpp_lr when calling nthw_module_query_register CID 448923: Dereference null return value (NULL_RETURNS) Coverity issue: 448923 Fixes: f543ca6b9ab2 ("net/ntnic: add RPP local retransmit (RPP LR) flow module") Signed-off-by: Danylo Vodopianov --- drivers/net/ntnic/nthw/flow_filter/flow_nthw_rpp_lr.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/drivers/net/ntnic/nthw/flow_filter/flow_nthw_rpp_lr.c b/drivers/net/ntnic/nthw/flow_filter/flow_nthw_rpp_lr.c index 28c7a05fe2..e69a1ca823 100644 --- a/drivers/net/ntnic/nthw/flow_filter/flow_nthw_rpp_lr.c +++ b/drivers/net/ntnic/nthw/flow_filter/flow_nthw_rpp_lr.c @@ -54,18 +54,20 @@ int rpp_lr_nthw_init(struct rpp_lr_nthw *p, nthw_fpga_t *p_fpga, int n_instance) p->mp_fpga = p_fpga; p->m_physical_adapter_no = (uint8_t)n_instance; p->m_rpp_lr = nthw_fpga_query_module(p_fpga, MOD_RPP_LR, n_instance); - - p->mp_rcp_ctrl = nthw_module_get_register(p->m_rpp_lr, RPP_LR_RCP_CTRL); + if (p->m_rpp_lr) + p->mp_rcp_ctrl = nthw_module_get_register(p->m_rpp_lr, RPP_LR_RCP_CTRL); p->mp_rcp_addr = nthw_register_get_field(p->mp_rcp_ctrl, RPP_LR_RCP_CTRL_ADR); p->mp_rcp_cnt = nthw_register_get_field(p->mp_rcp_ctrl, RPP_LR_RCP_CTRL_CNT); - p->mp_rcp_data = nthw_module_get_register(p->m_rpp_lr, RPP_LR_RCP_DATA); + if (p->m_rpp_lr) + p->mp_rcp_data = nthw_module_get_register(p->m_rpp_lr, RPP_LR_RCP_DATA); p->mp_rcp_data_exp = nthw_register_get_field(p->mp_rcp_data, RPP_LR_RCP_DATA_EXP); p->mp_ifr_rcp_ctrl = nthw_module_query_register(p->m_rpp_lr, RPP_LR_IFR_RCP_CTRL); p->mp_ifr_rcp_addr = nthw_register_query_field(p->mp_ifr_rcp_ctrl, RPP_LR_IFR_RCP_CTRL_ADR); p->mp_ifr_rcp_cnt = nthw_register_query_field(p->mp_ifr_rcp_ctrl, RPP_LR_IFR_RCP_CTRL_CNT); - p->mp_ifr_rcp_data = nthw_module_query_register(p->m_rpp_lr, RPP_LR_IFR_RCP_DATA); + if (p->m_rpp_lr) + p->mp_ifr_rcp_data = nthw_module_query_register(p->m_rpp_lr, RPP_LR_IFR_RCP_DATA); p->mp_ifr_rcp_data_ipv4_en = nthw_register_query_field(p->mp_ifr_rcp_data, RPP_LR_IFR_RCP_DATA_IPV4_EN); p->mp_ifr_rcp_data_ipv6_en = From patchwork Wed Feb 5 10:45:21 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Serhii Iliushyk X-Patchwork-Id: 150941 X-Patchwork-Delegate: stephen@networkplumber.org Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 300514619A; Wed, 5 Feb 2025 11:47:12 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 7C0CB4066C; Wed, 5 Feb 2025 11:46:12 +0100 (CET) Received: from egress-ip11a.ess.de.barracuda.com (egress-ip11a.ess.de.barracuda.com [18.184.203.234]) by mails.dpdk.org (Postfix) with ESMTP id 0DE2D4060F for ; Wed, 5 Feb 2025 11:46:09 +0100 (CET) Received: from EUR03-DBA-obe.outbound.protection.outlook.com (mail-dbaeur03lp2170.outbound.protection.outlook.com [104.47.51.170]) by mx-outbound9-60.eu-central-1a.ess.aws.cudaops.com (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Wed, 05 Feb 2025 10:46:08 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=sdjANImlGV/tw7Y7oK0mxFwitwnYe5CKu6TU6JANulLCRb2YKBxuAHjiW67tar7dHuRVFEgItsLsxjbFVexb/K2v3oMzYr2Q2px2FoW3GD/SjjnpVgoxLSna9PAsm3+rG7diouPhui6jjmtqgH4a5iqbF+L+yWlSOMIErMlbvAZNUyOU7uh6RNtjYz7JGmagIJwurCA+VBl44zgMrjYUZ/WxqyS12LeG1rPK+PnxbwTzhtcvbtB12lEETEuQmd+Q+db/1UqVe2hfskUARIEZZVHrOLVcmcxUKU/xvRKZ8tAC07JRJFzm2voXJUFnx2ewYZKzZQPb+62Xh2iBqzVaOQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=6AUCH6m+k2CsLhnzSjeDrXzMfdw9VfB3he+PABx82gQ=; b=te+nyXx88bDo8bLPPaFDoNKzDqcMAYsIFKG0TC9w13RL/wBWFmqo7oEKiyxUVbQeFIynF45T3ppeIhLqp1f4nzuLfNU9sKW3Y/JpkJpFrUkVtcJe/K5uMbbGrZ6G1/mUZ70bHh9NRWkgisxMvPK3llSgj8k/rkT7c8lOBbb1HN13l7JcVoTwxEk9GpJ63fw4iVuZhLJiyqExDovl35Y1bKsrcnQ5Tphjt5Y1T9lhCXzWtN8J6Tn6k79fUtdDjo5fsZkslytaMKtO9XEofgxVfjUQR7/pv0/RtOuJngXYTu2o3cbtpP/Acjl9swfCTTsmB2MvQlYe/wP0alZ34Ps4iw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=fail (sender ip is 178.72.21.4) smtp.rcpttodomain=dpdk.org smtp.mailfrom=napatech.com; dmarc=fail (p=reject sp=reject pct=100) action=oreject header.from=napatech.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=napatech.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=6AUCH6m+k2CsLhnzSjeDrXzMfdw9VfB3he+PABx82gQ=; b=FebVYic8X4DfegacfWDneUsPwi/JoQqU70Zda9r/+odHi1j8oiXJYZq3NdeDhPggZrJZFqv7TPlkFRheIYCWaltdx+nqzy57N+/ksYcHz6fZKmgBgiwmXALYkG4tZgnCuH233ofeOK8gcNqixE0Gj8Fey+1qyIF1Ay+pTsBWkig= Received: from CWLP265CA0350.GBRP265.PROD.OUTLOOK.COM (2603:10a6:401:5a::26) by AM9P190MB1345.EURP190.PROD.OUTLOOK.COM (2603:10a6:20b:266::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8398.25; Wed, 5 Feb 2025 10:46:06 +0000 Received: from AMS0EPF000001A5.eurprd05.prod.outlook.com (2603:10a6:401:5a:cafe::b9) by CWLP265CA0350.outlook.office365.com (2603:10a6:401:5a::26) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.25 via Frontend Transport; Wed, 5 Feb 2025 10:46:06 +0000 X-MS-Exchange-Authentication-Results: spf=fail (sender IP is 178.72.21.4) smtp.mailfrom=napatech.com; dkim=none (message not signed) header.d=none;dmarc=fail action=oreject header.from=napatech.com; Received-SPF: Fail (protection.outlook.com: domain of napatech.com does not designate 178.72.21.4 as permitted sender) receiver=protection.outlook.com; client-ip=178.72.21.4; helo=localhost.localdomain; Received: from localhost.localdomain (178.72.21.4) by AMS0EPF000001A5.mail.protection.outlook.com (10.167.16.232) with Microsoft SMTP Server id 15.20.8398.14 via Frontend Transport; Wed, 5 Feb 2025 10:46:06 +0000 From: Serhii Iliushyk To: dev@dpdk.org Cc: mko-plv@napatech.com, sil-plv@napatech.com, ckm@napatech.com, stephen@networkplumber.org, Danylo Vodopianov Subject: [PATCH v2 12/34] net/ntnic: fix overflow issue Date: Wed, 5 Feb 2025 11:45:21 +0100 Message-ID: <20250205104548.1533554-13-sil-plv@napatech.com> X-Mailer: git-send-email 2.45.0 In-Reply-To: <20250205104548.1533554-1-sil-plv@napatech.com> References: <20250121170814.3252171-2-sil-plv@napatech.com> <20250205104548.1533554-1-sil-plv@napatech.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AMS0EPF000001A5:EE_|AM9P190MB1345:EE_ X-MS-Office365-Filtering-Correlation-Id: c6092b5a-8bf9-4a35-511b-08dd45d24b67 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|36860700013|376014|1800799024|82310400026; X-Microsoft-Antispam-Message-Info: EOCXoNxH2gU0vxbXsXIH+RtjwXr1DxrSRSrZqh/wqIKshkESviLcqYDB+GgZOA+6dFKXLg1eU3wHJbusNlptMZ+1xa+tquXuvLuGi786DcSobD0wfXbj63q8ObiMlux5EOvSoIyY0LdyKnrKrdpt9qT5xB0IBja3Jrahv2xFp1wryvP3GWKte18DOwA3Kx/hNM6G442Kxce9jTGBQQgQaknmcJxLpuQdD1w3CpNJdlllFPG2mEMzoN4xgkoSzxjiG3W1MqztKJ72Q6wY6e0mb98rLpsIF2vqlg+lWJw45l3E+U76iIP9aJuzNvHubCXg8qrQ/YLz7BGCSLbBiB3SBAa7OVRQ50ZqiqIoDQXLOibnlwjAOkgDXcBddVtG4IOBIliiYfvpPXyAqtA3hmbmPg/KGHVMpGHhZ8QUlKiViNLfnItfhazO2J38RAiy+WymthQkvrLnC9pkJm7L1hjGlQxLSZDSkPpEOw3j+RBS5oL2eJDPhZy5magKXrH/pyWA9F/i9E9VenYh4V+GpnzwnALHmntZh1UUrTerusQaJRGJlnT44i4aZVeQrkFeWgnNwTYTz9L0A6b3KdrCZg71yzfRs5EBaPS4QH7lD/o7feWyKuccmwCdgxYSrWFrIsIrC2Z0hCrMyCkX1+8pNeeBM6+gpB9r6xNL176rp+q5hoNaMqsMFSMvYsOB8l8vIOvIxZ7e2y+x1FGRvHLJt9FPPFGjZrevi9B3T4oqdby+8hwSDacCzkiZA3vzVBxCJWlCnHKYAyhNXamiSRmCTtb9Cqt8HkCoW7x3y6wliwYhJlhQ/zXi3jCwXOtGYMTrcjyk0lHeF7klOWo9htJ927c1wJZYu51GHPYYE9E3qD4Z6NzmxuQwQoYucUHmn25sKQkkZy114Fn9YBsC2JXHrjApXiVbynz01tui7+Izh/UlJw5Bn+puf3JQFz4VnoxkFrXQ9LNQR977R4YYK9kUXWB5eDorJovpsp1SK3R4dYsPa3FC9RDsC0knOobfSD5MSHEM0mIGQEqSuukAKHNSs3Um3XufLrO2kqDO+iUKJkgnANEqrwIiJGKVFac/JzDpOc0kKkSPPtWYBHszpEa+6Iq2rhr+kMg3OEmwPl0QB98z0UA2t4dSUB6Y8B6Lrndu9OPOlMGzgh24xQ05qCRAqAVsykVymM2hGXjpuvS6Zg/DcnAhMnaCuYZxdvo1YnLaojaFo0UvOzfHqIuUNsIfkzrIZcEHAUGhIm3HGBlBP+B9zSKYKpsYVvnHtDOZDNFEf1Nb88cnKXu0GRNu60SvKQTCq89lYuM5/0mRUQGUF8IfOJfP2xgdIKO5iUG4aRKYsWBbl0liKeo1qIu9B9e3mCrrZDqxuN+x0DDU4Pa3JNtjUkI6nA96nbjKYBi7TRG/nbc+s/hZUCIMIMLGd8JV6N85YggkAD0WyH7D58jyiI379BlCax1w78jCUSSDOeTG5dRToa9GfQBlaTa6HsWWkkMPBUS0UjgGObTW2OM6H5h4OLo= X-Forefront-Antispam-Report: CIP:178.72.21.4; CTRY:DK; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:localhost.localdomain; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(36860700013)(376014)(1800799024)(82310400026); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: cOWCJ0JTMudQG9azZoUjuYBWV4TuSqH+vOZFA2BuWwRAkryRt4bOddlElBqcKGne/sYOYNSunZ7sAhHaqT8q7GhFtM7DwyNmBJS4Z/WA7ZcbOII3PvuOJmBQ+/DPclNSSfxvym7xBQLFk+M2itCyf7WowgBiUZTLSW1SNkkbcEIZfALT37jDKn46GAx5iPP7nzKfj4N63AS7cLQsD9Y8yeJMF6rt+EIGRjfB4NXak+ZEtO0+/QSPncQH/6PfqKtsg8gtCyXV3Vbr56UGQ/B2pATBRuwDXrQ2INwM7NIxU7tuQBpM1cg0kXrbIQN8CvaSDDqC9NDpqyme3k7QolME1nuxxGynqkRMXXmJrbkQqhhtUx5Vo+MsMunooJxopflMqXn4LQ+WuqLGllNrMY9WvHpK78R9DCbQfocIzd+BRMt9clJT24s111G7tO6xPpk8I2MkhXsi3PMcHqRa/QaH6apl1w6U9G1k/14svZnksADVZmPDODUPC7wy8ehwYfn+Ad/Ywp5D6ZKCnw3XqqfexJMOMZVF3a7EU0lQzU/ZaVLCpLoxeUfRBbfhuFfsQb0no6VT6z3BMnRb3qDFBK4GaH+A52Jzx6iz6szbbmyOboT//XtH6DqXIamM+2XQcrZkMZ7qgaW7aIp7WNea+cn7KQ== X-OriginatorOrg: napatech.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Feb 2025 10:46:06.5583 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: c6092b5a-8bf9-4a35-511b-08dd45d24b67 X-MS-Exchange-CrossTenant-Id: c4540d0b-728a-4233-9da5-9ea30c7ec3ed X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=c4540d0b-728a-4233-9da5-9ea30c7ec3ed; Ip=[178.72.21.4]; Helo=[localhost.localdomain] X-MS-Exchange-CrossTenant-AuthSource: AMS0EPF000001A5.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9P190MB1345 X-BESS-ID: 1738752368-302364-7585-650-1 X-BESS-VER: 2019.1_20250203.2302 X-BESS-Apparent-Source-IP: 104.47.51.170 X-BESS-Parts: H4sIAAAAAAACA4uuVkqtKFGyUioBkjpK+cVKVoaG5iZAVgZQMM3I1CjN2DA5KT XZKNXQ3NjczMwi1cjA3CDJ2NQoOc1QqTYWAMz9zWdBAAAA X-BESS-Outbound-Spam-Score: 0.00 X-BESS-Outbound-Spam-Report: Code version 3.2, rules version 3.2.2.262304 [from cloudscan13-83.eu-central-1a.ess.aws.cudaops.com] Rule breakdown below pts rule name description ---- ---------------------- -------------------------------- 0.00 BSF_BESS_OUTBOUND META: BESS Outbound X-BESS-Outbound-Spam-Status: SCORE=0.00 using account:ESS113687 scores of KILL_LEVEL=7.0 tests=BSF_BESS_OUTBOUND X-BESS-BRTS-Status: 1 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org From: Danylo Vodopianov Fix overflow issue with checking max bit shifting value. Coverity issue: 448921 Fixes: 833962ebb893 ("net/ntnic: add CAT module") Signed-off-by: Danylo Vodopianov --- .../nthw/flow_api/profile_inline/flow_api_profile_inline.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ntnic/nthw/flow_api/profile_inline/flow_api_profile_inline.c b/drivers/net/ntnic/nthw/flow_api/profile_inline/flow_api_profile_inline.c index a68c3ea702..574e51c2fa 100644 --- a/drivers/net/ntnic/nthw/flow_api/profile_inline/flow_api_profile_inline.c +++ b/drivers/net/ntnic/nthw/flow_api/profile_inline/flow_api_profile_inline.c @@ -3605,7 +3605,7 @@ static struct flow_handle *create_flow_filter(struct flow_eth_dev *dev, struct n .err_mask_ttl = (fd->ttl_sub_enable && fd->ttl_sub_outer) ? -1 : 0x1, .ptc_mask_tunnel = fd->tunnel_prot != - -1 ? (1 << fd->tunnel_prot) : -1, + -1 ? (1 << (fd->tunnel_prot > 10 ? 10 : fd->tunnel_prot)) : -1, .ptc_mask_l3_tunnel = fd->tunnel_l3_prot != -1 ? (1 << fd->tunnel_l3_prot) : -1, .ptc_mask_l4_tunnel = From patchwork Wed Feb 5 10:45:22 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Serhii Iliushyk X-Patchwork-Id: 150943 X-Patchwork-Delegate: stephen@networkplumber.org Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id EA5A54619A; Wed, 5 Feb 2025 11:47:27 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 8BBB840672; Wed, 5 Feb 2025 11:46:17 +0100 (CET) Received: from egress-ip42a.ess.de.barracuda.com (egress-ip42a.ess.de.barracuda.com [18.185.115.201]) by mails.dpdk.org (Postfix) with ESMTP id B79754060F for ; Wed, 5 Feb 2025 11:46:09 +0100 (CET) Received: from EUR03-DBA-obe.outbound.protection.outlook.com (mail-dbaeur03lp2175.outbound.protection.outlook.com [104.47.51.175]) by mx-outbound43-8.eu-central-1c.ess.aws.cudaops.com (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Wed, 05 Feb 2025 10:46:08 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=yI7cmWxK/ysmVFEfIcssJ+gkmB1EizQO5Rvdda0qIl1HJz69InxfEYjCc5yuISDbwjmpwAy4zfv/43pSHXd7VyLlIgCUhGb3k2QmXIIymjR36ptjTr4YPrWZpPWtn/flfaPz6xatXX0ZmZ9U7eO+AWieJyU1Rm173ZfOhpIEwbRCWU57TtchbMrDZZksJK6DENnZjoPwAwci+xJWniYevvriORKKxnJ/eFMr6KBkS1kySaYcDu4KGcrWLVbTGFI+P/kgZxM8AbWk6KIPcsBIB8D8ky+0pkOuCmthzsnOl2qPqfWYbRsZLwiUIP2/rlkW17uS1kzEery+wcxLdpp+Zg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=8T2x73jL5Qn5jvQnqyabfIRApLBkLX33/SAHRPkP808=; b=to0kct+PWLfEg6vDEuTEtShiWqYrZMDDf9LCdbPcxu8UlADJ+kfN2jXBsqV+8E6bWTI9oFkTO2BOjuHzkLz3xgSMvg/2CtgSI2vbD9bjLHhJQQ9ScTHm0zaFUS5I2B+s8dRczMYdA1Y3kXh0yY6r4TkSxZpaWEpYTpSiv3D9nNLZn30jJnMV1KcnR4rbF9aKXl4xSe91V+hUiFYVlIQNgZY/9fNGuo1+2BRimG6Vp/tlnV1sUkq7iVZMDBKuMPzm4OzhLWrUjVzQO4AS20jECTXDzXw2YNSmoA6zdsBXb+k0YeUUhKoEOCGucTjjrGDJB5B2kgMGU7JMT9CqLjKdAA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=fail (sender ip is 178.72.21.4) smtp.rcpttodomain=dpdk.org smtp.mailfrom=napatech.com; dmarc=fail (p=reject sp=reject pct=100) action=oreject header.from=napatech.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=napatech.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=8T2x73jL5Qn5jvQnqyabfIRApLBkLX33/SAHRPkP808=; b=g48nuGMmAPvjgjou0iWcifoW2vrqOIYnqMk9hbOMZMQuvHBYkkkPpzwf0wxF+s5XpI9YglEDdTzZ/RlMz6Sb9/GW4MYhw5HHpAcxNFaSFw9L5IReeSIe1APBAb8Mf+KoIqcr5/NGM4wIVJtWAX/1QcdQD0iuJXHVfhq6LtQC8CM= Received: from CWLP265CA0347.GBRP265.PROD.OUTLOOK.COM (2603:10a6:401:5a::23) by DB9P190MB1068.EURP190.PROD.OUTLOOK.COM (2603:10a6:10:224::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8398.25; Wed, 5 Feb 2025 10:46:07 +0000 Received: from AMS0EPF000001A5.eurprd05.prod.outlook.com (2603:10a6:401:5a:cafe::24) by CWLP265CA0347.outlook.office365.com (2603:10a6:401:5a::23) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.24 via Frontend Transport; Wed, 5 Feb 2025 10:46:07 +0000 X-MS-Exchange-Authentication-Results: spf=fail (sender IP is 178.72.21.4) smtp.mailfrom=napatech.com; dkim=none (message not signed) header.d=none;dmarc=fail action=oreject header.from=napatech.com; Received-SPF: Fail (protection.outlook.com: domain of napatech.com does not designate 178.72.21.4 as permitted sender) receiver=protection.outlook.com; client-ip=178.72.21.4; helo=localhost.localdomain; Received: from localhost.localdomain (178.72.21.4) by AMS0EPF000001A5.mail.protection.outlook.com (10.167.16.232) with Microsoft SMTP Server id 15.20.8398.14 via Frontend Transport; Wed, 5 Feb 2025 10:46:07 +0000 From: Serhii Iliushyk To: dev@dpdk.org Cc: mko-plv@napatech.com, sil-plv@napatech.com, ckm@napatech.com, stephen@networkplumber.org, Danylo Vodopianov Subject: [PATCH v2 13/34] net/ntnic: fix untrusted loop bound Date: Wed, 5 Feb 2025 11:45:22 +0100 Message-ID: <20250205104548.1533554-14-sil-plv@napatech.com> X-Mailer: git-send-email 2.45.0 In-Reply-To: <20250205104548.1533554-1-sil-plv@napatech.com> References: <20250121170814.3252171-2-sil-plv@napatech.com> <20250205104548.1533554-1-sil-plv@napatech.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AMS0EPF000001A5:EE_|DB9P190MB1068:EE_ X-MS-Office365-Filtering-Correlation-Id: b190f937-a88c-4f12-3858-08dd45d24bd0 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|36860700013|82310400026|1800799024|376014; X-Microsoft-Antispam-Message-Info: RgG3vflCT8WqXqOwcsCuDlOFu1AamJkwkDP7fSPJmoY47i2rG7ysVvCilyR37W5wiGlROaRXBtpIHoPqDUUuJJaHoUAW/xkeSqpT5ucyqpXXKQK2okSfFJejoRi86nhnv/LBpR6tBdXYQlUUKF0e26TjPBAgv26kWaFSqcgo0V9B6Dput1gc59uGbKEMRs1DQxw4nEU4cAw+yi3nl4UjRb/D5BTOx7jTqE8oNYzRbr0wxQ3Huc5QzVJuvOT4jYAQJUVhk/uamwFvEU82pFk9F8MgJITiG3Lgn4rNcDfIoBRsL91KsEDbwW2qe9FV9bkD1J2/7oFENCrn9W49pBYW6TdsTQeipea/NanVO8lNqHEiizYafN94ieqzDSAcvcRVmNi1fKRgqunzXvHHlByG1THsKO2z2kbNck8sNutogNOZ0B+/H01JycYNZBViuozbeyu8+MEjF1eh+sSAKKMgf2IWA+GvjGsBuBMg8hPTlIdiv3BN0CQxY2wmuat7nhbtpT/7IYI8jlzwnRIiDlJTPU0NqpAihy+DBnXTG7HkCVJ/L90Tg38PjJHTDTtlI+8uqE+/huB2Ppz1GpfeVSBxJS+MB7PO4AmP7OYG2qBK57QEXHI4nEsoLUp+00qvCuUP1cuuGtE0vQ6MFuOLfAdRiSPZLH6pcDckbXWfV7PO1ll16brI1P7gAxQbLmGNggxhILObnCuLVbQ/3k/31+9lPauY37qbVI6AIIZU0P+kjqxdpInocgfqMX15hU7+lcn1a3EqW9x7uDC+H81Lqr8meMXpZpieuOgbuaiuUpHGkGlb2ZaqW0/2xzyqe7SJw6Gz6V+fkxdH4ceTZLZqoNHbT/HI6meFYjGgltD5WMz7AX8GRCzG41lFUqTSek9wfkWIdGy4yqxGDUKOAFrQrNUKkP0qeGBEqbBLOK/CMznCtJhHJcBO0cGC0cLzuT8VOH6K4nUpbaGwdPWli/Rukc21qD0WCiN9GxgfI4lKPPHdytb3Z0r+zXSq4W29MVW1I/1Ri2FBH9kx6GHB+FgHZZ75sDfC1qt3dYYYsFfKOoBdRnhdMYuyLTYsNA+8uUlmmX46NSs1G1RirDUsxgJ9lov+IQtG2IockZuu+txml/RMTiVq2daVkLyUA1sX1FWODjEWFPVy8yQvkNEF4DDjC49zTiBWAbivAZO0PerzszVWmaNdaGVRtN97CUR64SaRqjKZM+aV3WuKiYFVC9y6T6MAzmhE4u4Mv8ENxJjFFymrB9++S68iFAbsffMVxPZQVxurIYOwGPvo6Nj1HoFkQF0rbMyz5DG7qvLQGI/L9XjD8cw/eWRp82vjQUncahwQb4M49qZAgIjuINYa5iTHG6Bavf7Kdj3KQtWf45muejTnsJNqorWlLMScniyqSO0OPOVPSVqun3lYECFr5BPkUl9IuZliTe1e+h1J9c9LKlK7hvt/VJp//IzK9nfl1XskrN0PszeaJjKLXH+CBN3CvhYkJA== X-Forefront-Antispam-Report: CIP:178.72.21.4; CTRY:DK; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:localhost.localdomain; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(36860700013)(82310400026)(1800799024)(376014); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: TEewlCiWJzhfI68KRU/ylwymt22AW0zjZRhPvB8QWAb9lZgsUzspoBUSaux8EgXxYOnAcoU/j+eiMlapOX3DeMcrWqDgJIGyviE8WWdjY1JKOVaRCALtkXvt1KsR3hXML25Rd1HXY6e2bQTSnQjwaJMFGkrcBPdcVHjUgtVOyrBIIgDcmBG25k9jaclC9nTvEMcrZYxqLQzPHbXmZRo1w6DAFg6HGuuD1YojaYhEhGlllJ7PkRKseWmd5yFo8ik4lmL6pjoj6js4MuDPDsGqvOt1SxWoC/AW3Qe+VsQpcyPBOFSFOjTMWIeySWnOisgAy1sJAyA5wYzO3AKxmfdD51BJF8w0CHWVsTebjoo+SLbkp0IDyJkgWDjnPYHKeHrCSmgoXAbsRGyAQ90OAhIW2gEGkgMUedPMdO3HNlvaCCkK2OsuNeFYYneAV7NmirVyhNe+B0mCEZerlvY6KKlZukNLRK53NDFN0leMr5yTvsYqRALTWA9+kCsKnjK5U3Ww1Gor9VsmV7Vckw5VzfU1CFpz592WAxEdMQyAdedBOlEOHEHDekG0fPpwrAK3G2G+sTcBbiayGDPNEJf8d5pSljYCZcsziJx6saSwPP3GpC02u3yzzpOAsSJxMxLuKv8jfRnnYPIGV7H63ROOI3uTBQ== X-OriginatorOrg: napatech.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Feb 2025 10:46:07.2458 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b190f937-a88c-4f12-3858-08dd45d24bd0 X-MS-Exchange-CrossTenant-Id: c4540d0b-728a-4233-9da5-9ea30c7ec3ed X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=c4540d0b-728a-4233-9da5-9ea30c7ec3ed; Ip=[178.72.21.4]; Helo=[localhost.localdomain] X-MS-Exchange-CrossTenant-AuthSource: AMS0EPF000001A5.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9P190MB1068 X-BESS-ID: 1738752368-311016-9613-501-1 X-BESS-VER: 2019.1_20250203.2302 X-BESS-Apparent-Source-IP: 104.47.51.175 X-BESS-Parts: H4sIAAAAAAACA4uuVkqtKFGyUioBkjpK+cVKVoYGlkZAVgZQ0MjYxMLSwNzSNC 05yTDZPDEpxdLAINnQ3DI1KTU10dhIqTYWAM6eS69BAAAA X-BESS-Outbound-Spam-Score: 0.00 X-BESS-Outbound-Spam-Report: Code version 3.2, rules version 3.2.2.262304 [from cloudscan19-16.eu-central-1b.ess.aws.cudaops.com] Rule breakdown below pts rule name description ---- ---------------------- -------------------------------- 0.00 BSF_BESS_OUTBOUND META: BESS Outbound X-BESS-Outbound-Spam-Status: SCORE=0.00 using account:ESS113687 scores of KILL_LEVEL=7.0 tests=BSF_BESS_OUTBOUND X-BESS-BRTS-Status: 1 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org From: Danylo Vodopianov Replace while with if statement to avoid infinite loop in case ther_type will be modified with extenral source. Coverity issue: 448917 Fixes: c6821abf58e8 ("net/ntnic: add flow items GTP and actions raw encap/decap") Signed-off-by: Danylo Vodopianov --- drivers/net/ntnic/ntnic_filter/ntnic_filter.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ntnic/ntnic_filter/ntnic_filter.c b/drivers/net/ntnic/ntnic_filter/ntnic_filter.c index e00b10ff82..b07e16c1d3 100644 --- a/drivers/net/ntnic/ntnic_filter/ntnic_filter.c +++ b/drivers/net/ntnic/ntnic_filter/ntnic_filter.c @@ -53,7 +53,7 @@ int interpret_raw_data(uint8_t *data, uint8_t *preserve, int size, struct rte_fl goto interpret_end; /* VLAN */ - while (ether_type == rte_cpu_to_be_16(RTE_ETHER_TYPE_VLAN) || + if (ether_type == rte_cpu_to_be_16(RTE_ETHER_TYPE_VLAN) || ether_type == rte_cpu_to_be_16(RTE_ETHER_TYPE_QINQ) || ether_type == rte_cpu_to_be_16(RTE_ETHER_TYPE_QINQ1)) { if (size - pkti == 0) From patchwork Wed Feb 5 10:45:23 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Serhii Iliushyk X-Patchwork-Id: 150947 X-Patchwork-Delegate: stephen@networkplumber.org Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id C55704619A; Wed, 5 Feb 2025 11:47:53 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id C37C440662; Wed, 5 Feb 2025 11:46:22 +0100 (CET) Received: from egress-ip11b.ess.de.barracuda.com (egress-ip11b.ess.de.barracuda.com [18.185.115.215]) by mails.dpdk.org (Postfix) with ESMTP id 967A54066E for ; Wed, 5 Feb 2025 11:46:12 +0100 (CET) Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05lp2104.outbound.protection.outlook.com [104.47.18.104]) by mx-outbound23-121.eu-central-1b.ess.aws.cudaops.com (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Wed, 05 Feb 2025 10:46:11 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=SGSP2AXOUhclycnm9S1JEJf22S2Xmu5joHKfgMVMEMmCQgIr9GMKSevHLRJi/rRCRhwJJemBj+rUtCvtKL+bcBu9ZZKVDRMJGU0yslCpxCZAcswdJ+Cs38+x6u81CuWTEoXOlLPTgZ/h2/leogbuBOyXD/FdLiX6uan2PytquuuhwDmEc1d7cuFgF2oztVIv9NryGbLq6UlSDMM3u7jSgpqCj831V6LCQOI7TZ7+vfGoDffSKaSkmRtcQIc3gbIzQw7A/gS2/IiVeyjIP2+UKRZULNBU1H9DrqNumTho6GulHM+ZZnNsGa+yOPcJcRcmgOJk2Ft/y3I+eKQL9ED+Uw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=ez9uKHEUc7uLu6aPINCCgXr6zDbeFTb4eU8i4xXRCZo=; b=wIaxNRcxWLFspxBsg7JZbNBkjUwgyJxFgJZH4+pnwT9s+JuFyzApxrdrzt2t6BEBmLnd8XDfv0Y/tvywjLteQ0EGjUONo9EQ1ZdPmcqTw6Id+60J9LwBL9nX95pfUbfm8d3YWpRhN5m4ajJ0Fn2UNZV41igmTtxNDBBKEJvbuUolUyrmWYVZVRZBz8yaXj3V+YTNuvNy+27ZT+k7ypebsmmfPZq3IuAv2KfqAR1gGJpTB1wDeBWtQymqVEdI0dWz6XpL4UL99DBzmOFmsX1xQXZoZ5yU9TYA/AP5/qCZ5f1kyqb4LDFLbNO8FDmPIhdFyx4PhNI6XtXI+ZQzrecbHw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=fail (sender ip is 178.72.21.4) smtp.rcpttodomain=dpdk.org smtp.mailfrom=napatech.com; dmarc=fail (p=reject sp=reject pct=100) action=oreject header.from=napatech.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=napatech.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ez9uKHEUc7uLu6aPINCCgXr6zDbeFTb4eU8i4xXRCZo=; b=oBVd+TjGH64sOFgjHDSPY1fM4czV9kYIMFVK+81PFR6jFk7D14YxQ5uYIf1B3C9Q5IvbTRFB2+cCMDi8UM3HNzba0oYp8dYVNddS3/+ojZ0Ek3P1Oufis6BqXhqsFLqRdZWlt/VR6ZmTWAigSDXs0f4aQs7ZLxyHzbBqJlV3nI4= Received: from CWLP265CA0354.GBRP265.PROD.OUTLOOK.COM (2603:10a6:401:5a::30) by GVXP190MB2116.EURP190.PROD.OUTLOOK.COM (2603:10a6:150:1c0::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8398.26; Wed, 5 Feb 2025 10:46:08 +0000 Received: from AMS0EPF000001A5.eurprd05.prod.outlook.com (2603:10a6:401:5a:cafe::c3) by CWLP265CA0354.outlook.office365.com (2603:10a6:401:5a::30) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8377.14 via Frontend Transport; Wed, 5 Feb 2025 10:46:08 +0000 X-MS-Exchange-Authentication-Results: spf=fail (sender IP is 178.72.21.4) smtp.mailfrom=napatech.com; dkim=none (message not signed) header.d=none;dmarc=fail action=oreject header.from=napatech.com; Received-SPF: Fail (protection.outlook.com: domain of napatech.com does not designate 178.72.21.4 as permitted sender) receiver=protection.outlook.com; client-ip=178.72.21.4; helo=localhost.localdomain; Received: from localhost.localdomain (178.72.21.4) by AMS0EPF000001A5.mail.protection.outlook.com (10.167.16.232) with Microsoft SMTP Server id 15.20.8398.14 via Frontend Transport; Wed, 5 Feb 2025 10:46:07 +0000 From: Serhii Iliushyk To: dev@dpdk.org Cc: mko-plv@napatech.com, sil-plv@napatech.com, ckm@napatech.com, stephen@networkplumber.org, Danylo Vodopianov Subject: [PATCH v2 14/34] net/ntnic: add null checking Date: Wed, 5 Feb 2025 11:45:23 +0100 Message-ID: <20250205104548.1533554-15-sil-plv@napatech.com> X-Mailer: git-send-email 2.45.0 In-Reply-To: <20250205104548.1533554-1-sil-plv@napatech.com> References: <20250121170814.3252171-2-sil-plv@napatech.com> <20250205104548.1533554-1-sil-plv@napatech.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AMS0EPF000001A5:EE_|GVXP190MB2116:EE_ X-MS-Office365-Filtering-Correlation-Id: c35a7d33-0b73-4622-5b0d-08dd45d24c34 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|36860700013|82310400026|1800799024|376014; X-Microsoft-Antispam-Message-Info: MUpmK73s9wiw5khzlF2wGY2bsCZBlJ5hdKLdDLC1s6G7Y3cZgHGWhCsWlzSNBR+SCY+5Dvq+vATb38EMoPXAFYUT8Qxt1+0jL/370CGhV6b0PbUR27V4g7RWxnec40iO9CriesBJB14cPyas3LfsveAjp6nE17YHZiE8qkgXcTxSfF1rUZRFWSNl4w4OzkXEpgBkuMCb5BkbC4g6AqN+PvRdhvwLJD+/6dUeSV4ZJ/MttHNPETMDj63CglYNyR0t3VjqAf2SkEYS3V8oarH9FzlWFASGIV7PJM9nBRCJ43kwYv/NeD34VWiXN+ltcb3wyL5EV7GIz59NSqSOz/55KY7Stdmy5o3AP4sY1VhttmtEis8LbuXxhn3AtZqcmf6ircGQawvaRuxIjDbkOHUsUs5yGkgsEQQQNXSCRh+Vl7Mw+sj8S+nd1yAF9NtKtN2j5ILZ5SXqx1Bhqr0baYaabaae2T+U56Kp3DXt6twiOjsTR+K/MkXFmFYZwUwJy5ZPNVMnUM7S+Vk6il7rAnddV8yGE1qXy8EsIYI+vzj2udpIf1FMFj8oqyTopO3aywOUADSafW2QvEo1wm4dU/FIEzJWMw1NodxjXc3PhzjV95RI3hB2b4NPY3vk6P0Jl1ANSlBCY8WDZrfBuW7GV9fc+pbga9GMQi7FriAZzrqr1qVvcmEzlyLfmjZszk6/kuJ6gehw68Wep3LQX6bRYqn9esieApM/6c35TGPCWNwZKn97izNjKaxmZW+Toi274HziE3mn81lyZM4tPDSfkBm4awxIfLdBux4BpJuBGgkjhcAABu5FyHqJn2t/3puD0BcVM+gnPx3PuqN8UvD1XCrR52Fo5YgSBFSwc0dIP+q/D9UldMXif202Dzw9EToklu2LqJQP7IKfPWmdYy9p7W1y3fvtG4Sa1d+qHa5zmeDUZz0i0Nmi2L+JZHaBbPZVmcCfZiS4UpcOVVYjeIC9xSOXRtTSWDvmoT0p2Ed3JH/bPBEum3B4sRomgG5QerkaW6QeEwpHCkhAF4Dj8DDx+NBfMophIM1mFCNENw2uWxRtCZQkrLVYTynReauajqGFDIrEYwXQy7f+d6BBl81k7qCXUCxte0uMdtDZsfU0vzlRRpOQuBMLoyGuDHsl0i3ylFuymGmzyDPgU6qtdGMxq7HlghaXtfNOE+61NsxteOVp3Tds36rCRwDUH4FclpVeN0xa/4nzGb1dSzWt4etzfa8EMB+F4MgKUyoNVjLXMOrV7S46INE6C/sv8xWGkIREdyPlwYUTHTXxeImqwB6sRIg1AYxkUQSDpfV0mUqSeno4sHFrEeKdCZvyTPLosnCTy9oUjogBPulV0hL+6nCH2Tmv+uJWg7vTuVyZ09Ld2pgAc8ecKQKKj6SAkzAqge/sM1nLbXMiPvcKTGsKZySK5y4VfLIucA5XrvXTf/Ok5RTPDZcsDuijqhF5WwHO2d64qOv7Ga6LA6pC5d1TMnsEyNGctjP3s4PsExSa2wROJWP4jDo= X-Forefront-Antispam-Report: CIP:178.72.21.4; CTRY:DK; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:localhost.localdomain; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(36860700013)(82310400026)(1800799024)(376014); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: KQaTrp5eAGyIDo+ZxeGTVJoZsll03xf89Zb8jdCmg+fbJzN0xvS8oBYFfP/7wfO9nMb9+BdYKvv40nPolT4KpD8FPKBrTXumLUn1eKosR831mMtWVclGG5gReaiAInRqrzUUVI4fLFO6rYQejFYsNltM15kdyDpX6ttooGlvYRJiSg5ebubb4H0jzLWiqLK6otJOPSIrCrrqcN4sOt8RwnwTTLkKqJgpwIE36UZ5mxFjWXHhw7wB0ePHRKAHwF+mugQ4XmlgQ3DMH8kOBaignKsknmb0avJ6v9zZSarTrab3t1zIaaw8BiVuBuZAZfXW9jiOWmctlAdGquNjr4dMD8Oiz/CEwcuVc7sCL3QrxXvZ1NA4bCO/zGb5j6HL3sigElYeBh9rLnTEGfm2T43qBy+e8G/9RogYN18SFk9JOqJpRhCpeppvMsz3ds6CN1C8Ol3EcuwOSuiZBPf3NWetzz+QeR2uMg2NjtsTSTlrtGc8cZK2gzgTuipr2Gj6Q452wymMdgXRUXslKxshSoJXfg/o9GTzWW93VZtj8C5MYfeeEavGyuHZwPOQEjkuUlmEi0rHg2cUA5uf/30wPG9aG3bjmmd0yDsOWill+d+Sl3u3+C8f14XorizwWiIQ9lBOpk0Sc3ueQq3pXkv/B33uJQ== X-OriginatorOrg: napatech.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Feb 2025 10:46:07.8864 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: c35a7d33-0b73-4622-5b0d-08dd45d24c34 X-MS-Exchange-CrossTenant-Id: c4540d0b-728a-4233-9da5-9ea30c7ec3ed X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=c4540d0b-728a-4233-9da5-9ea30c7ec3ed; Ip=[178.72.21.4]; Helo=[localhost.localdomain] X-MS-Exchange-CrossTenant-AuthSource: AMS0EPF000001A5.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXP190MB2116 X-BESS-ID: 1738752371-306009-7771-609-1 X-BESS-VER: 2019.1_20250203.2302 X-BESS-Apparent-Source-IP: 104.47.18.104 X-BESS-Parts: H4sIAAAAAAACA4uuVkqtKFGyUioBkjpK+cVKVpYmpkBGBlDM3NwoxTDNwjwp0S DN0jzR1MDIKNncPCXVzMAiJdko2VCpNhYAq2KkZkAAAAA= X-BESS-Outbound-Spam-Score: 0.50 X-BESS-Outbound-Spam-Report: Code version 3.2, rules version 3.2.2.262304 [from cloudscan18-131.eu-central-1b.ess.aws.cudaops.com] Rule breakdown below pts rule name description ---- ---------------------- -------------------------------- 0.50 BSF_RULE7568M META: Custom Rule 7568M 0.00 BSF_BESS_OUTBOUND META: BESS Outbound X-BESS-Outbound-Spam-Status: SCORE=0.50 using account:ESS113687 scores of KILL_LEVEL=7.0 tests=BSF_RULE7568M, BSF_BESS_OUTBOUND X-BESS-BRTS-Status: 1 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org From: Danylo Vodopianov Add null checking for fpga var. Coverity issue: 448916 Fixes: 30b2f87ac650 ("net/ntnic: add GMF module") Signed-off-by: Danylo Vodopianov --- drivers/net/ntnic/link_mgmt/link_100g/nt4ga_link_100g.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ntnic/link_mgmt/link_100g/nt4ga_link_100g.c b/drivers/net/ntnic/link_mgmt/link_100g/nt4ga_link_100g.c index d8e0cad7cd..67dc0d01f6 100644 --- a/drivers/net/ntnic/link_mgmt/link_100g/nt4ga_link_100g.c +++ b/drivers/net/ntnic/link_mgmt/link_100g/nt4ga_link_100g.c @@ -405,7 +405,7 @@ static int _port_init(adapter_info_t *drv, nthw_fpga_t *fpga, int port) _reset_rx(drv, mac_pcs); /* 2.2) Nt4gaPort::setup() */ - if (nthw_gmf_init(NULL, fpga, port) == 0) { + if (fpga && nthw_gmf_init(NULL, fpga, port) == 0) { nthw_gmf_t gmf; if (nthw_gmf_init(&gmf, fpga, port) == 0) From patchwork Wed Feb 5 10:45:24 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Serhii Iliushyk X-Patchwork-Id: 150944 X-Patchwork-Delegate: stephen@networkplumber.org Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 771E74619A; Wed, 5 Feb 2025 11:47:36 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 5349B4068A; Wed, 5 Feb 2025 11:46:19 +0100 (CET) Received: from egress-ip42a.ess.de.barracuda.com (egress-ip42a.ess.de.barracuda.com [18.185.115.201]) by mails.dpdk.org (Postfix) with ESMTP id 023AC40668 for ; Wed, 5 Feb 2025 11:46:11 +0100 (CET) Received: from EUR02-DB5-obe.outbound.protection.outlook.com (mail-db5eur02lp2104.outbound.protection.outlook.com [104.47.11.104]) by mx-outbound9-60.eu-central-1a.ess.aws.cudaops.com (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Wed, 05 Feb 2025 10:46:11 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=lYGE+r6XDiRZ8b9qvMoTT6DY9cVgWzRbDfPGipZcNHxkwqr7AX54ksiZxRXeOMpprrpfSl2e63u6q+a3oQEiS4c6E1koKLbYdKtvdYForGZyfU9EE87eeCAyylDjXaDqrsUfAx48Hy6/usgbMLfvvLNKrB0JbQvPINqz3aPwBvE/gj80cn4iQoAt8rkWuiPVEgIKJrW+zN7cDSplL36UZgFykkDLrGEvqnkHQQU5FFh1C6uVjzCFJ0XwVZCoXSpJ2KZ5ZXS9Mej1FGn/p2Kn+SMroRgb69Fh9o50+1HXRRlQ1pj4iAmEO9Yn3BHirSneFcEqY7251Dk50Zb+PBUUdg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=rCOQ/aZofygXRXj1lf6UCpmFBmrU3Q0tsgG3PMZVrD0=; b=PtgBcWiBfF2zMXSYKk3/kNMwVb/I3OR+V/mfUCKizCAawcomdNB3M6Vm8uoIMahmDNRQwj29D9811H9Ss0uaH7uML451iwh6mG/IGn5eJ9cIkSJfZr6/0xHTfiQ422yUrHLiPfxRQYyDqI1viscDBt9xuNRM2W/9fgPXVjT5wLgpb/tCDC53XKQTsvQ/KSrmLzturRFsDazdaIbzMruPI6Qh2obcArqt/HXdrszvIpHjZhR8ggAgYYYo4Xrd89osJAzLg3TC6nCp3uBJq+MNLfOcuMZWPBeoHl6utHZuejx2SocwqZcBxApLfJ+BN0k2Ee4pDd2DCOGb2sjE+AA60w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=fail (sender ip is 178.72.21.4) smtp.rcpttodomain=dpdk.org smtp.mailfrom=napatech.com; dmarc=fail (p=reject sp=reject pct=100) action=oreject header.from=napatech.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=napatech.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=rCOQ/aZofygXRXj1lf6UCpmFBmrU3Q0tsgG3PMZVrD0=; b=msIxGiIqiQRK8bZGPUqfCiP8KuVBiJa3eivxELGtTQry15B+CkrMN1eAVqVAMQvQ5SokSTJTz9VSavCOsLdS99tULjv3XOsir/J/RghPr1TgLJsHL4nlkRBVsLtSzJnnahcAWlfAU1nZ4RgX33be4m5YRLTmVugaTVwUPixSWBo= Received: from CWLP265CA0337.GBRP265.PROD.OUTLOOK.COM (2603:10a6:401:5a::13) by DB9P190MB1051.EURP190.PROD.OUTLOOK.COM (2603:10a6:10:22d::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.11; Wed, 5 Feb 2025 10:46:09 +0000 Received: from AMS0EPF000001A5.eurprd05.prod.outlook.com (2603:10a6:401:5a:cafe::72) by CWLP265CA0337.outlook.office365.com (2603:10a6:401:5a::13) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.27 via Frontend Transport; Wed, 5 Feb 2025 10:46:09 +0000 X-MS-Exchange-Authentication-Results: spf=fail (sender IP is 178.72.21.4) smtp.mailfrom=napatech.com; dkim=none (message not signed) header.d=none;dmarc=fail action=oreject header.from=napatech.com; Received-SPF: Fail (protection.outlook.com: domain of napatech.com does not designate 178.72.21.4 as permitted sender) receiver=protection.outlook.com; client-ip=178.72.21.4; helo=localhost.localdomain; Received: from localhost.localdomain (178.72.21.4) by AMS0EPF000001A5.mail.protection.outlook.com (10.167.16.232) with Microsoft SMTP Server id 15.20.8398.14 via Frontend Transport; Wed, 5 Feb 2025 10:46:09 +0000 From: Serhii Iliushyk To: dev@dpdk.org Cc: mko-plv@napatech.com, sil-plv@napatech.com, ckm@napatech.com, stephen@networkplumber.org, Danylo Vodopianov Subject: [PATCH v2 15/34] net/ntnic: move null checking Date: Wed, 5 Feb 2025 11:45:24 +0100 Message-ID: <20250205104548.1533554-16-sil-plv@napatech.com> X-Mailer: git-send-email 2.45.0 In-Reply-To: <20250205104548.1533554-1-sil-plv@napatech.com> References: <20250121170814.3252171-2-sil-plv@napatech.com> <20250205104548.1533554-1-sil-plv@napatech.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AMS0EPF000001A5:EE_|DB9P190MB1051:EE_ X-MS-Office365-Filtering-Correlation-Id: 2299cf2b-59e9-41e3-66bd-08dd45d24ce2 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|36860700013|82310400026|1800799024|376014; X-Microsoft-Antispam-Message-Info: CYPHAxk6As50Le6dxtR36tka0y76jdeNOwwehiLPECMlmdnNg9iAkAy+UkEECw7fic3Ud9mvCWqV7eEfBwwAvdSZhzwv97vBQKCpUcUFN5KR0eFZl+TLhX+uL4KZ8nPW9droolKnYXhYY53yFF5J4yIHRVHI9BZ7SuFSHjoGXQOrR+t8LGCDelo76nQaH6r33hRjCgV36rxcM9wFvm9YzwKCDn+fxxv5+5bP2vI38xWdQ05/KMpJHB++siHKpy7cy6AzqRIizeMI3QPHzBm25BeNZtBWIE19ySI5TvEJ+thMJZd9bHecuNBsmhKhmmoywkuwpxGRcX5UMitxAOAp1+qm16Ec7Wb+Vkb6kLZmlcjDGd6OZbaEoUWPGBlJUKO5eisn3a0/LJKVw3Sk7nPx5r2GUwqKnVhDLIayZIy6aANM85IrOsfRADZESqtFO61IlQ3HSTnLbuproxv3C8nbAmz9PJdZ5yuR7XHft97TST2L+Uh2bRd7nWWUFZQ+NLFQhbVrJCZv6E893snGG4iBfqKFX8TV+mwRzMWEI4dmofnzSRj23CyrDnoCIAteQo9HCece79d/aRhVXBdhVXdog0R3HVdAqDKkY0FXSqc5mPrOW6jrCwzaYWyGdh0fxQQKdHC06BkOuKrwSwUz3RjK4DNpFk3lMHXd3wWg8ki+UyZEnTQFXtLq/WGqR0g8NRC23bDeCtBa5FwftM4QyPqkl9oN56WAth35UB/eUtDrOJz1IWGeCwfDf+ZKEGMZlJ/g/CY+NvQt1NIG8VtDIBBun8u0T3da33nKKah2Eu8LVwb+82Oe1kCL1Yfk0gc8VkaGAWW/j7ins6gkmr3HcjHR4lSpilaOp50KLbjurBAmpB+RYqaXyGMzvEc9j00XQ2ePxdSuwappR6xAlIGS8Ltv4yYbGhS67nqWC1lY4h1HsSdCS9w9JVEOeJDl0TSMAz3qbPeqD3qpkJDqEiXNaMW44uQXTHHqhq9Wdknm2hClAFr3hVzIsoxfq+UVB07Kt/MJAY5m4dLeW7LmFdQEMHDBZMk+ZmYsUQEscWO541GADNe0VP7Mzt5PRJhSBV57WbcV4lqNMUJ4l2Xc8AZr2dYL1dAVAGAfYoglr3rQIrkY9gjqkmGtd3UFGg+oRMZUg5EDpGRbVXm5FHSbRmnr1y1n9D15huIk4mypUvzk+SA2laCbYiYwCgAFoq+7BD9bIkrkcBrna9u6UEbBjXcV7A+ucvxkmZqGtj04G+n0svjtuCBfdYFnqUtTQAJjRPaxn41mWoQ1SFnIVOTrXXBWkzVGs0yl7FTuVRyEyYEevS6OVKEG+RYngcEh2hlHDJ0NzXA57/MtCSE+2Weoq73B0l6QKLzqen4+nz1Ji4sxAGimuUXc3BdgKYgJwIjgbtTZRGuG7kCUF8qL6ZCE+aCbKWHKQKJT/W0Xru/ORVd9ut/2qZ+xRmC7S66vK+UNOOmPJDAhap5jQiJoPEV0g6R4azPinQ== X-Forefront-Antispam-Report: CIP:178.72.21.4; CTRY:DK; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:localhost.localdomain; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(36860700013)(82310400026)(1800799024)(376014); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: BhYPEdPBZ8z39DEh4aKamlcGK+THLEUKMaPsM01iAiMUf2wjepGy4OnfYg1brZWS2Y3vwzy600gsFCTIr2ZtgFmUbPzPqh8AEZtX1mpRMbyD43yQ98lLYm5lYe35R8I12WsbVT9JoY3CXe9Ib6f4d9D/ZBftZemDN9jgexmkaa5GCg4ZCKr4vt61kKa2fpSVr6ti/P5xxY+rjmoJmsJ9nBhSmhk3SlBGH3ocq5ntcFQpmzvf0xbwBF/2FgL33PYp5jiDhIUeIqy3syEhksV1ioLKuSHfcnZlWWnzeptYpe5MyHypF48GtEGuecSN+1mg8kyP3lcUfP51QbUN3+yt2EFBb8bSrmipgUQQ66tJ+qoIdRHoMPPYUKoEnjxzgs2G7L4/ytcr6SiEhQq20Qe31GnjXbyWJ33HlS4JfD2bS5PrKIAZC7g2f7Q7gdy63pf3apclfGqffbhJbuf+di6OOQHzQPv9Fe/aPcY3/8aMAXzMAseZayupDu+PH8qgsiwj5WZzVgXxoMbAYKWLGvLV3z5wArtuxVKsEbbtqPybzk675E/o7o72skr7z1RBi9svvpC/jwbELFPLhgdeTfyFksN1HOzwEWhrErDRFgeuPVtTnkARBodiIr9+hRK5ZLmzjedQcbsiUd/8Lif2sMzMVg== X-OriginatorOrg: napatech.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Feb 2025 10:46:09.0270 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 2299cf2b-59e9-41e3-66bd-08dd45d24ce2 X-MS-Exchange-CrossTenant-Id: c4540d0b-728a-4233-9da5-9ea30c7ec3ed X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=c4540d0b-728a-4233-9da5-9ea30c7ec3ed; Ip=[178.72.21.4]; Helo=[localhost.localdomain] X-MS-Exchange-CrossTenant-AuthSource: AMS0EPF000001A5.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9P190MB1051 X-BESS-ID: 1738752371-302364-7587-656-1 X-BESS-VER: 2019.1_20250203.2302 X-BESS-Apparent-Source-IP: 104.47.11.104 X-BESS-Parts: H4sIAAAAAAACA4uuVkqtKFGyUioBkjpK+cVKVpam5kBGBlDMwMAoxTAp0TjVzC DJ0DIpycDAJMk8zSAt1STJ0MAo0USpNhYAzKBjOEAAAAA= X-BESS-Outbound-Spam-Score: 0.50 X-BESS-Outbound-Spam-Report: Code version 3.2, rules version 3.2.2.262304 [from cloudscan14-171.eu-central-1a.ess.aws.cudaops.com] Rule breakdown below pts rule name description ---- ---------------------- -------------------------------- 0.50 BSF_RULE7568M META: Custom Rule 7568M 0.00 BSF_BESS_OUTBOUND META: BESS Outbound X-BESS-Outbound-Spam-Status: SCORE=0.50 using account:ESS113687 scores of KILL_LEVEL=7.0 tests=BSF_RULE7568M, BSF_BESS_OUTBOUND X-BESS-BRTS-Status: 1 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org From: Danylo Vodopianov Move null checking before using Coverity issue: 446759 Fixes: f0fe222ea9cf ("net/ntnic: add releasing virtqueues") Signed-off-by: Danylo Vodopianov --- drivers/net/ntnic/dbsconfig/ntnic_dbsconfig.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/ntnic/dbsconfig/ntnic_dbsconfig.c b/drivers/net/ntnic/dbsconfig/ntnic_dbsconfig.c index c178144d42..279a852a1c 100644 --- a/drivers/net/ntnic/dbsconfig/ntnic_dbsconfig.c +++ b/drivers/net/ntnic/dbsconfig/ntnic_dbsconfig.c @@ -510,11 +510,11 @@ static int dbs_wait_hw_queue_shutdown(struct nthw_virt_queue *vq, int rx) static int dbs_internal_release_rx_virt_queue(struct nthw_virt_queue *rxvq) { - nthw_dbs_t *p_nthw_dbs = rxvq->mp_nthw_dbs; - if (rxvq == NULL) return -1; + nthw_dbs_t *p_nthw_dbs = rxvq->mp_nthw_dbs; + /* Clear UW */ rxvq->used_struct_phys_addr = NULL; From patchwork Wed Feb 5 10:45:25 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Serhii Iliushyk X-Patchwork-Id: 150946 X-Patchwork-Delegate: stephen@networkplumber.org Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id EFEAA4619A; Wed, 5 Feb 2025 11:47:47 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 995A54067E; Wed, 5 Feb 2025 11:46:21 +0100 (CET) Received: from egress-ip42a.ess.de.barracuda.com (egress-ip42a.ess.de.barracuda.com [18.185.115.201]) by mails.dpdk.org (Postfix) with ESMTP id 7016D40669 for ; Wed, 5 Feb 2025 11:46:12 +0100 (CET) Received: from EUR02-AM0-obe.outbound.protection.outlook.com (mail-am0eur02lp2236.outbound.protection.outlook.com [104.47.11.236]) by mx-outbound43-8.eu-central-1c.ess.aws.cudaops.com (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Wed, 05 Feb 2025 10:46:11 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Rp5+jWDNFHiB6/TxVH1oS/1aZ40LZWVJW/mVjTejaWzciq/mYPI+KW4tXQwDeM0K/UZaOi5EOlgsEDT2Znmvgd835mX0RhkLei6fc8wu/r91Khs1ZdhfhYN0fY7eWf/+bP+FfQr05t9vUeOll0oPcSeiT4tqWDGGMUtLd12R7gHurnuAMxuyaTK7N01HVh2l1wseBcDHtpi9R90Wr3akN/jshS0Zopz17Z6ztHp+3ENHBDezsnXP84jMuUm942J8o5HM3FjscRxzNJorkT2nRGuDghEMfTPKmMBhceYnEiZEbluMpMQguTLAuUBJ8Q6bS/AbuwPZDbDem6kRP3h8RA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=ltqb21JYm1MpJEQhjOgKjNB97hOyn82rFa0dgEZtzFU=; b=Nffu83j9gqZfZuiTUdtmsvd5+bMJCupNO0b2tcb2SuCA60sbctZ9XA2BOdA403dOO81LZoZw0D+b3l4bhuhCYHglISMZm0K2G4/7+LmCpUFhfUTKeg+x0oi1ohw/ZQ+tRFux/8Nxl98eNL6/rzZAFEOVV6R/y7o4Fi+el+51aeeDVA3+jrnhIWK+U5sWS92O1e1Kya2zh/dA8uzIk0ATk3odVsDyc25dK/zIJ1FMwtWot5QOPuTHRNY07hOktsyWppVcafbCCL8y6Z7vKBcmddiWoWOGF/tfOGDLGkdnt3Vnkd/gviWfzJ3cYzRghnsXYjwT4VSkO3qdQbnjHNHP+Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=fail (sender ip is 178.72.21.4) smtp.rcpttodomain=dpdk.org smtp.mailfrom=napatech.com; dmarc=fail (p=reject sp=reject pct=100) action=oreject header.from=napatech.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=napatech.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ltqb21JYm1MpJEQhjOgKjNB97hOyn82rFa0dgEZtzFU=; b=opawVFFubkI1jjmRH704wSDAk208IeG0av/97I3IexKrdrrBcABCxpPuqVOGBBRJYlEzBuLDAyo9l5GVzfSbPVteMG4iVDwOKSQwMCSZjr5ga8MBCvzT6hnVEjB8O4wsDJ13xC3jyt2t7QC2uS11JBQCTurmF0SZ7jS6v6LXjzU= Received: from CWLP265CA0348.GBRP265.PROD.OUTLOOK.COM (2603:10a6:401:5a::24) by AS1P190MB1799.EURP190.PROD.OUTLOOK.COM (2603:10a6:20b:4a3::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.11; Wed, 5 Feb 2025 10:46:10 +0000 Received: from AMS0EPF000001A5.eurprd05.prod.outlook.com (2603:10a6:401:5a:cafe::cf) by CWLP265CA0348.outlook.office365.com (2603:10a6:401:5a::24) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.24 via Frontend Transport; Wed, 5 Feb 2025 10:46:09 +0000 X-MS-Exchange-Authentication-Results: spf=fail (sender IP is 178.72.21.4) smtp.mailfrom=napatech.com; dkim=none (message not signed) header.d=none;dmarc=fail action=oreject header.from=napatech.com; Received-SPF: Fail (protection.outlook.com: domain of napatech.com does not designate 178.72.21.4 as permitted sender) receiver=protection.outlook.com; client-ip=178.72.21.4; helo=localhost.localdomain; Received: from localhost.localdomain (178.72.21.4) by AMS0EPF000001A5.mail.protection.outlook.com (10.167.16.232) with Microsoft SMTP Server id 15.20.8398.14 via Frontend Transport; Wed, 5 Feb 2025 10:46:09 +0000 From: Serhii Iliushyk To: dev@dpdk.org Cc: mko-plv@napatech.com, sil-plv@napatech.com, ckm@napatech.com, stephen@networkplumber.org, Danylo Vodopianov Subject: [PATCH v2 16/34] net/ntnic: fix var size Date: Wed, 5 Feb 2025 11:45:25 +0100 Message-ID: <20250205104548.1533554-17-sil-plv@napatech.com> X-Mailer: git-send-email 2.45.0 In-Reply-To: <20250205104548.1533554-1-sil-plv@napatech.com> References: <20250121170814.3252171-2-sil-plv@napatech.com> <20250205104548.1533554-1-sil-plv@napatech.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AMS0EPF000001A5:EE_|AS1P190MB1799:EE_ X-MS-Office365-Filtering-Correlation-Id: 72130550-b5e3-46f7-39d9-08dd45d24d57 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|36860700013|1800799024|82310400026|376014; X-Microsoft-Antispam-Message-Info: YXdci+9LpVLj5vdvmwAWKbA0e3quxXhzcvpNQ5Oik62Onr2SnZsItM1PSxrwI8wEZqNui4zWxqGimH2M3uOJO++T6zpxNerJrUKbRf5edJ3oVEmNESOx9Y7DDVsv++HHyEizCxvIR8T20R5kdw20Z7YFeOWrNPMKnMVkePwIbKkhufVKofguLMm5Ord6C1CsKu+GWVMU5BSvHIVRI7I4hsJPIJNtnvJ9fuidtiIUxOEXAR72rcsbF+DWSIiO1oMqilxHZS/qBA4zAKX7Pm+cpQ5FHwoEegi2ybAFGAR0M4PgzX8QEzYLyi0qiMFLXeKqqe9+7KVG5ytEGOUYUryF69ltd/9nG/ggdB3zwPtSSUafofeyOIfA6F+Hi3UEhiP4cQMNyUqiiMqo1uJPB6vREJHD79+l6u/if9xoJsSv9yPQk2gv42yUcJYpU/DhCGhD8tBBv1viovHEIFk+4ywIvBSIw0VnZ9GIdBXQH61zpDwujW8HvFvbRBMPr596vglwd1cZX0M1A+J8Aeiaov243cZzJ9IWwv+rLvuxersIMfv8BrBXRP6Md6LVG8PLODX6RfwhD9Z6c+qOF9eQtmS+P34IGHgISOAZsVGeaHmUpOIDTA3XnfYs1XDmC0NpJ+YbCCtU45MY3hWsiZEMsriOHbJm9+VDXrde5bR2GYrk0i4Pg8vLPwMwdkx4YmmFWeYuEfy6MbTVy71B8tJmVVPS0a+mahuHQm1GLdXw7q4d4JGgPMj2dhOMvszff3LmEEJ6qIR/wOxW+gzrg64gNPyGB3AJZO/j9IrtlkNBFbnFn89h5//O375uGy27ezVBuXibrXZuxg1Zh7Cw9uDjLAbzNAKZ983UxQh+P1TeolGDvE4mNjApvzaJbpRgiHFBmm9/UH3wkcC58u+cOd3uMhStpcxeCwCGppHC3I5fWOwI8yV8YPljOm/wyfm3BzJEptpEYaWe5f/e0ow9XgeQzsIQ9psE/r4FXJs5CDXrwYSwxB+1MIp+Op8IB0dKZXR2vcM9xpWgDm3incLLClMmU4CejZTE7Dmuqp+curgSAcMM4pN9DEzr20EeWYTsVt/+UiZW6+J29wA/Dn4hdlPUMQOwcUZHHJhw8WNlwgIwb+wN0aeX7AJ+tp/QHSP5hB9RvQvYY3B7ez3gbHhotHn6rP8qepGf5bVdHoGph0//9m+3AMMPWsSNjNEE5Kt8VeaRYm6/+gXHHKH7lFKQHtHsvkgXkF308f/w+gwdv96mjwR5qFdLYHnpK3cuWkwYQe+61nmHejwUBUzfJ5CxODzRWghhgaMMqERekQsJxOW5Vot2GWI2XJW8zV2kJDWBcCOOb8B7Aaoy9hvnlRei0YcVMRMso1aifRP+GqOU9uslF3T3vPwV+5qgRxYGPvjkLh/Y8+y4EF4WAMj1L6SjpsC/rVEIb5BxsWgx2GsdC1zXVz73OJapeaTCHsT3NEDsJkTSuFM/+XrvF/bRjE/VekATAZMtgL4pYRCsAZALisb03pQdmEs= X-Forefront-Antispam-Report: CIP:178.72.21.4; CTRY:DK; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:localhost.localdomain; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(36860700013)(1800799024)(82310400026)(376014); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: +JOaSt+6aSdq5PcXDiGlss92WsqLOtONVMYbKRBoJpehkpHrBK66udze2Y4yaOCXfGZMw8/SAWjxWT0E+loGQZtYIEt+foxFEo5POdmbFzua8YZGa2cNqV9Pz3bISfcUJzukeoHn6o3de8+CaBxYv2pM89if1AozufcxNpaBHIeKFCnFGUykihG/tjoZsM+5J2zJDX0BtdnIvmUcGOI5X3HYGI93zVM6iOasany3vE4r25EBthVCRES6I+j75jxVIoe8hpJhrAHC1f46CFjD/HvRR2XOWGEZXWuVU1C8adAI29OwXPY7HYe/shjl/WBQgdr2xl2MfGhZhz1ZV9gsHzsVX+OYE/a8xJ5Li5OjFBqTKvCz05zOVXiRwiY+KbO6wrbamnPmCfLas+cthjY3nmJpBr894hIxozJmIuv7+36GZWshnsROTqc52QNIzKpwyzOPUD//LV+EObcehCD4idGK4ZybiOsrUTNFKUvsoAlm9QdOKMjg7GCD4qzWXbF2OFIwwrH9PgYZ8dFYFTHcDzXcdEAL6eesyZdoEtBZoG35pJmQsTu1ZlubIO2DNEw5ScHbCJhXfJjKtqZae47O0IGTd10+K7ErSnKE5GaXsHjzPkPNE1OElkKVWtWRwHFCO42kor1C3COcYDwapUU9ug== X-OriginatorOrg: napatech.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Feb 2025 10:46:09.8083 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 72130550-b5e3-46f7-39d9-08dd45d24d57 X-MS-Exchange-CrossTenant-Id: c4540d0b-728a-4233-9da5-9ea30c7ec3ed X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=c4540d0b-728a-4233-9da5-9ea30c7ec3ed; Ip=[178.72.21.4]; Helo=[localhost.localdomain] X-MS-Exchange-CrossTenant-AuthSource: AMS0EPF000001A5.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS1P190MB1799 X-BESS-ID: 1738752371-311016-7899-627-1 X-BESS-VER: 2019.1_20250203.2302 X-BESS-Apparent-Source-IP: 104.47.11.236 X-BESS-Parts: H4sIAAAAAAACA4uuVkqtKFGyUioBkjpK+cVKVoYGJgZAVgZQ0MDY0DI1xcLSIM nY2MDUzMTCyNIoycTS0Mgy0dzQ0NJcqTYWAKhOugtBAAAA X-BESS-Outbound-Spam-Score: 0.00 X-BESS-Outbound-Spam-Report: Code version 3.2, rules version 3.2.2.262304 [from cloudscan17-106.eu-central-1b.ess.aws.cudaops.com] Rule breakdown below pts rule name description ---- ---------------------- -------------------------------- 0.00 BSF_BESS_OUTBOUND META: BESS Outbound X-BESS-Outbound-Spam-Status: SCORE=0.00 using account:ESS113687 scores of KILL_LEVEL=7.0 tests=BSF_BESS_OUTBOUND X-BESS-BRTS-Status: 1 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org From: Danylo Vodopianov Function operate with uint16_r value, meanwhile return value with uint32_t size. This conversion was aligned to the uint8_t as far as max value of the return value could be equal 16. Coverity issue: 446747 Fixes: 67aee0a69665 ("net/ntnic: add used writer data handling") Signed-off-by: Danylo Vodopianov --- drivers/net/ntnic/dbsconfig/ntnic_dbsconfig.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/ntnic/dbsconfig/ntnic_dbsconfig.c b/drivers/net/ntnic/dbsconfig/ntnic_dbsconfig.c index 279a852a1c..a2c9ef27f0 100644 --- a/drivers/net/ntnic/dbsconfig/ntnic_dbsconfig.c +++ b/drivers/net/ntnic/dbsconfig/ntnic_dbsconfig.c @@ -345,9 +345,9 @@ dbs_initialize_virt_queue_structs(void *avail_struct_addr, void *used_struct_add flgs); } -static uint16_t dbs_qsize_log2(uint16_t qsize) +static uint8_t dbs_qsize_log2(uint16_t qsize) { - uint32_t qs = 0; + uint8_t qs = 0; while (qsize) { qsize = qsize >> 1; From patchwork Wed Feb 5 10:45:26 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Serhii Iliushyk X-Patchwork-Id: 150949 X-Patchwork-Delegate: stephen@networkplumber.org Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id D7D844619A; Wed, 5 Feb 2025 11:48:03 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 2958B406FF; Wed, 5 Feb 2025 11:46:25 +0100 (CET) Received: from egress-ip42a.ess.de.barracuda.com (egress-ip42a.ess.de.barracuda.com [18.185.115.201]) by mails.dpdk.org (Postfix) with ESMTP id A71194066E for ; Wed, 5 Feb 2025 11:46:14 +0100 (CET) Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05lp2109.outbound.protection.outlook.com [104.47.17.109]) by mx-outbound9-60.eu-central-1a.ess.aws.cudaops.com (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Wed, 05 Feb 2025 10:46:13 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=OLmQ2f14eJmNXkP0irR/DpIyBsRV02SalAuAGdcBJ7lg6056h3xmFA6SuNSLycyRwSlHnHDIrRdp6RsLC9cdHLhSXO54KX9c87vmGDXjTrQflvohssJzDd4qLb8jP381l+4ZJdw/LLT5sPrSSgGXwQzkOeHiPXJKGzXk7EQAfArVCULTgqcy2ldOlgXRiPzragkS/U5siZ2IWBHgRmiEKOGcA0FHqzTJuMlypzTmdDK/MfntKsqhu+n/KS0aKu5t9kEfDG0lNL6QxtW6DohhQ/kAzDeLDw07EwdRcEeOrLc7YqiJF4notvpATStCWgAPfBqCGtTmZlcl2h80id2vLA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=lJxaCw/5VKVmAxtz8bGsEWKB5cwzmeiYjrivuSwRDPM=; b=FZY0X2GUscGzFjQE40bAbFE6y/2o9BHOCdZDD87TtVVN0vUim04ofpM0XODfKPZliMJFu2Gg7KXPEUtZ+m3YDDr5zLflVH4zBDgzhV5djmZZra7FQ92Dwm6iPIhCR5K/SPucAAQhCkqhCAsScE6AQvGtw6356T/Mzj9QeLpAjXV41fTI/ZVBcW0NdhwJTdvl+GtkHFt361SrqtLxRFJKLB1BXbnRzplsVzCLnP87Cq3PGHbFC8+/RWoXFZvtavxSLDfhjRIM0UJVRsgviHCYdE/fy89eVEUT4DZCzYnfhKgN6oAjFidPqY2LRHsdmIJJb66SKChzFVe9E3NNw9PiOA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=fail (sender ip is 178.72.21.4) smtp.rcpttodomain=dpdk.org smtp.mailfrom=napatech.com; dmarc=fail (p=reject sp=reject pct=100) action=oreject header.from=napatech.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=napatech.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=lJxaCw/5VKVmAxtz8bGsEWKB5cwzmeiYjrivuSwRDPM=; b=OTCbJJzWZCKUfTsy4eZEiiYSx9IaGLbuldTdMOeZ/WOtBmkNzU7pR2IMWsCNcB7zMwGd0rJ8U2sL4Z/VUdzlfzWrCo916BVO9Z0QVHCS1tNtSJJ4YUuH4ggjaXzr36Pp085ZwIDkWygW+T1PfenyMFoFNL6nKlmBRVNbtx9fG/M= Received: from CWLP265CA0360.GBRP265.PROD.OUTLOOK.COM (2603:10a6:401:5a::36) by DB8P190MB0617.EURP190.PROD.OUTLOOK.COM (2603:10a6:10:125::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.10; Wed, 5 Feb 2025 10:46:11 +0000 Received: from AMS0EPF000001A5.eurprd05.prod.outlook.com (2603:10a6:401:5a:cafe::80) by CWLP265CA0360.outlook.office365.com (2603:10a6:401:5a::36) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.26 via Frontend Transport; Wed, 5 Feb 2025 10:46:10 +0000 X-MS-Exchange-Authentication-Results: spf=fail (sender IP is 178.72.21.4) smtp.mailfrom=napatech.com; dkim=none (message not signed) header.d=none;dmarc=fail action=oreject header.from=napatech.com; Received-SPF: Fail (protection.outlook.com: domain of napatech.com does not designate 178.72.21.4 as permitted sender) receiver=protection.outlook.com; client-ip=178.72.21.4; helo=localhost.localdomain; Received: from localhost.localdomain (178.72.21.4) by AMS0EPF000001A5.mail.protection.outlook.com (10.167.16.232) with Microsoft SMTP Server id 15.20.8398.14 via Frontend Transport; Wed, 5 Feb 2025 10:46:10 +0000 From: Serhii Iliushyk To: dev@dpdk.org Cc: mko-plv@napatech.com, sil-plv@napatech.com, ckm@napatech.com, stephen@networkplumber.org, Danylo Vodopianov Subject: [PATCH v2 17/34] net/ntnic: fix var overflow Date: Wed, 5 Feb 2025 11:45:26 +0100 Message-ID: <20250205104548.1533554-18-sil-plv@napatech.com> X-Mailer: git-send-email 2.45.0 In-Reply-To: <20250205104548.1533554-1-sil-plv@napatech.com> References: <20250121170814.3252171-2-sil-plv@napatech.com> <20250205104548.1533554-1-sil-plv@napatech.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AMS0EPF000001A5:EE_|DB8P190MB0617:EE_ X-MS-Office365-Filtering-Correlation-Id: 5e50d9ee-dd3d-49ac-fa65-08dd45d24db8 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|376014|36860700013|82310400026; X-Microsoft-Antispam-Message-Info: S3XCRuzMAN4qU63apgPaaHV4BCpsO0atpekqS9ZugdQ4BA4hqXeopzlwRZYyCp/v69XDsCGthwNALf6OZfdvUWJZRMSTLFCY5pS5fIHrK5D/jCFhFX5sPibHBOxNg1YBibvOxC8zujz0mwhaqFZxeBDjPBqx0TwuafuKl39YEy2lLKTTpEMXjDX5tu5eKEkp5Y84I7/rYCUlbhfLdNifsUE7Zb/lAy5xpCUCX8WD8X98jx74p6in5uzF3X0md0Q+zPQFctcZPUkLRfFR0nIVdv/lGKJwv2uSSBJBrClKdGRYXeje2qjQ3Ul3COw1tUy+bHfXehEcVuBe5jh1lxDMsMtoZK0UG8kDP6JKS+Myd5WtYqyMaRiayowqPGIPVwDUSpabLDTenVWrvHDDIMTweHvjW0/uTf5CQ8O2KwVOvo/dGjHpam9My/48Hhqnl+Zy6iMKBO5zgrrwlvqSmGj+pXXyn6s8Z480Yj/26uC6M0liA3mXN/RT8mSCjciO7FRzMh06mLxY1H8/vK9XGj++8Bz/mdJaoGSNDCRTr+z4jbSTzwCXrywsqRVFdWK0FIn7aciPiMioaTX0JImGAWsilx9vLyeMdHMDbvDA/9nmHfdXvvhp22qJ0GQvL9E6xco7VIJJ7KQilwBlmu5SljGsD0Kfjfy/kcbsvzZTVXmPMnhepwOQNgo111r/oxlzA4PGxPugVUmCLeRT6fgoFiQ6oVNlw3vAtUjnrAbjt6W8kxWDCs+Q6UekcQiR+IiOvi9TOHFY0vCMEbw/GUegbgFVqiIOLOrUikKF25T2/2p5E/GmtPWLCIp+eTPnAqxqUK2+sHtK+64DrrflNRwqbAubZGtLUiF03Q08YzsSFuNJAG5luTacfeSId07/rl1b7Ds2mH33+8se5zrqUWhYFvxZDOTCx6Evvtuxb+JtqcdCo1sKpBv4xVtZ1xV4SkQ3Td9ijQevsc2YIjOlot6ALkk7TBiGKEMnrcrAKzvqlQXeRQ/Yo6RsRgLqX3TIpa9RakZa0tLYIcAiVU9XXJBxKgdkytWcfOo+XiaS98NhCUNpCefj4Cz90SpHDtgUwf01YCPTg4kGTEbJlkVwey7ei9mJLiXpwQtE2ZoFfzjXdl/iHT+JFhwm0qooAKbz7/nI+FfkjufE+wJpv/0yujco0NgWV5bJR1kTLggQBJnBVZKDMuBe9MZDJIocBp6vakkuCDD4pl7S23QqmB4onHYoqU9Qgta8CTroj9YtA5OuYPtPzhxqTggJieunHKq0xnbL0vWATTzdkFOTHvllk8MIkYiOi5vsYfCYfLh8xE4rz5j5k8mk0V2tmTws2cZKXqBPXSKO3N5IMEe1FA7FtHTTdhuqivmZ5ulxqL1mVGD9KenpIbdQxeWIU2GfoRcXfRPMYMF5cuG/bSSehVey2PZ5HXoppjQPeP7FyklYDEhhKw77fyVqpqz6unNcg0m8slj1aDwCCX20PSJ0P5yWWJerVCnbzIeDjNILTcr1E2nUvgIDu2M= X-Forefront-Antispam-Report: CIP:178.72.21.4; CTRY:DK; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:localhost.localdomain; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(1800799024)(376014)(36860700013)(82310400026); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: bTtg+U0lolgGEtDErnU3FTdhgXV2lM7hLv2jGSR9J94itYk0Z21C+odzlmHs+T/cgB7edphCP29c32H9CR1gQoXbWv4p0wOoYaIRaQDSWcKEg5UUvy2XfRT522xALUcCfj7PjBqXwjvkxKeW0LH7C2PnGwZaWXGCjhEb5prB3Ck0VraG7kPxCn1WGwU8gh+X90wgS8DolmJNNl5/fKkCoH5pRoi/qrHiRXdHhzG5Rfd1lmZHyC8JMCe8F6gdLYhHyVm907P/e1NeXU1+j4PZVkz7vHyf+S2bpsoVtICpPwjiabm9CtOqp+UWGUPgpxRUyffyB0CHBVdPCgVHF21FyX+JiJ5fl0Fu2vYnij+NPvADIz1NUiBqkfQVevLLNTizlVKgTPH6YdyleMhr3LPPlvxFcxSCiCVKlhJf0rcf86p6GEVDgI/NLtGtFm3j/61HM7wnyzWUUu/I2etZV/MRBIgCYWBP4JtRhtjtln3d/YDvpabsq/eMAC1GP83E1H7Fw1cQ3HikHmDQe9pP/85Tz/oT6En6tI4/KuAPjE+BAbOWWPZsxoaZA7L6/40E9osgW9GMQHxMKSFyXMTx+mroJRsLH3EuTy6aqihmwPMHJekDYs8WqV2wPfmzgZtJKPMFrxQBc6osu5+MqitlDEQ/Lg== X-OriginatorOrg: napatech.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Feb 2025 10:46:10.4489 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 5e50d9ee-dd3d-49ac-fa65-08dd45d24db8 X-MS-Exchange-CrossTenant-Id: c4540d0b-728a-4233-9da5-9ea30c7ec3ed X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=c4540d0b-728a-4233-9da5-9ea30c7ec3ed; Ip=[178.72.21.4]; Helo=[localhost.localdomain] X-MS-Exchange-CrossTenant-AuthSource: AMS0EPF000001A5.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8P190MB0617 X-BESS-ID: 1738752373-302364-7587-660-1 X-BESS-VER: 2019.1_20250203.2302 X-BESS-Apparent-Source-IP: 104.47.17.109 X-BESS-Parts: H4sIAAAAAAACA4uuVkqtKFGyUioBkjpK+cVKVoYGFgZAVgZQ0MTMNNXYLDXF1D zZKNXc1DDV0CQlzTLR1Cw1Mc3CxNxMqTYWABa2FPdBAAAA X-BESS-Outbound-Spam-Score: 0.00 X-BESS-Outbound-Spam-Report: Code version 3.2, rules version 3.2.2.262304 [from cloudscan11-114.eu-central-1a.ess.aws.cudaops.com] Rule breakdown below pts rule name description ---- ---------------------- -------------------------------- 0.00 BSF_BESS_OUTBOUND META: BESS Outbound X-BESS-Outbound-Spam-Status: SCORE=0.00 using account:ESS113687 scores of KILL_LEVEL=7.0 tests=BSF_BESS_OUTBOUND X-BESS-BRTS-Status: 1 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org From: Danylo Vodopianov Casting either buf_size and num_descr to uint64_t before performing the multiplication was done. Coverity issue: 446740 Fixes: 6b0047fadf41 ("net/ntnic: add queue setup operations") Signed-off-by: Danylo Vodopianov --- drivers/net/ntnic/ntnic_ethdev.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ntnic/ntnic_ethdev.c b/drivers/net/ntnic/ntnic_ethdev.c index 28b086c009..6fcbb8fa9b 100644 --- a/drivers/net/ntnic/ntnic_ethdev.c +++ b/drivers/net/ntnic/ntnic_ethdev.c @@ -790,7 +790,7 @@ static int allocate_hw_virtio_queues(struct rte_eth_dev *eth_dev, int vf_num, st NT_LOG(DBG, NTNIC, "***** Configure IOMMU for HW queues on VF %i *****", vf_num); /* Just allocate 1MB to hold all combined descr rings */ - uint64_t tot_alloc_size = 0x100000 + buf_size * num_descr; + uint64_t tot_alloc_size = 0x100000 + (uint64_t)buf_size * (uint64_t)num_descr; void *virt = rte_malloc_socket("VirtQDescr", tot_alloc_size, nt_util_align_size(tot_alloc_size), From patchwork Wed Feb 5 10:45:27 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Serhii Iliushyk X-Patchwork-Id: 150948 X-Patchwork-Delegate: stephen@networkplumber.org Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id AA94C4619A; Wed, 5 Feb 2025 11:47:58 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 034D5406B7; Wed, 5 Feb 2025 11:46:24 +0100 (CET) Received: from egress-ip11a.ess.de.barracuda.com (egress-ip11a.ess.de.barracuda.com [18.184.203.234]) by mails.dpdk.org (Postfix) with ESMTP id D01BD40672 for ; Wed, 5 Feb 2025 11:46:15 +0100 (CET) Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05lp2112.outbound.protection.outlook.com [104.47.17.112]) by mx-outbound9-60.eu-central-1a.ess.aws.cudaops.com (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Wed, 05 Feb 2025 10:46:15 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=GO+I8MkQvFeFr13sJJlu22CZhMStL0UgwpLE0WWfsmUzvgTq2SfhBaQcJ7VWXdgkjUgQfJpN4NZLhM3XKpSsUBY7WiPmJUvAoGsv+B1pLTxtxlUkHx2cfJRi/fKnLtUNFAfpcIYkTnvTamJpK304WQS0V0/ZcorJ55XeKazp9X+bJiSBpGYzvXiYaT01XlhMuLbgsIn23ptlSL36hnIZL36kzqFv8W8mTaKgrd3U83jj5Nv9tgZ+8Hf/NKyG2mkDDSXT8B0V//SDsWnUT4Gjgq6JftepOq2F3j9SWmGr9FVpaWgfPDYzcQgBiFN1j2G3XVbkdQJsvUezHY6y/jrGUQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=vGC4mB6h52LeL4T5Wn4sWsYC7JTlPOQ5v8M0/SHsbws=; b=cOk3gl8dZLurkxVxTGFBTNjYhAPme9dSjqt5WuAsAFDo1V+h9no0Pvzq2aIYdi+ZPlIzSsutWI1xReAuzgJb0zbNeozi3ckXy7/7DxUJZuazEEzYYLIFzz8DrI6mVIt4puh+skMrznQ/po8Ru4rY/M5JBx+jfZ7/Nbrh0qIV5poRNrDOUSzmvsr/cGx/pFMqJBvzpbHoIy4WlE5w2KPqdX8FNFmpOr0t8PDfKk2gRqo7FvJLAthEA4jCqTa5lIR9ALegPiNWxk5uDoP8S4XRN//4oL7cAO5g9G2VdUqgbuZjlfx575pXRKPvbW5ZlM97I6YgWfJhUjKOZxCsO/otaA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=fail (sender ip is 178.72.21.4) smtp.rcpttodomain=dpdk.org smtp.mailfrom=napatech.com; dmarc=fail (p=reject sp=reject pct=100) action=oreject header.from=napatech.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=napatech.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=vGC4mB6h52LeL4T5Wn4sWsYC7JTlPOQ5v8M0/SHsbws=; b=aHkjADC+7rKzXvxRihezDAwgx32vPyrw14tXFnHwtj907oDsICdYOQYwXSZwpl1WR+iPF7EYIO/4svQdfRipzUJrJonx4HONFt6VKOtFD6FPRiOls3nrfOtVO/9BVwPnbIF0SWLLCyWmmjJrF69/djJpDWrs3QWsHOlunXpebUw= Received: from CWLP265CA0358.GBRP265.PROD.OUTLOOK.COM (2603:10a6:401:5a::34) by DB9P190MB1067.EURP190.PROD.OUTLOOK.COM (2603:10a6:10:22a::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.10; Wed, 5 Feb 2025 10:46:12 +0000 Received: from AMS0EPF000001A5.eurprd05.prod.outlook.com (2603:10a6:401:5a:cafe::26) by CWLP265CA0358.outlook.office365.com (2603:10a6:401:5a::34) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.25 via Frontend Transport; Wed, 5 Feb 2025 10:46:12 +0000 X-MS-Exchange-Authentication-Results: spf=fail (sender IP is 178.72.21.4) smtp.mailfrom=napatech.com; dkim=none (message not signed) header.d=none;dmarc=fail action=oreject header.from=napatech.com; Received-SPF: Fail (protection.outlook.com: domain of napatech.com does not designate 178.72.21.4 as permitted sender) receiver=protection.outlook.com; client-ip=178.72.21.4; helo=localhost.localdomain; Received: from localhost.localdomain (178.72.21.4) by AMS0EPF000001A5.mail.protection.outlook.com (10.167.16.232) with Microsoft SMTP Server id 15.20.8398.14 via Frontend Transport; Wed, 5 Feb 2025 10:46:12 +0000 From: Serhii Iliushyk To: dev@dpdk.org Cc: mko-plv@napatech.com, sil-plv@napatech.com, ckm@napatech.com, stephen@networkplumber.org, Danylo Vodopianov Subject: [PATCH v2 18/34] net/ntnic: remove unused code Date: Wed, 5 Feb 2025 11:45:27 +0100 Message-ID: <20250205104548.1533554-19-sil-plv@napatech.com> X-Mailer: git-send-email 2.45.0 In-Reply-To: <20250205104548.1533554-1-sil-plv@napatech.com> References: <20250121170814.3252171-2-sil-plv@napatech.com> <20250205104548.1533554-1-sil-plv@napatech.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AMS0EPF000001A5:EE_|DB9P190MB1067:EE_ X-MS-Office365-Filtering-Correlation-Id: c8711f7c-7baf-4975-b392-08dd45d24eb5 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|376014|82310400026|36860700013|1800799024; X-Microsoft-Antispam-Message-Info: QL6y+48c/DzOVgG1MfVfYRVu3ZjOpq7NS9itjHyR1U0dr3RvNSHaJKIOSATAA46076UQWtUqp7UDsblIx81Xqz/ciExOHD8lzwIvGeRmjNApDKM74pfVbL/4sHZPQYcAZeHMm1Li/R87MAGwpHXNXvn90PvUSitb6mwJapS5TVWLTm9ASAPkKX6zK3FI6jd5lSbMZuRBAi46wrdl7X9t1r6SgVxgz3bcXq0sB5sFzXt+RRlPj26sWOdPKxXPpToV7AylqmMv9Wi56KaB0rnzKZ4USmR5fX7NoOVDTg3gSuPBaDNgwYM2r+/h0iMW4v4+wFAGwoHb5PmgEIlK8ciZANS1PxMOFdzf0RZSBTJPkruOCaIfZVJnWcnPfTnq/8NDZJm0HvB7Xx1hss6AxpyQqEG9fqKj1LKiHOjT91Awo9BDzRc0hAZMHdtDVmdS6oaziWqvH87/GVSyPRVRuo2cqChGtTlT6B+dd+s8ELvgm3FFqpIa9f/4MgWWSG3XQEvHlx18SzB8iXPucIgwnMVux+qoPjaXnNsHsVLDCrdNgjJdWy1c9ORO/CL2wMfwxf4zXHa4gKxj5tW14Zcs4Ou7m4J3v3r1cBo+iM3T8/Laxmq54MigzKDiHCbX1BEXddG7s7A6yiqw1u8tivkiPdG2bHhMstYB0mj8iwACcMzUr7z8RsfaixxEpkLb62beI6G16+TvomleJPmQ+lgkTdN56d78DrMLZ67zSiS0ry7oLg1vmkHV7ZaJU4zL0ygDHlnXhXH9A26wJLmfxi/SgRfDXa2jv9gm4ThPRlVhn3DpgHtZyXBO1nz4UwC9CJnxUvkn29/JyI0862yrxWZebq7ONhA9ye8+uC47J0KhVQ+/Qp75guKtvtfT4KQSNufYhmCis6Vs/pMH3JbaE/RWR/tVuPUnjd5/uSDy04lAgQylcVmK5/8llYqu9VK3fImxXjtwq2mhJqo8swetCCX8sFM5/76Rj6Qo9pi96GVchoVlcVPqOOs00CKbc8t6ehNGq7UjH7GJBRHA+R3XQ78dTNuIdSS/Nu5RQYepM1w7LrM4Ma5HAr8hTw2hwnXa8snnsAOE25V3esHJ8PeWwMaaNMNVINBCER6gbciJW5X+FX/bqgYuSe6oHWz37MpIEOEoAGA8+BoTZYnAGu+F9gG0e8DdPXlKDn3YV3DBQg0OnRzNcxVyQxJMTxsQfr8yNE0DbTXNyrbAP+KyY9FeXC0956K1Qb1Yxn72G67k/tyWBhLhixeU0SimJvJOaqhrzJQ0pKHR8jTtXldvbK5ILFspAPsfIUtySE2atZKfCT+MXWSGjciAaXf4A6eiV2yjjjnzeP+71zSiWtHvWY068konHIaAzceNN853c33aVm15ChYAsvGRzCzfGHjtsp/2mBzmAivYzv3v+Z14Yx/fswc2MQDdpyQqm20UjRYN8AKT1RiY04Tf0QEDY7moz7YUChKEmW5xrof2i8MoTMANlNwp+4SEag== X-Forefront-Antispam-Report: CIP:178.72.21.4; CTRY:DK; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:localhost.localdomain; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(376014)(82310400026)(36860700013)(1800799024); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 8dufIZB81AWoR2RyHgy/qD7z/5mCeI559t+SXQBhMAit6eF6oHQqUHrKMzHfytZhvOgyUsoeyljsScjGhfJChwg/lyY4V79+wUd53sI03SO6jXjIrt7iBanVd3Twoa3Ei9IWgQpGLaHyqQlPo6XQGYPZpvb1Pqnz3D2z789hsqOxkJ7V30RAdM/bFqFk+aAcJYZqxTKEevO8+AZq+f6aqaMF4UZvm/2VKocQ8WBGQwzlhfaYGnO9xxC/3LVjDmkIGSVcSauq0z8rDvvYmb0TqT5/K+GIJTL4a7MuSl6PWk6n7B+SHMZno6l8KDH+JktnI/t+5EGOTF4+Cq8mPeFKeSHUz5Tx0TBP7uCPddwYB0G3l8mSAQxSyjFpFOiDqOfxQnSKmLdM6aoDNffYNxIsAXKluBmvM1l8O5twSSOp1+eIGmQa/XOkIXbAijgnMdjwCF3Pj1WT5i+igS5pNNWSYRNueT4QDgz/WLBt+YN5MmVU8aZuEDpKMZjVLx1zT50loAOBHW/hjCcZxDG3iQ+H0+gTBrJgtJupRCHbh0RXBrPGCPZCP7h9W2ABwMwxdN8Lbn0rvAIW8T7u6/cHBKXuK9u0/GWFvIES+RpQybAUX5Q2rI4ESyRr3K3SUp5vScMe8JyCzgds8GfyFmws84i2jA== X-OriginatorOrg: napatech.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Feb 2025 10:46:12.1051 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: c8711f7c-7baf-4975-b392-08dd45d24eb5 X-MS-Exchange-CrossTenant-Id: c4540d0b-728a-4233-9da5-9ea30c7ec3ed X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=c4540d0b-728a-4233-9da5-9ea30c7ec3ed; Ip=[178.72.21.4]; Helo=[localhost.localdomain] X-MS-Exchange-CrossTenant-AuthSource: AMS0EPF000001A5.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9P190MB1067 X-BESS-ID: 1738752375-302364-7585-663-1 X-BESS-VER: 2019.1_20250203.2302 X-BESS-Apparent-Source-IP: 104.47.17.112 X-BESS-Parts: H4sIAAAAAAACA4uuVkqtKFGyUioBkjpK+cVKVpYWZkBGBlAs0Tg52Sg5xdjIIs nA3CzZIsnSyCzZxNQwMdHQyMjQxFKpNhYAHPO+v0AAAAA= X-BESS-Outbound-Spam-Score: 0.00 X-BESS-Outbound-Spam-Report: Code version 3.2, rules version 3.2.2.262304 [from cloudscan16-182.eu-central-1b.ess.aws.cudaops.com] Rule breakdown below pts rule name description ---- ---------------------- -------------------------------- 0.00 BSF_BESS_OUTBOUND META: BESS Outbound X-BESS-Outbound-Spam-Status: SCORE=0.00 using account:ESS113687 scores of KILL_LEVEL=7.0 tests=BSF_BESS_OUTBOUND X-BESS-BRTS-Status: 1 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org From: Danylo Vodopianov Unused code path in the condition irq_vector >= 0 because the condition irq_vector < 0 is already established Coverity issue: 446745 Fixes: 01e34ed9c756 ("net/ntnic: add availability monitor management") Signed-off-by: Danylo Vodopianov --- drivers/net/ntnic/dbsconfig/ntnic_dbsconfig.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ntnic/dbsconfig/ntnic_dbsconfig.c b/drivers/net/ntnic/dbsconfig/ntnic_dbsconfig.c index a2c9ef27f0..e1eccb647c 100644 --- a/drivers/net/ntnic/dbsconfig/ntnic_dbsconfig.c +++ b/drivers/net/ntnic/dbsconfig/ntnic_dbsconfig.c @@ -415,7 +415,7 @@ static struct nthw_virt_queue *nthw_setup_rx_virt_queue(nthw_dbs_t *p_nthw_dbs, if (irq_vector < 0) { if (set_rx_am_data(p_nthw_dbs, index, (uint64_t)avail_struct_phys_addr, RX_AM_DISABLE, host_id, 0, - irq_vector >= 0 ? 1 : 0) != 0) { + 0) != 0) { return NULL; } } From patchwork Wed Feb 5 10:45:28 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Serhii Iliushyk X-Patchwork-Id: 150951 X-Patchwork-Delegate: stephen@networkplumber.org Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 4A3CF4619A; Wed, 5 Feb 2025 11:48:17 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 6B09340A87; Wed, 5 Feb 2025 11:46:28 +0100 (CET) Received: from egress-ip11b.ess.de.barracuda.com (egress-ip11b.ess.de.barracuda.com [18.185.115.215]) by mails.dpdk.org (Postfix) with ESMTP id 1484C4067C for ; Wed, 5 Feb 2025 11:46:18 +0100 (CET) Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05lp2108.outbound.protection.outlook.com [104.47.18.108]) by mx-outbound23-121.eu-central-1b.ess.aws.cudaops.com (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Wed, 05 Feb 2025 10:46:16 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=hH7wBKZWKGkoy6OBMhBu07rRwk2HGyhjA0olgv/MIVQYqqXox7TWXMnOOAuPXZB92nUl7+ufVCuVXgaZroprUnePEX7NuxToA6oOK91EkcQGqGdtv195hxKrUD+OwoojFR30SVF1jxUpgNkHMssOvXxCgyLDEP3IMKA+KD2at/8/F/4MIapSw1oP6vDT8jmlpn1ax96hPaPyZAMK6iKQZX6NZZKqCi2IL0XiiZGDNLXrqUIHD3CBiyFYctVHidFFM14iFq0sk0FI75Pot7OTtJHL/HTsFhEWJJlAXcHx359QIvtrIDWt+m5Z1Pr8zgeQnLprL67zy1IyVJUU5iuiAA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=MUdU/e+TIQ2Gtag9GbB90j1lCus4XUDlz56NGixrcKE=; b=tOXQX60oeIVOTr9mjXKEmB4RBUyugUbgEDzShMzRx0l/7kJTVoG6OD2BBHqsTZSME4iA0WAw/JVGlx2mJ4HBlwQ7LN+sIAJFX6NoQmf2O2QWE7A50qX23cj6QxWvy79KOhQb6hF+vG6zocF0ZmHo5tCfZxNsHvD6yx7oyl7B8ED+Xg/f/RZA6/1bR+P7lXfYkGYNPEOh4WqWU95IGiqSoqhnf0/lMiFh0V5TamKhTEaxDpLgM6hMJ/7Z5ujFUBHdnFlIH84UuxkXHRtcf+L3uHhY/FnQD/AbId2QuV7Od0cmGL/GayK9Hp2++x3rk8INEPUEHHJcu3ZVFOD0vlDGbA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=fail (sender ip is 178.72.21.4) smtp.rcpttodomain=dpdk.org smtp.mailfrom=napatech.com; dmarc=fail (p=reject sp=reject pct=100) action=oreject header.from=napatech.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=napatech.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=MUdU/e+TIQ2Gtag9GbB90j1lCus4XUDlz56NGixrcKE=; b=Mhj6kVxBiisLI99uzAW56F8IY/LxaGC2X+ddsX4bDHSU/t19GqDeMyFVmU+Mc+rqSUmI5eAyeFXtQZny7z4hiroptdghcqugBwlxUEQqJ3U0cM+Wir/MCQ7aeeG71JwdcQkyAhRJ6uErG6KvtM4MO0NSTVc0AZLB+f3/DpD1Yeo= Received: from CWLP265CA0344.GBRP265.PROD.OUTLOOK.COM (2603:10a6:401:5a::20) by GV1P190MB1875.EURP190.PROD.OUTLOOK.COM (2603:10a6:150:62::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8398.25; Wed, 5 Feb 2025 10:46:13 +0000 Received: from AMS0EPF000001A5.eurprd05.prod.outlook.com (2603:10a6:401:5a:cafe::8) by CWLP265CA0344.outlook.office365.com (2603:10a6:401:5a::20) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.26 via Frontend Transport; Wed, 5 Feb 2025 10:46:13 +0000 X-MS-Exchange-Authentication-Results: spf=fail (sender IP is 178.72.21.4) smtp.mailfrom=napatech.com; dkim=none (message not signed) header.d=none;dmarc=fail action=oreject header.from=napatech.com; Received-SPF: Fail (protection.outlook.com: domain of napatech.com does not designate 178.72.21.4 as permitted sender) receiver=protection.outlook.com; client-ip=178.72.21.4; helo=localhost.localdomain; Received: from localhost.localdomain (178.72.21.4) by AMS0EPF000001A5.mail.protection.outlook.com (10.167.16.232) with Microsoft SMTP Server id 15.20.8398.14 via Frontend Transport; Wed, 5 Feb 2025 10:46:12 +0000 From: Serhii Iliushyk To: dev@dpdk.org Cc: mko-plv@napatech.com, sil-plv@napatech.com, ckm@napatech.com, stephen@networkplumber.org, Danylo Vodopianov Subject: [PATCH v2 19/34] net/ntnic: remove convert error func Date: Wed, 5 Feb 2025 11:45:28 +0100 Message-ID: <20250205104548.1533554-20-sil-plv@napatech.com> X-Mailer: git-send-email 2.45.0 In-Reply-To: <20250205104548.1533554-1-sil-plv@napatech.com> References: <20250121170814.3252171-2-sil-plv@napatech.com> <20250205104548.1533554-1-sil-plv@napatech.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AMS0EPF000001A5:EE_|GV1P190MB1875:EE_ X-MS-Office365-Filtering-Correlation-Id: b65e1060-a76a-45a6-c21f-08dd45d24f25 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|36860700013|82310400026|1800799024|376014; X-Microsoft-Antispam-Message-Info: t2dvltsnaFkK8FLVv2yqYSdmPfUdfN11E7ZfT42muxiTGed4ARHXMuJkazlbKzh0GJ2RLRh5dgLhIzy+sme1tbVuOHQghPl7XAJ7SvLrPF4sriAton1ieotdOwTcTeLWpL1royz01Ux1oP5IpnP97Na+TZZzfh3UxkxuDg4KCosy0XWdgdGGjGabLfIzT87p2FGzpy67Vp2NrLxIN5WTgwiZyaq1UaktuwXygBNr6wNs222ROQZm3bdU/73CYdyoUntSUu2E3C2OHrIpnUFojZjBoz3WPH3V/aJUGrVPKatGMknr2ax196hLnXm2Bo/Y9myoBBBjK2i653HG3VSI6Q3ih0LPGbuwza2/ANdwvuteLXzhRIl4Ha/UAyc+gjubbEJqklal6kdHO5cL5ePpZDISffMvEUcJGm/I+wgtoeXiM409JnKYQHH5sHwAntJoJ6qTfBME7HBm6JZUO0GIRpzlV/JoI5u87bDoG3smuNuByTo6G16MnTlQMuFUV89ezq2T1zp42LgjBdG8duLf/fFF82iJlNWXJcqv0jdNVvsQAzk2+O0df5Z3Hmi+neOUPrInsstyQblsUpWKSNaFtcx2SX8G4rDrmcVAX/iAS4MCgcw4a0ZqfyD7JsQM8BeDeMgfhbxnSDb6xDw10gTFNdcImYFPsOyk76DOi3a2+e6xgLLzslrnBBjUpCUx/eZhikWuzWnPVLru8bsvadPh7ihKyLozOzsrvah2oHj++y6hq+i6+3lMTPfWaWZVM87rMmg/S7Wuy0KwrjoXfsZb8cJ2psiuIonBS35KdKzTCDWbTrOKlzkyzTVPmHHcAlu1FtOdDagS/lYWb4uf8Dqv3ckmHMLXT8cAR50e/ZRs74EFrZMsaZV+sSUUse8QI467f8bxJitpiwEQsO0IGdcujcWCRW/jYSsEKYXeJ4RuQaaDu/yh3NxUv/taEdAjrxlRlRw1AGG6ZIoGigcGr7CeogXjHEfrwWlGc+pm4YOVGGe5qwAhvyRjv9ypUzjRGX1UwK5aSGlpfrNee+nFxyawDTjvlqe5+6OLAfKvSQRFvgxnRfwmqKrR1/GHuuErb3hMmfS1gb362nFSCrkVxslwnDIOKN+KgD+mx9deeqEs535dG17RemVlUy0qjb/upmiVEg4Tytovr6O4+FJmW7P9DNM7YH6zH9ETBSFK0XEpuIMVumfpwqQn6hhCdTFRmwl01ghF7wtK1OY/Xcc9Mh24Hl7LFCk8WQYXSop5DSoioldyNSp7e/PsjywMPFYRxV2cchI6ycjDyKCact5rQ9wRMPSrx1KeZd6Ev2F5+9G310LZdNxyFpZxgMq06SjD6+l0RUpX38+Z+RtdvGuFEYvsW2JJQtEVRTP1GyBMx3mzleeEyXry9hoBRWCN4AHAzdeCnZuqu9jWCFWLytArrlCjfctzEM8ySF/5z/ZmikCAmnRmW8/RuxdI12zwkp7t6KhwJvXkVGTbY9Cc3kfk7GFGiIItjxh+LwxUtWLkIIR+3wk= X-Forefront-Antispam-Report: CIP:178.72.21.4; CTRY:DK; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:localhost.localdomain; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(36860700013)(82310400026)(1800799024)(376014); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: buYGIWxJLsnMFEuzVbIeOXfYaNgC/QKu6u29WryF+iFaGUi+LEP67qCIr5a7P/o77DfA6fwenlGaMdClHKkJris55LHHqFEUXRVWT+GOS/uq5gCCue1vRkWrtodVV7dq9PX44vSvtYh8+ZupvUdhvU63hxNVzfMIfM8eY6KnZwxKL7uZ6d7nhBotlkZb1tAvjzVIy3lLTAR1qtPOlJYaHev7goPGg1nO6qJ20nltqLCPO/qYMy3OWNFGZ32mSXWg3+WeSC/BvqMlLXmwywrkmIy/FBm7MkwIU+GAAJcKaSkoEowXZidJFqeYtJ8EONraGZM6pJwiT3+0VTBB/Ju7FLIfD5V0PsFOAjG8FWfdi4C34+w+QyK6VijWRvppCNAMe9LzYKJuYexv7AjUMVix6o+yChMQ7eVr7adgr4DbQdg+QPrWl5VgYkbGz1pi6i2v/ZIl6GBW4bdwM4X1eAGV8OGQ75UK4Lk8NIMcKHXeb6awBxEusWqoj/J5Olwxi9VK2E09guhBWqE6eYmWi5SVEFdzpzKH93QtJC79aFwfTMODiFC3cchmoKpR56z39GqbkKwU0jmVIMKbT7NUtYC8Pe43Ces6Vtx316fgCXtW3gtg2PpkQ5JZK2EJXfBjuMwXMUti/KsBa+qnaB5d+PL3YA== X-OriginatorOrg: napatech.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Feb 2025 10:46:12.8239 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b65e1060-a76a-45a6-c21f-08dd45d24f25 X-MS-Exchange-CrossTenant-Id: c4540d0b-728a-4233-9da5-9ea30c7ec3ed X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=c4540d0b-728a-4233-9da5-9ea30c7ec3ed; Ip=[178.72.21.4]; Helo=[localhost.localdomain] X-MS-Exchange-CrossTenant-AuthSource: AMS0EPF000001A5.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1P190MB1875 X-BESS-ID: 1738752376-306009-7776-618-1 X-BESS-VER: 2019.1_20250203.2302 X-BESS-Apparent-Source-IP: 104.47.18.108 X-BESS-Parts: H4sIAAAAAAACA4uuVkqtKFGyUioBkjpK+cVKVoYmFpbmQGYGUNTEwsTINDHJyM DCMs3YxNzA1NjA0sLSKMXYLDUxMTktTak2FgClcjC4QgAAAA== X-BESS-Outbound-Spam-Score: 0.50 X-BESS-Outbound-Spam-Report: Code version 3.2, rules version 3.2.2.262304 [from cloudscan12-59.eu-central-1a.ess.aws.cudaops.com] Rule breakdown below pts rule name description ---- ---------------------- -------------------------------- 0.50 BSF_RULE7568M META: Custom Rule 7568M 0.00 BSF_BESS_OUTBOUND META: BESS Outbound X-BESS-Outbound-Spam-Status: SCORE=0.50 using account:ESS113687 scores of KILL_LEVEL=7.0 tests=BSF_RULE7568M, BSF_BESS_OUTBOUND X-BESS-BRTS-Status: 1 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org From: Danylo Vodopianov convert_error func was removed as far as this approach was deprecated. Coverity issue: 448973 Fixes: e526adf1fdef ("net/ntnic: add minimal create/destroy flow operations") Signed-off-by: Danylo Vodopianov --- drivers/net/ntnic/include/create_elements.h | 1 - drivers/net/ntnic/ntnic_filter/ntnic_filter.c | 151 ++++++------------ 2 files changed, 53 insertions(+), 99 deletions(-) diff --git a/drivers/net/ntnic/include/create_elements.h b/drivers/net/ntnic/include/create_elements.h index 1456977837..f0b9410cb9 100644 --- a/drivers/net/ntnic/include/create_elements.h +++ b/drivers/net/ntnic/include/create_elements.h @@ -61,7 +61,6 @@ enum nt_rte_flow_item_type { extern rte_spinlock_t flow_lock; int interpret_raw_data(uint8_t *data, uint8_t *preserve, int size, struct rte_flow_item *out); -int convert_error(struct rte_flow_error *error, struct rte_flow_error *rte_flow_error); int create_attr(struct cnv_attr_s *attribute, const struct rte_flow_attr *attr); int create_match_elements(struct cnv_match_s *match, const struct rte_flow_item items[], int max_elem); diff --git a/drivers/net/ntnic/ntnic_filter/ntnic_filter.c b/drivers/net/ntnic/ntnic_filter/ntnic_filter.c index b07e16c1d3..70bff776be 100644 --- a/drivers/net/ntnic/ntnic_filter/ntnic_filter.c +++ b/drivers/net/ntnic/ntnic_filter/ntnic_filter.c @@ -246,23 +246,6 @@ int interpret_raw_data(uint8_t *data, uint8_t *preserve, int size, struct rte_fl return hdri + 1; } -int convert_error(struct rte_flow_error *error, struct rte_flow_error *rte_flow_error) -{ - if (error) { - error->cause = NULL; - error->message = rte_flow_error->message; - - if (rte_flow_error->type == RTE_FLOW_ERROR_TYPE_NONE || - rte_flow_error->type == RTE_FLOW_ERROR_TYPE_NONE) - error->type = RTE_FLOW_ERROR_TYPE_NONE; - - else - error->type = RTE_FLOW_ERROR_TYPE_UNSPECIFIED; - } - - return 0; -} - int create_attr(struct cnv_attr_s *attribute, const struct rte_flow_attr *attr) { memset(&attribute->attr, 0x0, sizeof(struct rte_flow_attr)); @@ -497,13 +480,10 @@ static int convert_flow(struct rte_eth_dev *eth_dev, struct pmd_internals *internals = eth_dev->data->dev_private; struct fpga_info_s *fpga_info = &internals->p_drv->ntdrv.adapter_info.fpga_info; - static struct rte_flow_error flow_error = { - .type = RTE_FLOW_ERROR_TYPE_NONE, .message = "none" }; + error->type = RTE_FLOW_ERROR_TYPE_NONE; + error->message = "none"; uint32_t queue_offset = 0; - /* Set initial error */ - convert_error(error, &flow_error); - if (!internals) { rte_flow_error_set(error, EINVAL, RTE_FLOW_ERROR_TYPE_UNSPECIFIED, NULL, "Missing eth_dev"); @@ -559,23 +539,19 @@ eth_flow_destroy(struct rte_eth_dev *eth_dev, struct rte_flow *flow, struct rte_ struct pmd_internals *internals = eth_dev->data->dev_private; - static struct rte_flow_error flow_error = { - .type = RTE_FLOW_ERROR_TYPE_NONE, .message = "none" }; + error->type = RTE_FLOW_ERROR_TYPE_NONE; + error->message = "none"; int res = 0; - /* Set initial error */ - convert_error(error, &flow_error); if (!flow) return 0; if (is_flow_handle_typecast(flow)) { - res = flow_filter_ops->flow_destroy(internals->flw_dev, (void *)flow, &flow_error); - convert_error(error, &flow_error); + res = flow_filter_ops->flow_destroy(internals->flw_dev, (void *)flow, error); } else { res = flow_filter_ops->flow_destroy(internals->flw_dev, flow->flw_hdl, - &flow_error); - convert_error(error, &flow_error); + error); rte_spinlock_lock(&flow_lock); flow->used = 0; @@ -606,8 +582,8 @@ static struct rte_flow *eth_flow_create(struct rte_eth_dev *eth_dev, struct cnv_match_s match = { 0 }; struct cnv_action_s action = { 0 }; - static struct rte_flow_error flow_error = { - .type = RTE_FLOW_ERROR_TYPE_NONE, .message = "none" }; + error->type = RTE_FLOW_ERROR_TYPE_NONE; + error->message = "none"; uint32_t flow_stat_id = 0; if (convert_flow(eth_dev, attr, items, actions, &attribute, &match, &action, error) < 0) @@ -620,8 +596,7 @@ static struct rte_flow *eth_flow_create(struct rte_eth_dev *eth_dev, void *flw_hdl = flow_filter_ops->flow_create(internals->flw_dev, &attribute.attr, attribute.forced_vlan_vid, attribute.caller_id, match.rte_flow_item, action.flow_actions, - &flow_error); - convert_error(error, &flow_error); + error); return (struct rte_flow *)flw_hdl; } @@ -648,8 +623,7 @@ static struct rte_flow *eth_flow_create(struct rte_eth_dev *eth_dev, flow->flw_hdl = flow_filter_ops->flow_create(internals->flw_dev, &attribute.attr, attribute.forced_vlan_vid, attribute.caller_id, match.rte_flow_item, action.flow_actions, - &flow_error); - convert_error(error, &flow_error); + error); if (!flow->flw_hdl) { rte_spinlock_lock(&flow_lock); @@ -678,14 +652,14 @@ static int eth_flow_flush(struct rte_eth_dev *eth_dev, struct rte_flow_error *er struct pmd_internals *internals = eth_dev->data->dev_private; - static struct rte_flow_error flow_error = { - .type = RTE_FLOW_ERROR_TYPE_NONE, .message = "none" }; + error->type = RTE_FLOW_ERROR_TYPE_NONE; + error->message = "none"; int res = 0; /* Main application caller_id is port_id shifted above VDPA ports */ uint16_t caller_id = get_caller_id(eth_dev->data->port_id); if (internals->flw_dev) { - res = flow_filter_ops->flow_flush(internals->flw_dev, caller_id, &flow_error); + res = flow_filter_ops->flow_flush(internals->flw_dev, caller_id, error); rte_spinlock_lock(&flow_lock); for (int flow = 0; flow < MAX_RTE_FLOWS; flow++) { @@ -702,8 +676,6 @@ static int eth_flow_flush(struct rte_eth_dev *eth_dev, struct rte_flow_error *er rte_spinlock_unlock(&flow_lock); } - convert_error(error, &flow_error); - return res; } @@ -721,8 +693,8 @@ static int eth_flow_actions_update(struct rte_eth_dev *eth_dev, struct pmd_internals *internals = eth_dev->data->dev_private; - static struct rte_flow_error flow_error = { .type = RTE_FLOW_ERROR_TYPE_NONE, - .message = "none" }; + error->type = RTE_FLOW_ERROR_TYPE_NONE; + error->message = "none"; int res = -1; if (internals->flw_dev) { @@ -756,18 +728,16 @@ static int eth_flow_actions_update(struct rte_eth_dev *eth_dev, res = flow_filter_ops->flow_actions_update(internals->flw_dev, (void *)flow, action.flow_actions, - &flow_error); + error); } else { res = flow_filter_ops->flow_actions_update(internals->flw_dev, flow->flw_hdl, action.flow_actions, - &flow_error); + error); } } - convert_error(error, &flow_error); - return res; } @@ -785,17 +755,16 @@ static int eth_flow_dev_dump(struct rte_eth_dev *eth_dev, struct pmd_internals *internals = eth_dev->data->dev_private; - static struct rte_flow_error flow_error = { - .type = RTE_FLOW_ERROR_TYPE_NONE, .message = "none" }; + error->type = RTE_FLOW_ERROR_TYPE_NONE; + error->message = "none"; uint16_t caller_id = get_caller_id(eth_dev->data->port_id); int res = flow_filter_ops->flow_dev_dump(internals->flw_dev, is_flow_handle_typecast(flow) ? (void *)flow : flow->flw_hdl, - caller_id, file, &flow_error); + caller_id, file, error); - convert_error(error, &flow_error); return res; } @@ -813,16 +782,14 @@ static int eth_flow_get_aged_flows(struct rte_eth_dev *eth_dev, struct pmd_internals *internals = eth_dev->data->dev_private; - static struct rte_flow_error flow_error = { - .type = RTE_FLOW_ERROR_TYPE_NONE, - .message = "none" }; + error->type = RTE_FLOW_ERROR_TYPE_NONE; + error->message = "none"; uint16_t caller_id = get_caller_id(eth_dev->data->port_id); int res = flow_filter_ops->flow_get_aged_flows(internals->flw_dev, caller_id, context, - nb_contexts, &flow_error); + nb_contexts, error); - convert_error(error, &flow_error); return res; } @@ -842,17 +809,15 @@ static int eth_flow_info_get(struct rte_eth_dev *dev, struct rte_flow_port_info struct pmd_internals *internals = dev->data->dev_private; - static struct rte_flow_error flow_error = { - .type = RTE_FLOW_ERROR_TYPE_NONE, - .message = "none" }; + error->type = RTE_FLOW_ERROR_TYPE_NONE; + error->message = "none"; int res = flow_filter_ops->flow_info_get(internals->flw_dev, get_caller_id(dev->data->port_id), (struct rte_flow_port_info *)port_info, (struct rte_flow_queue_info *)queue_info, - &flow_error); + error); - convert_error(error, &flow_error); return res; } @@ -869,18 +834,16 @@ static int eth_flow_configure(struct rte_eth_dev *dev, const struct rte_flow_por struct pmd_internals *internals = dev->data->dev_private; - static struct rte_flow_error flow_error = { - .type = RTE_FLOW_ERROR_TYPE_NONE, - .message = "none" }; + error->type = RTE_FLOW_ERROR_TYPE_NONE; + error->message = "none"; int res = flow_filter_ops->flow_configure(internals->flw_dev, get_caller_id(dev->data->port_id), (const struct rte_flow_port_attr *)port_attr, nb_queue, (const struct rte_flow_queue_attr **)queue_attr, - &flow_error); + error); - convert_error(error, &flow_error); return res; } @@ -897,8 +860,8 @@ static struct rte_flow_pattern_template *eth_flow_pattern_template_create(struct struct pmd_internals *internals = dev->data->dev_private; - static struct rte_flow_error flow_error = { .type = RTE_FLOW_ERROR_TYPE_NONE, - .message = "none" }; + error->type = RTE_FLOW_ERROR_TYPE_NONE; + error->message = "none"; struct cnv_match_s match = { 0 }; struct rte_flow_pattern_template_attr attr = { @@ -918,9 +881,8 @@ static struct rte_flow_pattern_template *eth_flow_pattern_template_create(struct struct flow_pattern_template *res = flow_filter_ops->flow_pattern_template_create(internals->flw_dev, &attr, caller_id, - match.rte_flow_item, &flow_error); + match.rte_flow_item, error); - convert_error(error, &flow_error); return (struct rte_flow_pattern_template *)res; } @@ -937,15 +899,14 @@ static int eth_flow_pattern_template_destroy(struct rte_eth_dev *dev, struct pmd_internals *internals = dev->data->dev_private; - static struct rte_flow_error rte_flow_error = { .type = RTE_FLOW_ERROR_TYPE_NONE, - .message = "none" }; + error->type = RTE_FLOW_ERROR_TYPE_NONE; + error->message = "none"; int res = flow_filter_ops->flow_pattern_template_destroy(internals->flw_dev, (struct flow_pattern_template *) pattern_template, - &rte_flow_error); + error); - convert_error(error, &rte_flow_error); return res; } @@ -964,8 +925,8 @@ static struct rte_flow_actions_template *eth_flow_actions_template_create(struct struct pmd_internals *internals = dev->data->dev_private; struct fpga_info_s *fpga_info = &internals->p_drv->ntdrv.adapter_info.fpga_info; - static struct rte_flow_error rte_flow_error = { .type = RTE_FLOW_ERROR_TYPE_NONE, - .message = "none" }; + error->type = RTE_FLOW_ERROR_TYPE_NONE; + error->message = "none"; struct cnv_action_s action = { 0 }; struct cnv_action_s mask = { 0 }; @@ -1004,9 +965,8 @@ static struct rte_flow_actions_template *eth_flow_actions_template_create(struct struct flow_actions_template *res = flow_filter_ops->flow_actions_template_create(internals->flw_dev, &attr, caller_id, action.flow_actions, - mask.flow_actions, &rte_flow_error); + mask.flow_actions, error); - convert_error(error, &rte_flow_error); return (struct rte_flow_actions_template *)res; } @@ -1023,15 +983,14 @@ static int eth_flow_actions_template_destroy(struct rte_eth_dev *dev, struct pmd_internals *internals = dev->data->dev_private; - static struct rte_flow_error rte_flow_error = { .type = RTE_FLOW_ERROR_TYPE_NONE, - .message = "none" }; + error->type = RTE_FLOW_ERROR_TYPE_NONE; + error->message = "none"; int res = flow_filter_ops->flow_actions_template_destroy(internals->flw_dev, (struct flow_actions_template *) actions_template, - &rte_flow_error); + error); - convert_error(error, &rte_flow_error); return res; } @@ -1050,8 +1009,8 @@ static struct rte_flow_template_table *eth_flow_template_table_create(struct rte struct pmd_internals *internals = dev->data->dev_private; - static struct rte_flow_error rte_flow_error = { .type = RTE_FLOW_ERROR_TYPE_NONE, - .message = "none" }; + error->type = RTE_FLOW_ERROR_TYPE_NONE; + error->message = "none"; struct rte_flow_template_table_attr attr = { .flow_attr = { @@ -1071,9 +1030,8 @@ static struct rte_flow_template_table *eth_flow_template_table_create(struct rte forced_vlan_vid, caller_id, (struct flow_pattern_template **)pattern_templates, nb_pattern_templates, (struct flow_actions_template **)actions_templates, - nb_actions_templates, &rte_flow_error); + nb_actions_templates, error); - convert_error(error, &rte_flow_error); return (struct rte_flow_template_table *)res; } @@ -1090,15 +1048,14 @@ static int eth_flow_template_table_destroy(struct rte_eth_dev *dev, struct pmd_internals *internals = dev->data->dev_private; - static struct rte_flow_error rte_flow_error = { .type = RTE_FLOW_ERROR_TYPE_NONE, - .message = "none" }; + error->type = RTE_FLOW_ERROR_TYPE_NONE; + error->message = "none"; int res = flow_filter_ops->flow_template_table_destroy(internals->flw_dev, (struct flow_template_table *) template_table, - &rte_flow_error); + error); - convert_error(error, &rte_flow_error); return res; } @@ -1118,8 +1075,8 @@ static struct rte_flow *eth_flow_async_create(struct rte_eth_dev *dev, uint32_t struct pmd_internals *internals = dev->data->dev_private; struct fpga_info_s *fpga_info = &internals->p_drv->ntdrv.adapter_info.fpga_info; - static struct rte_flow_error rte_flow_error = { .type = RTE_FLOW_ERROR_TYPE_NONE, - .message = "none" }; + error->type = RTE_FLOW_ERROR_TYPE_NONE; + error->message = "none"; struct cnv_action_s action = { 0 }; struct cnv_match_s match = { 0 }; @@ -1159,9 +1116,8 @@ static struct rte_flow *eth_flow_async_create(struct rte_eth_dev *dev, uint32_t action.flow_actions, actions_template_index, user_data, - &rte_flow_error); + error); - convert_error(error, &rte_flow_error); return (struct rte_flow *)res; } @@ -1178,17 +1134,16 @@ static int eth_flow_async_destroy(struct rte_eth_dev *dev, uint32_t queue_id, struct pmd_internals *internals = dev->data->dev_private; - static struct rte_flow_error rte_flow_error = { .type = RTE_FLOW_ERROR_TYPE_NONE, - .message = "none" }; + error->type = RTE_FLOW_ERROR_TYPE_NONE; + error->message = "none"; int res = flow_filter_ops->flow_async_destroy(internals->flw_dev, queue_id, (const struct rte_flow_op_attr *)op_attr, (struct flow_handle *)flow, user_data, - &rte_flow_error); + error); - convert_error(error, &rte_flow_error); return res; } From patchwork Wed Feb 5 10:45:29 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Serhii Iliushyk X-Patchwork-Id: 150952 X-Patchwork-Delegate: stephen@networkplumber.org Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 0DF944619A; Wed, 5 Feb 2025 11:48:23 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 6C6844064E; Wed, 5 Feb 2025 11:46:29 +0100 (CET) Received: from egress-ip42a.ess.de.barracuda.com (egress-ip42a.ess.de.barracuda.com [18.185.115.201]) by mails.dpdk.org (Postfix) with ESMTP id 853DB4067A for ; Wed, 5 Feb 2025 11:46:18 +0100 (CET) Received: from EUR03-AM7-obe.outbound.protection.outlook.com (mail-am7eur03lp2239.outbound.protection.outlook.com [104.47.51.239]) by mx-outbound9-60.eu-central-1a.ess.aws.cudaops.com (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Wed, 05 Feb 2025 10:46:17 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Qjjmgb6MGtlHdLc+LfHKS80lh6OUcf8fiR/x13nMttVezL4QfpCxISAGgpIdSURL66prRMsE3c1w4UU50mSLu9fENSt7HwgLLIHopK0wRR29TJyGYq4wLdgD+fzdDZexqiiYxGz7mTNHO3Fh9ovYGw2FvPEbltilYjySgmaMNTz23+xxsFiRw9Jx2jVOaXeQ5pK+ZckBFuhcJtmCADcssialLoR/D8Da7gutyPzcjypKlN5G+JU74eZzvbZo8n4OloUE343wVKQY35wE8C6S+7vufsqgNUSOZhjPlya5ad8+sr+bjlF5kOJU3GFgRI32GVOyQA9zX/eK94XYMHpScg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=aQLXzW+Psp1yfldVTzAibZM7D+4rBNuVa7ESFPNIR78=; b=MIFMEsWdnN+ZUgtHlyfVd63JDUJV8Gb9c0/XoQu8+Nxv3vQnE8UvRcCSgYTFBAa3oA1M7Wr5ZBXJ4MSsA5GOtsG9Y/Nan/Rsz/fSK2qBQZnycOaWjex2hqj22GDUxUgbGqSWUTf/3NlFfiWhnOD9poIaFbJhVcd6EF8/Ie0LQXG1GiqzjHlij5jCyFVMAuJNCWxqbbXyKi8oAARxD/EPIF4Jj1atRfl/NEzKz1pM4AS1VRcjRlnO86fNbvd7O1+eow8j6mZvy0Zc2K5eiLtf++LXbZNAsRyGYuqw/kETrFcosrch27Gc8FFYLbK5MkkfABspbi9ZTPOSsGCRXSnsXw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=fail (sender ip is 178.72.21.4) smtp.rcpttodomain=dpdk.org smtp.mailfrom=napatech.com; dmarc=fail (p=reject sp=reject pct=100) action=oreject header.from=napatech.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=napatech.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=aQLXzW+Psp1yfldVTzAibZM7D+4rBNuVa7ESFPNIR78=; b=RU5lDhx9/6s5XFJUdo5OpHU8Lay3tFEkTusm8QfHzr/RnmnUNB9lwmiSuZ4k3KOCRal5Oc0twfQu0Q1+vU/Vminz3EytV4YT7hRRUeS7tQSlP2fPoxtEHRdtPBzc/nawIZS1g5p9GiPmwkScffcR0wpmr+bMgypuUVnN+9pXmnw= Received: from CWLP265CA0346.GBRP265.PROD.OUTLOOK.COM (2603:10a6:401:5a::22) by VI2P190MB2085.EURP190.PROD.OUTLOOK.COM (2603:10a6:800:227::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8398.25; Wed, 5 Feb 2025 10:46:14 +0000 Received: from AMS0EPF000001A5.eurprd05.prod.outlook.com (2603:10a6:401:5a:cafe::3) by CWLP265CA0346.outlook.office365.com (2603:10a6:401:5a::22) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.26 via Frontend Transport; Wed, 5 Feb 2025 10:46:14 +0000 X-MS-Exchange-Authentication-Results: spf=fail (sender IP is 178.72.21.4) smtp.mailfrom=napatech.com; dkim=none (message not signed) header.d=none;dmarc=fail action=oreject header.from=napatech.com; Received-SPF: Fail (protection.outlook.com: domain of napatech.com does not designate 178.72.21.4 as permitted sender) receiver=protection.outlook.com; client-ip=178.72.21.4; helo=localhost.localdomain; Received: from localhost.localdomain (178.72.21.4) by AMS0EPF000001A5.mail.protection.outlook.com (10.167.16.232) with Microsoft SMTP Server id 15.20.8398.14 via Frontend Transport; Wed, 5 Feb 2025 10:46:14 +0000 From: Serhii Iliushyk To: dev@dpdk.org Cc: mko-plv@napatech.com, sil-plv@napatech.com, ckm@napatech.com, stephen@networkplumber.org, Danylo Vodopianov Subject: [PATCH v2 20/34] net/ntnic: fix array verification Date: Wed, 5 Feb 2025 11:45:29 +0100 Message-ID: <20250205104548.1533554-21-sil-plv@napatech.com> X-Mailer: git-send-email 2.45.0 In-Reply-To: <20250205104548.1533554-1-sil-plv@napatech.com> References: <20250121170814.3252171-2-sil-plv@napatech.com> <20250205104548.1533554-1-sil-plv@napatech.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AMS0EPF000001A5:EE_|VI2P190MB2085:EE_ X-MS-Office365-Filtering-Correlation-Id: e1ca10f2-b1a8-4bb6-5727-08dd45d24fdd X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|376014|36860700013|82310400026; X-Microsoft-Antispam-Message-Info: KNZWYNKXf/a9qvh3am9NlYqY0GgrnixR9xHLbIqg+jboopkyP0WFzRq5k2x6HF7H/KwVrsVH8fcpiPjH7R8AIVaLPrGYu7843YTiJ34bF20bqyJH5mK47rYtY0wIzS2nI2m5sU7dkAWxfuVBjmCI7dkB0KEWRib6tt+IMvtaA8DrIlUU1f91MG4gTd/iBc3kA6IRz1mZr6o8lbg5RYqvJXXkNVuSKfl3aQbr02dwn5zX3LvMg99k8fp3yfYFFJRq0IkrY2giLwgYIg0cVrvepBk81Nt7ZGUXtHeY8CIzpHeL0E1qFcsqgoCqi2thCy2Izw/klNEjDm1Z/KIHSGGznnK5qPcHf732MB/tODpzJmHThjjc2zRfxIJFB/QK7a59hL5MUdR6ZGCuUyNXUTfj05l9rXgSmxiMHisRtNhwTwyaBAmXSR2CddiU542L0F9aIi/RBVl2W9SD2ITItPFRArn87XQ5060A3K5+/WxbMtDbjJZJMArghItFTlmVeouYVagRU7c/LkpC+5ULhkHVeAw5IRaz3EhBcyojjMO4gtLCp+PsIONaRp/wdIckwSIOpwbdeFHlYbOblmwM943woGlKPGdBFlNTOgWbQM3RhQ1Gnl5KBKGF9Uuq8Vlrs9HJ5mwB94/kL2kiAiPNi3hCDL0MeqjXvKaB+fmAZcoHFg31nSYeYpZB/rw2mk76BHi3DWE1oCHdha1XDCZhpt1dzgv30VbCcoNNMhztJMKK2JDDO18zMArlb+ox/cVokTDHXRArJvYXO9v2uuH6gJ4AjZ7vVqbzM3n7J/5oVpEmiX17UuQk12E8dEn5temMeS5r6R/WefpMl5NWqA5Z2P/3ezGNWBU57OHYT+Vxio6AFpPx2jb72A1FpgP4mllYVDz4uKPnUZGgufZ/J6GpFNa5znzH5p6yIxnyA6GTZ2pkjt1H/0FQmbU/MhW+QIn2JSG4vQR2/WOAsdPMyj5ONGIQcRuwHpkvIS566F5mkhDIaRza+PBp4czAZ4AwNmQGg8ytEIl6wWr/0Zf3YOnJqs7ehl2IMBUenujiRRN+BmbcTsbOzmnL2ixW9tFL0/jvP8rpNOP9pSLFEHlG9K4mHqgb5frnWZF2hu83hLn7cL/2ydE6gkQ+G3FDRzewk6qDQX+VpH07OcFnDWFhG4dBUqlcL9SnrGpILESy7ImxFSD1JFY7aHzXZfSvbu1UHZ1G+nDKYzAyImRfKq7HWYHI5bwHjE9v6MOmoWpIqTn8AA4H0b3n3vawPB9hlG83on4QunfF1Znhe7Ut41v1066wW+Qlz3kKyPNPqXal6g3ZhSD1BcqLI/vY45uCsoeq/nNekTX5z9ELTcVoAcrf3GkHyrLK736dZ8y1p90gmOdEkOIRV9lGUyWDu24dLO6Ul/5nQckXP6KT0vHpeL/OJ+9e0OyxF1o332CNbQFbnlUEx0g4uxrG9qslTKc+vdgF9h5z5iBzh/I1yXmwb7ku+SziNNyiUg== X-Forefront-Antispam-Report: CIP:178.72.21.4; CTRY:DK; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:localhost.localdomain; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(1800799024)(376014)(36860700013)(82310400026); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: jHGORN7JqzDVd89TghS4Ra4BM9wbDhLz5WTLKAnkZvAWT0puoNAX63ekWJCgEhifUg4Nv/V1JiHZ7oi/DuybJrvtBWIDGzP18em2UISufty0Tkzq4w69zM7v9xeWbKoAJoKrU8KBkPiBoRRwI53VxBsHqNr8B9aDiTX1y755DNl34z+bf+3oLHhxq09vHADkXkDFOfeTG9PQxFnoCLZpdrTF+xat446hcn4YWImjR0FLgmZGTYeh9GatncQSJcWJxn1oVQNGwiiyYmgGnt/iigmgl/qcpFLNafcoK4Z47TBGlsKibJcBStnxL0ljMhooK7oqDvIz5Da9COUhOP5KdeHvufaBvIs1DMbAbVclUMxRb4AMtj9vEHm3F/43SmlsJRoCLUf65PFB7fYt6Er0VQUj+D9vGPkxI5KBZ7MAo4O/+FN79N/g75UOf8P/Z9dIMjwBX6PJuvCDPeHi+S84LPOJm6dv9rv7c8zovlwlEhRrO8NRGOjbnZFqCbFnd2AbMuN1hCAptClyMD6gdIg/qgTYXnyhQq3OoBWk/eIW25vqA4mfXoU194122o3wk5VFK9/b1ki1JD6W9ZRpqIJuFdH8g3OMNjCcgRgS2BqbkM3A74u55hYWezsvc6EPcniYttNKQnmdgTvh9HssJ70q2w== X-OriginatorOrg: napatech.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Feb 2025 10:46:14.0426 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: e1ca10f2-b1a8-4bb6-5727-08dd45d24fdd X-MS-Exchange-CrossTenant-Id: c4540d0b-728a-4233-9da5-9ea30c7ec3ed X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=c4540d0b-728a-4233-9da5-9ea30c7ec3ed; Ip=[178.72.21.4]; Helo=[localhost.localdomain] X-MS-Exchange-CrossTenant-AuthSource: AMS0EPF000001A5.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI2P190MB2085 X-BESS-ID: 1738752377-302364-7588-668-1 X-BESS-VER: 2019.1_20250203.2302 X-BESS-Apparent-Source-IP: 104.47.51.239 X-BESS-Parts: H4sIAAAAAAACA4uuVkqtKFGyUioBkjpK+cVKVpZmRkBGBlDMPC0t0czI2DjZyC zNzCDN1NgyOTE5LSXJwNI4ydLINE2pNhYAUYx+T0AAAAA= X-BESS-Outbound-Spam-Score: 0.00 X-BESS-Outbound-Spam-Report: Code version 3.2, rules version 3.2.2.262304 [from cloudscan12-59.eu-central-1a.ess.aws.cudaops.com] Rule breakdown below pts rule name description ---- ---------------------- -------------------------------- 0.00 BSF_BESS_OUTBOUND META: BESS Outbound X-BESS-Outbound-Spam-Status: SCORE=0.00 using account:ESS113687 scores of KILL_LEVEL=7.0 tests=BSF_BESS_OUTBOUND X-BESS-BRTS-Status: 1 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org From: Danylo Vodopianov if statement was modify to ensure that word_off doesn't exceed the size of the array Coverity issue: 448958 Fixes: 7fa0bf29e667 ("net/ntnic: add hash module") Signed-off-by: Danylo Vodopianov --- drivers/net/ntnic/nthw/flow_api/hw_mod/hw_mod_hsh.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ntnic/nthw/flow_api/hw_mod/hw_mod_hsh.c b/drivers/net/ntnic/nthw/flow_api/hw_mod/hw_mod_hsh.c index cc8db2fae5..d19e72e323 100644 --- a/drivers/net/ntnic/nthw/flow_api/hw_mod/hw_mod_hsh.c +++ b/drivers/net/ntnic/nthw/flow_api/hw_mod/hw_mod_hsh.c @@ -221,7 +221,7 @@ static int hw_mod_hsh_rcp_mod(struct flow_api_backend_s *be, enum hw_hsh_e field break; case HW_HSH_RCP_WORD_MASK: - if (word_off > HSH_RCP_WORD_MASK_SIZE) { + if (word_off >= HSH_RCP_WORD_MASK_SIZE) { WORD_OFF_TOO_LARGE_LOG; return WORD_OFF_TOO_LARGE; } From patchwork Wed Feb 5 10:45:30 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Serhii Iliushyk X-Patchwork-Id: 150950 X-Patchwork-Delegate: stephen@networkplumber.org Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id AE8904619A; Wed, 5 Feb 2025 11:48:11 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 53E1840A7F; Wed, 5 Feb 2025 11:46:27 +0100 (CET) Received: from egress-ip42b.ess.de.barracuda.com (egress-ip42b.ess.de.barracuda.com [18.185.115.246]) by mails.dpdk.org (Postfix) with ESMTP id BFCC44067A for ; Wed, 5 Feb 2025 11:46:17 +0100 (CET) Received: from EUR03-AM7-obe.outbound.protection.outlook.com (mail-am7eur03lp2241.outbound.protection.outlook.com [104.47.51.241]) by mx-outbound23-121.eu-central-1b.ess.aws.cudaops.com (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Wed, 05 Feb 2025 10:46:17 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=gA+xCksdvp8X0pnVMvRUJtL8bd7jz4lHjnpy4lU8+O5lBcenQQUWwiEegLL5lyB+Vc9WLNppBXmJh5SNpLYDks/v48fg+YLErhtEYZdmXKWqTWa2w1jIDMPrYCNvITghLxfMr8RNWU+1yzjaMGJ0DIL2Oaox1w6qIgzDBJYNiOM+45USixjdosjeq2u1Tku3NBlMPpt/irEmTbKuSXu6/Q7G6WgDIWTHUAdfymhTt1Xc15v4J1Lf05OJoSGJq5OqOwXoqYKKQzifmoAoRm7FCdCebo//CJT+xt18q9DGyitaY6nauouJi4bDzisUjMSJ3orgB000U2CsN+E7F6PxvQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=cEUriyc16NGu+FPzZLOffrSF94Z9zxsFCA6OiEJKVTU=; b=fomX2NuG9OnjVunUgcHbc5QvHyubRIZ9/x1RN6+fh8b1dK9YrsQn5omVBv7Ob+cA5prfnb9h+hQxUCgKvgajM9PrsGl1XgFnvrJLaJ2lBnMkAoGluB4cBEhHxN6VTYyC8967Vj0dOwTc4fZEXw1hpS+/kLRpztqZf8sFTD7HWFiCQTnbgMY77I3hlxYK3bDSrx7U/GDY7cyhuOEKvYF7BYWSvigvCxQlpIF3AqO/NhY1Ip401KgbCwo82hWJi63k6V9xAraSDzuBIJKdENadyNfyizHf9egmbMeOzU3sjpUxS+qF7TD+FpatzmHcnxS7H54WY/RBvf+to0eybOM5eA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=fail (sender ip is 178.72.21.4) smtp.rcpttodomain=dpdk.org smtp.mailfrom=napatech.com; dmarc=fail (p=reject sp=reject pct=100) action=oreject header.from=napatech.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=napatech.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=cEUriyc16NGu+FPzZLOffrSF94Z9zxsFCA6OiEJKVTU=; b=feo6CEuQNyVhr38mSjoCGL5nixRRHHvycGwu981Gi5VbHYJeGY/d/M0bP5U/jDjsafSD3DNItN3rBItNS4bj/H17h5EWhDvgTd52E1j40B+e53lEM4sZwGnZ4zO8SPkPtpyQ/G9iul8JwmUgTcqADPhT+TwCXxZ818Tdw2L64Rg= Received: from CWLP265CA0342.GBRP265.PROD.OUTLOOK.COM (2603:10a6:401:5a::18) by PRAP190MB1764.EURP190.PROD.OUTLOOK.COM (2603:10a6:102:299::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8398.25; Wed, 5 Feb 2025 10:46:15 +0000 Received: from AMS0EPF000001A5.eurprd05.prod.outlook.com (2603:10a6:401:5a:cafe::59) by CWLP265CA0342.outlook.office365.com (2603:10a6:401:5a::18) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.25 via Frontend Transport; Wed, 5 Feb 2025 10:46:15 +0000 X-MS-Exchange-Authentication-Results: spf=fail (sender IP is 178.72.21.4) smtp.mailfrom=napatech.com; dkim=none (message not signed) header.d=none;dmarc=fail action=oreject header.from=napatech.com; Received-SPF: Fail (protection.outlook.com: domain of napatech.com does not designate 178.72.21.4 as permitted sender) receiver=protection.outlook.com; client-ip=178.72.21.4; helo=localhost.localdomain; Received: from localhost.localdomain (178.72.21.4) by AMS0EPF000001A5.mail.protection.outlook.com (10.167.16.232) with Microsoft SMTP Server id 15.20.8398.14 via Frontend Transport; Wed, 5 Feb 2025 10:46:15 +0000 From: Serhii Iliushyk To: dev@dpdk.org Cc: mko-plv@napatech.com, sil-plv@napatech.com, ckm@napatech.com, stephen@networkplumber.org, Danylo Vodopianov Subject: [PATCH v2 21/34] net/ntnic: fix memory leak Date: Wed, 5 Feb 2025 11:45:30 +0100 Message-ID: <20250205104548.1533554-22-sil-plv@napatech.com> X-Mailer: git-send-email 2.45.0 In-Reply-To: <20250205104548.1533554-1-sil-plv@napatech.com> References: <20250121170814.3252171-2-sil-plv@napatech.com> <20250205104548.1533554-1-sil-plv@napatech.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AMS0EPF000001A5:EE_|PRAP190MB1764:EE_ X-MS-Office365-Filtering-Correlation-Id: b9025d7d-96c9-4b32-4ebe-08dd45d25097 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|36860700013|1800799024|376014|82310400026; X-Microsoft-Antispam-Message-Info: ielWfTXtcXbe+uXZo81JnaTHKuojrLvmbsdEOitpmPhvBuuV4t9Ru7Qjrc/Dj9x1zpy4vUK02OGSS81l1v3pEceE+JkUoxOHhc4qU8zTP/Z63rPUx1RnwNxLRJOqFd6vpMM9wcw295DPRTvcA0I8veqWBdr0nY+PwIjLmBI7CtM98buCw6gT8PTc4bs3s9fGfvgNYgiWBZGaj5e6FUL1qtW6FIQurSlfZFf7O4/B0E43PoPTdKyTW3ZgenftHYGhx4Q9zEKxerSaeWpNYsNZLVDRwYZAjZjmG2qiVg3QFKaOcImMXd/+wwi7NwzpHp/YEYZvX5gAHGKvgmMVvCHt5bj4ZTCSi2l3h++d82H6yvhRPfDPmczM16itkdtwxu4wt2AuLjyTMmqVuojQ1UMmjdBgLuUhsK00YLTY9zuK2rSRzqyymRScwwKGd1m5uN66u76Jmx8krzhXuv5dVvdZZwWy1KztP6tR3OYrHnG3wzzphVEpd0+L15Y5mlkNV8lDPTGcsSziGldZdSK3hgZ7JRyeQse7shtj+S/iVR/Ke6ruWjuo1FcVc9D88mu4u3G8qmKyJFm45SwsGpt4oJwUSJosWM7PxFKRUJ+vABNmp7fJoY5sUJEtPu2EZZ1eFGkgJt7b3MTOmxy1XIkZ/kuaaQf7qeZQNRNY9jRlHBkZzB2gBJGd3lvrYxA4+sAVDZJm2QU9tJ8tJZ8DdpgHpDvr3YVVUMg3YzamELXiP+3zaBhFTQHHewr0UFB6pxfra99thV0Qs+2DDQVD0DkxAodLGoy9H+ubYRDiq6utANPOdA4ogD1jwmbQTzs34R/VGfBcHrlYe+iXOTRRAaIDxNHTZ2pliJY1R1WB+VaeKU9ljHSlGtV98FF4HN6xFEYSOiWyGzpEOI8ydF6aIwaZuKk+FHHbiN7p+FPXQUih/9neewJPbWGNahiRHwdrdPr1++CtKsqMEn6OXP/4y8Eb6eq+RbhCxKT3+feYgGGt2fLvTUH2NFBhVqihOU1xWS3iLAPxvUpz64dCFDj0o29pepG/ibg7UjgcXs2VwLOtBRGJRZZqh0oGsSH1Pe80P91r74t04nDEBes7K/t6Lop+GHfTsgXRLfqX5KH59b6kRH6dNtOcFJTGcn7lNVYdzIzBkl5MODTzGM0elenJQfvzmm2kJS98IRACE0x4fWBfYKPVGuElo/mFJUHywxH18i3TNHZzaSt4if/KvAZrOiQEzvISmO+vEC6AdcNDGaHLjb75AoRxQh4V8/iEoBTCPwlORz7aRefoMXNxvq181DlbPiAb5A2iDusGYPsVzN5DgiEPM0LgHwP4tbHTVp10b8APtaHLVykg0pqeZaLape7n1Ak3g2K6Ln/jYn/TZv+WSa9G5JLZf/LJsQtsKjcq8VEU1MQGBlvwz1HxjHQ8+A48p/48qqoy8Ro1ar3KnebLxHx4tyowiayS+/VRKsmahSxDolQlZ4MZsJJYMhe3enTK6FWA3WuI16ceU5fowx+dTGGLgKw= X-Forefront-Antispam-Report: CIP:178.72.21.4; CTRY:DK; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:localhost.localdomain; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(36860700013)(1800799024)(376014)(82310400026); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: arnh7h3ULSs3lQepPdxpdvviXBKHIST/4xbEaYfU3dcnM/Mi8NLOW9HEAIYTwjSwzAFaON9iQfxtbPiOsoLdUFVSEKBDV0Z70nRn6oPKhl2RtTSM4hrJ7iFsFAufQy76lRLWg3JQTm9rClfkdmuMVi8PPUlse22QwIAGGll1S9BeBuUM9aWQ3fBlusm4uWlpd+FDRpFa6eRIeHXLuLECgnfbFz2Qs1T1yR/tU5z7wx3hScRjSC3PPMBm2UOxM2wpsx3OkNWPDiw3+HwUde4ancfJaF5eoOIqVjhAa5RDL0AwSaTMds7G6vJ0m7aiRUF+Q8UBAcFBuO4otkd7keMCDiNpBAvVWFaUCGTPgd/yMztNRTfd+/y7fKHJaeSnTuOWaDyFCk4UooxblzU6LWjUv3hG1p7ZLcB5a4ZZmyd7c5UVCad3aNdw5U9T5BOKl/XBhAZluXH/MOqkkmeOUNNnDvTuiJeF6XGUepKnEFY2dOh98l4QOMP2OoKPyCDyyaCAvS1FE6H+Kpj6omDNPjMK4DXEADaW8ffKyEAbSdTk2Xga+DePGRoItRs5svOcusaal1Su1FH2zvfYXYiDw/eYK6Iyn7aUrTVk5pIerSiWSw2sTcf4CXKujt/52CA44YRWszNbjHiVAyMoGljz61En8g== X-OriginatorOrg: napatech.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Feb 2025 10:46:15.2614 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b9025d7d-96c9-4b32-4ebe-08dd45d25097 X-MS-Exchange-CrossTenant-Id: c4540d0b-728a-4233-9da5-9ea30c7ec3ed X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=c4540d0b-728a-4233-9da5-9ea30c7ec3ed; Ip=[178.72.21.4]; Helo=[localhost.localdomain] X-MS-Exchange-CrossTenant-AuthSource: AMS0EPF000001A5.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PRAP190MB1764 X-BESS-ID: 1738752377-306009-7766-618-1 X-BESS-VER: 2019.1_20250203.2302 X-BESS-Apparent-Source-IP: 104.47.51.241 X-BESS-Parts: H4sIAAAAAAACA4uuVkqtKFGyUioBkjpK+cVKVpam5kBGBlDMyCjVxNjY1Nw8KS 05OSnFwMjU3DgtLcXMKNHC2DTRIE2pNhYANE+BwkAAAAA= X-BESS-Outbound-Spam-Score: 0.00 X-BESS-Outbound-Spam-Report: Code version 3.2, rules version 3.2.2.262304 [from cloudscan14-207.eu-central-1a.ess.aws.cudaops.com] Rule breakdown below pts rule name description ---- ---------------------- -------------------------------- 0.00 BSF_BESS_OUTBOUND META: BESS Outbound X-BESS-Outbound-Spam-Status: SCORE=0.00 using account:ESS113687 scores of KILL_LEVEL=7.0 tests=BSF_BESS_OUTBOUND X-BESS-BRTS-Status: 1 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org From: Danylo Vodopianov free for kvlist was added before return to avoid memory leak. Coveriry issue: 446751 Fixes: fe91ade9f5db ("net/ntnic: add basic queue operations") Signed-off-by: Danylo Vodopianov --- drivers/net/ntnic/ntnic_ethdev.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/ntnic/ntnic_ethdev.c b/drivers/net/ntnic/ntnic_ethdev.c index 6fcbb8fa9b..d1360cc925 100644 --- a/drivers/net/ntnic/ntnic_ethdev.c +++ b/drivers/net/ntnic/ntnic_ethdev.c @@ -2089,6 +2089,7 @@ nthw_pci_dev_init(struct rte_pci_device *pci_dev) NT_LOG_DBGX(ERR, NTNIC, "problem with command line arguments: res=%d", res); + free(kvlist); return -1; } @@ -2112,6 +2113,7 @@ nthw_pci_dev_init(struct rte_pci_device *pci_dev) NT_LOG_DBGX(ERR, NTNIC, "problem with command line arguments: res=%d", res); + free(kvlist); return -1; } From patchwork Wed Feb 5 10:45:31 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Serhii Iliushyk X-Patchwork-Id: 150953 X-Patchwork-Delegate: stephen@networkplumber.org Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id AAA284619A; Wed, 5 Feb 2025 11:48:29 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id E7A8140B97; Wed, 5 Feb 2025 11:46:30 +0100 (CET) Received: from egress-ip42a.ess.de.barracuda.com (egress-ip42a.ess.de.barracuda.com [18.185.115.201]) by mails.dpdk.org (Postfix) with ESMTP id F3A0D40689 for ; Wed, 5 Feb 2025 11:46:18 +0100 (CET) Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05lp2176.outbound.protection.outlook.com [104.47.17.176]) by mx-outbound43-8.eu-central-1c.ess.aws.cudaops.com (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Wed, 05 Feb 2025 10:46:17 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=MYpNqTM9GOzEPFn2KCaKKTYenckQeF6zgx3q8sLCSV29GmGLYJ2xMf72lo64LcjeGQ6DqbLdlIoeKoKeQXJ9ikn5Ahga8N2+mrI/arqRAzVr+MCgRiS8oJZQZf9VPnJShrlkX/kTAZiulXL3JT1yG1QAm10so0kEPK0Ea1GQd3T5Ej48nHG7C4lhDNgCEHyZkV/15DhoMmnq1GGpjPQaFgZpH2m+/4cme8aDfnow967yXrdqaRRGRxuRzVKKeUfsNeKOnpBvCebAFevG2bjVwAUc0qHgmd+Em293C6Toz9w0Homx28UXoNrLmNK8DRpOTPP2GXqXyoLvyBKvfOIBFQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=r7SnjMMIz4ZZUg1jwORWTo/4rhuC599yEsBp0fF9f64=; b=SVPkhBYupVIWU6YwawnhMCL+BemzlH0aGsihfnsXabeVcSOpVlK1R0lZyi4JkG50rDgZBL3HmUKPKoKuEIUPTACRWRHR7t6RYieCeDxNY4jELOx3ZRldaxiqBTO2qmmzwKfDVG6NsooxDgjdbDntI0R/L0fmUue4+fWPGl5XzlVNm3t1T9mBoeAl4joHnuNyse9dCZ2ElAw/M3C9A98s3Ji85CaBMClW2ZSiepCdm3duQh18/ZmodCWLmZIIuyvcZKYvh8yErGi5vUecg86leoWSKDfjjylDGDcep+QqKOEJx3mfP9ElDfzTH0R8LDZuV695ZAo5CRmCNOk0z6nSlA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=fail (sender ip is 178.72.21.4) smtp.rcpttodomain=dpdk.org smtp.mailfrom=napatech.com; dmarc=fail (p=reject sp=reject pct=100) action=oreject header.from=napatech.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=napatech.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=r7SnjMMIz4ZZUg1jwORWTo/4rhuC599yEsBp0fF9f64=; b=VkLcarDfUdxkMBPT9koParMNGr4Z0qCscvgs1099gKqU7m+nqBYD5c4ViVN2ReaUDbYRd1nFcgUcTKCzOabygBMaTY5GCcTTeffvJh4LBLgBjEIX2qrBuNkRBOQQFQDbebWg6Nxh0vTTgogfyTufYqHqENavu1c87PeJ5I7P0gI= Received: from CWLP265CA0340.GBRP265.PROD.OUTLOOK.COM (2603:10a6:401:5a::16) by PA4P190MB1088.EURP190.PROD.OUTLOOK.COM (2603:10a6:102:103::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8398.26; Wed, 5 Feb 2025 10:46:16 +0000 Received: from AMS0EPF000001A5.eurprd05.prod.outlook.com (2603:10a6:401:5a:cafe::ea) by CWLP265CA0340.outlook.office365.com (2603:10a6:401:5a::16) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.27 via Frontend Transport; Wed, 5 Feb 2025 10:46:16 +0000 X-MS-Exchange-Authentication-Results: spf=fail (sender IP is 178.72.21.4) smtp.mailfrom=napatech.com; dkim=none (message not signed) header.d=none;dmarc=fail action=oreject header.from=napatech.com; Received-SPF: Fail (protection.outlook.com: domain of napatech.com does not designate 178.72.21.4 as permitted sender) receiver=protection.outlook.com; client-ip=178.72.21.4; helo=localhost.localdomain; Received: from localhost.localdomain (178.72.21.4) by AMS0EPF000001A5.mail.protection.outlook.com (10.167.16.232) with Microsoft SMTP Server id 15.20.8398.14 via Frontend Transport; Wed, 5 Feb 2025 10:46:15 +0000 From: Serhii Iliushyk To: dev@dpdk.org Cc: mko-plv@napatech.com, sil-plv@napatech.com, ckm@napatech.com, stephen@networkplumber.org, Oleksandr Kolomeiets Subject: [PATCH v2 22/34] net/ntnic: remove extra address-of operator Date: Wed, 5 Feb 2025 11:45:31 +0100 Message-ID: <20250205104548.1533554-23-sil-plv@napatech.com> X-Mailer: git-send-email 2.45.0 In-Reply-To: <20250205104548.1533554-1-sil-plv@napatech.com> References: <20250121170814.3252171-2-sil-plv@napatech.com> <20250205104548.1533554-1-sil-plv@napatech.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AMS0EPF000001A5:EE_|PA4P190MB1088:EE_ X-MS-Office365-Filtering-Correlation-Id: e44aa851-1c71-4c19-362d-08dd45d25100 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|36860700013|82310400026|1800799024|376014; X-Microsoft-Antispam-Message-Info: zAHwi9F7ZAHVTbOIVn06YjyjRCv1uUJDlj9MSyCBuC7XEM5kVibXYu5/kcGxQWMNhkTQ1N0Cf3E2m6Ll+emiYiRQXIorqqJXezodF973zk7087FdneT3CsA1VfoRH9gW5jMivbISSsCmEku2JGYlj8//jgZgFXCaosVkd9IQkXzKvYMyFyYdj6N81XJuzO+IDtcEsazHo/36mZmxQCB3/N6a3YYcRa88fxkZ59hRtMT1xOpYqU2kJfOw6sHEnMFcbOOyc3GG5fOAjHhcxJC59Yh8xd+J3Z9nzCO7yfYJTvnNAxjFKbp5NI96i7Y6pjBlw/KOiF3LynmcNN4UYxANdbfJyLaY5Xecxx13McBBOEuR40E3k5fm+C8sUqitEXBqNptqieD5/fxUIuh+ercgCMvhZTEE5jFkf8gdeCCvC0c18YTyLwiQqIubh7s54hDAHRKx/FTBOW1av4KbI2ofxghtoGxF3pkB0PI6cLVh14vEWygSCNhfQ/BdFlL1yHL/FZ8Ang58ZyhqvMMOOJQb+sWUFJ+VAqAoLWElhkRAHT30xfbXtJlySMVAngH8B71IfpEDCfcD1z+kru//2srGhQIhE1F6wZ+njwWlPXn90pTgjKgqN1im53a7HP/lCxjMWrBnMP4yrCJ4A4SmUpDkjDY2p4VSldSZ9uRaGmZtbF8bHmaiSgDiU5C6BpyNNEKj2dvkf9hIRXQJ7Ziupx8hvgiDzax7YpPYdACAY0nALxiywhVtnVBtI0cBxPe9OuU7QzRGawv3d6LPl4g/JT4PdsBsh3y4AQ+WUgS4TlPF6PiXCIMxSE68cb/bQqeMqqnkTop3QkUZHotVs7hVWI2+sm6kBWJKgk07f+o06aMQvhD9+LBnqO7jfpw+yl2BqE1LUqkp5VFjxqQ2oQHtgTXYJ4IHODvBtpzk88dZOE2KRNnBHz9coMqvmiJ5fphIHBJF53yJ5yXSnmmoYlOLsf8T+t6YXZi0vPADJMxb0S3JSYva5m0KBGkGTX+3mwt47qzv2/gOAHfehBq6+drMjsq3GHQkkGTfx5u0LckMXCTki1fLgzpIbAIZOu6o7KCwvMrlWvwNdrnz3ixu082FxT8ikjD65o8DcvkFEb+xNMsSTAQL4/S6dCpzcx6uJ7a8DEGitd7bSGs1NBHRmeL79P79Oh84tgj6N4R9w+80X0VWYnP33m5L4PwoVTxAmHXRX6D1ChQXJiRrkcQ604opHpYY5NJrNdek4clmUGSIEikblTNEIKuzUxhhG2gQadF0/lwGfnnzgqt1I2BgaTEAt26q74IOnxbhBMvOMuCAix0wnuWIHH080k8EXDtrYVAzpPPvysr+Jgwfl0jiuKb6FGg9RGPRki9zzf0U0o6cD+ojdxSP8W5XeZvbfh9hEZSCE8MmyKm0DcKXQgIIri5Pfz9fFd+gfAVvnE8o72hDkbV5v4Vxp30wIT8B+Oj4dHzq2u85cNoULh+D6a414XCqpTmrWLy47na2ZIu2dwWCGYgPvdk= X-Forefront-Antispam-Report: CIP:178.72.21.4; CTRY:DK; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:localhost.localdomain; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(36860700013)(82310400026)(1800799024)(376014); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: p3N6x0dp51yIac6w52i7DYz7xTrB52arVYP8sOjtKXjMke1BGwjuBYy/XSD9gHdR/szRvWeMzDJ+7aeRTPo/GldXATFjIRWe/n277ZpZT4Box0NEQJXThssg4RFl2rlIuDIW7cfGI98cwj6yPjZ7STVPyoKQMPj8h5X3Q9tr+Ch7IV9I6tJvRlUjqMUQcBRd/6+sgF4iwK9V/FzV8g4APbv/0dwjPUsRw8nyQlxDYxVs/KcJ7ZDWOf8mgiL5jdbIDkfd6c+BThY+qGEsco1kKM806j8KxZ8CjpPwQ68fZ+rQ4vsVzhP2lEMBkFpQNy+t2Zcmt7QIwqvqV3oA3tuJjJZequFmsjUD5c3TCwIgzacIscO8MuOFLIpWGsL5JNImJcHz2T6pFH/+xkjiK3mMIkrMLnERr0acwghsUGQE5wDV+umdIIp0NAySxCc1Xi33ff0eMt70HHDodVkx0+AHJZnb50MfumndQU6XzxHNQBtsFFb4NVdNhZ2XJCatUVplmxsvTV+G4h+qrwxMipvvZTdcFveafBBAK+K1J1kP/Ve1QhCrUSQjB9lsP+95RwxGfFy9mE8uBBP3SKdHVk3ME09nnUYFkGCKQRcr6hfQXTKsRyax0DeM6kw5BtpWcs2Ah0vnTZplmYl+0bRPAaJVmQ== X-OriginatorOrg: napatech.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Feb 2025 10:46:15.9489 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: e44aa851-1c71-4c19-362d-08dd45d25100 X-MS-Exchange-CrossTenant-Id: c4540d0b-728a-4233-9da5-9ea30c7ec3ed X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=c4540d0b-728a-4233-9da5-9ea30c7ec3ed; Ip=[178.72.21.4]; Helo=[localhost.localdomain] X-MS-Exchange-CrossTenant-AuthSource: AMS0EPF000001A5.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4P190MB1088 X-BESS-ID: 1738752377-311016-7902-636-1 X-BESS-VER: 2019.1_20250203.2302 X-BESS-Apparent-Source-IP: 104.47.17.176 X-BESS-Parts: H4sIAAAAAAACA4uuVkqtKFGyUioBkjpK+cVKVoYmRoZAVgZQ0CzZ2DLNJDXVON kgMSnJ3NIkLTHV2MLSwCDVwtzUwMhAqTYWALSkCZpBAAAA X-BESS-Outbound-Spam-Score: 0.00 X-BESS-Outbound-Spam-Report: Code version 3.2, rules version 3.2.2.262304 [from cloudscan13-199.eu-central-1a.ess.aws.cudaops.com] Rule breakdown below pts rule name description ---- ---------------------- -------------------------------- 0.00 BSF_BESS_OUTBOUND META: BESS Outbound X-BESS-Outbound-Spam-Status: SCORE=0.00 using account:ESS113687 scores of KILL_LEVEL=7.0 tests=BSF_BESS_OUTBOUND X-BESS-BRTS-Status: 1 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org From: Oleksandr Kolomeiets Macro DO_COMPARE_INDEXS expects pointer to array. If condition is true, one of array's elements get overwritten. Misinterpreting pointer to pointer as pointer to array may result in out-of-bounds access. Coverity issue: 448966, 448970, 448971, 448972 Fixes: 6e8b7f11205f ("net/ntnic: add categorizer (CAT) FPGA module") Signed-off-by: Oleksandr Kolomeiets --- drivers/net/ntnic/include/hw_mod_backend.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ntnic/include/hw_mod_backend.h b/drivers/net/ntnic/include/hw_mod_backend.h index 544962751a..1941692ddf 100644 --- a/drivers/net/ntnic/include/hw_mod_backend.h +++ b/drivers/net/ntnic/include/hw_mod_backend.h @@ -111,7 +111,7 @@ enum { #define DO_COMPARE_INDEXS(be_module_reg, type, idx, cmp_idx) \ do { \ - typeof(be_module_reg) *temp_be_module = &(be_module_reg); \ + typeof(be_module_reg) temp_be_module = (be_module_reg); \ typeof(idx) tmp_idx = (idx); \ typeof(cmp_idx) tmp_cmp_idx = (cmp_idx); \ if ((unsigned int)(tmp_idx) != (unsigned int)(tmp_cmp_idx)) \ From patchwork Wed Feb 5 10:45:32 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Serhii Iliushyk X-Patchwork-Id: 150954 X-Patchwork-Delegate: stephen@networkplumber.org Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id A66284619A; Wed, 5 Feb 2025 11:48:34 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 0005940B9B; Wed, 5 Feb 2025 11:46:31 +0100 (CET) Received: from egress-ip11a.ess.de.barracuda.com (egress-ip11a.ess.de.barracuda.com [18.184.203.234]) by mails.dpdk.org (Postfix) with ESMTP id 495454067A for ; Wed, 5 Feb 2025 11:46:19 +0100 (CET) Received: from EUR02-VI1-obe.outbound.protection.outlook.com (mail-vi1eur02lp2043.outbound.protection.outlook.com [104.47.11.43]) by mx-outbound43-8.eu-central-1c.ess.aws.cudaops.com (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Wed, 05 Feb 2025 10:46:18 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Neo+592rMRCJTd+9dHFS/iImlMV21zMT1+IPkNkHgaPxiS01hMGoVcAFjCovZ53+nL/dn39qh87WvjA8I+4+3SnPRrukkNzOWYGFKoWbUrOViSMWVn/peLKd9KoJiuPdaXPBsdUipGbeVm3A75Lzv2Me8+/eVAheEOEPPHxBoa0hUtZH4ham+I8BmldMHhGpfK08zFFmcQqqSzw1vbUOzL3Md5WQ6IUyBqNU3RRDfwlAqnVstXkE9WxoAzsN+Zslm4MxLGlROjrlvgTpOpzXB0wvfJjZBX/qPEg+kgSSZK+eDAty6GLqXQ+GtcG84Lrv3QXoriN07F901ebW81vTaA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=MwuI1bQtyF/7O/nBCp0wG38zG+1DpmYgaws0c15isKk=; b=xlSABWN9YGU5xn/6eXZZaLvGZ4umUrkAwrKYWv3G0weouoL4ojiSqxdrMEsTMtrIJBeQScmoZybxCLuW2ySNzBlmJZH/tGVEoOFfZEApKpRCe9iFFmVXTD8C6+IEMuAdYdtZLgtv+k8CAupvsNSf9yMURGZV8uy3y+AeVIe1Xz3geve+NSADlxJdrOWJGaVpfwI44/g7+yVkQO4bG4AlGipdZFEl/atnE98KdBDpqLFWKuV+9i/zrrPmG4tHXpP50FSnV6ruRyvzeiJGq/Ls7C12hGkWsW5MJmziKlPhmnrCBqgvAIZ1aaM13n5wyl49+X+6J3Yv7kQPzBbBu7U+YQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=fail (sender ip is 178.72.21.4) smtp.rcpttodomain=dpdk.org smtp.mailfrom=napatech.com; dmarc=fail (p=reject sp=reject pct=100) action=oreject header.from=napatech.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=napatech.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=MwuI1bQtyF/7O/nBCp0wG38zG+1DpmYgaws0c15isKk=; b=Y6rQowKxLD9clRPCyf9wtfhWB+ZZ9YtGQz8I91Mnie0Uvu80zcYki2uqCMmCKH/rBvS2kegycn/ZDckgCjXEtSLUML6Xa3No2YbhKw7Vo9yKXKPQ0sS1OzzAJngfORBPSkD2snVbS0IVZ1yxjOjqTmZ2Wia+c8CRVuSpIcBn5hs= Received: from CWLP265CA0340.GBRP265.PROD.OUTLOOK.COM (2603:10a6:401:5a::16) by PA4P190MB1136.EURP190.PROD.OUTLOOK.COM (2603:10a6:102:10b::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8398.26; Wed, 5 Feb 2025 10:46:17 +0000 Received: from AMS0EPF000001A5.eurprd05.prod.outlook.com (2603:10a6:401:5a:cafe::90) by CWLP265CA0340.outlook.office365.com (2603:10a6:401:5a::16) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.27 via Frontend Transport; Wed, 5 Feb 2025 10:46:17 +0000 X-MS-Exchange-Authentication-Results: spf=fail (sender IP is 178.72.21.4) smtp.mailfrom=napatech.com; dkim=none (message not signed) header.d=none;dmarc=fail action=oreject header.from=napatech.com; Received-SPF: Fail (protection.outlook.com: domain of napatech.com does not designate 178.72.21.4 as permitted sender) receiver=protection.outlook.com; client-ip=178.72.21.4; helo=localhost.localdomain; Received: from localhost.localdomain (178.72.21.4) by AMS0EPF000001A5.mail.protection.outlook.com (10.167.16.232) with Microsoft SMTP Server id 15.20.8398.14 via Frontend Transport; Wed, 5 Feb 2025 10:46:17 +0000 From: Serhii Iliushyk To: dev@dpdk.org Cc: mko-plv@napatech.com, sil-plv@napatech.com, ckm@napatech.com, stephen@networkplumber.org, Oleksandr Kolomeiets , Danylo Vodopianov Subject: [PATCH v2 23/34] net/ntnic: remove extra check for null Date: Wed, 5 Feb 2025 11:45:32 +0100 Message-ID: <20250205104548.1533554-24-sil-plv@napatech.com> X-Mailer: git-send-email 2.45.0 In-Reply-To: <20250205104548.1533554-1-sil-plv@napatech.com> References: <20250121170814.3252171-2-sil-plv@napatech.com> <20250205104548.1533554-1-sil-plv@napatech.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AMS0EPF000001A5:EE_|PA4P190MB1136:EE_ X-MS-Office365-Filtering-Correlation-Id: 51801ba1-83cc-4c54-7bcd-08dd45d251c8 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|376014|82310400026|36860700013|1800799024; X-Microsoft-Antispam-Message-Info: 47sxi31woZy1aBlBnSfDDB0nJ0JWVFeDiqWYJTPZf8Jky+fe3s2NuV4WKvuVGiXbEQ2gUjRJsERtkCTTkTTEnnNrfiqY/VxA/i6WpWKCbf32cCymn3lMdCDDcZLzEobAm76lj7CaWbduDbwtTdyuPGrysG+dDcHIihw4mC1iD74LRVa/+rYsUdGU0+Fmi/QGA0Ahki6SPsEC//I0aLFN1fl5j3RwV+ZltMntc4Ur98z0yWUhCM+VJhZF3WpiPyEJjnhsGvljAV1ImUXGAR+LowKHaysJy3fnWWSkutGaCN6U8iXoicOAi28I+AnSc/Jgi1F/PR2bPQ00gzE9+5OhgmpRT99T7hnz861X7lAlmQWmash/WWKBY7lKJlQ531FG7TJv/Apu/vL17gsL/ZWh2LtNC3RsRJBhOFlddzc9eKYG9qTj6UyWaCmKUfxhrl2MfoJw5PHs3fjWcLs47ZKU6cQhuiYDzdm3CWTWppUKpG6EIEQjMnG90bJ+nLMBTbcvr1EkixRmJ53iVEnJ28tMy8h11KrxwBeY4gG3zUsCu6iNhr1KSAtx6FfihcIaWADYxynQf/HgTFsOmYaZLlYHFZdsREQZir/St4yWY62nLbkPWm7bYP2dPg/5BCoWsjU4XIyqcJd2suZIm1agTl6eBs6MxCJvEJCdzdlYJ7PeFXPBgD4i8uwtkFxCeOE65q51WVi0mE9fmIvboBqPmsX7TWl97BlQAtll/mISOEv+Y8GQiCNzjO5DHkzAfcQOm+L5rdyDDuwRuW6rkmFojFqhumfwygJltqsQxkd4NT0BgAbLEVzZSttqGw3MR2YGwwWri4IKgA9VqTsFCsKzmOhPeqgkVRGk5cXUmh4VYOfvDhaxMihliQyUOApAgQuPTx41H/9lT0QNm65SUsb88+gxgCZjbmxMgJ2sTI5qH/wEhKVY47qQiqpmKuYJzvDxnPlgbvn1PADKLSPbWo+BFPQl6urGDL1vCjvjyvYZ4bomdwfiAIjGP6yvknle6CRro+sUJqoA76F0Lw54vQ73Gdlr+Sp+PdIrSoQuk37AfPPj1icG9+rDwJvFZGWwZmvB6TW918h5hB+HV+bMrsFGLo57xczQhw6gBrW2e1o1TYGj1fMoTJyg7Dk2DbHx8OpbN/MC6X2WqCKNlsxi2qPHxk5qH47tLk3fFdEvxb1VqUYOqMEw089C3C6FKiAy/jlyEkJBotnrcsHeT9b/5x9ibvIqjPLT51kISqSAK21UsrjV38S/kyID+CXBeXe+EHGt4dqqKAi4O8Ao46mA/wZ2pcGNqrUlH5NFd5gMYlMgn6U4JK2YUf960w/e2hh6KXyUr0zpxctcQh3YM9/tpUOoBHOnOukm9/SD7PB5ZbdkHckPJtT751pBkD73iXmdaZxJgWRLtETh8nk2yx95TZn3D/ld5SCBAxDav3tPzeR3UJABXfEzDVTBojR5ORMoHL/r329YkPQ4G/HQUB+JJ2dHpUYwVg== X-Forefront-Antispam-Report: CIP:178.72.21.4; CTRY:DK; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:localhost.localdomain; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(376014)(82310400026)(36860700013)(1800799024); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: SjWQjlrGAo0jF8jMTIzYyDzUJm67cHTPsBmET2R7gSCZbHYE0Dsd0h0PLbneda+CG/GS/Qq7MXazIbxEaGJ2VdiwDys6Y2cTUEOUARr6H/vD0NKb6x3dxETV3j7IW/792ak8EVYD3XgR0gpr4ImoiCDFgK8VfGGlyjPPCIofEp+DCcBTj1AwWwLysGo90z7zBNMp6okEpc33V1fJdkvIPCUfGeanuhzJy5OdSwoUYabZ5x8VNTMT5YSKNZeS16TxvDh+TfRgAQR4Ifc+gkEt2gWHPHxmoZq6Is3K7nzX+AiANOGp9386alnLwxmKIhEQEQkPNSeWSf9sesRAoDD41OsOuTEmVLCYu/nNu5ABmxfIy119CQ8qHS7L/U9jBu6KIe3XsTfgbvk83jzETclKveXleL8Uffltsie7L6jHTajygv6NlauE9/DH8A0xKby2XCBnfxyabZwz2D+vOfjBTMSMjLY04CejoY7iq6d4Qd3Qit7zn2khzpVeVZmnpuUhL36SLXMgmXPP2Pfh7uwq8ACYj/mSkR9UOo00PPzPBIZ+wVFDM18V6ZC4KpaVOxa3fXFWXZMo96AinSk6pavWq7BBV/I8Af9alwmj6lmcwF1DrF/33qVmwD2yBoMDDwtDP5Qe6Jxc7b2Sx3CYpXhREA== X-OriginatorOrg: napatech.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Feb 2025 10:46:17.2301 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 51801ba1-83cc-4c54-7bcd-08dd45d251c8 X-MS-Exchange-CrossTenant-Id: c4540d0b-728a-4233-9da5-9ea30c7ec3ed X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=c4540d0b-728a-4233-9da5-9ea30c7ec3ed; Ip=[178.72.21.4]; Helo=[localhost.localdomain] X-MS-Exchange-CrossTenant-AuthSource: AMS0EPF000001A5.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4P190MB1136 X-BESS-ID: 1738752378-311016-9613-517-1 X-BESS-VER: 2019.1_20250203.2302 X-BESS-Apparent-Source-IP: 104.47.11.43 X-BESS-Parts: H4sIAAAAAAACA4uuVkqtKFGyUioBkjpK+cVKVoYGZpZAVgZQ0CjFMs3E3NzU0t zS3Mzc1DzRKMXIxMgozczM1Mw4xThRqTYWAKKAYK1BAAAA X-BESS-Outbound-Spam-Score: 0.00 X-BESS-Outbound-Spam-Report: Code version 3.2, rules version 3.2.2.262304 [from cloudscan10-207.eu-central-1a.ess.aws.cudaops.com] Rule breakdown below pts rule name description ---- ---------------------- -------------------------------- 0.00 BSF_BESS_OUTBOUND META: BESS Outbound X-BESS-Outbound-Spam-Status: SCORE=0.00 using account:ESS113687 scores of KILL_LEVEL=7.0 tests=BSF_BESS_OUTBOUND X-BESS-BRTS-Status: 1 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org From: Oleksandr Kolomeiets pld_ptr points to mp_port_load's element, which is initialized during driver's probe, otherwise probe fails and xstats_get_by_id is not called. Coverity issue: 448945 Fixes: cf6007eac498 ("net/ntnic: add xstats") Signed-off-by: Oleksandr Kolomeiets --- drivers/net/ntnic/ntnic_xstats/ntnic_xstats.c | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/drivers/net/ntnic/ntnic_xstats/ntnic_xstats.c b/drivers/net/ntnic/ntnic_xstats/ntnic_xstats.c index 7604afe6a0..cf3271d5de 100644 --- a/drivers/net/ntnic/ntnic_xstats/ntnic_xstats.c +++ b/drivers/net/ntnic/ntnic_xstats/ntnic_xstats.c @@ -645,16 +645,8 @@ static int nthw_xstats_get_by_id(nt4ga_stat_t *p_nt4ga_stat, break; case 4: - /* Port Load stat */ - if (pld_ptr) { - /* No reset */ - values[i] = *((uint64_t *)&pld_ptr[names[i].offset]); - - } else { - values[i] = 0; - } - + values[i] = *((uint64_t *)&pld_ptr[names[i].offset]); break; default: From patchwork Wed Feb 5 10:45:33 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Serhii Iliushyk X-Patchwork-Id: 150955 X-Patchwork-Delegate: stephen@networkplumber.org Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 1D0D74619A; Wed, 5 Feb 2025 11:48:41 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id AABA240C35; Wed, 5 Feb 2025 11:46:33 +0100 (CET) Received: from egress-ip11a.ess.de.barracuda.com (egress-ip11a.ess.de.barracuda.com [18.184.203.234]) by mails.dpdk.org (Postfix) with ESMTP id CD95640696 for ; Wed, 5 Feb 2025 11:46:20 +0100 (CET) Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05lp2104.outbound.protection.outlook.com [104.47.18.104]) by mx-outbound9-60.eu-central-1a.ess.aws.cudaops.com (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Wed, 05 Feb 2025 10:46:20 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=CrnDvsc/jKK+aa52HfPxGyOzod8dWpKKeKpK1UfQQxWuGX4ns9Pc6xO1arakuCiVUYacn8O282IUXBgXiHR+PlRPNfOSZE6WyR7seADzLICQedh5uf6d6tdnWulRQxm2uKkkK0nSFMGMffLPyiM4H7W5jF1a7YXZpEb7D1lM0U5TfCovw4OvFONNUaTmRs4ZmpnEJxcB+wcxiNPI/MG8PUhP2j94KUtlZJYsUf5vUXjVzvNUAlm0KONMBhO/rH0nTgiLx9KtvTRic6GCzjVZFOsuk2sIaNePXjn4gmCN3cQuu1Lar+XUtRQhP6d+nvGAUrNvAoEMIdzQWV/9ojTwrg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=FYyL9R9sPGygpa/NxvqSe6oWl71KcHilqvSMrjye0rg=; b=jHq5dq6QryoSF30WF4QQ3IKLjNIapH/gbmvidUkOGDzBlfYr+r55wiwLEkKkmPFNGSThYlS4m31ZTY0S2qcfYJKMXI7e6HpwJoDKc5ARxRNJHfbyWJtzfd0IAP2jjht2qRu8nvjg97YJlKXN+SY2ApZ2wrZGBtdo9Cthd+kxVGeyRY0lvO4VTxZZ6A4fXEmN/eZFpalgmPSwL4HyrX8PaLcBoLGQlE/3ocV372XuRcPWLVnkX3ewaIYyg/YV/pzShF7pYvIit7PU5IJ2ubvHtTHlbe50NEnIkBud12TEEMn1csb24o+bGeDeKQSm7tiPs2adgJ13rK9S0NFzSmFO8Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=fail (sender ip is 178.72.21.4) smtp.rcpttodomain=dpdk.org smtp.mailfrom=napatech.com; dmarc=fail (p=reject sp=reject pct=100) action=oreject header.from=napatech.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=napatech.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=FYyL9R9sPGygpa/NxvqSe6oWl71KcHilqvSMrjye0rg=; b=RjdoDLZnkMoXC9i/ZSlvEeXBcp7fSVcfadClYvT0e6IWUMpfgpPc8chWmCWDceqXFS4o0fFsmUcA1Aso3ZILvuV9dPvMjTKsxVLaRnBwpqnm8FDdc6vUNbpzWxpMnITxLrIK02l0Bk8CmzrvYFUnmkh+I6V+jWGSfpk5l70GvNw= Received: from CWLP265CA0337.GBRP265.PROD.OUTLOOK.COM (2603:10a6:401:5a::13) by DU0P190MB1978.EURP190.PROD.OUTLOOK.COM (2603:10a6:10:3b9::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8398.24; Wed, 5 Feb 2025 10:46:18 +0000 Received: from AMS0EPF000001A5.eurprd05.prod.outlook.com (2603:10a6:401:5a:cafe::ba) by CWLP265CA0337.outlook.office365.com (2603:10a6:401:5a::13) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.27 via Frontend Transport; Wed, 5 Feb 2025 10:46:18 +0000 X-MS-Exchange-Authentication-Results: spf=fail (sender IP is 178.72.21.4) smtp.mailfrom=napatech.com; dkim=none (message not signed) header.d=none;dmarc=fail action=oreject header.from=napatech.com; Received-SPF: Fail (protection.outlook.com: domain of napatech.com does not designate 178.72.21.4 as permitted sender) receiver=protection.outlook.com; client-ip=178.72.21.4; helo=localhost.localdomain; Received: from localhost.localdomain (178.72.21.4) by AMS0EPF000001A5.mail.protection.outlook.com (10.167.16.232) with Microsoft SMTP Server id 15.20.8398.14 via Frontend Transport; Wed, 5 Feb 2025 10:46:17 +0000 From: Serhii Iliushyk To: dev@dpdk.org Cc: mko-plv@napatech.com, sil-plv@napatech.com, ckm@napatech.com, stephen@networkplumber.org, Danylo Vodopianov Subject: [PATCH v2 24/34] net/ntnic: remove unused code Date: Wed, 5 Feb 2025 11:45:33 +0100 Message-ID: <20250205104548.1533554-25-sil-plv@napatech.com> X-Mailer: git-send-email 2.45.0 In-Reply-To: <20250205104548.1533554-1-sil-plv@napatech.com> References: <20250121170814.3252171-2-sil-plv@napatech.com> <20250205104548.1533554-1-sil-plv@napatech.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AMS0EPF000001A5:EE_|DU0P190MB1978:EE_ X-MS-Office365-Filtering-Correlation-Id: 020c9c1f-f27e-4994-d9d9-08dd45d25227 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|376014|82310400026|36860700013; X-Microsoft-Antispam-Message-Info: CBQ4mGwj01Iy2k9nc4WTHOzDZ5MFguwC9QBtpkmNLqjdHQGGncPuJ14Bkaz0ZEu0lLkbyXKqMhE5ZODMFNrfTPAexq8EwQfOQ97jiRFyCWZL07qudxSrcSGujPyUmSIjJxLRm45vy8M98m1dW712ltZsZ5sPZXUIJ3z8XjBB00XCC4w9MokfmCKMYAB8xvvb2TNKfjwmAwot/3oJOWSAUiz4rucIZJukSKK9VdPin7c8wa3OpEbDFHvjhAQKUE7XO05YUcv7NQiET2nJgD6G0aiK9tkTTnpSJaH9NtFX3OKQgo5QnbbezJftTTxLXKWkVc5L7x1/C5z9aP8i4SI2PRSLx73xzeVUOZrtHgMlvnezVW40NRLLCgvaPhHBjcXytOxs8sZckF8ePv4UyMsTArFtexK+vdyQHWtKUQiCcRNevby3xivWE1KEwYMf084bN6TGBo4Vx9+IasQPEa8xEMYzagXMmya5Wwhv+zXkOx/j+qnmPbwXMBOmhSPSNebpwJjedVf5dbb4Ni0+DCRN2cH65OppS8eEDrGvBLYjgJsJkBdvDOtbKcxeFBs3tbyKMQPyNYrethkOrejkfMUObTXp6j05oBvdb9jtkPdeOLQloGOpTbPb/63evWaWjw/ANuA4muoTwYg98btAoK4iFDAsTcnIY376diCdD233FUfcogEKYvRmOVkvXo9L9HvkTOLqHbAsXUBrg8lww0OrBW+iofADgxXW5UOQRLfrvYklq+ml9E/nSu741kvtQrXAivh+Lx8ab1YSB9FALypEIkrpefQzaTctRBLfuNdKvGlk8RYx8O7bD3K0A2Xpd0AHAkuZplTE0Ygsg6ywAdGPTkogjOzq6aH8TnfjqSZ0j7tXDmn1Dfs5dAAeJ90pL0ADmUjXiwmHYD4gP6FC0G55ZzvAamt6QTvSYuMNsJCiu/doe312hqA0y5S8PlR+D8NgdM2BdjzqeN2DDHzlPnCE352LFAlmdEnU+OBHWII7UWRRWa/F/qVl+5jQYEyKTTBy6UNIsZi5qBHVwP9p/U5UDmV7ZAXYTlIZZAjn4fBt4LEF2iJNiWbk6ijRbqZQOzv5QdHktWA7b/KVNvxVol2Qb2MbV4wzO6e6qpIo28tU6iSyoRsh1kBGbDWTeqYejmsIx6PtS21e0B3RLN9ucdrKE2bBsWM3PuyZ+ew6aX6/hQvJIKfXzcZ9oFU8JGNZgcglRhiXNtlqXDB4Z71DCZMqjDNM84QffeG+0sPK5WEEILn25wkh/8adLzPD4poPF9oSL5mMHqoA6/5IKmKhnrNpOEZW5tgiis86VlF8JYzPlOVz6sRzF4KT+OWH3f5RYZNkYjZW8MW9ck5RgUORWWywnPBCMZ70+sCjDExdwKbgSZKGTI0CNIbPMOoIISleLqiNrGxMWlcwM+bpyjnEbXpU6SlO3WbNDDTNKXIdF2k9etg9aepr5C5W71EZz/ZQNnH4Vf0JjSVTK0KikIHreynZf+CO4RUJZo/UUxIlI9twVCQ= X-Forefront-Antispam-Report: CIP:178.72.21.4; CTRY:DK; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:localhost.localdomain; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(1800799024)(376014)(82310400026)(36860700013); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: wTqI2gXJ4AVeGHdC09pcqxvrJoPkrSA3bRZImmxyfeG9RC34Vbo6/7laxqwZFtBcR1ZIfpi5ADgn1/dfNkMg9wyuwLK5xkUoqrhEzGkdgGoc6MgZ8+I/n17iwlPAAlGkU2/edup8VnKorhMfL+9xIvvmx8g3WFuZfUHGwmMSg7wo5k6ZATtCkbmYVNUcWz3S4L+1U9mOk7kZU6Cj8SAc30X47pkdnJM7rWMKfhoBb4ldrTx7yUpx4aWaHL2OlgZMQO+3x0aNTe10OJZULgORX4lMGp7vCI5c+leZKNR+pRxvTzNcSingSCpar7//k0FGC+etNHDA3ajsis7f3kiWr1fxHJWw8AD7dSgE/bRwCJoI1cjNLTjEiLzviHobtwOjgfioioWLuppa31pz3r4ZzySm5ZxyJOMCX4lVulHTr1J7VYOkb7LeGY8Gmuru//NKjz2QlfXSSFiYtfr7SjxDNlBdprCAUaUAEZGZNQz6fFvhDrBSprKniPET2GLUBPfYZjzUrjj9tSahTG7msl7aSUXIDi5ZtHsTxvsP8GkREq6Z+npjvD9XIh9kIj61oEnEhSYhG2bwZwqjdpEmsws5BkTtXhc6SMadxwTM9yBjF8beB8/8agVTNWg4j8tQJ0nCC9rCILdKfDFC+rDj24sRdw== X-OriginatorOrg: napatech.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Feb 2025 10:46:17.8708 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 020c9c1f-f27e-4994-d9d9-08dd45d25227 X-MS-Exchange-CrossTenant-Id: c4540d0b-728a-4233-9da5-9ea30c7ec3ed X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=c4540d0b-728a-4233-9da5-9ea30c7ec3ed; Ip=[178.72.21.4]; Helo=[localhost.localdomain] X-MS-Exchange-CrossTenant-AuthSource: AMS0EPF000001A5.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0P190MB1978 X-BESS-ID: 1738752379-302364-7586-672-1 X-BESS-VER: 2019.1_20250203.2302 X-BESS-Apparent-Source-IP: 104.47.18.104 X-BESS-Parts: H4sIAAAAAAACA4uuVkqtKFGyUioBkjpK+cVKVoYGJgZAVgZQ0NQkOSXFwtjS0M IsydLAPM0kyTjZMtEsJc0ozdjCMslcqTYWAJIM21lBAAAA X-BESS-Outbound-Spam-Score: 0.00 X-BESS-Outbound-Spam-Report: Code version 3.2, rules version 3.2.2.262304 [from cloudscan16-182.eu-central-1b.ess.aws.cudaops.com] Rule breakdown below pts rule name description ---- ---------------------- -------------------------------- 0.00 BSF_BESS_OUTBOUND META: BESS Outbound X-BESS-Outbound-Spam-Status: SCORE=0.00 using account:ESS113687 scores of KILL_LEVEL=7.0 tests=BSF_BESS_OUTBOUND X-BESS-BRTS-Status: 1 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org From: Danylo Vodopianov NTNIC currently cupport only 100G link. Signed-off-by: Danylo Vodopianov --- drivers/net/ntnic/adapter/nt4ga_stat/nt4ga_stat.c | 9 --------- 1 file changed, 9 deletions(-) diff --git a/drivers/net/ntnic/adapter/nt4ga_stat/nt4ga_stat.c b/drivers/net/ntnic/adapter/nt4ga_stat/nt4ga_stat.c index 8fedfdcd04..2add43639a 100644 --- a/drivers/net/ntnic/adapter/nt4ga_stat/nt4ga_stat.c +++ b/drivers/net/ntnic/adapter/nt4ga_stat/nt4ga_stat.c @@ -215,16 +215,7 @@ static int nt4ga_stat_setup(struct adapter_info_s *p_adapter_info) return -1; } -#ifdef NIM_TRIGGER - uint64_t max_bps_speed = nt_get_max_link_speed(p_adapter_info->nt4ga_link.speed_capa); - - if (max_bps_speed == 0) - max_bps_speed = DEFAULT_MAX_BPS_SPEED; - -#else uint64_t max_bps_speed = DEFAULT_MAX_BPS_SPEED; - NT_LOG(ERR, NTNIC, "NIM module not included"); -#endif for (int p = 0; p < NUM_ADAPTER_PORTS_MAX; p++) { p_nt4ga_stat->mp_port_load[p].rx_bps_max = max_bps_speed; From patchwork Wed Feb 5 10:45:34 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Serhii Iliushyk X-Patchwork-Id: 150958 X-Patchwork-Delegate: stephen@networkplumber.org Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 00B004619A; Wed, 5 Feb 2025 11:48:58 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 039F040DDB; Wed, 5 Feb 2025 11:46:37 +0100 (CET) Received: from egress-ip42b.ess.de.barracuda.com (egress-ip42b.ess.de.barracuda.com [18.185.115.246]) by mails.dpdk.org (Postfix) with ESMTP id 7D788406BC for ; Wed, 5 Feb 2025 11:46:24 +0100 (CET) Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05lp2106.outbound.protection.outlook.com [104.47.18.106]) by mx-outbound23-121.eu-central-1b.ess.aws.cudaops.com (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Wed, 05 Feb 2025 10:46:21 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=DhkzkFb8sgeOf/ibkwuSBLpuBgwlMLXbBGoKV6fvBnZMekuMLBpjvs+bSjnmU3ZyKg4HieiWVyhKZzjrsIRhUyGkrUkt2fkTOj4Jbkz+cjuNHB6wb+3329UQY+1iN0L+1lJspmVHOwZAxqWSKe/kgxrXwoIiuQdtuwbQVxAgZPNC1OvDwHNJLBjXGiKXZMclnMBGMlEPSmobpJSk7TZAoRgU2aM2GScKGeWb+LVPiTqOb18AXdykJ9nZV2EMf0w/04Ihn9lYBlBRR+0uAVpeGP6Ja7+otT+5xAJ8xeq2fT+0gInhla2vpPBsTnZA7U6DZG+L0yPU5smTM6772Uopyg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=vWFilX7BW7lAdqRr7iJiTyAxOUKtLFfxPoZyoYP/3Zo=; b=S2COmsm839BTSQ+P4dNEkbKrQQS7UgvqY/K02a/K0Tehnm6Qdah2ZEromGXCMatpwMnR6kVJ3UKJ8aAfhWUy0hro+JbYZBkUadDY7BKUfIfO4UGSP1rXHEkxwh8rKTno5vbnJ7AbGpFf88FHCfrdiMCUPHEzUIFcDhV1x09atMQuTntDJ/hGeC9kOQ+AyAmri3EaT58G2hy8anW/rzbE5v0sZNRd1l4bcgQbQhb9fV00++MFl0N5mHurjj4+fBUwC5IgLcXmdskLGm3ZIavYNfTy4bcGHcH00jwAj8fU2z0y5iT9jgCJDN2IfDzEwyt2q8PxX+iKS8DJPZ8v7S5hFg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=fail (sender ip is 178.72.21.4) smtp.rcpttodomain=dpdk.org smtp.mailfrom=napatech.com; dmarc=fail (p=reject sp=reject pct=100) action=oreject header.from=napatech.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=napatech.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=vWFilX7BW7lAdqRr7iJiTyAxOUKtLFfxPoZyoYP/3Zo=; b=h69m6/8yNVWkI4Ojqg6YHth/x1JVcSMR/k1qQ20r2qTt4eFRLslh7m5iwOoEFl0LrtDBqiRl80hl2aIO1/PAAaEcvXMixjfH/f9dcauFKb4ef75YY80QmB2MBrRJjKy66qtXZEoqEXqJawUjIeHlG9TPuf17IuN3k1paUhL8H68= Received: from CWLP265CA0338.GBRP265.PROD.OUTLOOK.COM (2603:10a6:401:5a::14) by AM9P190MB1202.EURP190.PROD.OUTLOOK.COM (2603:10a6:20b:261::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8398.26; Wed, 5 Feb 2025 10:46:19 +0000 Received: from AMS0EPF000001A5.eurprd05.prod.outlook.com (2603:10a6:401:5a:cafe::f3) by CWLP265CA0338.outlook.office365.com (2603:10a6:401:5a::14) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.27 via Frontend Transport; Wed, 5 Feb 2025 10:46:18 +0000 X-MS-Exchange-Authentication-Results: spf=fail (sender IP is 178.72.21.4) smtp.mailfrom=napatech.com; dkim=none (message not signed) header.d=none;dmarc=fail action=oreject header.from=napatech.com; Received-SPF: Fail (protection.outlook.com: domain of napatech.com does not designate 178.72.21.4 as permitted sender) receiver=protection.outlook.com; client-ip=178.72.21.4; helo=localhost.localdomain; Received: from localhost.localdomain (178.72.21.4) by AMS0EPF000001A5.mail.protection.outlook.com (10.167.16.232) with Microsoft SMTP Server id 15.20.8398.14 via Frontend Transport; Wed, 5 Feb 2025 10:46:18 +0000 From: Serhii Iliushyk To: dev@dpdk.org Cc: mko-plv@napatech.com, sil-plv@napatech.com, ckm@napatech.com, stephen@networkplumber.org, Danylo Vodopianov Subject: [PATCH v2 25/34] net/ntnic: refactor RSS implementation Date: Wed, 5 Feb 2025 11:45:34 +0100 Message-ID: <20250205104548.1533554-26-sil-plv@napatech.com> X-Mailer: git-send-email 2.45.0 In-Reply-To: <20250205104548.1533554-1-sil-plv@napatech.com> References: <20250121170814.3252171-2-sil-plv@napatech.com> <20250205104548.1533554-1-sil-plv@napatech.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AMS0EPF000001A5:EE_|AM9P190MB1202:EE_ X-MS-Office365-Filtering-Correlation-Id: 5743cdb9-2fa7-4cbf-fca6-08dd45d2528b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|376014|36860700013|82310400026; X-Microsoft-Antispam-Message-Info: DdTb/FBo2ms7Wv6SmG1j1DF/gyEb6GhgtcipT5S/c6aLoPJ0I8CdZJFm30MDnf6Q37PEfGySr57Ibz3GKevJ1tDTjEqHrDjhPg6GA3nYSjz/le97JYK4DeBfHSKaJnaNhuDZQSHOFe33p4/fpSYT+uu+YrZ/+WmBfh0sraz9gPnCO7hz8Jyq/9g+HfT5pVMHj6tw1F2OSf21s1AKefXGEJTrIx+lvTDDqp0MBSGqBz1x2FDKdOMjmldh7rfxqDR7vkpuwIMkvmrs1OB7ASyuO02ONjX6AkkgWd5Q0FrQ3yqkz0gC2cwkEoZh0M31dm4kBIeFEZIkJgJC5azc/3yjCdCXpltNvwXPFGxAf+w3GlCLwmPaDTjYdA+V9fQefb5x9QTOouuu2n1PT5M6pklJw9MQCiTRL6nVs8Q4qMgI8vqLAb2GC4cNl37AnlJjYpg16ow4yVITq8QOsn5UoUnBoXY8qdXBrWCG0Z96DXIQdUBXtd/n+Xj/VMag+SUqFsxNhqCqjl+7tEEndsFNdY3lehHe52rJSYU+4uwL0zEHz4PFRSroddMmWjjByXrIBh2lx5SEqZLw7F/5qBL2hW6jK/pFruXsO26i9PiZYQBTTE00dk09G1HHFMOoC9eD4s4usUTnm98CP0fRmXJTDVJyspXktXUjePvzAhH8eqr7SKV1g7M2UnfrD8MQ7Bb5nC3O+qQhNovGD3/v07p1pY3r/DKFLLcoXo0oFHgYPwKD+m/VvHQwODLO3LYn5EEqjhjLtxYugMUztGDWTWF7Z4GS4jehIcgPBo3PVOHGbQC7OrPWJ8uxI85RBEbT7YaNWmLugEqdLQCL8oAQcavyeLNX8vFP4iO46nj4yV9aY6dKX+txiQYU8BGBsx9N+cqa1X5PepWroHkjXIdsu6JmcthKS69fYexXiIZGLFRax60SbdvIu0WMtgt7d/MJpORTC4VxETUYYNZWXEqMJNx9i3ZcqS9+rKqFQ3ItJ+k1awxs84NX8TMKL1JUO6fiWTRT6C7rRWjxp8lWsL2Rg8Bjh2A8rnGp9GcyE2EcO7pzwRnJol2XadFO9jACoVhEEKIwMcSDhFtRbnloUO4NKzx7R6bBMBfQWy6SEMkMinwATodF7t/z5KnKklmjfk8ynuWh1C+0tOglGWpa+/E+Ycj17T82UMfUAUEOZVIcQpft/tvgUVCGUCe28ABFd4lI73U+s1aTi8FpPor53TXPaUpl7dcaxZCFk8eG8SukXfpyNIkzZyTeBfJKGaNupXD21MywFiDbz/uFJPmmRx22rIXThKjpWGgmbLmRCOeh7hsEcqzyo2v6CSmtqpwR5jnIkZ18di1TUIivQxInfk7aGg/zfeQM2785efP8Mm0SbTmIh5dthZbDUpPxlzZgxgLXKo7J0zRNS3IQAuHrtXYTDzzBnkgtYfYflYxeZ8dOpa6XlqfS9/POuC+ZOCnWyi13BFx5KnHrw7manaMVwi/BNBWDuFeLle8+G95a2dWhsprl/r4ROh4= X-Forefront-Antispam-Report: CIP:178.72.21.4; CTRY:DK; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:localhost.localdomain; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(1800799024)(376014)(36860700013)(82310400026); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 1SFlGIwT1bc6nxQga453H2f2NIUcUWHhrW7vegokr8Mc+dmBuT/6efvpjI/7cbDf/qEaRAh4L/e+XgEzjPqTxKy5mR2Kh/8BUOk805KrrhM5Vk8QiqXhEGcXs7Z6jbRNiI9b5aF6PAubl9EhEPsdE4z+M3kjWLmaRxtw3gLDaiYqdwVuETyxJ5wVIwl2dcJc8HRzcm5NM4A47/3rwBcu74Y8kP5LLTnbn8fbcxTjayl9PWDF2VFXYHbtyo9PmzG4EGCegj86Zg4fuBhOpXuh4cVS15iRtBWKxddqjlRVh9DPiKaQ8LbNB+AUBSERkQO2Sa+g0R92ykw61sIpc428iPSejdNJutOjBUSf5UudF4SY7s+Q5K3MwpC3YkPlzUzMlwMH2tbpn4gebxv5Fk7QInZA6wxYXefbxna0AgLG8g9R7jWWAYIkvWVLB9eUb5tg4gzOATAHBf7klBHi29VstMcX8JqAOlHxR319zfheRuYwbmxEno/uT33rze9cdHYZT/H0rrRHw7zROoeSc2seTnWFjvkBuo8al0PF7LvX+oLDQrRfToHsCZfRhVsgLD1elRv6tKgnzkrPJZkJq1dH+p1TiX2ZGPe3gFfYjv1NBlm85KfszlJlYiL60heaCtnH3UJc8XHPOAbDWFb4CfHcfQ== X-OriginatorOrg: napatech.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Feb 2025 10:46:18.5426 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 5743cdb9-2fa7-4cbf-fca6-08dd45d2528b X-MS-Exchange-CrossTenant-Id: c4540d0b-728a-4233-9da5-9ea30c7ec3ed X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=c4540d0b-728a-4233-9da5-9ea30c7ec3ed; Ip=[178.72.21.4]; Helo=[localhost.localdomain] X-MS-Exchange-CrossTenant-AuthSource: AMS0EPF000001A5.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9P190MB1202 X-BESS-ID: 1738752381-306009-7776-626-1 X-BESS-VER: 2019.1_20250203.2302 X-BESS-Apparent-Source-IP: 104.47.18.106 X-BESS-Parts: H4sIAAAAAAACA4uuVkqtKFGyUioBkjpK+cVKVmZGZhbmQGYGUNTIwsTELNHULM nYyNggMc0szSjRxCLZ2MQkKdnE3NAsWak2FgDnI9KSQgAAAA== X-BESS-Outbound-Spam-Score: 0.00 X-BESS-Outbound-Spam-Report: Code version 3.2, rules version 3.2.2.262304 [from cloudscan10-166.eu-central-1a.ess.aws.cudaops.com] Rule breakdown below pts rule name description ---- ---------------------- -------------------------------- 0.00 BSF_BESS_OUTBOUND META: BESS Outbound X-BESS-Outbound-Spam-Status: SCORE=0.00 using account:ESS113687 scores of KILL_LEVEL=7.0 tests=BSF_BESS_OUTBOUND X-BESS-BRTS-Status: 1 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org From: Danylo Vodopianov Virtualization backward compatible RSS implementation is no longer needed, thus RSS was refactored as follows: * conversion of RTE_ETH_RSS fields into HSH registers was moved to separate files * profile wrapper for RSS configuration was removed * flow_nic_set_hasher(), to configure default 5-tuple hash, was replaced by call of hsh_set() with proper RTE_ETH_RSS* fields Signed-off-by: Danylo Vodopianov --- drivers/net/ntnic/include/flow_api.h | 9 - drivers/net/ntnic/include/hw_mod_backend.h | 6 - drivers/net/ntnic/meson.build | 1 + drivers/net/ntnic/nthw/flow_api/flow_api.c | 63 -- .../net/ntnic/nthw/flow_api/flow_hsh_cfg.c | 661 +++++++++++++++ .../net/ntnic/nthw/flow_api/flow_hsh_cfg.h | 17 + .../profile_inline/flow_api_hw_db_inline.c | 5 +- .../profile_inline/flow_api_profile_inline.c | 782 +----------------- .../profile_inline/flow_api_profile_inline.h | 4 - drivers/net/ntnic/ntnic_ethdev.c | 3 +- drivers/net/ntnic/ntnic_mod_reg.h | 6 - 11 files changed, 695 insertions(+), 862 deletions(-) create mode 100644 drivers/net/ntnic/nthw/flow_api/flow_hsh_cfg.c create mode 100644 drivers/net/ntnic/nthw/flow_api/flow_hsh_cfg.h diff --git a/drivers/net/ntnic/include/flow_api.h b/drivers/net/ntnic/include/flow_api.h index 0af766fe5b..9201b8a3ae 100644 --- a/drivers/net/ntnic/include/flow_api.h +++ b/drivers/net/ntnic/include/flow_api.h @@ -83,11 +83,6 @@ struct flow_eth_dev { struct flow_eth_dev *next; }; -enum flow_nic_hash_e { - HASH_ALGO_ROUND_ROBIN = 0, - HASH_ALGO_5TUPLE, -}; - /* registered NIC backends */ struct flow_nic_dev { uint8_t adapter_no; /* physical adapter no in the host system */ @@ -234,10 +229,6 @@ void flow_nic_free_resource(struct flow_nic_dev *ndev, enum res_type_e res_type, int flow_nic_ref_resource(struct flow_nic_dev *ndev, enum res_type_e res_type, int index); int flow_nic_deref_resource(struct flow_nic_dev *ndev, enum res_type_e res_type, int index); -int flow_nic_set_hasher(struct flow_nic_dev *ndev, int hsh_idx, enum flow_nic_hash_e algorithm); -int flow_nic_set_hasher_fields(struct flow_nic_dev *ndev, int hsh_idx, - struct nt_eth_rss_conf rss_conf); - int flow_get_flm_stats(struct flow_nic_dev *ndev, uint64_t *data, uint64_t size); #endif diff --git a/drivers/net/ntnic/include/hw_mod_backend.h b/drivers/net/ntnic/include/hw_mod_backend.h index 1941692ddf..4061d3f9e5 100644 --- a/drivers/net/ntnic/include/hw_mod_backend.h +++ b/drivers/net/ntnic/include/hw_mod_backend.h @@ -239,12 +239,6 @@ enum { PROT_TUN_L4_ICMP = 4 }; - -enum { - HASH_HASH_NONE = 0, - HASH_5TUPLE = 8, -}; - enum { CPY_SELECT_DSCP_IPV4 = 0, CPY_SELECT_DSCP_IPV6 = 1, diff --git a/drivers/net/ntnic/meson.build b/drivers/net/ntnic/meson.build index 3c05ad1d87..bfc5ae5aa8 100644 --- a/drivers/net/ntnic/meson.build +++ b/drivers/net/ntnic/meson.build @@ -70,6 +70,7 @@ sources = files( 'nthw/flow_api/flow_backend/flow_backend.c', 'nthw/flow_api/flow_filter.c', 'nthw/flow_api/flow_hasher.c', + 'nthw/flow_api/flow_hsh_cfg.c', 'nthw/flow_api/flow_kcc.c', 'nthw/flow_api/flow_km.c', 'nthw/flow_api/hw_mod/hw_mod_backend.c', diff --git a/drivers/net/ntnic/nthw/flow_api/flow_api.c b/drivers/net/ntnic/nthw/flow_api/flow_api.c index d25d1a3dd1..857051fe14 100644 --- a/drivers/net/ntnic/nthw/flow_api/flow_api.c +++ b/drivers/net/ntnic/nthw/flow_api/flow_api.c @@ -1009,55 +1009,6 @@ int sprint_nt_rss_mask(char *str, uint16_t str_len, const char *prefix, uint64_t return 0; } -/* - * Hash - */ - -int flow_nic_set_hasher(struct flow_nic_dev *ndev, int hsh_idx, enum flow_nic_hash_e algorithm) -{ - hw_mod_hsh_rcp_set(&ndev->be, HW_HSH_RCP_PRESET_ALL, hsh_idx, 0, 0); - - switch (algorithm) { - case HASH_ALGO_5TUPLE: - /* need to create an IPv6 hashing and enable the adaptive ip mask bit */ - hw_mod_hsh_rcp_set(&ndev->be, HW_HSH_RCP_LOAD_DIST_TYPE, hsh_idx, 0, 2); - hw_mod_hsh_rcp_set(&ndev->be, HW_HSH_RCP_QW0_PE, hsh_idx, 0, DYN_FINAL_IP_DST); - hw_mod_hsh_rcp_set(&ndev->be, HW_HSH_RCP_QW0_OFS, hsh_idx, 0, -16); - hw_mod_hsh_rcp_set(&ndev->be, HW_HSH_RCP_QW4_PE, hsh_idx, 0, DYN_FINAL_IP_DST); - hw_mod_hsh_rcp_set(&ndev->be, HW_HSH_RCP_QW4_OFS, hsh_idx, 0, 0); - hw_mod_hsh_rcp_set(&ndev->be, HW_HSH_RCP_W8_PE, hsh_idx, 0, DYN_L4); - hw_mod_hsh_rcp_set(&ndev->be, HW_HSH_RCP_W8_OFS, hsh_idx, 0, 0); - hw_mod_hsh_rcp_set(&ndev->be, HW_HSH_RCP_W9_PE, hsh_idx, 0, 0); - hw_mod_hsh_rcp_set(&ndev->be, HW_HSH_RCP_W9_OFS, hsh_idx, 0, 0); - hw_mod_hsh_rcp_set(&ndev->be, HW_HSH_RCP_W9_P, hsh_idx, 0, 0); - hw_mod_hsh_rcp_set(&ndev->be, HW_HSH_RCP_P_MASK, hsh_idx, 0, 1); - hw_mod_hsh_rcp_set(&ndev->be, HW_HSH_RCP_WORD_MASK, hsh_idx, 0, 0xffffffff); - hw_mod_hsh_rcp_set(&ndev->be, HW_HSH_RCP_WORD_MASK, hsh_idx, 1, 0xffffffff); - hw_mod_hsh_rcp_set(&ndev->be, HW_HSH_RCP_WORD_MASK, hsh_idx, 2, 0xffffffff); - hw_mod_hsh_rcp_set(&ndev->be, HW_HSH_RCP_WORD_MASK, hsh_idx, 3, 0xffffffff); - hw_mod_hsh_rcp_set(&ndev->be, HW_HSH_RCP_WORD_MASK, hsh_idx, 4, 0xffffffff); - hw_mod_hsh_rcp_set(&ndev->be, HW_HSH_RCP_WORD_MASK, hsh_idx, 5, 0xffffffff); - hw_mod_hsh_rcp_set(&ndev->be, HW_HSH_RCP_WORD_MASK, hsh_idx, 6, 0xffffffff); - hw_mod_hsh_rcp_set(&ndev->be, HW_HSH_RCP_WORD_MASK, hsh_idx, 7, 0xffffffff); - hw_mod_hsh_rcp_set(&ndev->be, HW_HSH_RCP_WORD_MASK, hsh_idx, 8, 0xffffffff); - hw_mod_hsh_rcp_set(&ndev->be, HW_HSH_RCP_WORD_MASK, hsh_idx, 9, 0); - hw_mod_hsh_rcp_set(&ndev->be, HW_HSH_RCP_SEED, hsh_idx, 0, 0xffffffff); - hw_mod_hsh_rcp_set(&ndev->be, HW_HSH_RCP_HSH_VALID, hsh_idx, 0, 1); - hw_mod_hsh_rcp_set(&ndev->be, HW_HSH_RCP_HSH_TYPE, hsh_idx, 0, HASH_5TUPLE); - hw_mod_hsh_rcp_set(&ndev->be, HW_HSH_RCP_AUTO_IPV4_MASK, hsh_idx, 0, 1); - - NT_LOG(DBG, FILTER, "Set IPv6 5-tuple hasher with adaptive IPv4 hashing"); - break; - - default: - case HASH_ALGO_ROUND_ROBIN: - /* zero is round-robin */ - break; - } - - return 0; -} - static int flow_dev_dump(struct flow_eth_dev *dev, struct flow_handle *flow, uint16_t caller_id, @@ -1074,19 +1025,6 @@ static int flow_dev_dump(struct flow_eth_dev *dev, return profile_inline_ops->flow_dev_dump_profile_inline(dev, flow, caller_id, file, error); } -int flow_nic_set_hasher_fields(struct flow_nic_dev *ndev, int hsh_idx, - struct nt_eth_rss_conf rss_conf) -{ - const struct profile_inline_ops *profile_inline_ops = get_profile_inline_ops(); - - if (profile_inline_ops == NULL) { - NT_LOG(ERR, FILTER, "%s: profile_inline module uninitialized", __func__); - return -1; - } - - return profile_inline_ops->flow_nic_set_hasher_fields_inline(ndev, hsh_idx, rss_conf); -} - static int flow_get_aged_flows(struct flow_eth_dev *dev, uint16_t caller_id, void **context, @@ -1324,7 +1262,6 @@ static const struct flow_filter_ops ops = { * Other */ .hw_mod_hsh_rcp_flush = hw_mod_hsh_rcp_flush, - .flow_nic_set_hasher_fields = flow_nic_set_hasher_fields, }; void init_flow_filter(void) diff --git a/drivers/net/ntnic/nthw/flow_api/flow_hsh_cfg.c b/drivers/net/ntnic/nthw/flow_api/flow_hsh_cfg.c new file mode 100644 index 0000000000..624d1a26d1 --- /dev/null +++ b/drivers/net/ntnic/nthw/flow_api/flow_hsh_cfg.c @@ -0,0 +1,661 @@ +/* + * SPDX-License-Identifier: BSD-3-Clause + * Copyright(c) 2024 Napatech A/S + */ + +#include "flow_hsh_cfg.h" + +#define RTE_ETH_RSS_UDP_COMBINED (RTE_ETH_RSS_NONFRAG_IPV4_UDP | \ + RTE_ETH_RSS_NONFRAG_IPV6_UDP | \ + RTE_ETH_RSS_IPV6_UDP_EX) + +#define RTE_ETH_RSS_TCP_COMBINED (RTE_ETH_RSS_NONFRAG_IPV4_TCP | \ + RTE_ETH_RSS_NONFRAG_IPV6_TCP | \ + RTE_ETH_RSS_IPV6_TCP_EX) + +#define TOEPLITS_HSH_SIZE 9 +/* + * FPGA uses up to 10 32-bit words (320 bits) for hash calculation + 8 bits for L4 protocol number. + * Hashed data are split between two 128-bit Quad Words (QW) + * and two 32-bit Words (W), which can refer to different header parts. + */ +enum hsh_words_id { + HSH_WORDS_QW0 = 0, + HSH_WORDS_QW4, + HSH_WORDS_W8, + HSH_WORDS_W9, + HSH_WORDS_SIZE, +}; + +/* struct with details about hash QWs & Ws */ +struct hsh_words { + /* + * index of W (word) or index of 1st word of QW (quad word) + * is used for hash mask calculation + */ + uint8_t index; + enum hw_hsh_e pe; /* offset to header part, e.g. beginning of L4 */ + enum hw_hsh_e ofs; /* relative offset in BYTES to 'pe' header offset above */ + uint16_t bit_len; /* max length of header part in bits to fit into QW/W */ + bool free; /* only free words can be used for hsh calculation */ +}; + +static enum hsh_words_id get_free_word(struct hsh_words *words, uint16_t bit_len) +{ + enum hsh_words_id ret = HSH_WORDS_SIZE; + uint16_t ret_bit_len = UINT16_MAX; + for (enum hsh_words_id i = HSH_WORDS_QW0; i < HSH_WORDS_SIZE; i++) { + if (words[i].free && bit_len <= + words[i].bit_len && words[i].bit_len < + ret_bit_len) { + ret = i; + ret_bit_len = words[i].bit_len; + } + } + return ret; +} + +static int hsh_set_part(struct flow_nic_dev *ndev, int hsh_idx, struct hsh_words *words, + uint32_t pe, uint32_t ofs, int bit_len, bool toeplitz) +{ + int res = 0; + + /* check if there is any free word, which can accommodate header part of given 'bit_len' */ + enum hsh_words_id word = get_free_word(words, bit_len); + + if (word == HSH_WORDS_SIZE) { + NT_LOG(ERR, FILTER, "Cannot add additional %d bits into hash", bit_len); + return -1; + } + + words[word].free = false; + + res |= hw_mod_hsh_rcp_set(&ndev->be, words[word].pe, hsh_idx, 0, pe); + NT_LOG(DBG, FILTER, "hw_mod_hsh_rcp_set(&ndev->be, %d, %d, 0, %d)", words[word].pe, + hsh_idx, pe); + res |= hw_mod_hsh_rcp_set(&ndev->be, words[word].ofs, hsh_idx, 0, ofs); + NT_LOG(DBG, FILTER, "hw_mod_hsh_rcp_set(&ndev->be, %d, %d, 0, %d)", words[word].ofs, + hsh_idx, ofs); + + + /* set HW_HSH_RCP_WORD_MASK based on used QW/W and given 'bit_len' */ + int mask_bit_len = bit_len; + uint32_t mask = 0x0; + uint32_t toeplitz_mask[TOEPLITS_HSH_SIZE] = {0x0}; + /* iterate through all words of QW */ + uint16_t words_count = words[word].bit_len / 32; + for (uint16_t mask_off = 1; mask_off <= words_count; mask_off++) { + if (mask_bit_len >= 32) { + mask_bit_len -= 32; + mask = 0xffffffff; + } else if (mask_bit_len > 0) { + mask = 0xffffffff >> (32 - mask_bit_len) << (32 - mask_bit_len); + mask_bit_len = 0; + } else { + mask = 0x0; + } + /* reorder QW words mask from little to big endian */ + res |= hw_mod_hsh_rcp_set(&ndev->be, HW_HSH_RCP_WORD_MASK, hsh_idx, + words[word].index + words_count - mask_off, mask); + NT_LOG(DBG, FILTER, + "hw_mod_hsh_rcp_set(&ndev->be, HW_HSH_RCP_WORD_MASK, %d, %d, 0x%08" PRIX32 ")", + hsh_idx, words[word].index + words_count - mask_off, mask); + toeplitz_mask[words[word].index + mask_off - 1] = mask; + } + if (toeplitz) { + NT_LOG(DBG, FILTER, + "Partial Toeplitz RSS key mask: %08" PRIX32 " %08" PRIX32 " %08" PRIX32 + " %08" PRIX32 " %08" PRIX32 " %08" PRIX32 " %08" PRIX32 " %08" PRIX32 + " %08" PRIX32 "", + toeplitz_mask[0], toeplitz_mask[1], toeplitz_mask[2], toeplitz_mask[3], + toeplitz_mask[4], toeplitz_mask[5], toeplitz_mask[6], toeplitz_mask[7], + toeplitz_mask[8]); + NT_LOG(DBG, FILTER, " MSB LSB"); + } + return res; +} + +static __rte_always_inline bool all_bits_enabled(uint64_t hash_mask, uint64_t hash_bits) +{ + return (hash_mask & hash_bits) == hash_bits; +} + +static __rte_always_inline void unset_bits(uint64_t *hash_mask, uint64_t hash_bits) +{ + *hash_mask &= ~hash_bits; +} + +static __rte_always_inline void unset_bits_and_log(uint64_t *hash_mask, uint64_t hash_bits) +{ + char rss_buffer[4096]; + uint16_t rss_buffer_len = sizeof(rss_buffer); + + if (sprint_nt_rss_mask(rss_buffer, rss_buffer_len, " ", *hash_mask & hash_bits) == 0) + NT_LOG(DBG, FILTER, "Configured RSS types:%s", rss_buffer); + unset_bits(hash_mask, hash_bits); +} + +static __rte_always_inline void unset_bits_if_all_enabled(uint64_t *hash_mask, uint64_t hash_bits) +{ + if (all_bits_enabled(*hash_mask, hash_bits)) + unset_bits(hash_mask, hash_bits); +} + +int hsh_set(struct flow_nic_dev *ndev, int hsh_idx, struct nt_eth_rss_conf rss_conf) +{ + uint64_t fields = rss_conf.rss_hf; + + char rss_buffer[4096]; + uint16_t rss_buffer_len = sizeof(rss_buffer); + + if (sprint_nt_rss_mask(rss_buffer, rss_buffer_len, " ", fields) == 0) + NT_LOG(DBG, FILTER, "Requested RSS types:%s", rss_buffer); + + /* + * configure all (Q)Words usable for hash calculation + * Hash can be calculated from 4 independent header parts: + * | QW0 | Qw4 | W8| W9| + * word | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | + */ + struct hsh_words words[HSH_WORDS_SIZE] = { + { 0, HW_HSH_RCP_QW0_PE, HW_HSH_RCP_QW0_OFS, 128, true }, + { 4, HW_HSH_RCP_QW4_PE, HW_HSH_RCP_QW4_OFS, 128, true }, + { 8, HW_HSH_RCP_W8_PE, HW_HSH_RCP_W8_OFS, 32, true }, + /* not supported for Toeplitz */ + { 9, HW_HSH_RCP_W9_PE, HW_HSH_RCP_W9_OFS, 32, true }, + }; + + int res = 0; + res |= hw_mod_hsh_rcp_set(&ndev->be, HW_HSH_RCP_PRESET_ALL, hsh_idx, 0, 0); + /* enable hashing */ + res |= hw_mod_hsh_rcp_set(&ndev->be, HW_HSH_RCP_LOAD_DIST_TYPE, hsh_idx, 0, 2); + + /* configure selected hash function and its key */ + bool toeplitz = false; + switch (rss_conf.algorithm) { + case RTE_ETH_HASH_FUNCTION_DEFAULT: + /* Use default NTH10 hashing algorithm */ + res |= hw_mod_hsh_rcp_set(&ndev->be, HW_HSH_RCP_TOEPLITZ, hsh_idx, 0, 0); + /* Use 1st 32-bits from rss_key to configure NTH10 SEED */ + res |= hw_mod_hsh_rcp_set(&ndev->be, HW_HSH_RCP_SEED, hsh_idx, 0, + rss_conf.rss_key[0] << 24 | rss_conf.rss_key[1] << 16 | + rss_conf.rss_key[2] << 8 | rss_conf.rss_key[3]); + break; + case RTE_ETH_HASH_FUNCTION_TOEPLITZ: + toeplitz = true; + res |= hw_mod_hsh_rcp_set(&ndev->be, HW_HSH_RCP_TOEPLITZ, hsh_idx, 0, 1); + uint8_t empty_key = 0; + + /* Toeplitz key (always 40B) words have to be programmed in reverse order */ + for (uint8_t i = 0; i <= (MAX_RSS_KEY_LEN - 4); i += 4) { + res |= hw_mod_hsh_rcp_set(&ndev->be, HW_HSH_RCP_K, hsh_idx, 9 - i / 4, + rss_conf.rss_key[i] << 24 | rss_conf.rss_key[i + 1] << 16 | + rss_conf.rss_key[i + 2] << 8 | rss_conf.rss_key[i + 3]); + NT_LOG(DBG, FILTER, + "hw_mod_hsh_rcp_set(&ndev->be, HW_HSH_RCP_K, %d, %d, 0x%" PRIX32 ")", + hsh_idx, 9 - i / 4, rss_conf.rss_key[i] << 24 | + rss_conf.rss_key[i + 1] << 16 | rss_conf.rss_key[i + 2] << 8 | + rss_conf.rss_key[i + 3]); + empty_key |= rss_conf.rss_key[i] | rss_conf.rss_key[i + 1] | + rss_conf.rss_key[i + 2] | rss_conf.rss_key[i + 3]; + } + + if (empty_key == 0) { + NT_LOG(ERR, FILTER, "Toeplitz key must be configured. Key with all bytes set to zero is not allowed."); + return -1; + } + words[HSH_WORDS_W9].free = false; + NT_LOG(DBG, FILTER, "Toeplitz hashing is enabled thus W9 and P_MASK cannot be used."); + break; + default: + NT_LOG(ERR, FILTER, "Unknown hashing function %d requested", rss_conf.algorithm); + return -1; + } + + /* indication that some IPv6 flag is present */ + bool ipv6 = fields & (NT_ETH_RSS_IPV6_MASK); + /* store proto mask for later use at IP and L4 checksum handling */ + uint64_t l4_proto_mask = fields & + (RTE_ETH_RSS_NONFRAG_IPV4_TCP | RTE_ETH_RSS_NONFRAG_IPV4_UDP | + RTE_ETH_RSS_NONFRAG_IPV4_SCTP | RTE_ETH_RSS_NONFRAG_IPV4_OTHER | + RTE_ETH_RSS_NONFRAG_IPV6_TCP | RTE_ETH_RSS_NONFRAG_IPV6_UDP | + RTE_ETH_RSS_NONFRAG_IPV6_SCTP | RTE_ETH_RSS_NONFRAG_IPV6_OTHER | + RTE_ETH_RSS_IPV6_TCP_EX | RTE_ETH_RSS_IPV6_UDP_EX); + + /* outermost headers are used by default, so innermost bit takes precedence if detected */ + bool outer = (fields & RTE_ETH_RSS_LEVEL_INNERMOST) ? false : true; + unset_bits(&fields, RTE_ETH_RSS_LEVEL_MASK); + + if (fields == 0) { + NT_LOG(ERR, FILTER, "RSS hash configuration 0x%" PRIX64 " is not valid.", + rss_conf.rss_hf); + return -1; + } + + /* indication that IPv4 `protocol` or IPv6 `next header` fields shall be part of the hash */ + bool l4_proto_hash = false; + + /* + * check if SRC_ONLY & DST_ONLY are used simultaneously; + * According to DPDK, we shall behave like none of these bits is set + */ + unset_bits_if_all_enabled(&fields, RTE_ETH_RSS_L2_SRC_ONLY | RTE_ETH_RSS_L2_DST_ONLY); + unset_bits_if_all_enabled(&fields, RTE_ETH_RSS_L3_SRC_ONLY | RTE_ETH_RSS_L3_DST_ONLY); + unset_bits_if_all_enabled(&fields, RTE_ETH_RSS_L4_SRC_ONLY | RTE_ETH_RSS_L4_DST_ONLY); + + /* L2 */ + if (fields & (RTE_ETH_RSS_ETH | RTE_ETH_RSS_L2_SRC_ONLY | RTE_ETH_RSS_L2_DST_ONLY)) { + if (outer) { + if (fields & RTE_ETH_RSS_L2_SRC_ONLY) { + NT_LOG(DBG, FILTER, "Set outer src MAC hasher."); + res |= hsh_set_part(ndev, hsh_idx, words, DYN_L2, + 6, 48, toeplitz); + } else if (fields & RTE_ETH_RSS_L2_DST_ONLY) { + NT_LOG(DBG, FILTER, "Set outer dst MAC hasher."); + res |= hsh_set_part(ndev, hsh_idx, words, DYN_L2, + 0, 48, toeplitz); + } else { + NT_LOG(DBG, FILTER, "Set outer src & dst MAC hasher."); + res |= hsh_set_part(ndev, hsh_idx, words, DYN_L2, + 0, 96, toeplitz); + } + } else { + if (fields & RTE_ETH_RSS_L2_SRC_ONLY) { + NT_LOG(DBG, FILTER, "Set inner src MAC hasher."); + res |= hsh_set_part(ndev, hsh_idx, words, DYN_TUN_L2, + 6, 48, toeplitz); + } else if (fields & RTE_ETH_RSS_L2_DST_ONLY) { + NT_LOG(DBG, FILTER, "Set inner dst MAC hasher."); + res |= hsh_set_part(ndev, hsh_idx, words, DYN_TUN_L2, + 0, 48, toeplitz); + } else { + NT_LOG(DBG, FILTER, "Set inner src & dst MAC hasher."); + res |= hsh_set_part(ndev, hsh_idx, words, DYN_TUN_L2, + 0, 96, toeplitz); + } + } + unset_bits_and_log(&fields, RTE_ETH_RSS_ETH | RTE_ETH_RSS_L2_SRC_ONLY | + RTE_ETH_RSS_L2_DST_ONLY); + } + + /* + * VLAN support of multiple VLAN headers, + * where S-VLAN is the first and C-VLAN the last VLAN header + */ + if (fields & RTE_ETH_RSS_C_VLAN) { + /* + * use MPLS protocol offset, which points + * just after ethertype with relative + * offset -6 (i.e. 2 bytes + * of ethertype & size + 4 bytes of VLAN header field) + * to access last vlan header + */ + if (outer) { + NT_LOG(DBG, FILTER, "Set outer C-VLAN hasher."); + /* + * use whole 32-bit 802.1a tag - backward compatible + * with VSWITCH implementation + */ + res |= hsh_set_part(ndev, hsh_idx, words, DYN_MPLS, + -6, 32, toeplitz); + } else { + NT_LOG(DBG, FILTER, "Set inner C-VLAN hasher."); + /* + * use whole 32-bit 802.1a tag - backward compatible + * with VSWITCH implementation + */ + res |= hsh_set_part(ndev, hsh_idx, words, DYN_TUN_MPLS, + -6, 32, toeplitz); + } + unset_bits_and_log(&fields, RTE_ETH_RSS_C_VLAN); + } + + if (fields & RTE_ETH_RSS_S_VLAN) { + if (outer) { + NT_LOG(DBG, FILTER, "Set outer S-VLAN hasher."); + /* + * use whole 32-bit 802.1a tag - backward compatible + * with VSWITCH implementation + */ + res |= hsh_set_part(ndev, hsh_idx, words, DYN_FIRST_VLAN, + 0, 32, toeplitz); + } else { + NT_LOG(DBG, FILTER, "Set inner S-VLAN hasher."); + /* + * use whole 32-bit 802.1a tag - backward compatible + * with VSWITCH implementation + */ + res |= hsh_set_part(ndev, hsh_idx, words, DYN_TUN_VLAN, + 0, 32, toeplitz); + } + unset_bits_and_log(&fields, RTE_ETH_RSS_S_VLAN); + } + + /* L2 payload */ + /* calculate hash of 128-bits of l2 payload; + * Use MPLS protocol offset to address the beginning + * of L2 payload even if MPLS header is not present + */ + if (fields & RTE_ETH_RSS_L2_PAYLOAD) { + uint64_t outer_fields_enabled = 0; + if (outer) { + NT_LOG(DBG, FILTER, "Set outer L2 payload hasher."); + res |= hsh_set_part(ndev, hsh_idx, words, DYN_MPLS, + 0, 128, toeplitz); + } else { + NT_LOG(DBG, FILTER, "Set inner L2 payload hasher."); + res |= hsh_set_part(ndev, hsh_idx, words, DYN_TUN_MPLS, + 0, 128, toeplitz); + outer_fields_enabled = fields & RTE_ETH_RSS_GTPU; + } + /* + * L2 PAYLOAD hashing overrides all L3 & L4 RSS flags. + * Thus we can clear all remaining (supported) + * RSS flags... + */ + unset_bits_and_log(&fields, NT_ETH_RSS_OFFLOAD_MASK); + /* + * ...but in case of INNER L2 PAYLOAD we must process + * "always outer" GTPU field if enabled + */ + fields |= outer_fields_enabled; + } + + /* L3 + L4 protocol number */ + if (fields & RTE_ETH_RSS_IPV4_CHKSUM) { + /* only IPv4 checksum is supported by DPDK RTE_ETH_RSS_* types */ + if (ipv6) { + NT_LOG(ERR, FILTER, "RSS: IPv4 checksum requested with IPv6 header hashing!"); + res = 1; + } else { + if (outer) { + NT_LOG(DBG, FILTER, "Set outer IPv4 checksum hasher."); + res |= hsh_set_part(ndev, hsh_idx, words, DYN_L3, + 10, 16, toeplitz); + } else { + NT_LOG(DBG, FILTER, "Set inner IPv4 checksum hasher."); + res |= hsh_set_part(ndev, hsh_idx, words, DYN_TUN_L3, + 10, 16, toeplitz); + } + } + /* + * L3 checksum is made from whole L3 header, i.e. no need to process other + * L3 hashing flags + */ + unset_bits_and_log(&fields, RTE_ETH_RSS_IPV4_CHKSUM | NT_ETH_RSS_IP_MASK); + } + + if (fields & NT_ETH_RSS_IP_MASK) { + if (ipv6) { + if (outer) { + if (fields & RTE_ETH_RSS_L3_SRC_ONLY) { + NT_LOG(DBG, FILTER, "Set outer IPv6/IPv4 src hasher."); + res |= hsh_set_part(ndev, hsh_idx, words, DYN_FINAL_IP_DST, + -16, 128, toeplitz); + } else if (fields & RTE_ETH_RSS_L3_DST_ONLY) { + NT_LOG(DBG, FILTER, "Set outer IPv6/IPv4 dst hasher."); + res |= hsh_set_part(ndev, hsh_idx, words, DYN_FINAL_IP_DST, + 0, 128, toeplitz); + } else { + NT_LOG(DBG, FILTER, "Set outer IPv6/IPv4 src & dst hasher."); + res |= hsh_set_part(ndev, hsh_idx, words, DYN_FINAL_IP_DST, + -16, 128, toeplitz); + res |= hsh_set_part(ndev, hsh_idx, words, DYN_FINAL_IP_DST, + 0, 128, toeplitz); + } + } else { + if (fields & RTE_ETH_RSS_L3_SRC_ONLY) { + NT_LOG(DBG, FILTER, "Set inner IPv6/IPv4 src hasher."); + res |= hsh_set_part(ndev, hsh_idx, words, + DYN_TUN_FINAL_IP_DST, -16, 128, toeplitz); + } else if (fields & RTE_ETH_RSS_L3_DST_ONLY) { + NT_LOG(DBG, FILTER, "Set inner IPv6/IPv4 dst hasher."); + res |= hsh_set_part(ndev, hsh_idx, words, + DYN_TUN_FINAL_IP_DST, 0, 128, toeplitz); + } else { + NT_LOG(DBG, FILTER, "Set inner IPv6/IPv4 src & dst hasher."); + res |= hsh_set_part(ndev, hsh_idx, words, + DYN_TUN_FINAL_IP_DST, -16, 128, toeplitz); + res |= hsh_set_part(ndev, hsh_idx, words, + DYN_TUN_FINAL_IP_DST, 0, 128, toeplitz); + } + } + /* check if fragment ID shall be part of hash */ + if (fields & (RTE_ETH_RSS_FRAG_IPV4 | RTE_ETH_RSS_FRAG_IPV6)) { + if (outer) { + NT_LOG(DBG, FILTER, "Set outer IPv6/IPv4 fragment ID hasher."); + res |= hsh_set_part(ndev, hsh_idx, words, DYN_ID_IPV4_6, + 0, 32, toeplitz); + } else { + NT_LOG(DBG, FILTER, "Set inner IPv6/IPv4 fragment ID hasher."); + res |= hsh_set_part(ndev, hsh_idx, words, DYN_TUN_ID_IPV4_6, + 0, 32, toeplitz); + } + } + res |= hw_mod_hsh_rcp_set(&ndev->be, HW_HSH_RCP_AUTO_IPV4_MASK, + hsh_idx, 0, 1); + } else { + /* IPv4 */ + if (outer) { + if (fields & RTE_ETH_RSS_L3_SRC_ONLY) { + NT_LOG(DBG, FILTER, "Set outer IPv4 src only hasher."); + res |= hsh_set_part(ndev, hsh_idx, words, DYN_L3, + 12, 32, toeplitz); + } else if (fields & RTE_ETH_RSS_L3_DST_ONLY) { + NT_LOG(DBG, FILTER, "Set outer IPv4 dst only hasher."); + res |= hsh_set_part(ndev, hsh_idx, words, DYN_L3, + 16, 32, toeplitz); + } else { + NT_LOG(DBG, FILTER, "Set outer IPv4 src & dst hasher."); + res |= hsh_set_part(ndev, hsh_idx, words, DYN_L3, + 12, 64, toeplitz); + } + } else { + if (fields & RTE_ETH_RSS_L3_SRC_ONLY) { + NT_LOG(DBG, FILTER, "Set inner IPv4 src only hasher."); + res |= hsh_set_part(ndev, hsh_idx, words, DYN_TUN_L3, + 12, 32, toeplitz); + } else if (fields & RTE_ETH_RSS_L3_DST_ONLY) { + NT_LOG(DBG, FILTER, "Set inner IPv4 dst only hasher."); + res |= hsh_set_part(ndev, hsh_idx, words, DYN_TUN_L3, + 16, 32, toeplitz); + } else { + NT_LOG(DBG, FILTER, "Set inner IPv4 src & dst hasher."); + res |= hsh_set_part(ndev, hsh_idx, words, DYN_TUN_L3, + 12, 64, toeplitz); + } + } + /* check if fragment ID shall be part of hash */ + if (fields & RTE_ETH_RSS_FRAG_IPV4) { + if (outer) { + NT_LOG(DBG, FILTER, "Set outer IPv4 fragment ID hasher."); + res |= hsh_set_part(ndev, hsh_idx, words, DYN_ID_IPV4_6, + 0, 16, toeplitz); + } else { + NT_LOG(DBG, FILTER, "Set inner IPv4 fragment ID hasher."); + res |= hsh_set_part(ndev, hsh_idx, words, DYN_TUN_ID_IPV4_6, + 0, 16, toeplitz); + } + } + } + + /* check if L4 protocol type shall be part of hash */ + if (l4_proto_mask) + l4_proto_hash = true; + unset_bits_and_log(&fields, NT_ETH_RSS_IP_MASK); + } + + /* L4 */ + if (fields & (RTE_ETH_RSS_PORT | RTE_ETH_RSS_L4_SRC_ONLY | + RTE_ETH_RSS_L4_DST_ONLY)) { + if (outer) { + if (fields & RTE_ETH_RSS_L4_SRC_ONLY) { + NT_LOG(DBG, FILTER, "Set outer L4 src hasher."); + res |= hsh_set_part(ndev, hsh_idx, words, DYN_L4, + 0, 16, toeplitz); + } else if (fields & RTE_ETH_RSS_L4_DST_ONLY) { + NT_LOG(DBG, FILTER, "Set outer L4 dst hasher."); + res |= hsh_set_part(ndev, hsh_idx, words, DYN_L4, + 2, 16, toeplitz); + } else { + NT_LOG(DBG, FILTER, "Set outer L4 src & dst hasher."); + res |= hsh_set_part(ndev, hsh_idx, words, DYN_L4, + 0, 32, toeplitz); + } + } else { + if (fields & RTE_ETH_RSS_L4_SRC_ONLY) { + NT_LOG(DBG, FILTER, "Set inner L4 src hasher."); + res |= hsh_set_part(ndev, hsh_idx, words, DYN_TUN_L4, + 0, 16, toeplitz); + } else if (fields & RTE_ETH_RSS_L4_DST_ONLY) { + NT_LOG(DBG, FILTER, "Set inner L4 dst hasher."); + res |= hsh_set_part(ndev, hsh_idx, words, DYN_TUN_L4, + 2, 16, toeplitz); + } else { + NT_LOG(DBG, FILTER, "Set inner L4 src & dst hasher."); + res |= hsh_set_part(ndev, hsh_idx, words, DYN_TUN_L4, + 0, 32, toeplitz); + } + } + l4_proto_hash = true; + unset_bits_and_log(&fields, RTE_ETH_RSS_PORT | RTE_ETH_RSS_L4_SRC_ONLY | + RTE_ETH_RSS_L4_DST_ONLY); + } + + /* IPv4 protocol / IPv6 next header fields */ + if (l4_proto_hash) { + /* NOTE: HW_HSH_RCP_P_MASK is not supported for + *Toeplitz and thus one of SW0, SW4 or W8 + * must be used to hash on `protocol` field of IPv4 or + * `next header` field of IPv6 header. + */ + if (outer) { + NT_LOG(DBG, FILTER, "Set outer L4 protocol type / next header hasher."); + if (toeplitz) { + if (ipv6) + res |= hsh_set_part(ndev, hsh_idx, words, DYN_L3, 6, 8, + toeplitz); + else + res |= hsh_set_part(ndev, hsh_idx, words, DYN_L3, 9, 8, + toeplitz); + } else { + res |= hw_mod_hsh_rcp_set(&ndev->be, HW_HSH_RCP_P_MASK, + hsh_idx, 0, 1); + res |= hw_mod_hsh_rcp_set(&ndev->be, HW_HSH_RCP_TNL_P, + hsh_idx, 0, 0); + } + } else { + NT_LOG(DBG, FILTER, "Set inner L4 protocol type / next header hasher."); + if (toeplitz) { + if (ipv6) { + res |= hsh_set_part(ndev, hsh_idx, words, DYN_TUN_L3, 6, 8, + toeplitz); + } else { + res |= hsh_set_part(ndev, hsh_idx, words, DYN_TUN_L3, 9, 8, + toeplitz); + } + } else { + res |= hw_mod_hsh_rcp_set(&ndev->be, + HW_HSH_RCP_P_MASK, hsh_idx, 0, 1); + res |= hw_mod_hsh_rcp_set(&ndev->be, + HW_HSH_RCP_TNL_P, hsh_idx, 0, 1); + } + } + l4_proto_hash = false; + } + + /* + * GTPU - for UPF use cases we always use TEID from outermost GTPU header + * even if other headers are innermost + */ + if (fields & RTE_ETH_RSS_GTPU) { + NT_LOG(DBG, FILTER, "Set outer GTPU TEID hasher."); + res |= hsh_set_part(ndev, hsh_idx, words, DYN_L4_PAYLOAD, 4, 32, toeplitz); + unset_bits_and_log(&fields, RTE_ETH_RSS_GTPU); + } + + /* Checksums */ + /* only UDP, TCP and SCTP checksums are supported */ + if (fields & RTE_ETH_RSS_L4_CHKSUM) { + switch (l4_proto_mask) { + case RTE_ETH_RSS_NONFRAG_IPV4_UDP: + case RTE_ETH_RSS_NONFRAG_IPV6_UDP: + case RTE_ETH_RSS_IPV6_UDP_EX: + case RTE_ETH_RSS_NONFRAG_IPV4_UDP | RTE_ETH_RSS_NONFRAG_IPV6_UDP: + case RTE_ETH_RSS_NONFRAG_IPV4_UDP | RTE_ETH_RSS_IPV6_UDP_EX: + case RTE_ETH_RSS_NONFRAG_IPV6_UDP | RTE_ETH_RSS_IPV6_UDP_EX: + case RTE_ETH_RSS_UDP_COMBINED: + if (outer) { + NT_LOG(DBG, FILTER, "Set outer UDP checksum hasher."); + res |= hsh_set_part(ndev, hsh_idx, words, DYN_L4, 6, 16, + toeplitz); + } else { + NT_LOG(DBG, FILTER, "Set inner UDP checksum hasher."); + res |= hsh_set_part(ndev, hsh_idx, words, DYN_TUN_L4, 6, 16, + toeplitz); + } + unset_bits_and_log(&fields, RTE_ETH_RSS_L4_CHKSUM | l4_proto_mask); + break; + case RTE_ETH_RSS_NONFRAG_IPV4_TCP: + case RTE_ETH_RSS_NONFRAG_IPV6_TCP: + case RTE_ETH_RSS_IPV6_TCP_EX: + case RTE_ETH_RSS_NONFRAG_IPV4_TCP | RTE_ETH_RSS_NONFRAG_IPV6_TCP: + case RTE_ETH_RSS_NONFRAG_IPV4_TCP | RTE_ETH_RSS_IPV6_TCP_EX: + case RTE_ETH_RSS_NONFRAG_IPV6_TCP | RTE_ETH_RSS_IPV6_TCP_EX: + case RTE_ETH_RSS_TCP_COMBINED: + if (outer) { + NT_LOG(DBG, FILTER, "Set outer TCP checksum hasher."); + res |= hsh_set_part(ndev, hsh_idx, words, + DYN_L4, 16, 16, toeplitz); + } else { + NT_LOG(DBG, FILTER, "Set inner TCP checksum hasher."); + res |= hsh_set_part(ndev, hsh_idx, words, + DYN_TUN_L4, 16, 16, toeplitz); + } + unset_bits_and_log(&fields, RTE_ETH_RSS_L4_CHKSUM | l4_proto_mask); + break; + case RTE_ETH_RSS_NONFRAG_IPV4_SCTP: + case RTE_ETH_RSS_NONFRAG_IPV6_SCTP: + case RTE_ETH_RSS_NONFRAG_IPV4_SCTP | RTE_ETH_RSS_NONFRAG_IPV6_SCTP: + if (outer) { + NT_LOG(DBG, FILTER, "Set outer SCTP checksum hasher."); + res |= hsh_set_part(ndev, hsh_idx, words, DYN_L4, 8, 32, + toeplitz); + } else { + NT_LOG(DBG, FILTER, "Set inner SCTP checksum hasher."); + res |= hsh_set_part(ndev, hsh_idx, words, DYN_TUN_L4, 8, 32, + toeplitz); + } + unset_bits_and_log(&fields, RTE_ETH_RSS_L4_CHKSUM | l4_proto_mask); + break; + case RTE_ETH_RSS_NONFRAG_IPV4_OTHER: + case RTE_ETH_RSS_NONFRAG_IPV6_OTHER: + /* none or unsupported protocol was chosen */ + case 0: + NT_LOG(ERR, FILTER, "L4 checksum hashing is supported only for UDP, TCP and SCTP protocols"); + res = -1; + break; + /* multiple L4 protocols were selected */ + default: + NT_LOG(ERR, FILTER, "L4 checksum hashing can be enabled just for one of UDP, TCP or SCTP protocols"); + res = -1; + break; + } + } + + if (fields || res != 0) { + hw_mod_hsh_rcp_set(&ndev->be, HW_HSH_RCP_PRESET_ALL, hsh_idx, 0, 0); + if (sprint_nt_rss_mask(rss_buffer, rss_buffer_len, " ", rss_conf.rss_hf) == 0) { + NT_LOG(ERR, FILTER, "RSS configuration%s is not supported for hash func %s.", + rss_buffer, (enum rte_eth_hash_function)toeplitz ? + "Toeplitz" : "NTH10"); + } else { + NT_LOG(ERR, FILTER, "RSS configuration 0x%" PRIX64 " is not supported for hash func %s.", + rss_conf.rss_hf, (enum rte_eth_hash_function)toeplitz ? + "Toeplitz" : "NTH10"); + } + return -1; + } + + return res; +} diff --git a/drivers/net/ntnic/nthw/flow_api/flow_hsh_cfg.h b/drivers/net/ntnic/nthw/flow_api/flow_hsh_cfg.h new file mode 100644 index 0000000000..38901b3e8a --- /dev/null +++ b/drivers/net/ntnic/nthw/flow_api/flow_hsh_cfg.h @@ -0,0 +1,17 @@ +/* + * SPDX-License-Identifier: BSD-3-Clause + * Copyright(c) 2024 Napatech A/S + */ + +#ifndef _FLOW_HSH_CFG_H_ +#define _FLOW_HSH_CFG_H_ + +#include + +#include "hw_mod_backend.h" +#include "flow_api.h" + +int hsh_set(struct flow_nic_dev *ndev, int hsh_idx, + struct nt_eth_rss_conf rss_conf); + +#endif /* _FLOW_HSH_CFG_H_ */ diff --git a/drivers/net/ntnic/nthw/flow_api/profile_inline/flow_api_hw_db_inline.c b/drivers/net/ntnic/nthw/flow_api/profile_inline/flow_api_hw_db_inline.c index ffab643f56..22cbf61b60 100644 --- a/drivers/net/ntnic/nthw/flow_api/profile_inline/flow_api_hw_db_inline.c +++ b/drivers/net/ntnic/nthw/flow_api/profile_inline/flow_api_hw_db_inline.c @@ -2,13 +2,14 @@ * Copyright(c) 2023 Napatech A/S */ +#include "rte_common.h" #include "hw_mod_backend.h" #include "flow_api_engine.h" #include "flow_api_hw_db_inline.h" #include "flow_api_profile_inline_config.h" -#include "rte_common.h" +#include "flow_hsh_cfg.h" #define HW_DB_INLINE_ACTION_SET_NB 512 #define HW_DB_INLINE_MATCH_SET_NB 512 @@ -2844,7 +2845,7 @@ struct hw_db_hsh_idx hw_db_inline_hsh_add(struct flow_nic_dev *ndev, void *db_ha tmp_rss_conf.rss_hf = data->hash_mask; memcpy(tmp_rss_conf.rss_key, data->key, MAX_RSS_KEY_LEN); tmp_rss_conf.algorithm = data->func; - int res = flow_nic_set_hasher_fields(ndev, idx.ids, tmp_rss_conf); + int res = hsh_set(ndev, idx.ids, tmp_rss_conf); if (res != 0) { idx.error = 1; diff --git a/drivers/net/ntnic/nthw/flow_api/profile_inline/flow_api_profile_inline.c b/drivers/net/ntnic/nthw/flow_api/profile_inline/flow_api_profile_inline.c index 574e51c2fa..e5abd372bc 100644 --- a/drivers/net/ntnic/nthw/flow_api/profile_inline/flow_api_profile_inline.c +++ b/drivers/net/ntnic/nthw/flow_api/profile_inline/flow_api_profile_inline.c @@ -20,6 +20,7 @@ #include "flow_api_profile_inline.h" #include "ntnic_mod_reg.h" +#include "flow_hsh_cfg.h" #include #include @@ -44,12 +45,6 @@ #define NT_VIOLATING_MBR_CFN 0 #define NT_VIOLATING_MBR_QSL 1 -#define RTE_ETH_RSS_UDP_COMBINED \ - (RTE_ETH_RSS_NONFRAG_IPV4_UDP | RTE_ETH_RSS_NONFRAG_IPV6_UDP | RTE_ETH_RSS_IPV6_UDP_EX) - -#define RTE_ETH_RSS_TCP_COMBINED \ - (RTE_ETH_RSS_NONFRAG_IPV4_TCP | RTE_ETH_RSS_NONFRAG_IPV6_TCP | RTE_ETH_RSS_IPV6_TCP_EX) - #define NT_FLM_OP_UNLEARN 0 #define NT_FLM_OP_LEARN 1 @@ -3809,116 +3804,6 @@ static struct flow_handle *create_flow_filter(struct flow_eth_dev *dev, struct n return NULL; } -/* - * FPGA uses up to 10 32-bit words (320 bits) for hash calculation + 8 bits for L4 protocol number. - * Hashed data are split between two 128-bit Quad Words (QW) - * and two 32-bit Words (W), which can refer to different header parts. - */ -enum hsh_words_id { - HSH_WORDS_QW0 = 0, - HSH_WORDS_QW4, - HSH_WORDS_W8, - HSH_WORDS_W9, - HSH_WORDS_SIZE, -}; - -/* struct with details about hash QWs & Ws */ -struct hsh_words { - /* - * index of W (word) or index of 1st word of QW (quad word) - * is used for hash mask calculation - */ - uint8_t index; - enum hw_hsh_e pe; /* offset to header part, e.g. beginning of L4 */ - enum hw_hsh_e ofs; /* relative offset in BYTES to 'pe' header offset above */ - uint16_t bit_len; /* max length of header part in bits to fit into QW/W */ - bool free; /* only free words can be used for hsh calculation */ -}; - -static enum hsh_words_id get_free_word(struct hsh_words *words, uint16_t bit_len) -{ - enum hsh_words_id ret = HSH_WORDS_SIZE; - uint16_t ret_bit_len = UINT16_MAX; - - for (enum hsh_words_id i = HSH_WORDS_QW0; i < HSH_WORDS_SIZE; i++) { - if (words[i].free && bit_len <= words[i].bit_len && - words[i].bit_len < ret_bit_len) { - ret = i; - ret_bit_len = words[i].bit_len; - } - } - - return ret; -} - -static int flow_nic_set_hasher_part_inline(struct flow_nic_dev *ndev, int hsh_idx, - struct hsh_words *words, uint32_t pe, uint32_t ofs, - int bit_len, bool toeplitz) -{ - int res = 0; - - /* check if there is any free word, which can accommodate header part of given 'bit_len' */ - enum hsh_words_id word = get_free_word(words, bit_len); - - if (word == HSH_WORDS_SIZE) { - NT_LOG(ERR, FILTER, "Cannot add additional %d bits into hash", bit_len); - return -1; - } - - words[word].free = false; - - res |= hw_mod_hsh_rcp_set(&ndev->be, words[word].pe, hsh_idx, 0, pe); - NT_LOG(DBG, FILTER, "hw_mod_hsh_rcp_set(&ndev->be, %d, %d, 0, %d)", words[word].pe, - hsh_idx, pe); - res |= hw_mod_hsh_rcp_set(&ndev->be, words[word].ofs, hsh_idx, 0, ofs); - NT_LOG(DBG, FILTER, "hw_mod_hsh_rcp_set(&ndev->be, %d, %d, 0, %d)", words[word].ofs, - hsh_idx, ofs); - - /* set HW_HSH_RCP_WORD_MASK based on used QW/W and given 'bit_len' */ - int mask_bit_len = bit_len; - uint32_t mask = 0x0; - uint32_t toeplitz_mask[9] = { 0x0 }; - /* iterate through all words of QW */ - uint16_t words_count = words[word].bit_len / 32; - - for (uint16_t mask_off = 1; mask_off <= words_count; mask_off++) { - if (mask_bit_len >= 32) { - mask_bit_len -= 32; - mask = 0xffffffff; - - } else if (mask_bit_len > 0) { - mask = 0xffffffff >> (32 - mask_bit_len) << (32 - mask_bit_len); - mask_bit_len = 0; - - } else { - mask = 0x0; - } - - /* reorder QW words mask from little to big endian */ - res |= hw_mod_hsh_rcp_set(&ndev->be, HW_HSH_RCP_WORD_MASK, hsh_idx, - words[word].index + words_count - mask_off, mask); - NT_LOG_DBGX(DBG, FILTER, - "hw_mod_hsh_rcp_set(&ndev->be, HW_HSH_RCP_WORD_MASK, %d, %d, 0x%08" PRIX32 - ")", - hsh_idx, words[word].index + words_count - mask_off, mask); - toeplitz_mask[words[word].index + mask_off - 1] = mask; - } - - if (toeplitz) { - NT_LOG(DBG, FILTER, - "Partial Toeplitz RSS key mask: %08" PRIX32 " %08" PRIX32 " %08" PRIX32 - " %08" PRIX32 " %08" PRIX32 " %08" PRIX32 " %08" PRIX32 " %08" PRIX32 - " %08" PRIX32 "", - toeplitz_mask[0], toeplitz_mask[1], toeplitz_mask[2], toeplitz_mask[3], - toeplitz_mask[4], toeplitz_mask[5], toeplitz_mask[6], toeplitz_mask[7], - toeplitz_mask[8]); - NT_LOG(DBG, FILTER, - " MSB LSB"); - } - - return res; -} - /* * Public functions */ @@ -3982,8 +3867,16 @@ int initialize_flow_management_of_ndev_profile_inline(struct flow_nic_dev *ndev) flow_nic_mark_resource_used(ndev, RES_PDB_RCP, 0); - /* Set default hasher recipe to 5-tuple */ - flow_nic_set_hasher(ndev, 0, HASH_ALGO_5TUPLE); + /* Set default hasher recipe to 5-tuple: + * RTE_ETH_RSS_IPV6 - enables hashing on both IPv4/IPv6 SA and DA + * RTE_ETH_RSS_PORT - enables hashing on both L4 SP and DP and L4 protocol type + */ + struct nt_eth_rss_conf hsh_5_tuple = { + .rss_key = {}, + .rss_hf = RTE_ETH_RSS_IPV6 | RTE_ETH_RSS_PORT, + .algorithm = 0, + }; + hsh_set(ndev, 0, hsh_5_tuple); hw_mod_hsh_rcp_flush(&ndev->be, 0, 1); flow_nic_mark_resource_used(ndev, RES_HSH_RCP, 0); @@ -4580,658 +4473,6 @@ int flow_actions_update_profile_inline(struct flow_eth_dev *dev, return -1; } -static __rte_always_inline bool all_bits_enabled(uint64_t hash_mask, uint64_t hash_bits) -{ - return (hash_mask & hash_bits) == hash_bits; -} - -static __rte_always_inline void unset_bits(uint64_t *hash_mask, uint64_t hash_bits) -{ - *hash_mask &= ~hash_bits; -} - -static __rte_always_inline void unset_bits_and_log(uint64_t *hash_mask, uint64_t hash_bits) -{ - char rss_buffer[4096]; - uint16_t rss_buffer_len = sizeof(rss_buffer); - - if (sprint_nt_rss_mask(rss_buffer, rss_buffer_len, " ", *hash_mask & hash_bits) == 0) - NT_LOG(DBG, FILTER, "Configured RSS types:%s", rss_buffer); - - unset_bits(hash_mask, hash_bits); -} - -static __rte_always_inline void unset_bits_if_all_enabled(uint64_t *hash_mask, uint64_t hash_bits) -{ - if (all_bits_enabled(*hash_mask, hash_bits)) - unset_bits(hash_mask, hash_bits); -} - -int flow_nic_set_hasher_fields_inline(struct flow_nic_dev *ndev, int hsh_idx, - struct nt_eth_rss_conf rss_conf) -{ - uint64_t fields = rss_conf.rss_hf; - - char rss_buffer[4096]; - uint16_t rss_buffer_len = sizeof(rss_buffer); - - if (sprint_nt_rss_mask(rss_buffer, rss_buffer_len, " ", fields) == 0) - NT_LOG(DBG, FILTER, "Requested RSS types:%s", rss_buffer); - - /* - * configure all (Q)Words usable for hash calculation - * Hash can be calculated from 4 independent header parts: - * | QW0 | Qw4 | W8| W9| - * word | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | - */ - struct hsh_words words[HSH_WORDS_SIZE] = { - { 0, HW_HSH_RCP_QW0_PE, HW_HSH_RCP_QW0_OFS, 128, true }, - { 4, HW_HSH_RCP_QW4_PE, HW_HSH_RCP_QW4_OFS, 128, true }, - { 8, HW_HSH_RCP_W8_PE, HW_HSH_RCP_W8_OFS, 32, true }, - { - 9, HW_HSH_RCP_W9_PE, HW_HSH_RCP_W9_OFS, 32, - true - }, /* not supported for Toeplitz */ - }; - - int res = 0; - res |= hw_mod_hsh_rcp_set(&ndev->be, HW_HSH_RCP_PRESET_ALL, hsh_idx, 0, 0); - /* enable hashing */ - res |= hw_mod_hsh_rcp_set(&ndev->be, HW_HSH_RCP_LOAD_DIST_TYPE, hsh_idx, 0, 2); - - /* configure selected hash function and its key */ - bool toeplitz = false; - - switch (rss_conf.algorithm) { - case RTE_ETH_HASH_FUNCTION_DEFAULT: - /* Use default NTH10 hashing algorithm */ - res |= hw_mod_hsh_rcp_set(&ndev->be, HW_HSH_RCP_TOEPLITZ, hsh_idx, 0, 0); - /* Use 1st 32-bits from rss_key to configure NTH10 SEED */ - res |= hw_mod_hsh_rcp_set(&ndev->be, HW_HSH_RCP_SEED, hsh_idx, 0, - rss_conf.rss_key[0] << 24 | rss_conf.rss_key[1] << 16 | - rss_conf.rss_key[2] << 8 | rss_conf.rss_key[3]); - break; - - case RTE_ETH_HASH_FUNCTION_TOEPLITZ: - toeplitz = true; - res |= hw_mod_hsh_rcp_set(&ndev->be, HW_HSH_RCP_TOEPLITZ, hsh_idx, 0, 1); - uint8_t empty_key = 0; - - /* Toeplitz key (always 40B) words have to be programmed in reverse order */ - for (uint8_t i = 0; i <= (MAX_RSS_KEY_LEN - 4); i += 4) { - res |= hw_mod_hsh_rcp_set(&ndev->be, HW_HSH_RCP_K, hsh_idx, 9 - i / 4, - rss_conf.rss_key[i] << 24 | - rss_conf.rss_key[i + 1] << 16 | - rss_conf.rss_key[i + 2] << 8 | - rss_conf.rss_key[i + 3]); - NT_LOG_DBG(DBG, FILTER, - "hw_mod_hsh_rcp_set(&ndev->be, HW_HSH_RCP_K, %d, %d, 0x%" PRIX32 - ")", - hsh_idx, 9 - i / 4, - rss_conf.rss_key[i] << 24 | rss_conf.rss_key[i + 1] << 16 | - rss_conf.rss_key[i + 2] << 8 | rss_conf.rss_key[i + 3]); - empty_key |= rss_conf.rss_key[i] | rss_conf.rss_key[i + 1] | - rss_conf.rss_key[i + 2] | rss_conf.rss_key[i + 3]; - } - - if (empty_key == 0) { - NT_LOG(ERR, FILTER, - "Toeplitz key must be configured. Key with all bytes set to zero is not allowed."); - return -1; - } - - words[HSH_WORDS_W9].free = false; - NT_LOG(DBG, FILTER, - "Toeplitz hashing is enabled thus W9 and P_MASK cannot be used."); - break; - - default: - NT_LOG(ERR, FILTER, "Unknown hashing function %d requested", rss_conf.algorithm); - return -1; - } - - /* indication that some IPv6 flag is present */ - bool ipv6 = fields & (NT_ETH_RSS_IPV6_MASK); - /* store proto mask for later use at IP and L4 checksum handling */ - uint64_t l4_proto_mask = fields & - (RTE_ETH_RSS_NONFRAG_IPV4_TCP | RTE_ETH_RSS_NONFRAG_IPV4_UDP | - RTE_ETH_RSS_NONFRAG_IPV4_SCTP | RTE_ETH_RSS_NONFRAG_IPV4_OTHER | - RTE_ETH_RSS_NONFRAG_IPV6_TCP | RTE_ETH_RSS_NONFRAG_IPV6_UDP | - RTE_ETH_RSS_NONFRAG_IPV6_SCTP | RTE_ETH_RSS_NONFRAG_IPV6_OTHER | - RTE_ETH_RSS_IPV6_TCP_EX | RTE_ETH_RSS_IPV6_UDP_EX); - - /* outermost headers are used by default, so innermost bit takes precedence if detected */ - bool outer = (fields & RTE_ETH_RSS_LEVEL_INNERMOST) ? false : true; - unset_bits(&fields, RTE_ETH_RSS_LEVEL_MASK); - - if (fields == 0) { - NT_LOG(ERR, FILTER, "RSS hash configuration 0x%" PRIX64 " is not valid.", - rss_conf.rss_hf); - return -1; - } - - /* indication that IPv4 `protocol` or IPv6 `next header` fields shall be part of the hash - */ - bool l4_proto_hash = false; - - /* - * check if SRC_ONLY & DST_ONLY are used simultaneously; - * According to DPDK, we shall behave like none of these bits is set - */ - unset_bits_if_all_enabled(&fields, RTE_ETH_RSS_L2_SRC_ONLY | RTE_ETH_RSS_L2_DST_ONLY); - unset_bits_if_all_enabled(&fields, RTE_ETH_RSS_L3_SRC_ONLY | RTE_ETH_RSS_L3_DST_ONLY); - unset_bits_if_all_enabled(&fields, RTE_ETH_RSS_L4_SRC_ONLY | RTE_ETH_RSS_L4_DST_ONLY); - - /* L2 */ - if (fields & (RTE_ETH_RSS_ETH | RTE_ETH_RSS_L2_SRC_ONLY | RTE_ETH_RSS_L2_DST_ONLY)) { - if (outer) { - if (fields & RTE_ETH_RSS_L2_SRC_ONLY) { - NT_LOG(DBG, FILTER, "Set outer src MAC hasher."); - res |= flow_nic_set_hasher_part_inline(ndev, hsh_idx, words, - DYN_L2, 6, 48, toeplitz); - - } else if (fields & RTE_ETH_RSS_L2_DST_ONLY) { - NT_LOG(DBG, FILTER, "Set outer dst MAC hasher."); - res |= flow_nic_set_hasher_part_inline(ndev, hsh_idx, words, - DYN_L2, 0, 48, toeplitz); - - } else { - NT_LOG(DBG, FILTER, "Set outer src & dst MAC hasher."); - res |= flow_nic_set_hasher_part_inline(ndev, hsh_idx, words, - DYN_L2, 0, 96, toeplitz); - } - - } else if (fields & RTE_ETH_RSS_L2_SRC_ONLY) { - NT_LOG(DBG, FILTER, "Set inner src MAC hasher."); - res |= flow_nic_set_hasher_part_inline(ndev, hsh_idx, words, DYN_TUN_L2, 6, - 48, toeplitz); - - } else if (fields & RTE_ETH_RSS_L2_DST_ONLY) { - NT_LOG(DBG, FILTER, "Set inner dst MAC hasher."); - res |= flow_nic_set_hasher_part_inline(ndev, hsh_idx, words, DYN_TUN_L2, 0, - 48, toeplitz); - - } else { - NT_LOG(DBG, FILTER, "Set inner src & dst MAC hasher."); - res |= flow_nic_set_hasher_part_inline(ndev, hsh_idx, words, DYN_TUN_L2, 0, - 96, toeplitz); - } - - unset_bits_and_log(&fields, - RTE_ETH_RSS_ETH | RTE_ETH_RSS_L2_SRC_ONLY | - RTE_ETH_RSS_L2_DST_ONLY); - } - - /* - * VLAN support of multiple VLAN headers, - * where S-VLAN is the first and C-VLAN the last VLAN header - */ - if (fields & RTE_ETH_RSS_C_VLAN) { - /* - * use MPLS protocol offset, which points just after ethertype with relative - * offset -6 (i.e. 2 bytes - * of ethertype & size + 4 bytes of VLAN header field) to access last vlan header - */ - if (outer) { - NT_LOG(DBG, FILTER, "Set outer C-VLAN hasher."); - /* - * use whole 32-bit 802.1a tag - backward compatible - * with VSWITCH implementation - */ - res |= flow_nic_set_hasher_part_inline(ndev, hsh_idx, words, DYN_MPLS, -6, - 32, toeplitz); - - } else { - NT_LOG(DBG, FILTER, "Set inner C-VLAN hasher."); - /* - * use whole 32-bit 802.1a tag - backward compatible - * with VSWITCH implementation - */ - res |= flow_nic_set_hasher_part_inline(ndev, hsh_idx, words, DYN_TUN_MPLS, - -6, 32, toeplitz); - } - - unset_bits_and_log(&fields, RTE_ETH_RSS_C_VLAN); - } - - if (fields & RTE_ETH_RSS_S_VLAN) { - if (outer) { - NT_LOG(DBG, FILTER, "Set outer S-VLAN hasher."); - /* - * use whole 32-bit 802.1a tag - backward compatible - * with VSWITCH implementation - */ - res |= flow_nic_set_hasher_part_inline(ndev, hsh_idx, words, - DYN_FIRST_VLAN, 0, 32, toeplitz); - - } else { - NT_LOG(DBG, FILTER, "Set inner S-VLAN hasher."); - /* - * use whole 32-bit 802.1a tag - backward compatible - * with VSWITCH implementation - */ - res |= flow_nic_set_hasher_part_inline(ndev, hsh_idx, words, DYN_TUN_VLAN, - 0, 32, toeplitz); - } - - unset_bits_and_log(&fields, RTE_ETH_RSS_S_VLAN); - } - /* L2 payload */ - /* calculate hash of 128-bits of l2 payload; Use MPLS protocol offset to address the - * beginning of L2 payload even if MPLS header is not present - */ - if (fields & RTE_ETH_RSS_L2_PAYLOAD) { - uint64_t outer_fields_enabled = 0; - - if (outer) { - NT_LOG(DBG, FILTER, "Set outer L2 payload hasher."); - res |= flow_nic_set_hasher_part_inline(ndev, hsh_idx, words, DYN_MPLS, 0, - 128, toeplitz); - - } else { - NT_LOG(DBG, FILTER, "Set inner L2 payload hasher."); - res |= flow_nic_set_hasher_part_inline(ndev, hsh_idx, words, DYN_TUN_MPLS, - 0, 128, toeplitz); - outer_fields_enabled = fields & RTE_ETH_RSS_GTPU; - } - - /* - * L2 PAYLOAD hashing overrides all L3 & L4 RSS flags. - * Thus we can clear all remaining (supported) - * RSS flags... - */ - unset_bits_and_log(&fields, NT_ETH_RSS_OFFLOAD_MASK); - /* - * ...but in case of INNER L2 PAYLOAD we must process - * "always outer" GTPU field if enabled - */ - fields |= outer_fields_enabled; - } - - /* L3 + L4 protocol number */ - if (fields & RTE_ETH_RSS_IPV4_CHKSUM) { - /* only IPv4 checksum is supported by DPDK RTE_ETH_RSS_* types */ - if (ipv6) { - NT_LOG(ERR, FILTER, - "RSS: IPv4 checksum requested with IPv6 header hashing!"); - res = 1; - - } else if (outer) { - NT_LOG(DBG, FILTER, "Set outer IPv4 checksum hasher."); - res |= flow_nic_set_hasher_part_inline(ndev, hsh_idx, words, DYN_L3, 10, - 16, toeplitz); - - } else { - NT_LOG(DBG, FILTER, "Set inner IPv4 checksum hasher."); - res |= flow_nic_set_hasher_part_inline(ndev, hsh_idx, words, DYN_TUN_L3, - 10, 16, toeplitz); - } - - /* - * L3 checksum is made from whole L3 header, i.e. no need to process other - * L3 hashing flags - */ - unset_bits_and_log(&fields, RTE_ETH_RSS_IPV4_CHKSUM | NT_ETH_RSS_IP_MASK); - } - - if (fields & NT_ETH_RSS_IP_MASK) { - if (ipv6) { - if (outer) { - if (fields & RTE_ETH_RSS_L3_SRC_ONLY) { - NT_LOG(DBG, FILTER, "Set outer IPv6/IPv4 src hasher."); - res |= flow_nic_set_hasher_part_inline(ndev, hsh_idx, - words, - DYN_FINAL_IP_DST, - -16, 128, toeplitz); - - } else if (fields & RTE_ETH_RSS_L3_DST_ONLY) { - NT_LOG(DBG, FILTER, "Set outer IPv6/IPv4 dst hasher."); - res |= flow_nic_set_hasher_part_inline(ndev, hsh_idx, - words, - DYN_FINAL_IP_DST, 0, - 128, toeplitz); - - } else { - NT_LOG(DBG, FILTER, - "Set outer IPv6/IPv4 src & dst hasher."); - res |= flow_nic_set_hasher_part_inline(ndev, hsh_idx, - words, - DYN_FINAL_IP_DST, - -16, 128, toeplitz); - res |= flow_nic_set_hasher_part_inline(ndev, hsh_idx, - words, - DYN_FINAL_IP_DST, 0, - 128, toeplitz); - } - - } else if (fields & RTE_ETH_RSS_L3_SRC_ONLY) { - NT_LOG(DBG, FILTER, "Set inner IPv6/IPv4 src hasher."); - res |= flow_nic_set_hasher_part_inline(ndev, hsh_idx, words, - DYN_TUN_FINAL_IP_DST, -16, - 128, toeplitz); - - } else if (fields & RTE_ETH_RSS_L3_DST_ONLY) { - NT_LOG(DBG, FILTER, "Set inner IPv6/IPv4 dst hasher."); - res |= flow_nic_set_hasher_part_inline(ndev, hsh_idx, words, - DYN_TUN_FINAL_IP_DST, 0, - 128, toeplitz); - - } else { - NT_LOG(DBG, FILTER, "Set inner IPv6/IPv4 src & dst hasher."); - res |= flow_nic_set_hasher_part_inline(ndev, hsh_idx, words, - DYN_TUN_FINAL_IP_DST, -16, - 128, toeplitz); - res |= flow_nic_set_hasher_part_inline(ndev, hsh_idx, words, - DYN_TUN_FINAL_IP_DST, 0, - 128, toeplitz); - } - - /* check if fragment ID shall be part of hash */ - if (fields & (RTE_ETH_RSS_FRAG_IPV4 | RTE_ETH_RSS_FRAG_IPV6)) { - if (outer) { - NT_LOG(DBG, FILTER, - "Set outer IPv6/IPv4 fragment ID hasher."); - res |= flow_nic_set_hasher_part_inline(ndev, hsh_idx, - words, - DYN_ID_IPV4_6, 0, - 32, toeplitz); - - } else { - NT_LOG(DBG, FILTER, - "Set inner IPv6/IPv4 fragment ID hasher."); - res |= flow_nic_set_hasher_part_inline(ndev, hsh_idx, - words, - DYN_TUN_ID_IPV4_6, - 0, 32, toeplitz); - } - } - - res |= hw_mod_hsh_rcp_set(&ndev->be, HW_HSH_RCP_AUTO_IPV4_MASK, hsh_idx, 0, - 1); - - } else { - /* IPv4 */ - if (outer) { - if (fields & RTE_ETH_RSS_L3_SRC_ONLY) { - NT_LOG(DBG, FILTER, "Set outer IPv4 src only hasher."); - res |= flow_nic_set_hasher_part_inline(ndev, hsh_idx, - words, DYN_L3, 12, - 32, toeplitz); - - } else if (fields & RTE_ETH_RSS_L3_DST_ONLY) { - NT_LOG(DBG, FILTER, "Set outer IPv4 dst only hasher."); - res |= flow_nic_set_hasher_part_inline(ndev, hsh_idx, - words, DYN_L3, 16, - 32, toeplitz); - - } else { - NT_LOG(DBG, FILTER, "Set outer IPv4 src & dst hasher."); - res |= flow_nic_set_hasher_part_inline(ndev, hsh_idx, - words, DYN_L3, 12, - 64, toeplitz); - } - - } else if (fields & RTE_ETH_RSS_L3_SRC_ONLY) { - NT_LOG(DBG, FILTER, "Set inner IPv4 src only hasher."); - res |= flow_nic_set_hasher_part_inline(ndev, hsh_idx, words, - DYN_TUN_L3, 12, 32, - toeplitz); - - } else if (fields & RTE_ETH_RSS_L3_DST_ONLY) { - NT_LOG(DBG, FILTER, "Set inner IPv4 dst only hasher."); - res |= flow_nic_set_hasher_part_inline(ndev, hsh_idx, words, - DYN_TUN_L3, 16, 32, - toeplitz); - - } else { - NT_LOG(DBG, FILTER, "Set inner IPv4 src & dst hasher."); - res |= flow_nic_set_hasher_part_inline(ndev, hsh_idx, words, - DYN_TUN_L3, 12, 64, - toeplitz); - } - - /* check if fragment ID shall be part of hash */ - if (fields & RTE_ETH_RSS_FRAG_IPV4) { - if (outer) { - NT_LOG(DBG, FILTER, - "Set outer IPv4 fragment ID hasher."); - res |= flow_nic_set_hasher_part_inline(ndev, hsh_idx, - words, - DYN_ID_IPV4_6, 0, - 16, toeplitz); - - } else { - NT_LOG(DBG, FILTER, - "Set inner IPv4 fragment ID hasher."); - res |= flow_nic_set_hasher_part_inline(ndev, hsh_idx, - words, - DYN_TUN_ID_IPV4_6, - 0, 16, toeplitz); - } - } - } - - /* check if L4 protocol type shall be part of hash */ - if (l4_proto_mask) - l4_proto_hash = true; - - unset_bits_and_log(&fields, NT_ETH_RSS_IP_MASK); - } - - /* L4 */ - if (fields & (RTE_ETH_RSS_PORT | RTE_ETH_RSS_L4_SRC_ONLY | RTE_ETH_RSS_L4_DST_ONLY)) { - if (outer) { - if (fields & RTE_ETH_RSS_L4_SRC_ONLY) { - NT_LOG(DBG, FILTER, "Set outer L4 src hasher."); - res |= flow_nic_set_hasher_part_inline(ndev, hsh_idx, words, - DYN_L4, 0, 16, toeplitz); - - } else if (fields & RTE_ETH_RSS_L4_DST_ONLY) { - NT_LOG(DBG, FILTER, "Set outer L4 dst hasher."); - res |= flow_nic_set_hasher_part_inline(ndev, hsh_idx, words, - DYN_L4, 2, 16, toeplitz); - - } else { - NT_LOG(DBG, FILTER, "Set outer L4 src & dst hasher."); - res |= flow_nic_set_hasher_part_inline(ndev, hsh_idx, words, - DYN_L4, 0, 32, toeplitz); - } - - } else if (fields & RTE_ETH_RSS_L4_SRC_ONLY) { - NT_LOG(DBG, FILTER, "Set inner L4 src hasher."); - res |= flow_nic_set_hasher_part_inline(ndev, hsh_idx, words, DYN_TUN_L4, 0, - 16, toeplitz); - - } else if (fields & RTE_ETH_RSS_L4_DST_ONLY) { - NT_LOG(DBG, FILTER, "Set inner L4 dst hasher."); - res |= flow_nic_set_hasher_part_inline(ndev, hsh_idx, words, DYN_TUN_L4, 2, - 16, toeplitz); - - } else { - NT_LOG(DBG, FILTER, "Set inner L4 src & dst hasher."); - res |= flow_nic_set_hasher_part_inline(ndev, hsh_idx, words, DYN_TUN_L4, 0, - 32, toeplitz); - } - - l4_proto_hash = true; - unset_bits_and_log(&fields, - RTE_ETH_RSS_PORT | RTE_ETH_RSS_L4_SRC_ONLY | - RTE_ETH_RSS_L4_DST_ONLY); - } - - /* IPv4 protocol / IPv6 next header fields */ - if (l4_proto_hash) { - /* NOTE: HW_HSH_RCP_P_MASK is not supported for Toeplitz and thus one of SW0, SW4 - * or W8 must be used to hash on `protocol` field of IPv4 or `next header` field of - * IPv6 header. - */ - if (outer) { - NT_LOG(DBG, FILTER, "Set outer L4 protocol type / next header hasher."); - - if (toeplitz) { - if (ipv6) { - res |= flow_nic_set_hasher_part_inline(ndev, hsh_idx, - words, DYN_L3, 6, 8, - toeplitz); - - } else { - res |= flow_nic_set_hasher_part_inline(ndev, hsh_idx, - words, DYN_L3, 9, 8, - toeplitz); - } - - } else { - res |= hw_mod_hsh_rcp_set(&ndev->be, HW_HSH_RCP_P_MASK, hsh_idx, 0, - 1); - res |= hw_mod_hsh_rcp_set(&ndev->be, HW_HSH_RCP_TNL_P, hsh_idx, 0, - 0); - } - - } else { - NT_LOG(DBG, FILTER, "Set inner L4 protocol type / next header hasher."); - - if (toeplitz) { - if (ipv6) { - res |= flow_nic_set_hasher_part_inline(ndev, hsh_idx, - words, DYN_TUN_L3, - 6, 8, toeplitz); - - } else { - res |= flow_nic_set_hasher_part_inline(ndev, hsh_idx, - words, DYN_TUN_L3, - 9, 8, toeplitz); - } - - } else { - res |= hw_mod_hsh_rcp_set(&ndev->be, HW_HSH_RCP_P_MASK, hsh_idx, 0, - 1); - res |= hw_mod_hsh_rcp_set(&ndev->be, HW_HSH_RCP_TNL_P, hsh_idx, 0, - 1); - } - } - - l4_proto_hash = false; - } - - /* - * GTPU - for UPF use cases we always use TEID from outermost GTPU header - * even if other headers are innermost - */ - if (fields & RTE_ETH_RSS_GTPU) { - NT_LOG(DBG, FILTER, "Set outer GTPU TEID hasher."); - res |= flow_nic_set_hasher_part_inline(ndev, hsh_idx, words, DYN_L4_PAYLOAD, 4, 32, - toeplitz); - unset_bits_and_log(&fields, RTE_ETH_RSS_GTPU); - } - - /* Checksums */ - /* only UDP, TCP and SCTP checksums are supported */ - if (fields & RTE_ETH_RSS_L4_CHKSUM) { - switch (l4_proto_mask) { - case RTE_ETH_RSS_NONFRAG_IPV4_UDP: - case RTE_ETH_RSS_NONFRAG_IPV6_UDP: - case RTE_ETH_RSS_IPV6_UDP_EX: - case RTE_ETH_RSS_NONFRAG_IPV4_UDP | RTE_ETH_RSS_NONFRAG_IPV6_UDP: - case RTE_ETH_RSS_NONFRAG_IPV4_UDP | RTE_ETH_RSS_IPV6_UDP_EX: - case RTE_ETH_RSS_NONFRAG_IPV6_UDP | RTE_ETH_RSS_IPV6_UDP_EX: - case RTE_ETH_RSS_UDP_COMBINED: - if (outer) { - NT_LOG(DBG, FILTER, "Set outer UDP checksum hasher."); - res |= flow_nic_set_hasher_part_inline(ndev, hsh_idx, words, - DYN_L4, 6, 16, toeplitz); - - } else { - NT_LOG(DBG, FILTER, "Set inner UDP checksum hasher."); - res |= flow_nic_set_hasher_part_inline(ndev, hsh_idx, words, - DYN_TUN_L4, 6, 16, - toeplitz); - } - - unset_bits_and_log(&fields, RTE_ETH_RSS_L4_CHKSUM | l4_proto_mask); - break; - - case RTE_ETH_RSS_NONFRAG_IPV4_TCP: - case RTE_ETH_RSS_NONFRAG_IPV6_TCP: - case RTE_ETH_RSS_IPV6_TCP_EX: - case RTE_ETH_RSS_NONFRAG_IPV4_TCP | RTE_ETH_RSS_NONFRAG_IPV6_TCP: - case RTE_ETH_RSS_NONFRAG_IPV4_TCP | RTE_ETH_RSS_IPV6_TCP_EX: - case RTE_ETH_RSS_NONFRAG_IPV6_TCP | RTE_ETH_RSS_IPV6_TCP_EX: - case RTE_ETH_RSS_TCP_COMBINED: - if (outer) { - NT_LOG(DBG, FILTER, "Set outer TCP checksum hasher."); - res |= flow_nic_set_hasher_part_inline(ndev, hsh_idx, words, - DYN_L4, 16, 16, toeplitz); - - } else { - NT_LOG(DBG, FILTER, "Set inner TCP checksum hasher."); - res |= flow_nic_set_hasher_part_inline(ndev, hsh_idx, words, - DYN_TUN_L4, 16, 16, - toeplitz); - } - - unset_bits_and_log(&fields, RTE_ETH_RSS_L4_CHKSUM | l4_proto_mask); - break; - - case RTE_ETH_RSS_NONFRAG_IPV4_SCTP: - case RTE_ETH_RSS_NONFRAG_IPV6_SCTP: - case RTE_ETH_RSS_NONFRAG_IPV4_SCTP | RTE_ETH_RSS_NONFRAG_IPV6_SCTP: - if (outer) { - NT_LOG(DBG, FILTER, "Set outer SCTP checksum hasher."); - res |= flow_nic_set_hasher_part_inline(ndev, hsh_idx, words, - DYN_L4, 8, 32, toeplitz); - - } else { - NT_LOG(DBG, FILTER, "Set inner SCTP checksum hasher."); - res |= flow_nic_set_hasher_part_inline(ndev, hsh_idx, words, - DYN_TUN_L4, 8, 32, - toeplitz); - } - - unset_bits_and_log(&fields, RTE_ETH_RSS_L4_CHKSUM | l4_proto_mask); - break; - - case RTE_ETH_RSS_NONFRAG_IPV4_OTHER: - case RTE_ETH_RSS_NONFRAG_IPV6_OTHER: - - /* none or unsupported protocol was chosen */ - case 0: - NT_LOG(ERR, FILTER, - "L4 checksum hashing is supported only for UDP, TCP and SCTP protocols"); - res = -1; - break; - - /* multiple L4 protocols were selected */ - default: - NT_LOG(ERR, FILTER, - "L4 checksum hashing can be enabled just for one of UDP, TCP or SCTP protocols"); - res = -1; - break; - } - } - - if (fields || res != 0) { - hw_mod_hsh_rcp_set(&ndev->be, HW_HSH_RCP_PRESET_ALL, hsh_idx, 0, 0); - - if (sprint_nt_rss_mask(rss_buffer, rss_buffer_len, " ", rss_conf.rss_hf) == 0) { - NT_LOG(ERR, FILTER, - "RSS configuration%s is not supported for hash func %s.", - rss_buffer, - (enum rte_eth_hash_function)toeplitz ? "Toeplitz" : "NTH10"); - - } else { - NT_LOG(ERR, FILTER, - "RSS configuration 0x%" PRIX64 - " is not supported for hash func %s.", - rss_conf.rss_hf, - (enum rte_eth_hash_function)toeplitz ? "Toeplitz" : "NTH10"); - } - - return -1; - } - - return res; -} - static void dump_flm_data(const uint32_t *data, FILE *file) { for (unsigned int i = 0; i < 10; ++i) { @@ -6020,7 +5261,6 @@ static const struct profile_inline_ops ops = { .flow_destroy_profile_inline = flow_destroy_profile_inline, .flow_flush_profile_inline = flow_flush_profile_inline, .flow_actions_update_profile_inline = flow_actions_update_profile_inline, - .flow_nic_set_hasher_fields_inline = flow_nic_set_hasher_fields_inline, .flow_get_aged_flows_profile_inline = flow_get_aged_flows_profile_inline, /* * Stats diff --git a/drivers/net/ntnic/nthw/flow_api/profile_inline/flow_api_profile_inline.h b/drivers/net/ntnic/nthw/flow_api/profile_inline/flow_api_profile_inline.h index 169f71ee68..be22c9bcd1 100644 --- a/drivers/net/ntnic/nthw/flow_api/profile_inline/flow_api_profile_inline.h +++ b/drivers/net/ntnic/nthw/flow_api/profile_inline/flow_api_profile_inline.h @@ -66,10 +66,6 @@ int flow_get_aged_flows_profile_inline(struct flow_eth_dev *dev, uint32_t nb_contexts, struct rte_flow_error *error); -int flow_nic_set_hasher_fields_inline(struct flow_nic_dev *ndev, - int hsh_idx, - struct nt_eth_rss_conf rss_conf); - /* * Stats */ diff --git a/drivers/net/ntnic/ntnic_ethdev.c b/drivers/net/ntnic/ntnic_ethdev.c index d1360cc925..9000264804 100644 --- a/drivers/net/ntnic/ntnic_ethdev.c +++ b/drivers/net/ntnic/ntnic_ethdev.c @@ -27,6 +27,7 @@ #include "ntnic_vfio.h" #include "ntnic_mod_reg.h" #include "nt_util.h" +#include "flow_hsh_cfg.h" #include "profile_inline/flm_age_queue.h" #include "profile_inline/flm_evt_queue.h" #include "rte_pmd_ntnic.h" @@ -1672,7 +1673,7 @@ static int eth_dev_rss_hash_update(struct rte_eth_dev *eth_dev, struct rte_eth_r tmp_rss_conf.algorithm = rss_conf->algorithm; tmp_rss_conf.rss_hf = rss_conf->rss_hf; - int res = flow_filter_ops->flow_nic_set_hasher_fields(ndev, hsh_idx, tmp_rss_conf); + int res = hsh_set(ndev, hsh_idx, tmp_rss_conf); if (res == 0) { flow_filter_ops->hw_mod_hsh_rcp_flush(&ndev->be, hsh_idx, 1); diff --git a/drivers/net/ntnic/ntnic_mod_reg.h b/drivers/net/ntnic/ntnic_mod_reg.h index 71861c6dea..8db4911262 100644 --- a/drivers/net/ntnic/ntnic_mod_reg.h +++ b/drivers/net/ntnic/ntnic_mod_reg.h @@ -355,10 +355,6 @@ struct profile_inline_ops { struct flow_handle *flow, void *user_data, struct rte_flow_error *error); - int (*flow_nic_set_hasher_fields_inline)(struct flow_nic_dev *ndev, - int hsh_idx, - struct nt_eth_rss_conf rss_conf); - /* * Stats */ @@ -467,8 +463,6 @@ struct flow_filter_ops { /* * Other */ - int (*flow_nic_set_hasher_fields)(struct flow_nic_dev *ndev, int hsh_idx, - struct nt_eth_rss_conf rss_conf); int (*hw_mod_hsh_rcp_flush)(struct flow_api_backend_s *be, int start_idx, int count); int (*flow_get_aged_flows)(struct flow_eth_dev *dev, From patchwork Wed Feb 5 10:45:35 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Serhii Iliushyk X-Patchwork-Id: 150956 X-Patchwork-Delegate: stephen@networkplumber.org Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 277334619A; Wed, 5 Feb 2025 11:48:46 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B347A40DCE; Wed, 5 Feb 2025 11:46:34 +0100 (CET) Received: from egress-ip11a.ess.de.barracuda.com (egress-ip11a.ess.de.barracuda.com [18.184.203.234]) by mails.dpdk.org (Postfix) with ESMTP id 5187B4069F for ; Wed, 5 Feb 2025 11:46:23 +0100 (CET) Received: from EUR03-VI1-obe.outbound.protection.outlook.com (mail-vi1eur03lp2108.outbound.protection.outlook.com [104.47.30.108]) by mx-outbound9-60.eu-central-1a.ess.aws.cudaops.com (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Wed, 05 Feb 2025 10:46:21 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ZyOM3y4pTXIgcCO/29EOo2p7iOk0mFCruTKwXQYAOdHeW21u6YWWPwL6piNnbtDhhmYMDFqSa9xF+BzLBjhB3CWX3F1cJpV8qP7fxau3RzUNPAxZV8egD2uxK9Zci0FyUejcXA7usAPNrQOK0a99n3nYk+m71nSU44Bbk388sHKELrzsX9NNJgPyYxUeKwVtDwfMdWUA0k5k6U/8XsU+yLSk7yL4vFBrLJ3Qknsr+9gEWb3gUm5IE92BqRHmDB4v5aZm3ELuOAq50mrOz9Gc7UqKKojLL0NiV4NwMO4zbrIjKf+fH3bYsdVftytlvvzZg3QL81KZjoVefbvB8dQM3A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=XG0jMfQh/DWx1b53rlN7LGLeXBBmH9xldmz+tbA9+iY=; b=U32drq1cEXkpcqOMZbRbqvuIaYCMO5LzJuVBIi1sYuGlK+Q90oO6j4zPgzOKsEu6C0fYXfwUlINjEs+A0Bw/U/WZ/pURdJz/N2HRE0BHNRVR0zuA9QWZfE7iHl/fP9U7L6+8P6/SSQrOolVsZyW1XhKNvUbZs4Ienf8bf94+F7cKyqxTVqe5BZ7XDIwktKPd6tHQC5xbsilU75fGP2BQBsWJ1jOy0N8J/F9Q2ectfNcfHuvH3eJKLmdX2lXVVi5yfDm2aG9u5ZID/MwjsiuuyuTVK+zJ9CQZixVI8XDoF77C8bf0zwy6lgq5xe+EEDq3H+zyuvRRD1uPMyW1EtdVuw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=fail (sender ip is 178.72.21.4) smtp.rcpttodomain=dpdk.org smtp.mailfrom=napatech.com; dmarc=fail (p=reject sp=reject pct=100) action=oreject header.from=napatech.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=napatech.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=XG0jMfQh/DWx1b53rlN7LGLeXBBmH9xldmz+tbA9+iY=; b=VrxmviB5k/wKphHs/K+GwTE8OmTYL1e3c/Q8xg39VEg3bop1vAQzUuX457MNNtGfXosumkxNyzBHSQqPxjcIZrLwJ2BgV1uJVg3oOmih67irhsbS6w7tM2utNfy743jh3THKjWJHR2+tmWldWImzHRaEgarWMWrN5/mzKcZ2eMM= Received: from CWLP265CA0340.GBRP265.PROD.OUTLOOK.COM (2603:10a6:401:5a::16) by DB9P190MB1273.EURP190.PROD.OUTLOOK.COM (2603:10a6:10:22f::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.10; Wed, 5 Feb 2025 10:46:20 +0000 Received: from AMS0EPF000001A5.eurprd05.prod.outlook.com (2603:10a6:401:5a:cafe::8e) by CWLP265CA0340.outlook.office365.com (2603:10a6:401:5a::16) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.27 via Frontend Transport; Wed, 5 Feb 2025 10:46:20 +0000 X-MS-Exchange-Authentication-Results: spf=fail (sender IP is 178.72.21.4) smtp.mailfrom=napatech.com; dkim=none (message not signed) header.d=none;dmarc=fail action=oreject header.from=napatech.com; Received-SPF: Fail (protection.outlook.com: domain of napatech.com does not designate 178.72.21.4 as permitted sender) receiver=protection.outlook.com; client-ip=178.72.21.4; helo=localhost.localdomain; Received: from localhost.localdomain (178.72.21.4) by AMS0EPF000001A5.mail.protection.outlook.com (10.167.16.232) with Microsoft SMTP Server id 15.20.8398.14 via Frontend Transport; Wed, 5 Feb 2025 10:46:20 +0000 From: Serhii Iliushyk To: dev@dpdk.org Cc: mko-plv@napatech.com, sil-plv@napatech.com, ckm@napatech.com, stephen@networkplumber.org, Danylo Vodopianov Subject: [PATCH v2 26/34] net/ntnic: fix age timeout recalculation into fpga unit Date: Wed, 5 Feb 2025 11:45:35 +0100 Message-ID: <20250205104548.1533554-27-sil-plv@napatech.com> X-Mailer: git-send-email 2.45.0 In-Reply-To: <20250205104548.1533554-1-sil-plv@napatech.com> References: <20250121170814.3252171-2-sil-plv@napatech.com> <20250205104548.1533554-1-sil-plv@napatech.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AMS0EPF000001A5:EE_|DB9P190MB1273:EE_ X-MS-Office365-Filtering-Correlation-Id: 61fdeac3-2a77-432c-17f4-08dd45d2538b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|36860700013|82310400026|1800799024|376014; X-Microsoft-Antispam-Message-Info: qbgpdd+dM0rgYKYZ9RLvqQeYtXXcQRarb/p1NParCujomKCtBs4lf2vMgy0eNUDnxKe1p1GxMrjeAOYB8u9ss5TXY6+OOZ9UQCvDR0u5mUjiSrzn3zvvZAHJ7Xhz9O24mYEoWWtbxj6yQWedW13o5x79X6pzjgm/sCM70Qai9I4P7ARKEGaVxcz+M1A57Nn8rZ/qxtMX6Vs7rel8NI8qhrcu8IY6Ddc3mTwOCnBb8cIk39OUFODPhCH9TXWvkyQPhoEVKf1e1hVdMjEUiLUPbMHOwGHOO+V8qIV0+LU5YqUcAwoOOhvpfGAe6Uj1H1PnhVebXbsTMGyVUgA5R+zUYNXyYlHIViBAuLH3/+vovHFlY4rs3AiQGbQZivwM0Nbukl6EqVXp79SdFgVfUdcLW2oSjTTiLzXSoypNO1MYW38E4pWqYhMqUcXMZgCwQXGrjMRYzCm0m0x67HZMUrBcoOaYDhWWoYNWrzNShxT8I8a4diYz9WV8MqEgUPMQTb3YlJFUNUFwRHa7wSFNDxNdiTPAUtNVt9ezAFyNirAbDo2xEf4pNnKvD2sJhKEREAizUknskBywYy74Tz5LzxtiMItbntK5RgSxCEiRsGznSpb0mHCWJbPnaDRuzdbqMvc96lgYTM65OS5eZnK/t65PlZqKB0sOXf4PahFPu+a0yDgddPNdQxZIAGGm+Hp15s0nBG7gkotyh4eYKsfe9c3TZp+RYklxBwq1JsbdhV7uilfE0mS4vGNzLrCAvi7my8/IU/CuuVuhozEOx243oQoWx4eknsGTCFbOw1D6fge8DSIjx6UPrgGjjIXlZH9Zy5/HIPG0pGCpSr35uM4Rd8mf2qo7PY8qhRMzZ9+wI/daNtf4mSaBUk06/t7lroZFR3gYaGSquVhJU4+mDLVE9caovGgGrdmMp9gZWNLSZ31te54blwFV9J7mVRUtA6vWKAEhvjt1a7ASyAXu4TJrvsd8vyW7WLLQoVHRjYvyaggQKI4z8xWGIlGVmLTbGpUtdapFnGixKbM467iuRLcgZcJsOpIrUWHbH0mmmtmeCTfIy/wC5RgXWHWCkoqxLQI4FOd5XB9mFhnaHlInaUYFL7avBQd0rI3EMOvPtYqrjPbJZF7nQKi3QRegjavnwULBuoYIZ930gldUo0cAbl3JvLJvObCIR7b/0ryaYqiR3Jjm1ZjJyDN+uvoXjDOtsXgUsa0pxyG9saRBkFRMWQ3izN67QfO0ew0x1Ga3QduxyB+A0SmHtS44MK+w7bBmrx/43U/nWD1L7WE2rXgIJ+0fZY5jd5zmY4nQlI3JaxrEnAOMY1yB+3XJPFGRyGd/XGsUFNYvRj5CXRiyvr2TMP/IzPuRd83vXtpgi7EWnJKMizjUtcGNq9kPTVrQUQUbs8Q7jBcHf1jFE8eHem9R3l3nGpdM0Rr/r/5CRnmINN6URpkhGtIGEa3z9TPoJlPaU6qtbdyNmG5wElpbJTWnN4Uxh/w0VYBqcPQJlVjW87HcTalX5us= X-Forefront-Antispam-Report: CIP:178.72.21.4; CTRY:DK; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:localhost.localdomain; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(36860700013)(82310400026)(1800799024)(376014); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: aWLDwBFy71JJObIPDGfVUVF55JKZkU3n2W8t3zhQ00a7gEPif1knFr0ryd1MZNGgRDGpOBC3TnGAQ5xtOC5zzWOJ88sSPaDeVmfJwKKoKMLfGmo1qdb+WUnFjaimc1c/mzjM4vB2NgvmV7fV2B+yZRfxzwvNI4GaFpeqHmOZgDuqpt9ayl5KXS3K3wF1PL2bI802X/upB1ZYMrXXlhjzAW0j1oJO9zFP7mVV0idQ32GNLNdy950SIa4ttd/bCmcrU+T1q715x8gYDo4taJUPu3p7HmxhuY2pULtey+TG5Ik0wCR+ioR6E1rUBOK6DEtLCQlWDDPDmfwXfw9ai0QZSZMTKrlYCOb9X4YIce7o8lAJ6R3OatQnfpx5Wu89xYWMBohFO1G+DWi7W7po1iohD8IzNrO+CHpazG+CvKc8NmoJ5yHPrbiygGiSC90EQiJz/HD2n1tp+3B7QgeAABrkt1L3WRqEX63Mzewcjp5xBcbBhKInlR/5c/wZo3lpWi1zfOQqbN1zqNJtxl+oCD6iNXYTpIwrqcAusMLFQLeyO7oYhYdmDaJBiRc4qZE3JtrctQEngTwzCQRANJdQwT02uQ5HaqOf/HxevJ3mwD1bJt1S5/R87lN5QLCjH+wWc1W4S42wBcSvQUUZ8a23NiMR5A== X-OriginatorOrg: napatech.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Feb 2025 10:46:20.2145 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 61fdeac3-2a77-432c-17f4-08dd45d2538b X-MS-Exchange-CrossTenant-Id: c4540d0b-728a-4233-9da5-9ea30c7ec3ed X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=c4540d0b-728a-4233-9da5-9ea30c7ec3ed; Ip=[178.72.21.4]; Helo=[localhost.localdomain] X-MS-Exchange-CrossTenant-AuthSource: AMS0EPF000001A5.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9P190MB1273 X-BESS-ID: 1738752381-302364-7584-675-1 X-BESS-VER: 2019.1_20250203.2302 X-BESS-Apparent-Source-IP: 104.47.30.108 X-BESS-Parts: H4sIAAAAAAACA4uuVkqtKFGyUioBkjpK+cVKVkYGJoZAVgZQ0DjJ0sTIEAjNki 0NklMMLMyNk8wMDA1NDAxNUswtU5VqYwG0A2rUQQAAAA== X-BESS-Outbound-Spam-Score: 0.50 X-BESS-Outbound-Spam-Report: Code version 3.2, rules version 3.2.2.262304 [from cloudscan16-182.eu-central-1b.ess.aws.cudaops.com] Rule breakdown below pts rule name description ---- ---------------------- -------------------------------- 0.50 BSF_RULE7568M META: Custom Rule 7568M 0.00 BSF_BESS_OUTBOUND META: BESS Outbound X-BESS-Outbound-Spam-Status: SCORE=0.50 using account:ESS113687 scores of KILL_LEVEL=7.0 tests=BSF_RULE7568M, BSF_BESS_OUTBOUND X-BESS-BRTS-Status: 1 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org From: Danylo Vodopianov The FPGA scrub T parameter shall be encoded timeout using internal unit, which is measured in 2^30 nanoseconds. It is approx 1.074 times longer than age timeout specified in seconds. Internal method hw_mod_flm_inf_sta_data_update_get() was updated to perform conversion between age time and internal FPGA scrub T time unit. Fixes: c0d44442b831 ("net/ntnic: add flow aging event") Signed-off-by: Danylo Vodopianov --- .../net/ntnic/nthw/flow_api/hw_mod/hw_mod_flm.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/drivers/net/ntnic/nthw/flow_api/hw_mod/hw_mod_flm.c b/drivers/net/ntnic/nthw/flow_api/hw_mod/hw_mod_flm.c index 14dd95a150..5cf8264909 100644 --- a/drivers/net/ntnic/nthw/flow_api/hw_mod/hw_mod_flm.c +++ b/drivers/net/ntnic/nthw/flow_api/hw_mod/hw_mod_flm.c @@ -969,16 +969,22 @@ int hw_mod_flm_inf_sta_data_update_get(struct flow_api_backend_s *be, enum hw_fl * * (T[7:3] != 0) ? ((8 + T[2:0]) shift-left (T[7:3] - 1)) : T[2:0] * - * The maximum allowed value is 0xEF (127 years). + * The maximum allowed value is 0xEF (137 years). * * Note that this represents a lower bound on the timeout, depending on the flow * scanner interval and overall load, the timeout can be substantially longer. */ uint32_t hw_mod_flm_scrub_timeout_decode(uint32_t t_enc) { - uint8_t t_bits_2_0 = t_enc & 0x07; - uint8_t t_bits_7_3 = (t_enc >> 3) & 0x1F; - return t_bits_7_3 != 0 ? ((8 + t_bits_2_0) << (t_bits_7_3 - 1)) : t_bits_2_0; + uint32_t t_bits_2_0 = t_enc & 0x07; + uint32_t t_bits_7_3 = (t_enc >> 3) & 0x1F; + uint32_t t_dec = t_bits_7_3 != 0 ? ((8U + t_bits_2_0) << (t_bits_7_3 - 1U)) + : t_bits_2_0; + /* convert internal FPGA scrub time unit into seconds, i.e. 2^30/1e9 is + * approx 1.074 sec per internal unit + */ + uint64_t t_sec = (uint64_t)t_dec * 1074UL / 1000UL; + return t_sec > UINT32_MAX ? UINT32_MAX : (uint32_t)t_sec; } uint32_t hw_mod_flm_scrub_timeout_encode(uint32_t t) From patchwork Wed Feb 5 10:45:36 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Serhii Iliushyk X-Patchwork-Id: 150957 X-Patchwork-Delegate: stephen@networkplumber.org Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 4131E4619A; Wed, 5 Feb 2025 11:48:51 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B050E40678; Wed, 5 Feb 2025 11:46:35 +0100 (CET) Received: from egress-ip11a.ess.de.barracuda.com (egress-ip11a.ess.de.barracuda.com [18.184.203.234]) by mails.dpdk.org (Postfix) with ESMTP id 8B55B40270 for ; Wed, 5 Feb 2025 11:46:23 +0100 (CET) Received: from EUR02-DB5-obe.outbound.protection.outlook.com (mail-db5eur02lp2113.outbound.protection.outlook.com [104.47.11.113]) by mx-outbound43-8.eu-central-1c.ess.aws.cudaops.com (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Wed, 05 Feb 2025 10:46:22 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=fYZrjkAvD9KozomHSZLSdPxwszRorx79ijHoHqJRdVtzR+9ar/6aQfBKFvYsdGpG1g3fqTyRfen1wWRvp5oqp4QnWkaTcKSn/lHAyRGoZ9na9mhDLI3nWEHdTLRZFtnOCTXEbPducU6NyOPBPTWQHUabRgxedlvKgf3m1NOOdi1nGaIZP92H9uRo22zM0QlbjvCOeL/x5cZqu7WX6sXuLXf8yMJoh9TGJhAGurmWMuKtBT9fx1C3JYZuvpxv8+yq1hMYUay1tS7bPBUujQXKS0w5O/fMJm2aF6U0LuuYXt5Hz4rb+iwkxzo/R6g7nWJ0P1RcljwZkTbCbx0L5xa4zw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=QkYt3GIIkEXCmLtECNsUXyQGDE6dqTjPV4R3oRmJiyo=; b=apwt5R81Id0OfIy6DJUtRFIh80+9K8DZtCPbs8GccehcDfLkoZV/HRPDKyOQ0L+qoRtMLjnUec5zcPAkK+XXQ2btB1jSh8PYY2NwPvl5fy+9HQniQD0xgcIozzq3QBvGxK+dqKE6bqDGictz0X9gX4r2qsfnNI/xrZMmlNlanEw0m/HywzQFW0K2wxdQW/ufDGfAYosHpHTSBc43aaR2F9LDe2yYl8NO9btTHlm1Q78s7jdKtmJurp7ADZ6aw9ws4tCcHn5bmDuHShgWnINE5d+X4NKFjD9+DtzbnU9iK4AvvuWs6PQifQHGwNewXJRsbkM0om3OMrSSmj7w3Ia8Ew== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=fail (sender ip is 178.72.21.4) smtp.rcpttodomain=dpdk.org smtp.mailfrom=napatech.com; dmarc=fail (p=reject sp=reject pct=100) action=oreject header.from=napatech.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=napatech.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=QkYt3GIIkEXCmLtECNsUXyQGDE6dqTjPV4R3oRmJiyo=; b=Pu2dhpF8o6ceF+/CGc5Ssr8ofC0WK1vb8zimyGnA0xIOJ+4OTLxQOnDKkD2Am0zUhZsyobbJx+lfx2y5Xn9zxggPOW4LEPkJcoweGm6WfN0Eyi4j9iJfzjLiopAWFfvHb2Mn/PKMAAlBK3Wg6szRvX4IRWyim1UnTk8JXgH7I6U= Received: from CWLP265CA0356.GBRP265.PROD.OUTLOOK.COM (2603:10a6:401:5a::32) by AS8P190MB1255.EURP190.PROD.OUTLOOK.COM (2603:10a6:20b:2e5::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8398.26; Wed, 5 Feb 2025 10:46:21 +0000 Received: from AMS0EPF000001A5.eurprd05.prod.outlook.com (2603:10a6:401:5a:cafe::f) by CWLP265CA0356.outlook.office365.com (2603:10a6:401:5a::32) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.25 via Frontend Transport; Wed, 5 Feb 2025 10:46:20 +0000 X-MS-Exchange-Authentication-Results: spf=fail (sender IP is 178.72.21.4) smtp.mailfrom=napatech.com; dkim=none (message not signed) header.d=none;dmarc=fail action=oreject header.from=napatech.com; Received-SPF: Fail (protection.outlook.com: domain of napatech.com does not designate 178.72.21.4 as permitted sender) receiver=protection.outlook.com; client-ip=178.72.21.4; helo=localhost.localdomain; Received: from localhost.localdomain (178.72.21.4) by AMS0EPF000001A5.mail.protection.outlook.com (10.167.16.232) with Microsoft SMTP Server id 15.20.8398.14 via Frontend Transport; Wed, 5 Feb 2025 10:46:20 +0000 From: Serhii Iliushyk To: dev@dpdk.org Cc: mko-plv@napatech.com, sil-plv@napatech.com, ckm@napatech.com, stephen@networkplumber.org, Danylo Vodopianov Subject: [PATCH v2 27/34] net/ntnic: rework age event generation Date: Wed, 5 Feb 2025 11:45:36 +0100 Message-ID: <20250205104548.1533554-28-sil-plv@napatech.com> X-Mailer: git-send-email 2.45.0 In-Reply-To: <20250205104548.1533554-1-sil-plv@napatech.com> References: <20250121170814.3252171-2-sil-plv@napatech.com> <20250205104548.1533554-1-sil-plv@napatech.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AMS0EPF000001A5:EE_|AS8P190MB1255:EE_ X-MS-Office365-Filtering-Correlation-Id: a0339979-3709-4626-b14c-08dd45d253e5 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|376014|82310400026|36860700013; X-Microsoft-Antispam-Message-Info: JNLtDjX4Lx7HpwkBD6F9nOzH8CIdc/pGcWiJvu4mOhKJFwSzE3TY8lh7ufa3FpPB1sVzJ9AlPOF8tTbQ6W6edKuTBQAOc6Dcakf6TIGmEmYxkg3+Wp4Bn458ha/XX0chFsSSOw+pJVZ/vQCgjooBcVKWqH/Trb7lo5Cgh6kTAwcfnYBxphs41UElKKGikDgVrKtwB0xusE622Dd3MM1E8/kLBy8rqeiCoH3xm1FXIAdGSqt9gKskv8YCbtl4hAVdnMkTkPLsSin9Gl2yv+6rjBTmZZSf82NJrVQOOPFdiMQcsaYXnZ2DMxSVRplxPAPFK1mHXqp58eBWOfxuSXHD+/co+tJgz2hIOvg6pky59oqydAvtlAoULv7TOBKoGpdMTtPUCTBWtTJueJdDjCBQCbURdnpf38mDTUngfnpysbTDhoOHlWDJiFTplCwN9nf0ja+EYCwg+cIWxrZMYti8IFeV66vZihuGkTqh9yatet3wlxdWCg82DmhxgHHyOlXIIE3KJjZ1nSMA5Qocu9j3uwwnoiFYjRweZdIZpNsnx2fqjb7aCZlYcMIiBz2HIg4W0ETx0oetc7c27sDJfhiKUjXHnvSmwNQZvxayvkzBIJ1lbJ3oZNpFWulDtV+SdkqrhokSGcEYpqP56pZPSEwS/rZK5ScsRkjjPRB5WCpv50XO7vgwQwMOwAbDEgtpvJxyGr8O/CfeNbFFkkKw9jqZxINBPRGL+3CB1YRbKhDCmyAEIH6CtrAHwLOhbfCuoHJ8CEg75BoqbxmzKzQSaegC1a1cW0LY7h6GbARKo5OW6d3X1ywK63WeZrrzT4K8ccVjKZdqcExYp3RpTwb+bYSkA47E3xtbSM6AaxsW9KBmdyiJ3nTyLQ4wHl0KdxvZSpT2l6gcg1P+LbvPpHWXflm1eo6qa4WoB8EFWoUX1ncxbTeaHPKnBRhQO+EaBBFtOzSAvfps+71LYMSFTSmId1kNAPwRBV/lAAAJyXimznGUKpUVrImFU/kAxc/Z2PbN6qSrbDuNczXCgmwGCNA/MPUVyhdh+T0TIYro5Y1VIiCaARWSWYE2U6Vtki17gqm925WBG4YJ58fhxuY1HUbXcdaUz2fv0roQFBhVxaT1KLDu54BJ+6zSSllm6RdBpvEqYMyQeEj8FawMuYUWypODokwqo8Q/j/2phNU02I8Y8QRzgGXVI/JqtEaZMTJ2O3nOqm3MsSc66PmNdIiZg2jshTUs57enDYQaAYL207q9cirlGDY7G/sG03tuBO8bUdVWnOUV7rJMoKYSqHWOH91RQGroI0jdxbmrfaGyBFLBuFSi8y8xH9VuzSk/Ix/NDjvlTMyCpPsogDXKsYcxJUdIzheYh9dI9Lg/Qed1Ny3CbEy/AoI8FxA8NcWIR4uvdV/LsHxNiJdYu5221jABZ8XunOV1PXLUdegsLbt4JFaQ1MzmGO2atuLPJ5K4LqlnuZWPesN5HwK2Q0XMTjWEjRVAUSDRew== X-Forefront-Antispam-Report: CIP:178.72.21.4; CTRY:DK; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:localhost.localdomain; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(1800799024)(376014)(82310400026)(36860700013); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: bcU18nU2rQHjoybNwTNALuBk4XMYS47m0ZP5Ufylu/tOJ4m6VLNNIriCbpL0GUzidgz4rF6rbSrqgXZdJZeJjOmKLGJE+SpSzaQdRI5Vkk+e0Ret/GaO/+OupaUihF1D1C7bqwtg9BBYB+TcdotuN8mpCSKcJDloy+hAAvMVQGRmoASaBIsT6hmk4AkRnfhIn/YUSMuIQtdaAfbGQxzxsipjErO3zq8kNXzcLrxemKghYsiYQY6WxMVPults2Z6IwONs+V2fFa/hA4+KAfJ5QP5RE94TaXkNFyM/7Ysd7D1zJgv8BYOktTbVuT042WXKBGGfmva2GA/SE0eQuP+lq9+bsgGwI5Z1ZiDP/V7j9RN1hKImvuQVAI4w6lWn9OACWlGxYhC41LGGXDCgJnlpDE5uvYMARGv9rCYZLHs905sMbqe7H31z2adV1ckLFETEsHgzcWzjMlOY9MzXfV7XekG2zrM03aL+EqUGZqJnsrh43mYKThO7ONolNQU9LqJxHdHonYhs1jlPKMhN1OgOs8nw5HnT/JNtBWMgleMYAvf+FIciZqaRmWJ3+gkM97CV728PBGQPs2GLm9mQ201/AQn9QcNfGEPCl+MAlBsUET+IblmfNm+WdsDHhhjRNDtvKzw39kgO2UjsIjwmbZlsLA== X-OriginatorOrg: napatech.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Feb 2025 10:46:20.8082 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a0339979-3709-4626-b14c-08dd45d253e5 X-MS-Exchange-CrossTenant-Id: c4540d0b-728a-4233-9da5-9ea30c7ec3ed X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=c4540d0b-728a-4233-9da5-9ea30c7ec3ed; Ip=[178.72.21.4]; Helo=[localhost.localdomain] X-MS-Exchange-CrossTenant-AuthSource: AMS0EPF000001A5.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8P190MB1255 X-BESS-ID: 1738752382-311016-9613-523-1 X-BESS-VER: 2019.1_20250203.2302 X-BESS-Apparent-Source-IP: 104.47.11.113 X-BESS-Parts: H4sIAAAAAAACA4uuVkqtKFGyUioBkjpK+cVKVoZGFhZAVgZQ0MA0MS3VJMUs2c TU0sjIwCQ5NdXQ2NQkzdQgydDcPNlcqTYWABylOldBAAAA X-BESS-Outbound-Spam-Score: 0.00 X-BESS-Outbound-Spam-Report: Code version 3.2, rules version 3.2.2.262304 [from cloudscan14-207.eu-central-1a.ess.aws.cudaops.com] Rule breakdown below pts rule name description ---- ---------------------- -------------------------------- 0.00 BSF_BESS_OUTBOUND META: BESS Outbound X-BESS-Outbound-Spam-Status: SCORE=0.00 using account:ESS113687 scores of KILL_LEVEL=7.0 tests=BSF_BESS_OUTBOUND X-BESS-BRTS-Status: 1 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org From: Danylo Vodopianov Add age event generating only for physical ports. Fixes: 4033e0539435 ("net/ntnic: add flow meter") Signed-off-by: Danylo Vodopianov --- .../nthw/flow_api/profile_inline/flow_api_profile_inline.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/drivers/net/ntnic/nthw/flow_api/profile_inline/flow_api_profile_inline.c b/drivers/net/ntnic/nthw/flow_api/profile_inline/flow_api_profile_inline.c index e5abd372bc..e911860c38 100644 --- a/drivers/net/ntnic/nthw/flow_api/profile_inline/flow_api_profile_inline.c +++ b/drivers/net/ntnic/nthw/flow_api/profile_inline/flow_api_profile_inline.c @@ -479,13 +479,16 @@ static void flm_mtr_read_inf_records(struct flow_eth_dev *dev, uint32_t *data, u struct flow_handle *fh = (struct flow_handle *)flm_h.p; struct flm_age_event_s age_event; uint8_t port; + bool is_remote; age_event.context = fh->context; - is_remote_caller(caller_id, &port); + is_remote = is_remote_caller(caller_id, &port); flm_age_queue_put(caller_id, &age_event); - flm_age_event_set(port); + /* age events are supported only for physical ports */ + if (!is_remote) + flm_age_event_set(port); } break; From patchwork Wed Feb 5 10:45:37 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Serhii Iliushyk X-Patchwork-Id: 150959 X-Patchwork-Delegate: stephen@networkplumber.org Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 3B1C64619A; Wed, 5 Feb 2025 11:49:04 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id EF48E40DDE; Wed, 5 Feb 2025 11:46:37 +0100 (CET) Received: from egress-ip11a.ess.de.barracuda.com (egress-ip11a.ess.de.barracuda.com [18.184.203.234]) by mails.dpdk.org (Postfix) with ESMTP id 7AF0C406BB for ; Wed, 5 Feb 2025 11:46:24 +0100 (CET) Received: from EUR03-DBA-obe.outbound.protection.outlook.com (mail-dbaeur03lp2168.outbound.protection.outlook.com [104.47.51.168]) by mx-outbound43-8.eu-central-1c.ess.aws.cudaops.com (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Wed, 05 Feb 2025 10:46:23 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=fljbqo900DXflvwy6PDRGlRwU+EV9fHurEj2VrVb8h8iy50+tE5bxx1Ubykv62raivNopGtBDV2c5OUFitnKbKEJnjGI8Wfr8OQtbYrhDw5/JwfRxvXN98/rjwxh8U3EvZdx0xeraBOsJhdChV52WaCwNV3JsV0xb04UzJMXVTlVrpWI8xYtJeYFtfzbD0Q5Sv5DaJDis4U4H1Evhr3CnpMnbuDS6/ttXSkDLsbqWlJvp0UKEiu6QmFNF9zO0ZGIz/lwy4EahL6eTyrimUDVIZAkN41mim6EXHgI5o35BJoEAbKW5woMfPlXN59ryXmXu5TFFL2OTbjg7Hm6baLaTQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=n2wax9YajM+oK7FsXicTvEjAPRPmgjdkjxHI+UEyut8=; b=dfrCIIKtNshQdc4M/SN4GNVa+MlMwg3ciMKhhkjR+xsUKVPgjnROCKsBEaVUH90XOxH3hduv2VD5CO4bJQ5spA75QqPJR3i+sqVy0v9/mnqYixBTUxuiDKRYn0EJBw84XzQHrqWNdBXs2NagoEl26aCK5GMLwj4d+vLnnFjs+xOFDCVKFBTJX0H+vlpFLT9C1rm0e45KP9aGry/xLqJvEEFNUqVu5JmMLs+ac5pCTecEFBLHnkrLl90AzRPdBHJZxbtq+sKX7nhkghxghSs5ctGXkdE4yVe5EWJ5CWPNRnQiJt6J7nfnVlrK3a5PkOdQCKYYlqOGNJkNyOmgI2WvOA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=fail (sender ip is 178.72.21.4) smtp.rcpttodomain=dpdk.org smtp.mailfrom=napatech.com; dmarc=fail (p=reject sp=reject pct=100) action=oreject header.from=napatech.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=napatech.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=n2wax9YajM+oK7FsXicTvEjAPRPmgjdkjxHI+UEyut8=; b=JRSQCoVtxTSPxB/JG2OUYYx1MeNEg3AeG2SYWrc3sZge9TlGBObErVUjyOdPC3F3/qPk5RMzvZdxGJH/yDyDzgUfjHQrW8sMCihf8o8ciXDehE7l4umLf4PTrUeCsOeOdytwfepY99jA8kg4zA1x+OVUXUJ6TfAnOCQLCwZLjzc= Received: from CWLP265CA0358.GBRP265.PROD.OUTLOOK.COM (2603:10a6:401:5a::34) by AM7P190MB0599.EURP190.PROD.OUTLOOK.COM (2603:10a6:20b:120::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8398.25; Wed, 5 Feb 2025 10:46:22 +0000 Received: from AMS0EPF000001A5.eurprd05.prod.outlook.com (2603:10a6:401:5a:cafe::a8) by CWLP265CA0358.outlook.office365.com (2603:10a6:401:5a::34) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.25 via Frontend Transport; Wed, 5 Feb 2025 10:46:21 +0000 X-MS-Exchange-Authentication-Results: spf=fail (sender IP is 178.72.21.4) smtp.mailfrom=napatech.com; dkim=none (message not signed) header.d=none;dmarc=fail action=oreject header.from=napatech.com; Received-SPF: Fail (protection.outlook.com: domain of napatech.com does not designate 178.72.21.4 as permitted sender) receiver=protection.outlook.com; client-ip=178.72.21.4; helo=localhost.localdomain; Received: from localhost.localdomain (178.72.21.4) by AMS0EPF000001A5.mail.protection.outlook.com (10.167.16.232) with Microsoft SMTP Server id 15.20.8398.14 via Frontend Transport; Wed, 5 Feb 2025 10:46:21 +0000 From: Serhii Iliushyk To: dev@dpdk.org Cc: mko-plv@napatech.com, sil-plv@napatech.com, ckm@napatech.com, stephen@networkplumber.org, Danylo Vodopianov , Oleksandr Kolomeiets Subject: [PATCH v2 28/34] net/ntnic: fix group print Date: Wed, 5 Feb 2025 11:45:37 +0100 Message-ID: <20250205104548.1533554-29-sil-plv@napatech.com> X-Mailer: git-send-email 2.45.0 In-Reply-To: <20250205104548.1533554-1-sil-plv@napatech.com> References: <20250121170814.3252171-2-sil-plv@napatech.com> <20250205104548.1533554-1-sil-plv@napatech.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AMS0EPF000001A5:EE_|AM7P190MB0599:EE_ X-MS-Office365-Filtering-Correlation-Id: 9933026d-f4ee-46a1-0dd7-08dd45d25464 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|376014|82310400026|36860700013|1800799024; X-Microsoft-Antispam-Message-Info: CTMK5c/JPym4hejpaKKFJ3qimO6YBfrADzEyOpmWxVLCNB5aeQHo54kJXKnEdJ+1MQ2zcYsmjcQO9gZ3Gx9pGWvbS/Cm8DurUlUOzWUYvuaJhOmx0OcP+fXM/ACrd7mtMSKnp5g/aehlalZ0W5lA7ts3G4sA6RnrNdkVjQ0jZKMflZtKvnbR03cKBsh5DsNmpcsevbyyEpvCCzdFhCG/wru1b5yvgZaQ9gF41pNjXBCW2zG2COOrvG7TwPQ8iicMgTN4WeXOBaYWDRcNJfYGOhOHlEWsUhoVwjN8Hsu9UFJeWeTS+l2jwOuELMkeR4MgSnzgKZPuE32zbB68noYSWSe5NMfDQN2vtNQ+so3Yk1o2tUsEeOE9FVSu+cHudzU2aygSoOgFxKtEPcn5sZV1dlqV4ZcBnxEN0zEKxB70diAY3vzYBUdukybdD3r4YgeCG27c3i5S2FHrZ/eeu8G2C2ARbwiNIXbb7R2FrpnOiRRKSPlJTC3nBqy4+Z71KQELsyx41rZrj+Uml2j75VSdLS7W+YnN25xeiAcTvaWQKlwkTK8hEoCS5Zsxre8ZHql9aTMrtjQPTZakM30OklQ5TPWGZnIzO/8B2ieONB4eCdrA3LuEmjthsr0YrbQRxxCqCSWm3Onqr3vRpUdm6hfTa2Iryjtt58TQC47mxQdr/h1vdCA0d5Goqt+5AKHJ/N04Mp/HQ5vuw5fPKGoJI/PRujgHbm02fJW1oMnpibGRp4tK3g5F6APBsNDePmUJzrOdiWiMv7yBGkivAjfXWMqQd7PPSlf2fSPViO7Kx8VuE02aKGllvZL6UxqfqY6XiT/DK4Lo4qYAia0f1IeetYIQ1ROuYplCxLB1YcVkHYxWxT7Sggc+qcsc0JqP0h4GZlv/3wEUUhL8Z0oYS/qkXP+Gzu+Yo82eWZVFqhxsy5n1937/zBsJ6toZ6vFMiT4Hsw9mPG9qlyY603GMd1L2dzXWA8sFs0/Ve4P8SHwfvrAN9ffGu5nA5GkQDY3lzoV2KpIaoKNZzaQGCYMVmHBReIw5moI7ytlOzfCjz4HCPjHsj06DwXI7xoqZO/thGk29wOrZoDW12G5wMA6NsHCFQ3LVZ5EP+sSf39Zmgr0uboXfJtF1QMlPD9QndTqJ2rYiEnnAICXI/qadG7Gv1RFFFKOJ2/PIirF4iGyvh9w5pqCv13CK8hggL82hLRRfk4vF80XpWw/031xRMRx6AcG08SsllHYndn094x3aCe92UudL+sX865vvhBIgrHatR/oQujI+meNkB31GHxj6SUMWOpfhj+pA/S7jb15k0qrzg9KYVCHoyjALiPqooDVBRIEFziQI8yF/cqQwlaFcwZXR9GH/V5Zlqg7gkImkRbkJ8xgYrSGyD5IXD3k7ONF+98mX8lABidLFiruiDWzA4uS2owztR9to9xkFza6YgY2dvpuabaENziMHGd2CEuzn8VCOBIaBKhC+DX4/vtpE60oBdfKoANXH7t4Gg/46NOZP4f63EvY= X-Forefront-Antispam-Report: CIP:178.72.21.4; CTRY:DK; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:localhost.localdomain; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(376014)(82310400026)(36860700013)(1800799024); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: b853wP+fzv0Tv0RTvye7t2Gmk8q+f4vvI3ODS6KPymw+qD2uBAju+VMp41C/r5RsWcCSWYI6NtV5QJjZSdsODwqOqShSqbGG+4TeMNz92a0vR5XjdWjPBuPRXe6xoBlvvYambtzlMpqVxwC2YUulezFUc/J1Kx3paPsKPRzgOO6KGbNw9yleuz7OnEFnPwHfLP85XEorxjRAp+2E2FpW6ginIGpPVEFxy1unX3m94+ABw5NY1HN6XK6a5AMShL8N/Xhs18A8I3YgtSIIWpGux1Qrz3oBXHF2/xGyerQp+R4gM7fx8UxqvcJVZHVw2T2a4DiKahmXjNtMIwGc3tcUNWFCeuMbiwzp6JeaIdS/J9LG8li3swy9DZHwsLKEQJunIKiTxFB8nkabBOjzFm2LQe1rEXyQoWEeQ/a58I+opgN+rUIsFY6hQPAQxg6nvW2egeuy65EKwgIqONEreoG+Z1BOEE6Uem99BMA/J+lJVkdrEJDW/m3HcpW2BtL7+bFdmYMytFRoCR0BzWuLyex0gmpLO7ItkvNM/TPW2qDsmbMYUBDRmSBhdZqbYTZUhJy7NEOSJMhzclT0Y+wNEBTSv7drh/3emenN6k7jT8dAkQenv6eaOh4cFwxIywFTdTsqfT0U/h0mFsJq2oMvkHMA7g== X-OriginatorOrg: napatech.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Feb 2025 10:46:21.5270 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 9933026d-f4ee-46a1-0dd7-08dd45d25464 X-MS-Exchange-CrossTenant-Id: c4540d0b-728a-4233-9da5-9ea30c7ec3ed X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=c4540d0b-728a-4233-9da5-9ea30c7ec3ed; Ip=[178.72.21.4]; Helo=[localhost.localdomain] X-MS-Exchange-CrossTenant-AuthSource: AMS0EPF000001A5.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7P190MB0599 X-BESS-ID: 1738752383-311016-7904-647-1 X-BESS-VER: 2019.1_20250203.2302 X-BESS-Apparent-Source-IP: 104.47.51.168 X-BESS-Parts: H4sIAAAAAAACA4uuVkqtKFGyUioBkjpK+cVKVibGJhZAVgZQ0CDJLNEszcQo1c TMLNnYLCXVyNLUEsg3T0o2TDJMNlSqjQUAx82QtEEAAAA= X-BESS-Outbound-Spam-Score: 0.50 X-BESS-Outbound-Spam-Report: Code version 3.2, rules version 3.2.2.262304 [from cloudscan20-147.eu-central-1b.ess.aws.cudaops.com] Rule breakdown below pts rule name description ---- ---------------------- -------------------------------- 0.50 BSF_RULE7568M META: Custom Rule 7568M 0.00 BSF_BESS_OUTBOUND META: BESS Outbound X-BESS-Outbound-Spam-Status: SCORE=0.50 using account:ESS113687 scores of KILL_LEVEL=7.0 tests=BSF_RULE7568M, BSF_BESS_OUTBOUND X-BESS-BRTS-Status: 1 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org From: Danylo Vodopianov Flow dump output was fixed to show original group number for `jumps` stored in action and match sets. Fixes: 6f0fe142caed ("net/ntnic: add flow dump") Signed-off-by: Danylo Vodopianov --- drivers/net/ntnic/include/flow_api_engine.h | 2 ++ drivers/net/ntnic/nthw/flow_api/flow_group.c | 26 +++++++++++++++++++ .../profile_inline/flow_api_hw_db_inline.c | 24 ++++++++++++----- 3 files changed, 45 insertions(+), 7 deletions(-) diff --git a/drivers/net/ntnic/include/flow_api_engine.h b/drivers/net/ntnic/include/flow_api_engine.h index 636c53b260..262317002f 100644 --- a/drivers/net/ntnic/include/flow_api_engine.h +++ b/drivers/net/ntnic/include/flow_api_engine.h @@ -425,5 +425,7 @@ int flow_group_handle_destroy(void **handle); int flow_group_translate_get(void *handle, uint8_t owner_id, uint8_t port_id, uint32_t group_in, uint32_t *group_out); +int flow_group_translate_get_orig_group(void *handle, uint32_t translated_group, + uint32_t *group_orig); #endif /* _FLOW_API_ENGINE_H_ */ diff --git a/drivers/net/ntnic/nthw/flow_api/flow_group.c b/drivers/net/ntnic/nthw/flow_api/flow_group.c index f76986b178..d1fa0193e1 100644 --- a/drivers/net/ntnic/nthw/flow_api/flow_group.c +++ b/drivers/net/ntnic/nthw/flow_api/flow_group.c @@ -14,6 +14,7 @@ struct group_lookup_entry_s { uint64_t ref_counter; uint32_t *reverse_lookup; + uint32_t group_orig; }; struct group_handle_s { @@ -83,6 +84,7 @@ int flow_group_translate_get(void *handle, uint8_t owner_id, uint8_t port_id, ui if (lookup < group_handle->group_count) { group_handle->lookup_entries[lookup].reverse_lookup = table_ptr; group_handle->lookup_entries[lookup].ref_counter += 1; + group_handle->lookup_entries[lookup].group_orig = group_in; *table_ptr = lookup; @@ -97,3 +99,27 @@ int flow_group_translate_get(void *handle, uint8_t owner_id, uint8_t port_id, ui *group_out = lookup; return 0; } + +int flow_group_translate_get_orig_group(void *handle, uint32_t translated_group, + uint32_t *group_orig) +{ + struct group_handle_s *group_handle = (struct group_handle_s *)handle; + struct group_lookup_entry_s *lookup; + + if (group_handle == NULL || translated_group >= group_handle->group_count) + return -1; + + /* Don't translate group 0 */ + if (translated_group == 0) { + *group_orig = 0; + return 0; + } + + lookup = &group_handle->lookup_entries[translated_group]; + + if (lookup->reverse_lookup && lookup->ref_counter > 0) { + *group_orig = lookup->group_orig; + return 0; + } + return -1; +} diff --git a/drivers/net/ntnic/nthw/flow_api/profile_inline/flow_api_hw_db_inline.c b/drivers/net/ntnic/nthw/flow_api/profile_inline/flow_api_hw_db_inline.c index 22cbf61b60..278be8b180 100644 --- a/drivers/net/ntnic/nthw/flow_api/profile_inline/flow_api_hw_db_inline.c +++ b/drivers/net/ntnic/nthw/flow_api/profile_inline/flow_api_hw_db_inline.c @@ -429,9 +429,14 @@ void hw_db_inline_dump(struct flow_nic_dev *ndev, void *db_handle, const struct data->cat.ids, data->km.id1, data->km_ft.id1, data->action_set.ids); - if (data->jump) - fprintf(file, " Jumps to %d\n", data->jump); - + if (data->jump) { + uint32_t group_orig = 0; + if (flow_group_translate_get_orig_group(ndev->group_handle, + data->jump, &group_orig) < 0) + fprintf(file, " Jumps to %d (encoded)\n", data->jump); + else + fprintf(file, " Jumps to %d\n", group_orig); + } break; } @@ -440,15 +445,20 @@ void hw_db_inline_dump(struct flow_nic_dev *ndev, void *db_handle, const struct &db->action_set[idxs[i].ids].data; fprintf(file, " ACTION_SET %d\n", idxs[i].ids); - if (data->contains_jump) - fprintf(file, " Jumps to %d\n", data->jump); + if (data->contains_jump) { + uint32_t group_orig = 0; + if (flow_group_translate_get_orig_group(ndev->group_handle, + data->jump, &group_orig) < 0) + fprintf(file, " Jumps to %d (encoded)\n", data->jump); - else + else + fprintf(file, " Jumps to %d\n", group_orig); + } else { fprintf(file, " COT id %d, QSL id %d, SLC_LR id %d, TPE id %d, HSH id %d, SCRUB id %d\n", data->cot.ids, data->qsl.ids, data->slc_lr.ids, data->tpe.ids, data->hsh.ids, data->scrub.ids); - + } break; } From patchwork Wed Feb 5 10:45:38 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Serhii Iliushyk X-Patchwork-Id: 150960 X-Patchwork-Delegate: stephen@networkplumber.org Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id B1FC94619A; Wed, 5 Feb 2025 11:49:12 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 6213040E0B; Wed, 5 Feb 2025 11:46:39 +0100 (CET) Received: from egress-ip42a.ess.de.barracuda.com (egress-ip42a.ess.de.barracuda.com [18.185.115.201]) by mails.dpdk.org (Postfix) with ESMTP id 914A340A81 for ; Wed, 5 Feb 2025 11:46:27 +0100 (CET) Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05lp2112.outbound.protection.outlook.com [104.47.17.112]) by mx-outbound9-60.eu-central-1a.ess.aws.cudaops.com (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Wed, 05 Feb 2025 10:46:26 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=YWeDHBHx2T4YYaFW/g/Frs7qD1e0XohDaee9T7z72svzR5DD4qiZ9msyn2OLiLIjd9wdiLJHcqx4wLpeMhcBo/UCOVbdBseZ15eSLqLPstpcHUfpJ6VOuEyBUm2TzE3XUiDSpH9rDOiwLkx9QyFw4eL61KXLGnFb9iBr8ZGipbY5+10qgDD6y00eZKDhrXjYch5dhHObAX2iSoXhn50BPkX6Ahx7Z3bLROryEHYhjpo7niQiYbAUQBGS0vc+TGMYfncUj5DmpkCtz00YPProgR1off7Rl0NFLK1iuc/zDZXJ6ekUoDcZ+0RkaLT6ezboahMdvTXLKZKPR1e30D8cQQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Ninvcje7NCJK7kbxaiLbrH4XiZqYbSgzSSYQcmHhgEw=; b=wIg7pyjwExIVeG04UhAkNDSPr394ccOd7g+JCUOU705MFsFdyBdBD4XEqxsY9A+99LJH3DS7hFlm8PFSbzOStgt4S3WGh4lt75AX5Qp/53fynTFBHI4K4ayafbhFNN8M+mITC+c2EdAV6lRWY5Sg6/uRSZ3ElXSMjEprVaF2Dz0bwyvzsORx3rWXc4MUlkPhOUnfuWrstdIaYkPAGgBhQXW202bTBPKzgnZfF1KKdWZHph7J+LJzQsIX6qh6TolAxcqRZF9pD752GF5T0kIITMIXX+tYnx2H+EUDest2VkW4Lr7Ls+i6DBMSRZ5b4mN5i4zLNyWg/Y3AEv7CKqnBsw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=fail (sender ip is 178.72.21.4) smtp.rcpttodomain=dpdk.org smtp.mailfrom=napatech.com; dmarc=fail (p=reject sp=reject pct=100) action=oreject header.from=napatech.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=napatech.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Ninvcje7NCJK7kbxaiLbrH4XiZqYbSgzSSYQcmHhgEw=; b=m9UJY/DrKrpImrpgxYzqpRDVgwd6PFkzd3VK3AXHiisabCIxkKhwBnvtZKAwfrTktYOFc+maqHSgz1VscRrQMipQvi08yJMFu7xL17qi9YnyLsdo2z3Aj5nfyWdP/gLr9muQxqo/euIFtgRWzdyjhAjF8BE3g/ZgytmYFw3lLCE= Received: from CWLP265CA0347.GBRP265.PROD.OUTLOOK.COM (2603:10a6:401:5a::23) by GVXP190MB2148.EURP190.PROD.OUTLOOK.COM (2603:10a6:150:1db::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.12; Wed, 5 Feb 2025 10:46:22 +0000 Received: from AMS0EPF000001A5.eurprd05.prod.outlook.com (2603:10a6:401:5a:cafe::ac) by CWLP265CA0347.outlook.office365.com (2603:10a6:401:5a::23) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.24 via Frontend Transport; Wed, 5 Feb 2025 10:46:22 +0000 X-MS-Exchange-Authentication-Results: spf=fail (sender IP is 178.72.21.4) smtp.mailfrom=napatech.com; dkim=none (message not signed) header.d=none;dmarc=fail action=oreject header.from=napatech.com; Received-SPF: Fail (protection.outlook.com: domain of napatech.com does not designate 178.72.21.4 as permitted sender) receiver=protection.outlook.com; client-ip=178.72.21.4; helo=localhost.localdomain; Received: from localhost.localdomain (178.72.21.4) by AMS0EPF000001A5.mail.protection.outlook.com (10.167.16.232) with Microsoft SMTP Server id 15.20.8398.14 via Frontend Transport; Wed, 5 Feb 2025 10:46:22 +0000 From: Serhii Iliushyk To: dev@dpdk.org Cc: mko-plv@napatech.com, sil-plv@napatech.com, ckm@napatech.com, stephen@networkplumber.org Subject: [PATCH v2 29/34] net/ntnic: extend module mapping Date: Wed, 5 Feb 2025 11:45:38 +0100 Message-ID: <20250205104548.1533554-30-sil-plv@napatech.com> X-Mailer: git-send-email 2.45.0 In-Reply-To: <20250205104548.1533554-1-sil-plv@napatech.com> References: <20250121170814.3252171-2-sil-plv@napatech.com> <20250205104548.1533554-1-sil-plv@napatech.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AMS0EPF000001A5:EE_|GVXP190MB2148:EE_ X-MS-Office365-Filtering-Correlation-Id: ec93a6fb-49ec-49c4-57ba-08dd45d254cf X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|376014|82310400026|36860700013; X-Microsoft-Antispam-Message-Info: k+C5vVATu+9n851+wN7IzlBtiPhHWVdQQnD6be56F9bRjjPU7TZEwWHx3bnk8BBa3MANevV1wsKO6QseNn4bVP/5qoK1iPEIoYTZrbdA34H3svbpyjwD8WQi4F/59N7It2J8A+X3vmwzwmDAeWJpDoqdSvMnvzu+BK/jTRYqV/yH44Yjmad7QQQyicEnAxb5Te8Gja5EnRvgJG2gHuWfMAXk4SBetmW/yMOXDlRbkLh0aKaVSB1U0bSJd7VRKiJB/ObcaxBAvQbGqv/kW/f6LDzHiJcYa6LYNMlC4l45eqc36EnB66Ox21GPdHTmVo4vprO8u1yu46H9qoDOyr4IvobJhTyCb4PwlGUZ3g8kuO+epQ1zqQOOXFX6gLnJyJ1M2/J9/BI3D+aCJ7UeXyGsZveI5Cg5KDBy6U0FwoXAQ0esnZY5+8l7gVh+ccmPDSumCJgkznnxZ6U/vFeq8otRaUxejQI5HAYKHi8R7R/WY7/cgIspvJ8qX/20rayjv3pD127bm86DT9zSo/LwX0hzxC+GMEpPkJNgAQH1I7LfSDP0wl+3wAiEuJ2JfcZUI8q3BQENsbgpIFHb5vcBnGgN0iowPQTdBL7VasYAGvWGHPwebO5Ha/YIVmViyDRi/leh3Gbweo+NZSDa5L4qR0N5iibikSRBPjGQd0fbFc5oyPqAr7UO8x2JzBG1m5n5JJoJQUdbjSn83E7T9TQ9AoD2xvk5oyXEaQ1p7145PXNXZTvr/MJlgza3XtM2wb/oTFnVNKqM8vYcwKw4cCX8I/R25LncTAPFUoG4UF+Ek5MrgqW7XS0wE9+GjT+hflorv1JK3B73wuDyG9bWfhD6sVqBs//tInYEQNGqNtRNEeHgb/VIuujbZqfYqDGnRj77K4PDybERu32jwHRG0K1HY6Ia6f33dIBnNBYlqmkpiqYwu+DJZCRl5dDvU7zPMEMTXAlDMp6hfYleCs+VbGyKpNGTc0wliQuGpCZN/v1BZCcwhxTYh5t5MsVVlb1ptiZKLRORiY4r8v7aIqo6n3l7o5k/77li8dunUnfQEbrsZfLIkRKtB6DTspNKYq0AhA6jYPD6gF0fsZFaF7yvUSQ57X2istsL2vYkR+t69h9+qymFVLq5XXvMs8T/BMuDhHdCTLslYs9JVV63LExI0ntXxxdFnLjzGdd/a3s/nwCrzf7q+Zq/d5Dj7CYcf9c7Y8u2GRPy390lHED7RkjtnUOaOJ7yANvGTTYoRqW2SFVmbE7JwXX6B8+h1i3Kbbutlntos+pefwd2EqcQQqfLrQcqJ4rNKHRmiUtQsQMJ4rkkZXlso343HSGDjGvwlhvCYRKt4D0y1IY3PsCSBPPFtmJ8OpL3GheNJT7CAR83iYqFb/p9rMZ+KaJ0JJRP6DVdTke+Dz9JQ6coHh729PuKdC/HytrYLPr1yaD3kUhEP6kmedniMm11v+uEOM256w2ZToKQJYgBcJ/50I7MJBCBbRsEqBxCOa2sMWVe9GHm7lhzhXt+TW8= X-Forefront-Antispam-Report: CIP:178.72.21.4; CTRY:DK; LANG:da; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:localhost.localdomain; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(1800799024)(376014)(82310400026)(36860700013); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: sLr9y6u6hYUnswxkrgaor4dlHVEwMYjSA9Gf+O60MF2HO9XTpq7gjUaWOeMbRN7GursIShJKBhqLQ2ie6y8xkPnpXqDB3l4ZzgHhoU+7GIMeXpwnT7YS4Z63NP07XNdD98ZyBOdQF3kAbnrqqaJwmKfMs1bIxiNSeMFb3tvAxrAoWV5amghr1iPue5BMMKFL2CtTAg4W7qVt+bDP52UxSYOFNXaGj4nOslmoqagu2SzldLt7QrbOUZO+/ISNz8+DhKUwXEIpksmWVEpanwmzAKydhfXtLWHuN8faP8B3OTawLABYQBDRNdDXG0ByTyZAC4fhRMkDH9dHTErdJAp9p6d2BW30/CISaief3IV3zIIAvD7p62agrm+RnApXe2Kwv+iednGlQ2n8XDaWBbCH7ppUO/xWTDetbc5nnHF1wIs0AQtGitaYx/4QH7lsmHm9aJasCyFiurWY0d5mL7mUBjEOTTZ5iHORXp877v5yGsmF5MEOG6fcJGV1te3FPpharic/G6TRy2nq0zZ8PwNvDB1Ipg3eP8oQaj102E6G3cSWwv5Qzp3UiHkxGbF0j3emKJpRHoTpkhz8/Rh+XU/o740eOjBHDCT1y7HHabc/mc+uo5lyAcCWRZFzHM0gHIRZUBmDCZb46iqddlXubThTww== X-OriginatorOrg: napatech.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Feb 2025 10:46:22.3551 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ec93a6fb-49ec-49c4-57ba-08dd45d254cf X-MS-Exchange-CrossTenant-Id: c4540d0b-728a-4233-9da5-9ea30c7ec3ed X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=c4540d0b-728a-4233-9da5-9ea30c7ec3ed; Ip=[178.72.21.4]; Helo=[localhost.localdomain] X-MS-Exchange-CrossTenant-AuthSource: AMS0EPF000001A5.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXP190MB2148 X-BESS-ID: 1738752386-302364-7587-684-1 X-BESS-VER: 2019.1_20250203.2302 X-BESS-Apparent-Source-IP: 104.47.17.112 X-BESS-Parts: H4sIAAAAAAACA4uuVkqtKFGyUioBkjpK+cVKVoZmxuZAVgZQ0DLNwMQsKdHc3C LRwMDQ3NLIMskoNSXJJCXR3NTCwsxAqTYWAH7jnXRBAAAA X-BESS-Outbound-Spam-Score: 0.50 X-BESS-Outbound-Spam-Report: Code version 3.2, rules version 3.2.2.262304 [from cloudscan21-135.eu-central-1b.ess.aws.cudaops.com] Rule breakdown below pts rule name description ---- ---------------------- -------------------------------- 0.00 BSF_BESS_OUTBOUND META: BESS Outbound 0.50 BSF_RULE7568M META: Custom Rule 7568M X-BESS-Outbound-Spam-Status: SCORE=0.50 using account:ESS113687 scores of KILL_LEVEL=7.0 tests=BSF_BESS_OUTBOUND, BSF_RULE7568M X-BESS-BRTS-Status: 1 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org FPGA module mapping(to string) was extended with new fpga's modules. Signed-off-by: Serhii Iliushyk --- .../nthw/supported/nthw_fpga_mod_str_map.c | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/drivers/net/ntnic/nthw/supported/nthw_fpga_mod_str_map.c b/drivers/net/ntnic/nthw/supported/nthw_fpga_mod_str_map.c index e8ed7faf0d..459cc724c2 100644 --- a/drivers/net/ntnic/nthw/supported/nthw_fpga_mod_str_map.c +++ b/drivers/net/ntnic/nthw/supported/nthw_fpga_mod_str_map.c @@ -6,20 +6,44 @@ #include "nthw_fpga_mod_str_map.h" const struct nthw_fpga_mod_str_s sa_nthw_fpga_mod_str_map[] = { + { MOD_CAT, "CAT" }, + { MOD_CPY, "CPY" }, + { MOD_CSU, "CSU" }, + { MOD_DBS, "DBS" }, + { MOD_FLM, "FLM" }, { MOD_GFG, "GFG" }, { MOD_GMF, "GMF" }, { MOD_GPIO_PHY, "GPIO_PHY" }, + { MOD_HFU, "HFU" }, { MOD_HIF, "HIF" }, + { MOD_HSH, "HSH" }, { MOD_I2CM, "I2CM" }, + { MOD_IFR, "IFR" }, { MOD_IIC, "IIC" }, + { MOD_INS, "INS" }, + { MOD_KM, "KM" }, { MOD_MAC_PCS, "MAC_PCS" }, { MOD_PCIE3, "PCIE3" }, + { MOD_MAC_RX, "MAC_RX" }, + { MOD_MAC_TX, "MAC_TX" }, { MOD_PCI_RD_TG, "PCI_RD_TG" }, { MOD_PCI_WR_TG, "PCI_WR_TG" }, + { MOD_PCIE3, "PCIE3" }, + { MOD_PDB, "PDB" }, + { MOD_QSL, "QSL" }, { MOD_RAC, "RAC" }, + { MOD_RMC, "RMC" }, + { MOD_RPF, "RPF" }, + { MOD_RPL, "RPL" }, + { MOD_RPP_LR, "RPP_LR" }, { MOD_RST9563, "RST9563" }, { MOD_SDC, "SDC" }, + { MOD_SLC_LR, "SLC_LR" }, + { MOD_SLC, "SLC" }, { MOD_STA, "STA" }, { MOD_TSM, "TSM" }, + { MOD_TX_CPY, "TX_CPY" }, + { MOD_TX_INS, "TX_INS" }, + { MOD_TX_RPL, "TX_RPL" }, { 0UL, NULL } }; From patchwork Wed Feb 5 10:45:39 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Serhii Iliushyk X-Patchwork-Id: 150961 X-Patchwork-Delegate: stephen@networkplumber.org Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 241564619A; Wed, 5 Feb 2025 11:49:18 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 5D00840E0F; Wed, 5 Feb 2025 11:46:40 +0100 (CET) Received: from egress-ip42a.ess.de.barracuda.com (egress-ip42a.ess.de.barracuda.com [18.185.115.201]) by mails.dpdk.org (Postfix) with ESMTP id 9628440A6C for ; Wed, 5 Feb 2025 11:46:28 +0100 (CET) Received: from EUR03-DBA-obe.outbound.protection.outlook.com (mail-dbaeur03lp2174.outbound.protection.outlook.com [104.47.51.174]) by mx-outbound43-8.eu-central-1c.ess.aws.cudaops.com (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Wed, 05 Feb 2025 10:46:27 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=lK3yQk0+XaAZ5uPAq69xWO6if92tfgPfF9Z5qUl8+YRbyS3zBBO4B2Yt9oG57u1OCXmME5C1Aq+pUCi2u7kpvnRvK2fW1i3+4rapr6tVd8QMpI/7Ry9Xr9lA/N/3sqao2AkKBKENi3ihQ4/Y2/3oSP3q2B6t0qeg2LTEfzCqCOD8F3cYgkDkGhZJZAv2S89j40hHq++kcnDNRBWwPOy/hTGD1js3RFSkKhA2ztUOYOLX6DLy6/9xTO1U4rsSqIW8AHLFhLb/OD9wqMf/jwMNP37vN77LB7023wwYgMSlfsP176vl7/1Pc8/7tbdpeHDRMeVlOp0ASv4Y+yHJiv/puA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=zlBUzR/DMKNvuSvDqFx4bgWM0Sb0DSVMUj+OSjokHCQ=; b=QaOO5O/67S4aTRtD+2UabNuGK+Hs2WXNnvxj0xUO2A3cgCMXZixHm7rjlkMwO57Shryp/qPShGvjfb/4Yp9+8Cr687LoZxQ61qMOqDAEtbgngmspkL0VFnmz0SSkIWGaBvhsXHbdsFKrZgRi+f1+vq0Lz8x/dhSmRvHOizyrKW4jf3e72TNhKnXEibXnICWv8fX6EP06oRl17c3uFqxE08stPVq+OrF+QBRnPZuygB27BK3oYlioIjWvrgA+QrAQ5qcshyIvf26b8ZZW+DG0/+3kVgopLKN2vLXO4rsiU1KtxCgzzcR84sPhFUcDV7WYPQ32/cZy1Rb3pS0QsMGIyA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=fail (sender ip is 178.72.21.4) smtp.rcpttodomain=dpdk.org smtp.mailfrom=napatech.com; dmarc=fail (p=reject sp=reject pct=100) action=oreject header.from=napatech.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=napatech.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=zlBUzR/DMKNvuSvDqFx4bgWM0Sb0DSVMUj+OSjokHCQ=; b=Ywe7R6auqkW2dpGq4OypX6OFGOLAy4q9+qj+COdM/JsliREeEnCFpatuQjOWISRsCIHoFNqJ5D2VpXKqkNUKDRKWYKPwyGly8HFjb9W6cj/czsL4LLgkvqM/otLQwc7vWsx8r6VpnI4nvlPVouKQTEkYzNJ2oLg8QnBTb37kXJg= Received: from CWLP265CA0360.GBRP265.PROD.OUTLOOK.COM (2603:10a6:401:5a::36) by VI0P190MB2046.EURP190.PROD.OUTLOOK.COM (2603:10a6:800:207::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8398.24; Wed, 5 Feb 2025 10:46:24 +0000 Received: from AMS0EPF000001A5.eurprd05.prod.outlook.com (2603:10a6:401:5a:cafe::f6) by CWLP265CA0360.outlook.office365.com (2603:10a6:401:5a::36) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.26 via Frontend Transport; Wed, 5 Feb 2025 10:46:23 +0000 X-MS-Exchange-Authentication-Results: spf=fail (sender IP is 178.72.21.4) smtp.mailfrom=napatech.com; dkim=none (message not signed) header.d=none;dmarc=fail action=oreject header.from=napatech.com; Received-SPF: Fail (protection.outlook.com: domain of napatech.com does not designate 178.72.21.4 as permitted sender) receiver=protection.outlook.com; client-ip=178.72.21.4; helo=localhost.localdomain; Received: from localhost.localdomain (178.72.21.4) by AMS0EPF000001A5.mail.protection.outlook.com (10.167.16.232) with Microsoft SMTP Server id 15.20.8398.14 via Frontend Transport; Wed, 5 Feb 2025 10:46:23 +0000 From: Serhii Iliushyk To: dev@dpdk.org Cc: mko-plv@napatech.com, sil-plv@napatech.com, ckm@napatech.com, stephen@networkplumber.org Subject: [PATCH v2 30/34] net/ntnic: refactoring of the FPGA initialization Date: Wed, 5 Feb 2025 11:45:39 +0100 Message-ID: <20250205104548.1533554-31-sil-plv@napatech.com> X-Mailer: git-send-email 2.45.0 In-Reply-To: <20250205104548.1533554-1-sil-plv@napatech.com> References: <20250121170814.3252171-2-sil-plv@napatech.com> <20250205104548.1533554-1-sil-plv@napatech.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AMS0EPF000001A5:EE_|VI0P190MB2046:EE_ X-MS-Office365-Filtering-Correlation-Id: 3eed3f4e-80bb-4b5b-4f21-08dd45d25589 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|376014|36860700013|82310400026; X-Microsoft-Antispam-Message-Info: nBJykv1eLzScgzg+RFHNtbsZCPE5O5F79mcCgSNi7P8S6xbeHjPl0vjx1LRfl9MlcK5nqZaF1R9tURR2dk2tI7tuJxCEw54hlejBCLCHVFCDUs1ocFiM7HtGI5yzomMVuiuNd49203lenV4Nq0HLyGfk6z2nGqE2eTvQMqkZS4eqjeBPKltbwGBF49+34zHP3wyHicainbFx3tIuxbdOPxHYxpTzLkUPihmo4ywemN8ucXAjjyYqC60nwjVWLY7QIc6AOb4USBO9Tliima77FsjDi61x4db9cDOA5hlaWOYIicphC5xE+MakuemGVM4GT7XX24TMTqoEIJn+4FghHzccuKI9jVBp18/wLHdp73l1AuqiSdeaH8iL2+sYXOiP2AX6fR5uQl1qRTDr/k+KLszOs+cUaTtcy9dUe7MrJwjIYR5EwmQMuG8WsZoxYJ4naR2N6VvG8YzfVy77BMQBzAdnQbYeiMbc3sPqvR6BEmnXMiCECTXH4PIfGu1BJG02rm406VeC/3bcj6irQFbpkIkUSr8uTUmAK7i++JgdCEUHKwLHbRV6O6txfFzATZZ2J11EY6HjAl2y7KiO1wPNgJwdGHr3xehiUmj9pbT4FphUkYm/chmzPN1jw3rJ89+3wGWhv5MKECJjyfFW26cA5q9AgJV37QhAR8lpO6XWeUGCKHnNZwkNaNtrj8O4Hrj4jh4uGVftzjHrP+yWWbQOEO73rYeC2okfxYeehgOo6ymwqJD+8nhVmnkf8oa4qAqyry9HA3/XXgiJCeuGB2j1YWQXUcvriCaFR4m9HTAYqX/lMm9DkQi2zXpXqQasq1AG4r60nDO1C+rfF68zVEaLH42Ghf+9r+mXNFtA0uP1qiN7fIbQ03A83D4tZSNtVGgKy+w5e2aR5dp0o0rOhXVF8xgoaDzpAK3k6SttsAt+CNGWuo9fG1Eh9BgtXDzSqUh2Z1oM3tXO3B2pGRkz/0tjqgufqsoxzO+bkv9jYwFkz/c6yY+GfdnMeL4Kvnb052qn0AcPuSPoc/pBUGRsGH2GC1tQG+/rkDdmlGNUYWb/Cuuq6E7buTaNb37FFMaChB92dGllxMclsCdWsC6q3Anftej+AASKkTWU7XJOxGf0yoSc/Xk8hMpu0CMtu+uvg7EMTatxqc8le4Q//yA/ER0dM8+bF4YvuxH/w9EligLc1vgZ/xNhG+yloO5OPI+3s9vwxeA5UxQcHZjGabh6UAzyE8zv/xGwpAwkkRdZ5acTnsIjZ3p4VmVSDg/wYdpr/As/3Au99VwuIWpWlaAUCYnzME8OovgIhq9GFw6C/fWrzg0UJGF/YdQWeDe2xogPBcOLJIc5eRIPssBn2KE9pye0ppwbugnxJprucQUYuCUSYn+NJ7km9ZuSIPwYezMY9mpmMbyTqGqyPwGjShlVG3a/UkFWt9u+buzzMnLsN67xzmudugS8SBP6s2V9qfEqYhicWf74dKtC7gnwUQ3fQHiBlD4EOOVPeyvuYQ746kWckds= X-Forefront-Antispam-Report: CIP:178.72.21.4; CTRY:DK; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:localhost.localdomain; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(1800799024)(376014)(36860700013)(82310400026); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 9J60hEpE+9p4JFfkOplL1TCoAyRJmWe9NXRxpNi3wGvrzgdAh8tc7ak9xoD9QsBNofFjY7UIgptzqIP5a6CBGvNgMPTUceJgST5nR+c313yDvkkG3qmBz+FU5qNyBmQL81J56uOYi1eaF+4AuGHApkQ4blxvht7PobGnkS4Rg0jZI7yi7pdGt3Hh/Tk2ra/naTkUh6gjMXlBf5tXhyRQAOlc+IcZ1fuuzy1gpyy4F9gcB8ryMuLFadd6E+2utR1ykSeFYNfbBurdB5mkG0gJsvMAEf+X3WpW4c+zbcX9OuXS7IqiQkRDgFbk2CK9v6szEgnoaB5jrbyfcsUByPjy3ESNDMtzkOthyk++Pa/QTS6zZ5duekUCUf1hSToA5z1BMYob7dLWXg+ohXBwfcGpMDojk11u3a0CMBmS1uKulCtrYxxulIwMc7bfLCkVAm73PPqx8A/3LKMiLyZieYv8i4+81gejTbXUhAVSgmMmQmADTRN3Qp4tYhJq+rWp1FMzKZcUvcCRjcfRXGIGe4JyrGAD6d4ObJxsflAYd8iglkTkaSJVq24CdftAMcRNle73V4AjbO5fAU0AHM88hKRR+4v5GjYj2Vj2kwgAd2C2XwtdVkPx8QYI3uxubsQpLuN4sp0Tzze6r5EARt95AVeeBg== X-OriginatorOrg: napatech.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Feb 2025 10:46:23.5739 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 3eed3f4e-80bb-4b5b-4f21-08dd45d25589 X-MS-Exchange-CrossTenant-Id: c4540d0b-728a-4233-9da5-9ea30c7ec3ed X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=c4540d0b-728a-4233-9da5-9ea30c7ec3ed; Ip=[178.72.21.4]; Helo=[localhost.localdomain] X-MS-Exchange-CrossTenant-AuthSource: AMS0EPF000001A5.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI0P190MB2046 X-BESS-ID: 1738752387-311016-7905-653-1 X-BESS-VER: 2019.1_20250203.2302 X-BESS-Apparent-Source-IP: 104.47.51.174 X-BESS-Parts: H4sIAAAAAAACA4uuVkqtKFGyUioBkjpK+cVKVobGJmZAVgZQMC0xxdAizSw52c jQyCAxLdU4Oc3S1NTYMtEwJdXSxNJCqTYWAHxAtF1BAAAA X-BESS-Outbound-Spam-Score: 0.00 X-BESS-Outbound-Spam-Report: Code version 3.2, rules version 3.2.2.262304 [from cloudscan14-159.eu-central-1a.ess.aws.cudaops.com] Rule breakdown below pts rule name description ---- ---------------------- -------------------------------- 0.00 BSF_BESS_OUTBOUND META: BESS Outbound X-BESS-Outbound-Spam-Status: SCORE=0.00 using account:ESS113687 scores of KILL_LEVEL=7.0 tests=BSF_BESS_OUTBOUND X-BESS-BRTS-Status: 1 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Remove unnecessary checks and logs. Signed-off-by: Serhii Iliushyk --- drivers/net/ntnic/nthw/core/nthw_fpga.c | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/drivers/net/ntnic/nthw/core/nthw_fpga.c b/drivers/net/ntnic/nthw/core/nthw_fpga.c index 88641145ec..5ca186209a 100644 --- a/drivers/net/ntnic/nthw/core/nthw_fpga.c +++ b/drivers/net/ntnic/nthw/core/nthw_fpga.c @@ -265,18 +265,14 @@ int nthw_fpga_init(struct fpga_info_s *p_fpga_info) nthw_rac_rab_flush(p_nthw_rac); p_fpga_info->mp_nthw_rac = p_nthw_rac; - bool included = true; struct nt200a0x_ops *nt200a0x_ops = get_nt200a0x_ops(); switch (p_fpga_info->n_nthw_adapter_id) { case NT_HW_ADAPTER_ID_NT200A02: if (nt200a0x_ops != NULL) res = nt200a0x_ops->nthw_fpga_nt200a0x_init(p_fpga_info); - - else - included = false; - break; + default: NT_LOG(ERR, NTHW, "%s: Unsupported HW product id: %d", p_adapter_id_str, p_fpga_info->n_nthw_adapter_id); @@ -284,12 +280,6 @@ int nthw_fpga_init(struct fpga_info_s *p_fpga_info) break; } - if (!included) { - NT_LOG(ERR, NTHW, "%s: NOT INCLUDED HW product: %d", p_adapter_id_str, - p_fpga_info->n_nthw_adapter_id); - res = -1; - } - if (res) { NT_LOG(ERR, NTHW, "%s: status: 0x%08X", p_adapter_id_str, res); return res; From patchwork Wed Feb 5 10:45:40 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Serhii Iliushyk X-Patchwork-Id: 150963 X-Patchwork-Delegate: stephen@networkplumber.org Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id C9EB64619A; Wed, 5 Feb 2025 11:49:30 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B7B0540E20; Wed, 5 Feb 2025 11:46:42 +0100 (CET) Received: from egress-ip42a.ess.de.barracuda.com (egress-ip42a.ess.de.barracuda.com [18.185.115.201]) by mails.dpdk.org (Postfix) with ESMTP id EC61340B98 for ; Wed, 5 Feb 2025 11:46:30 +0100 (CET) Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05lp2110.outbound.protection.outlook.com [104.47.17.110]) by mx-outbound9-60.eu-central-1a.ess.aws.cudaops.com (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Wed, 05 Feb 2025 10:46:29 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=I5EVOjCuz6pDAZJoaOVoXtKi3L0mSI3YuKnPDif4WyR5CYrub/qowIqV2KpGvQXxQMCn60Aox5ma3BuC8K4v7aXE2JrJTqeR2UAqZyoK0vjTud5JZBX9TQLhzxHJFSn0ZplFqg7jIuOq+YV5raKsVQiHj3N14cKPnOY8GG9QF6Koc2BcuEkM+XA+bCOnRAiyAKbMgDZZ17BGVXEVP8iuKxAEg2MWDtwnaljhWxVGvTatJPXVJTlWQmorxypskY7Eb9MFTx6KnhduNjSGQnN+skXWP1Zg9LnyPq0IsaaSbnTQFkrt/fdWSL2f52cXOHlrDEpfqbcNjyTN0+Fj4wM4iw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=kT53is01AYU4VGnooqJ4F/H+yZMN6l/uK/aYriTbCBk=; b=j3fMiZZgKU2frvE3vkQS3m4HQdWoXyP7K5q/Ihpq5+ajbJewge+q++1nH1xTaeW/afYrzIQA2UtxDzjhUJ4ZzOl79pdT8EO1UDBqm8OLsWviUdxoTFFtbMSSK/MbJNoMjl0fxpBjFg5BeowKWqvRB1UXNVs+Xek9X3Y85ZUQQPxs67m43KL59IvSuHwevC4HTOWO6uvfBOrX+HvFAv+Vf+2jFO39qiNV1ptvLgjp6iPpszt3hoB3XnGXLOuMUlejCp2CI0x7dhZhI6qNPKE8YkfaJqrbqCdsqhhxLuUsfkqNO3zDhBFv/jR1OuEIJFj9PQAfTmojoAbRIQfsapQ/Zg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=fail (sender ip is 178.72.21.4) smtp.rcpttodomain=dpdk.org smtp.mailfrom=napatech.com; dmarc=fail (p=reject sp=reject pct=100) action=oreject header.from=napatech.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=napatech.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=kT53is01AYU4VGnooqJ4F/H+yZMN6l/uK/aYriTbCBk=; b=Fy9TG3ffDbYOLF8xeYSoA8joCMToCwzqUpbVmdhhM7iEgytNE5xeixGbr+YalyK07+/52BsjSVj55VZg1+vzOfsCLOzwhAil7/8J8eKgfkmVZ0f+Li98lo2TUVaWBcwaiuNfbGt+VzlkvGNJfRNZgNLxRPllsq/MqaPNFjEY2i0= Received: from CWLP265CA0345.GBRP265.PROD.OUTLOOK.COM (2603:10a6:401:5a::21) by GVXP190MB2202.EURP190.PROD.OUTLOOK.COM (2603:10a6:150:1fd::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.11; Wed, 5 Feb 2025 10:46:25 +0000 Received: from AMS0EPF000001A5.eurprd05.prod.outlook.com (2603:10a6:401:5a:cafe::14) by CWLP265CA0345.outlook.office365.com (2603:10a6:401:5a::21) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.25 via Frontend Transport; Wed, 5 Feb 2025 10:46:24 +0000 X-MS-Exchange-Authentication-Results: spf=fail (sender IP is 178.72.21.4) smtp.mailfrom=napatech.com; dkim=none (message not signed) header.d=none;dmarc=fail action=oreject header.from=napatech.com; Received-SPF: Fail (protection.outlook.com: domain of napatech.com does not designate 178.72.21.4 as permitted sender) receiver=protection.outlook.com; client-ip=178.72.21.4; helo=localhost.localdomain; Received: from localhost.localdomain (178.72.21.4) by AMS0EPF000001A5.mail.protection.outlook.com (10.167.16.232) with Microsoft SMTP Server id 15.20.8398.14 via Frontend Transport; Wed, 5 Feb 2025 10:46:24 +0000 From: Serhii Iliushyk To: dev@dpdk.org Cc: mko-plv@napatech.com, sil-plv@napatech.com, ckm@napatech.com, stephen@networkplumber.org Subject: [PATCH v2 31/34] net/ntnic: remove shutdown thread Date: Wed, 5 Feb 2025 11:45:40 +0100 Message-ID: <20250205104548.1533554-32-sil-plv@napatech.com> X-Mailer: git-send-email 2.45.0 In-Reply-To: <20250205104548.1533554-1-sil-plv@napatech.com> References: <20250121170814.3252171-2-sil-plv@napatech.com> <20250205104548.1533554-1-sil-plv@napatech.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AMS0EPF000001A5:EE_|GVXP190MB2202:EE_ X-MS-Office365-Filtering-Correlation-Id: 05f627d5-1660-46c5-338f-08dd45d25630 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|376014|36860700013|82310400026; X-Microsoft-Antispam-Message-Info: t+ToO0ERXq2eaMMiYXQNY2dgfvN/bqJfHux4hJgiLUqK1Xqa9w7UFV78aI65xMznRlkwklkNAoJxngflDPHNSu+a/RleyR8UoOrqCGVN3vpoElvaeOOUkFrHl0Sw0/wyfzashoo0tQ0qzFgesuB98E00RUeT/O8UjZEI+4GJvEADtUMiY6cDGV3l6IvyupguOjoGQ9T+BTYmoGzlhOxd7as/Np5pgP05LmEXOXRY5qtyd7qZME8dKQYEmo07Wye6lOMxtYS4XVWfVIKDfxjzwa6kZMr67xRZsakxD2BcNdi1bY1Yfu6923pXZS+CE2bCwyvRQwLxyBNKfl0GJ797DcRdGaE28xsQk5kEGCCbC4zsrS8oQs2ut2RxlUrkuQX/MtVBvCj8qV29QFWhCeq2eqF4Z0Q2CliH3PHGbX1X0nivSEpMImQU561klCPBy19kTR+Pl8uH0RMio2EMhgPnLQNRF69s5T4zaxI8zLPPRCn+5096nsrZvbJGOqOEb/bVpikDUYt4Ewcg80/vBWSgzetANQolgC0qMWbccDOG4p/XPZ9EeHzgmFNwqI3wsjRqS/NNfLlF00N2y1dLMBwQofD6/0BTiZOjv5m+QITphEHRcHub0/X1X5Lzu1hS73BcgRO2Bck2H4+8AUIWGHXzxtI7bCcQZjFf8J6mq8CrlrK9cvl78IoyVvUcIifZ2KqH6dTgKWGyikGCMIuLAPsi6C+8TO4N3zPJYSipgRQ+B1q+uX9GJudRgdCP34noEioI1dsnTPRnPS5B/xuhkfLWYSRn9vM4rbeXKJQci+owza6dDLAn3rBW98LiLAfWGrRT2BATJ2TQysEoLDVUAUbP7eF69OCgCXkDD6dyFYOskx5lupBx8BJxdXGnH6N0uilKDLHDWnGAsNxUgH14RZI0UT7Z4C4cn64u0jqU5fMODN8rTfdz1GN23ZWwpT3e+DntV56T0EV2T+0QpWPZsJoyXzpkOKlXuletRqw06PLvsS4cBTwjjn9mGhhg9AdvAqRt/LwOiCu7DlHQIUe7kc06QNh8CdeVpY19Oj6R0BjvtRY8MVU6TxGZnKjEI4mYyC3vlTd0u2rie9q1lPIE2AbOsQjmvYLEOGt8kCbCoBKNy24gBoXy4slLZjKXS2frpOQAbbtIf8EuBO5UtaFIVyKBH8hQvsOum4i47sSu67ZK9x3zZP0zS81vI0obd55XXCdLFDJJJZsks6JdLAoXOOL8WtpwepzhcrPfXAEtJpSwpGlkhzNw2bf4GEdPuvY3CwgU+yOlav4TOg0PEI0kuKZ0KvfI0XAwF+NlpsJ6bSy6IWC8MaMgc6zUYrD9BpTOWUf2B8/2O3UacQnfcQiCC4a7N0n06+zC2g3cl9kCI0LigpxcoOMP43EUfsqKx4iKz/WywlfJoRiy5mdgAtwOimZjDsdD6cGQgcdiPm3ri7BmW3bnOjv3l9TyU28UJvJcJC0GISV017TbbM3rSH9OOUICS0oIuSFQPjng9Ipdl9hWk+0= X-Forefront-Antispam-Report: CIP:178.72.21.4; CTRY:DK; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:localhost.localdomain; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(1800799024)(376014)(36860700013)(82310400026); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: XZL0pLfO8RDwwa40AmqHqXYQsVukEDDpCTerjeFAf0ekn024z4kJ3nkklfrdwCFH84pRHNPz8Fpv7iuauE+qs91ZRt701owsD3GNmQHpt8o1b/sOUGSuYar5LlgMCrmC9mi4beoZd919QTQJgWYIdXjcwBGso59c1Mhuwh4RSMxl7nTFLy/T3XWNy/WD5ZBPHR6BaGeWczTVT+knxRaDsNRKdjWzdI6Fmsmr2sZFAwZt1pWVAVPMAyFQzPxdYm3SEm8PzIRlbsHqFa/VHUoUmwF9jv22mkJY/uS1N7a3zFPplcfAbOXuib3lNOlZ+ZuyBkrM2f5owzHhwS0Qz5hkS88xSXqmOoC+uYhPtLKWA2c6z9+vsGxylV4QqMsDKD8QHZ+RQy4o0y4r5f4l8iZXZyQ7tRW3Y2H7PEWuLrP+x1CHYvbL0HSvehr9OKF/t++e/UdZz7BWIke6I8yu3mrDB3FexKMdqopPUPC6Ay9SpvEDh6tOPIW+KpZLd8b74kfJ3zoZzVaVDmSl3qUjCrGu4CaGAdoPd5b79iBAiu+XiEuJ3yItdWlpgTEZJZHF9j1r/t5CSlO8asgXFJ0B1pJzqo13NfS167VOMPktsHK3lAeW/2nbEYxsiOx+l1ULjOVK3kQcUpLROF/UDEMHUP2A8g== X-OriginatorOrg: napatech.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Feb 2025 10:46:24.6676 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 05f627d5-1660-46c5-338f-08dd45d25630 X-MS-Exchange-CrossTenant-Id: c4540d0b-728a-4233-9da5-9ea30c7ec3ed X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=c4540d0b-728a-4233-9da5-9ea30c7ec3ed; Ip=[178.72.21.4]; Helo=[localhost.localdomain] X-MS-Exchange-CrossTenant-AuthSource: AMS0EPF000001A5.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXP190MB2202 X-BESS-ID: 1738752389-302364-7584-689-1 X-BESS-VER: 2019.1_20250203.2302 X-BESS-Apparent-Source-IP: 104.47.17.110 X-BESS-Parts: H4sIAAAAAAACA4uuVkqtKFGyUioBkjpK+cVKVsYGpgZAVgZQ0MDC3MA81dws2T jFMNXU2MLUzDIxzTTNyCzJNC3Z0sRAqTYWAC+PkWdBAAAA X-BESS-Outbound-Spam-Score: 0.00 X-BESS-Outbound-Spam-Report: Code version 3.2, rules version 3.2.2.262304 [from cloudscan13-199.eu-central-1a.ess.aws.cudaops.com] Rule breakdown below pts rule name description ---- ---------------------- -------------------------------- 0.00 BSF_BESS_OUTBOUND META: BESS Outbound X-BESS-Outbound-Spam-Status: SCORE=0.00 using account:ESS113687 scores of KILL_LEVEL=7.0 tests=BSF_BESS_OUTBOUND X-BESS-BRTS-Status: 1 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Remove the shutdown thread and SIGINT handling on the level of PMD Signed-off-by: Serhii Iliushyk --- drivers/net/ntnic/ntnic_ethdev.c | 63 ++++---------------------------- 1 file changed, 7 insertions(+), 56 deletions(-) diff --git a/drivers/net/ntnic/ntnic_ethdev.c b/drivers/net/ntnic/ntnic_ethdev.c index 9000264804..e65be67c44 100644 --- a/drivers/net/ntnic/ntnic_ethdev.c +++ b/drivers/net/ntnic/ntnic_ethdev.c @@ -76,10 +76,6 @@ const rte_thread_attr_t thread_attr = { .priority = RTE_THREAD_PRIORITY_NORMAL } uint64_t rte_tsc_freq; -static void (*previous_handler)(int sig); -static rte_thread_t shutdown_tid; - -int kill_pmd; #define ETH_DEV_NTNIC_HELP_ARG "help" #define ETH_DEV_NTHW_RXQUEUES_ARG "rxqs" @@ -480,9 +476,6 @@ static uint16_t eth_dev_rx_scg(void *queue, struct rte_mbuf **bufs, uint16_t nb_ struct nthw_received_packets hw_recv[MAX_RX_PACKETS]; - if (kill_pmd) - return 0; - if (unlikely(nb_pkts == 0)) return 0; @@ -693,9 +686,6 @@ static uint16_t eth_dev_tx_scg(void *queue, struct rte_mbuf **bufs, uint16_t nb_ int pkts_sent = 0; uint16_t nb_segs_arr[MAX_TX_PACKETS]; - if (kill_pmd) - return 0; - if (nb_pkts > MAX_TX_PACKETS) nb_pkts = MAX_TX_PACKETS; @@ -2490,51 +2480,6 @@ nthw_pci_dev_deinit(struct rte_eth_dev *eth_dev __rte_unused) return 0; } -static void signal_handler_func_int(int sig) -{ - if (sig != SIGINT) { - signal(sig, previous_handler); - raise(sig); - return; - } - - kill_pmd = 1; -} - -THREAD_FUNC shutdown_thread(void *arg __rte_unused) -{ - while (!kill_pmd) - nt_os_wait_usec(100 * 1000); - - NT_LOG_DBGX(DBG, NTNIC, "Shutting down because of ctrl+C"); - - signal(SIGINT, previous_handler); - raise(SIGINT); - - return THREAD_RETURN; -} - -static int init_shutdown(void) -{ - NT_LOG(DBG, NTNIC, "Starting shutdown handler"); - kill_pmd = 0; - previous_handler = signal(SIGINT, signal_handler_func_int); - int ret = THREAD_CREATE(&shutdown_tid, shutdown_thread, NULL); - if (ret != 0) { - NT_LOG(ERR, NTNIC, "Failed to create shutdown thread, error code: %d", ret); - return -1; - } - /* - * 1 time calculation of 1 sec stat update rtc cycles to prevent stat poll - * flooding by OVS from multiple virtual port threads - no need to be precise - */ - uint64_t now_rtc = rte_get_tsc_cycles(); - nt_os_wait_usec(10 * 1000); - rte_tsc_freq = 100 * (rte_get_tsc_cycles() - now_rtc); - - return 0; -} - static int nthw_pci_probe(struct rte_pci_driver *pci_drv __rte_unused, struct rte_pci_device *pci_dev) @@ -2577,7 +2522,13 @@ nthw_pci_probe(struct rte_pci_driver *pci_drv __rte_unused, ret = nthw_pci_dev_init(pci_dev); - init_shutdown(); + /* + * 1 time calculation of 1 sec stat update rtc cycles to prevent stat poll + * flooding by OVS from multiple virtual port threads - no need to be precise + */ + uint64_t now_rtc = rte_get_tsc_cycles(); + nt_os_wait_usec(10 * 1000); + rte_tsc_freq = 100 * (rte_get_tsc_cycles() - now_rtc); NT_LOG_DBGX(DBG, NTNIC, "leave: ret=%d", ret); return ret; From patchwork Wed Feb 5 10:45:41 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Serhii Iliushyk X-Patchwork-Id: 150962 X-Patchwork-Delegate: stephen@networkplumber.org Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 756DC4619A; Wed, 5 Feb 2025 11:49:23 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 5D2EB40E17; Wed, 5 Feb 2025 11:46:41 +0100 (CET) Received: from egress-ip42a.ess.de.barracuda.com (egress-ip42a.ess.de.barracuda.com [18.185.115.201]) by mails.dpdk.org (Postfix) with ESMTP id 1C23440A84 for ; Wed, 5 Feb 2025 11:46:29 +0100 (CET) Received: from EUR02-DB5-obe.outbound.protection.outlook.com (mail-db5eur02lp2104.outbound.protection.outlook.com [104.47.11.104]) by mx-outbound43-8.eu-central-1c.ess.aws.cudaops.com (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Wed, 05 Feb 2025 10:46:27 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=KGYQ+WA2dMpiECUVdaTzOn8UStHMwnQ7nZCPKA0e1OvwObdEDrb70SqRxm49ah8MWF01cK3Z2rm9ApWTpWkM9bDg2LoRk71exQBC1pK+7PlAnrXxjABUuzu0f2GWcIQbGZcCXSr+bpVqWbE6dmrjAnNhXrWz4YQqdfFThNBB7T12m/ABShpOgkRZAOS0tfNjxcUgH4vlJMvbLOMW/pwY8yN0vjKk/8bGoAwAbtdmpV4hzjqu+z4boyEZxUiqtHS2STRyaaodfUyyXSccKpp7177dXa2Imuen8hLFPxLZpQ/pDK4g72cfFjbcDJfipxfnxIiSvfGFvKt/vJY6RJSLIg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=mrl55lT8g/p8kcpD9+ASdtD6PHkT/HAE0Ge+46xkYkc=; b=ZMAAt+tlR+UT+W07WX5Kb5eJ8ugWpmRj1NTGGaJXl/Xdw72mwX/VxmKS1ECXtkQDrFAn2C1zOZWlVtK6CjlydE05HPgfYHjQHW5dhMIzadBO0jgoZGw/2piEZqZz6dPB2R7CZBoQ9pSVFDNbSxQHuAP1XKA6wu1X3Gvc+2iwmdIW2HubKYex+JYHJck7fwx5ir84EeyBfWU9qS9dcrveC2KzLX47fXed2cajZdI/mIr0xelc7RErhpE7YjIejniVsCN78O/ygFQ003v3Iwy/zA5mnMo3LuSN2n3VyXY7W7DjynlheHQyI6/gDS7J9dreE+bMkMhmo/4rl6IushV6Dg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=fail (sender ip is 178.72.21.4) smtp.rcpttodomain=dpdk.org smtp.mailfrom=napatech.com; dmarc=fail (p=reject sp=reject pct=100) action=oreject header.from=napatech.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=napatech.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=mrl55lT8g/p8kcpD9+ASdtD6PHkT/HAE0Ge+46xkYkc=; b=ai86bhikbbyAtP4aFXDLiUVOZ2dDL9OuBDKLwM6Wmy+rjOZ02XYbbKqlCZjVSzBxwPEhiDbO2jt6BsMDqCLFKZJcGP8p9I+kslf2hCJ2XvLGmNXpwOZFvS6f+JJF++x3FCeiREHOoW/lb/dJkbbaSdaW/zehdo/oN3iuonJI0bM= Received: from CWLP265CA0338.GBRP265.PROD.OUTLOOK.COM (2603:10a6:401:5a::14) by PA2P190MB2101.EURP190.PROD.OUTLOOK.COM (2603:10a6:102:40d::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.12; Wed, 5 Feb 2025 10:46:26 +0000 Received: from AMS0EPF000001A5.eurprd05.prod.outlook.com (2603:10a6:401:5a:cafe::2d) by CWLP265CA0338.outlook.office365.com (2603:10a6:401:5a::14) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.27 via Frontend Transport; Wed, 5 Feb 2025 10:46:25 +0000 X-MS-Exchange-Authentication-Results: spf=fail (sender IP is 178.72.21.4) smtp.mailfrom=napatech.com; dkim=none (message not signed) header.d=none;dmarc=fail action=oreject header.from=napatech.com; Received-SPF: Fail (protection.outlook.com: domain of napatech.com does not designate 178.72.21.4 as permitted sender) receiver=protection.outlook.com; client-ip=178.72.21.4; helo=localhost.localdomain; Received: from localhost.localdomain (178.72.21.4) by AMS0EPF000001A5.mail.protection.outlook.com (10.167.16.232) with Microsoft SMTP Server id 15.20.8398.14 via Frontend Transport; Wed, 5 Feb 2025 10:46:25 +0000 From: Serhii Iliushyk To: dev@dpdk.org Cc: mko-plv@napatech.com, sil-plv@napatech.com, ckm@napatech.com, stephen@networkplumber.org Subject: [PATCH v2 32/34] net/ntnic: add checks for action modify Date: Wed, 5 Feb 2025 11:45:41 +0100 Message-ID: <20250205104548.1533554-33-sil-plv@napatech.com> X-Mailer: git-send-email 2.45.0 In-Reply-To: <20250205104548.1533554-1-sil-plv@napatech.com> References: <20250121170814.3252171-2-sil-plv@napatech.com> <20250205104548.1533554-1-sil-plv@napatech.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AMS0EPF000001A5:EE_|PA2P190MB2101:EE_ X-MS-Office365-Filtering-Correlation-Id: 3ea5bbe7-47cf-4254-3f45-08dd45d256de X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|36860700013|1800799024|82310400026|376014; X-Microsoft-Antispam-Message-Info: r9OMCFlQWEch/fUDAZLst1f4OXpIgESM83vhD7UISPHyvfgCNBxACk7O3dpOzATbIbopOU0E8PB5gvHjWbVWfJyG2gUewwDQEUooilHFx+S4/Cs3hXstcrZ/wDIiDJ6ciddRubNm0j7FMBkWSNGj0+XAOmnJ1M6tvfrIDxAMZbKLiKGctzVVpbbfjNznMUMI+DtOugeHVDB0dVtWfVTIoBzhpcsybeJU8/vfxzNGH85u1fyBnsQpZnb8om+U1UfmGxFmJ2xd7i7g7+DmxokAX+DKungdU03ZR6uI93KYdDclEQPyYifYjb/KH6Puvx16QSk26GrRpLltJdSMMhL/A9Zw22QY0CKEUXgu4TJpIs+SoDqTpstHxwokPrgLmVVHurbZ4wGDfNgq+PbOo0rVVsx3wphQhr7zfCA5ZMlM+kiSGM/nIlBqVSNblm5Nt8P34/e4Zr/6VTmNVKYaW3IBRjDhf4UPrLxbpxuFosGoN6w6lv6jpl8qv8iBmV+279yBLuxRScVY2cWNIBhm7Axef/9Ciju+mlTxw1ShZ9NLrxCK+MW2irzi/x/jrOPdxvvMY2e+a85HAkvTqzQGxJZnP5h/EKkS98w+t8Qn2HWh9RpJp44TXVT5gnQ5zWy5XbztqT/Si33WPTPCQGgyu3nwkPQRakZUooD+nO4AAvpYBT85IuOE5HBtC/48Kj2lxrejsfr41JyLou7V8y5nPV0MO6BNRXrqgB+6eBVMUkr7DD1zmcjQNCtIdiUxitsXGSFb+/7mlaDUnI4OOXKR9nnyszD5uWZ2M0jPXr3phrmQIvqx7SX1FgZ8fdRI8BjyEfQNxUsOX42vytfVlq7xdfd/UyjgDM3BPt8mbL+Bi1rT2eUV9tE8273QHVkbGW7YmrrLQb+wka4oaQiM2Alr2/hheY2kNcr2N0KznSCbebwGbqPnY6ssWH9wPHl+hoXq8JPhHH+nqqElnjfCoR7tnnaEqbvCDNUnCRy01Oq49Qq51I/n9Qr6E0UwJ5xZWk9+O9Dm8vvRYGC1r1Vr3b9YaUcivpIe82zREywD2sZ3WPzu9URXp9MljL9GompVcWUia2F1fCd5ovrQ8Mq4zSCgz7fwZ33WhujjguKTmqIDLDCR1dbsuOSIeciB8MCMoxJ21utGfYsOfp8582CLxHBCwd/DIU88oVmOk+hM7V+Jyc6BJa/IWbuoEHgo5fLNkoDEcLSCQdkQc/Ea+WaNMvNvOYxIwZfRd78AXXmLCoLHv0t0en2e9CGxkCFiteO1JhckYax+VpysG+F5/m7AdEfEsGO53/C2y2xVP67CXiCKB6w7ccGKTcAu9bl2xCHKleSC/C3EqJ3c0I21LTNNyzmcDw+Sc+gHxL6nBVLg60OpyHrfAdxRQFO8/Tqc8cnlY9pxOZXwXrhnyemqrVzUqKcjfxHEHiqjaxD0aI3yla1LGPGaLX/IarKAkJ4FS/YbTlOE2aKY4WvdO3ucvjb515Lj48mqqvEBlnaFAJYAn04oCgEDcLA= X-Forefront-Antispam-Report: CIP:178.72.21.4; CTRY:DK; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:localhost.localdomain; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(36860700013)(1800799024)(82310400026)(376014); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 7JY25oWGO17GRAI7lL8SO7NtHnvGjKhVZMbvk9vmOGJo4mGQSKA+bjF3wnabOZd68p6N6IPoxTA9wmvDEBwzMQT+VyXxCVFWztrxYuQhQKGdxNYys53rXMsFBMqKgLBu9xb+2RePWsliVdnAHjlQDdwuNdie3wR5LKaLyOKFPUkOp/EDL5E9WqI2L4asJy3ccJrsmO6F2I0hhYR7F8Fkr8axkdkl/EVOtz0gOMoLeaPdbQHz5hFmLCQWhTAgAiFyzTO6iaw7Gmps1A8u8rKKSH/DqJu4dr+IrnkynvkumIJdbOpNCcyyI83zBl073AZoGQulepOuz1YAx1IRK289eorQ/Hq6X7BE+Pg9zXHZNCqhdNaRGeAF16WlVEXu+44z+Bxu+6ny/BYeqoX23lWHPbdtK7jOyrghr5bcTjv0dZd53YRnBmg2Uye68NfiYUPcfH0AWNJYC4oADcKaVIT8nAT9qOYqywkC3CpbjpOr6IHpFXc/LZ02GF5pVW6QyOXeE53j77dRIcwhkC+pGDmcMZxoKqvOZIBCX5VQy3St7u9oOOfnVDPSE1HIE2KskRCNoZ6MgkXTSlumul0gU2rezX8DOE/ogFjH5VdUkg0oPoCebfujaOa1nk8xw3fH1Ge5T9Ov0Jb5FeAMi4pRJ547KQ== X-OriginatorOrg: napatech.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Feb 2025 10:46:25.8082 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 3ea5bbe7-47cf-4254-3f45-08dd45d256de X-MS-Exchange-CrossTenant-Id: c4540d0b-728a-4233-9da5-9ea30c7ec3ed X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=c4540d0b-728a-4233-9da5-9ea30c7ec3ed; Ip=[178.72.21.4]; Helo=[localhost.localdomain] X-MS-Exchange-CrossTenant-AuthSource: AMS0EPF000001A5.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA2P190MB2101 X-BESS-ID: 1738752387-311016-7902-653-1 X-BESS-VER: 2019.1_20250203.2302 X-BESS-Apparent-Source-IP: 104.47.11.104 X-BESS-Parts: H4sIAAAAAAACA4uuVkqtKFGyUioBkjpK+cVKVqbmZoZAVgZQ0MTYyMIw2SApOS XNyDDFLMXQJNnAMi3J3NTM1DDFMs1cqTYWANWCCaJBAAAA X-BESS-Outbound-Spam-Score: 0.00 X-BESS-Outbound-Spam-Report: Code version 3.2, rules version 3.2.2.262304 [from cloudscan17-75.eu-central-1b.ess.aws.cudaops.com] Rule breakdown below pts rule name description ---- ---------------------- -------------------------------- 0.00 BSF_BESS_OUTBOUND META: BESS Outbound X-BESS-Outbound-Spam-Status: SCORE=0.00 using account:ESS113687 scores of KILL_LEVEL=7.0 tests=BSF_BESS_OUTBOUND X-BESS-BRTS-Status: 1 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Following checks were added for `action modify`: * range check to trigger an error in case that value is too large * check for unsupported types of action modify for group 0 Signed-off-by: Serhii Iliushyk --- .../profile_inline/flow_api_profile_inline.c | 89 ++++++++++++++++--- 1 file changed, 79 insertions(+), 10 deletions(-) diff --git a/drivers/net/ntnic/nthw/flow_api/profile_inline/flow_api_profile_inline.c b/drivers/net/ntnic/nthw/flow_api/profile_inline/flow_api_profile_inline.c index e911860c38..fe72865140 100644 --- a/drivers/net/ntnic/nthw/flow_api/profile_inline/flow_api_profile_inline.c +++ b/drivers/net/ntnic/nthw/flow_api/profile_inline/flow_api_profile_inline.c @@ -2990,7 +2990,36 @@ static int interpret_flow_elements(const struct flow_eth_dev *dev, return 0; } -static void copy_fd_to_fh_flm(struct flow_handle *fh, const struct nic_flow_def *fd, +static bool has_only_valid_bits_set(const uint8_t *byte_array, const uint16_t byte_array_len, + uint16_t bit_len) +{ + if (byte_array_len * 8 < bit_len) + bit_len = byte_array_len * 8; + + uint8_t mask; + uint16_t byte; + + for (byte = 0; byte < byte_array_len; byte++) { + if (bit_len >= 8) { + bit_len -= 8; + mask = 0x00; + + } else if (bit_len > 0) { + mask = 0xff >> bit_len << bit_len; + bit_len = 0; + + } else { + mask = 0xFF; + } + + if (byte_array[byte] & mask) + return false; + } + + return true; +} + +static int copy_fd_to_fh_flm(struct flow_handle *fh, const struct nic_flow_def *fd, const uint32_t *packet_data, uint32_t flm_key_id, uint32_t flm_ft, uint16_t rpl_ext_ptr, uint32_t flm_scrub __rte_unused, uint32_t priority) { @@ -3056,23 +3085,47 @@ static void copy_fd_to_fh_flm(struct flow_handle *fh, const struct nic_flow_def switch (fd->modify_field[i].select) { case CPY_SELECT_DSCP_IPV4: case CPY_SELECT_DSCP_IPV6: + if (!has_only_valid_bits_set(fd->modify_field[i].value8, 16, 8)) { + NT_LOG(ERR, FILTER, "IP DSCP value is out of the range"); + return -1; + } + fh->flm_dscp = fd->modify_field[i].value8[0]; break; case CPY_SELECT_RQI_QFI: + if (!has_only_valid_bits_set(fd->modify_field[i].value8, 16, 6)) { + NT_LOG(ERR, FILTER, "GTPU QFI value is out of the range"); + return -1; + } + fh->flm_rqi = (fd->modify_field[i].value8[0] >> 6) & 0x1; fh->flm_qfi = fd->modify_field[i].value8[0] & 0x3f; break; case CPY_SELECT_IPV4: + if (!has_only_valid_bits_set(fd->modify_field[i].value8, 16, 32)) { + NT_LOG(ERR, FILTER, "IPv4 address value is out of the range"); + return -1; + } + fh->flm_nat_ipv4 = ntohl(fd->modify_field[i].value32[0]); break; case CPY_SELECT_PORT: + if (!has_only_valid_bits_set(fd->modify_field[i].value8, 16, 16)) { + NT_LOG(ERR, FILTER, "NAT port value is out of the range"); + return -1; + } + fh->flm_nat_port = ntohs(fd->modify_field[i].value16[0]); break; case CPY_SELECT_TEID: + if (!has_only_valid_bits_set(fd->modify_field[i].value8, 16, 32)) { + NT_LOG(ERR, FILTER, "GTPU TEID value is out of the range"); + return -1; + } fh->flm_teid = ntohl(fd->modify_field[i].value32[0]); break; @@ -3085,6 +3138,8 @@ static void copy_fd_to_fh_flm(struct flow_handle *fh, const struct nic_flow_def fh->flm_mtu_fragmentation_recipe = fd->flm_mtu_fragmentation_recipe; fh->context = fd->age.context; + + return 0; } static int convert_fh_to_fh_flm(struct flow_handle *fh, const uint32_t *packet_data, @@ -3113,8 +3168,10 @@ static int convert_fh_to_fh_flm(struct flow_handle *fh, const uint32_t *packet_d for (int i = 0; i < RES_COUNT; ++i) fh->flm_db_idxs[i] = fh_copy.db_idxs[i]; - copy_fd_to_fh_flm(fh, fd, packet_data, flm_key_id, flm_ft, rpl_ext_ptr, flm_scrub, - priority); + if (copy_fd_to_fh_flm(fh, fd, packet_data, flm_key_id, flm_ft, rpl_ext_ptr, + flm_scrub, priority) < 0) { + return -1; + } free(fd); @@ -3476,8 +3533,11 @@ static struct flow_handle *create_flow_filter(struct flow_eth_dev *dev, struct n } /* Program flow */ - convert_fh_to_fh_flm(fh, packet_data, flm_idx.id1 + 2, flm_ft, flm_rpl_ext_ptr, - flm_scrub, attr->priority & 0x3); + if (convert_fh_to_fh_flm(fh, packet_data, flm_idx.id1 + 2, flm_ft, flm_rpl_ext_ptr, + flm_scrub, attr->priority & 0x3) != 0) { + flow_nic_set_error(ERR_MATCH_RESOURCE_EXHAUSTION, error); + goto error_out; + } flm_flow_programming(fh, NT_FLM_OP_LEARN); nic_insert_flow_flm(dev->ndev, fh); @@ -3512,6 +3572,13 @@ static struct flow_handle *create_flow_filter(struct flow_eth_dev *dev, struct n /* Action Set doesn't contain jump */ action_set_data.contains_jump = 0; + /* Group 0 supports only modify action for TTL/Hop limit. */ + if (fd->modify_field_count > 0) { + NT_LOG(ERR, FILTER, "Unsupported MODIFY ACTION for group 0"); + flow_nic_set_error(ERR_MATCH_RESOURCE_EXHAUSTION, error); + goto error_out; + } + /* Setup COT */ struct hw_db_inline_cot_data cot_data = { .matcher_color_contrib = 0, @@ -5179,11 +5246,13 @@ struct flow_handle *flow_async_create_profile_inline(struct flow_eth_dev *dev, fh->caller_id = template_table->caller_id; fh->user_data = user_data; - copy_fd_to_fh_flm(fh, fd, packet_data, pattern_action_pair->flm_key_id, - pattern_action_pair->flm_ft, - pattern_action_pair->flm_rpl_ext_ptr, - pattern_action_pair->flm_scrub_prof, - template_table->attr.priority & 0x3); + if (copy_fd_to_fh_flm(fh, fd, packet_data, pattern_action_pair->flm_key_id, + pattern_action_pair->flm_ft, + pattern_action_pair->flm_rpl_ext_ptr, + pattern_action_pair->flm_scrub_prof, + template_table->attr.priority & 0x3) != 0) { + goto err_exit; + } free(fd); From patchwork Wed Feb 5 10:45:42 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Serhii Iliushyk X-Patchwork-Id: 150964 X-Patchwork-Delegate: stephen@networkplumber.org Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id CEFB44619A; Wed, 5 Feb 2025 11:49:35 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id AE10440E22; Wed, 5 Feb 2025 11:46:43 +0100 (CET) Received: from egress-ip42a.ess.de.barracuda.com (egress-ip42a.ess.de.barracuda.com [18.185.115.201]) by mails.dpdk.org (Postfix) with ESMTP id 20F9240B9A for ; Wed, 5 Feb 2025 11:46:31 +0100 (CET) Received: from EUR03-VI1-obe.outbound.protection.outlook.com (mail-vi1eur03lp2109.outbound.protection.outlook.com [104.47.30.109]) by mx-outbound9-60.eu-central-1a.ess.aws.cudaops.com (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Wed, 05 Feb 2025 10:46:28 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=sJJ88oXcCvOUn+Pt9XyB63zvPvubyAIILdgRHAT8dTlZUvY6zGu9RrHz2v3jSl1s34nhw3ry5IkAVRVD1CRvu+q9NxI0o/G/HpuDvIVYZWQnLOGoe08XqSqtHoEfNMdxXh7dXuLFCTQW5tUUv8ETe3q52EY1FAipQFfgb1HrVFA5Vu7+EsmKbOAGyry55udeseSFnBaR1m8mWtDKTPu8WajcQr8TrIeainRdV9rpzP/2swNylO8OzopZGasrDWL7mLlNJrjPnYSBBUp8t83qMsNRxjoy9axa0OpjMsO9lKW0JxEbb6+MbfjK2aXpYfMKz/V6KvrtpSrqn7BFTEuaHg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=+Hx+GH1/3i/9p0GzL6vgMB2sZIHaOWQ21raoM7VS7RA=; b=C3cIljgOyvnuYEI11go4FtQBuLEmKS1SaiFvCuarXL+v19N5lBGfQwgAsyDL966KNZPdiHxUFFz2g3jyM4Sl4xCnWBjzBeRaHMjFIOJLgMt+rP/5bh6hZZ8JemtI8gCEoG6RPnX0aFt7iy1bAlIthmNHFUdKlCqtwFZm8Grjl6e2wAp+Pmz0+whTmhgsMVckkZhgRNcTn7nLUgEYaJHuR/8RPVigo0T6U2azijTK3CzPcONRTwSxA9jOO3JuWi7v5JTbMm20BliQOx5dg9OjjqPRCfatESP5YdwvXazWfUFjixvHo2rqorMJ4Hg8bYpg/6hHs3TNbV4z0r/z24/DFw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=fail (sender ip is 178.72.21.4) smtp.rcpttodomain=dpdk.org smtp.mailfrom=napatech.com; dmarc=fail (p=reject sp=reject pct=100) action=oreject header.from=napatech.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=napatech.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=+Hx+GH1/3i/9p0GzL6vgMB2sZIHaOWQ21raoM7VS7RA=; b=XcqrABsDUtqWtgDgO2y/tRc75PBXD8pGKqew5QCdSny8yzeMQPOhmcb2LfTU65i3DxJTPZ7lhlrbEJ2SwDZR/qBsp+A8kD1tyFmB7p6PqX9cnICwPHzr1ZMeNw6uoLYWYC4zTMZHkg0A8G8RwNeDlJLzy8JqV1N0K2wLupNgMoA= Received: from CWLP265CA0337.GBRP265.PROD.OUTLOOK.COM (2603:10a6:401:5a::13) by PR3P190MB0827.EURP190.PROD.OUTLOOK.COM (2603:10a6:102:88::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8398.23; Wed, 5 Feb 2025 10:46:27 +0000 Received: from AMS0EPF000001A5.eurprd05.prod.outlook.com (2603:10a6:401:5a:cafe::f5) by CWLP265CA0337.outlook.office365.com (2603:10a6:401:5a::13) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.27 via Frontend Transport; Wed, 5 Feb 2025 10:46:26 +0000 X-MS-Exchange-Authentication-Results: spf=fail (sender IP is 178.72.21.4) smtp.mailfrom=napatech.com; dkim=none (message not signed) header.d=none;dmarc=fail action=oreject header.from=napatech.com; Received-SPF: Fail (protection.outlook.com: domain of napatech.com does not designate 178.72.21.4 as permitted sender) receiver=protection.outlook.com; client-ip=178.72.21.4; helo=localhost.localdomain; Received: from localhost.localdomain (178.72.21.4) by AMS0EPF000001A5.mail.protection.outlook.com (10.167.16.232) with Microsoft SMTP Server id 15.20.8398.14 via Frontend Transport; Wed, 5 Feb 2025 10:46:26 +0000 From: Serhii Iliushyk To: dev@dpdk.org Cc: mko-plv@napatech.com, sil-plv@napatech.com, ckm@napatech.com, stephen@networkplumber.org Subject: [PATCH v2 33/34] net/ntnic: add IFR DROP counter Date: Wed, 5 Feb 2025 11:45:42 +0100 Message-ID: <20250205104548.1533554-34-sil-plv@napatech.com> X-Mailer: git-send-email 2.45.0 In-Reply-To: <20250205104548.1533554-1-sil-plv@napatech.com> References: <20250121170814.3252171-2-sil-plv@napatech.com> <20250205104548.1533554-1-sil-plv@napatech.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AMS0EPF000001A5:EE_|PR3P190MB0827:EE_ X-MS-Office365-Filtering-Correlation-Id: 642b91fd-05e1-493a-c2fe-08dd45d25763 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|376014|36860700013|82310400026; X-Microsoft-Antispam-Message-Info: kZh+7w7oJRGvMPujo/NrMf/qPL9/d3btaPU9u9lOcNHBuQbQj4AKLjOmWVVq2I4qWrbMo30zNcEsMgvPsaCbDbCOsEaLWRJPl4VkQujXiZs5aSmtwPORJ7tKVviYmSsVojXFco5AbciKawuxxNVlStdLgIilb0JiBkOgC5Psbl2LJf8bGhn3ZjSk78gI+AuatylXUWxkSa4jdXaK1WlLmP+L5qwCMOWWUw4iIGncHXc/oiNUB4KcgnlsWxV2mbEPbNFM3xYpo3F+OeWR/8ho8d4vu05qWdC+IVWKQPvhWsNFN3d4LJ+RSxNEp3n6H/1qSFdsP1PfHFdaA5DNZ1JWk6mPFRQTCIqIBxCY6JwsLkaBYZgc1y7+epUbWZ89zdsZtEjv+60M5QmAVdg4pV1n+5QDIuqfoSjuP3nCQxU4FNQ+sM7S+1Scp+e++Ua5/A9vsJK4UutfQ+02b6hKoyjNABGis2hW71nS/DmWezcW/efF3adxw3tRPf0CVM256YwuO+8/mySlxzYKKQ3taKM7nWNSJxQ885PlAZp5Ze9ZO/Bv+sfkv96AUHXp9U/VLFwWaZGxknGvuwlEF3GEBXkM4mnuTCPOpiAu/O+Fr7O9bV5C+mBMh5+d5SIA0w9i1KOBapFfxgOb3fwzEPWxGAJdQKochEfZcEwlP2lDBCf+Cyc2K9PLfzPwn0HcY7XoJz+o88AO3JHch+8WEIEKbK+mbBrdsdXx06AJtLZbJ2NrUxh1iUsRHsjM7fI1yWB+a/4S8eW2A5iNi+UB4p60erDF1aYBe3jrvIVeFsjv4PnaBdPp17goKG+5jbWTDWtDgB1XDqg5mOqeERJvpy3eYW8CmxkjmZg+J9FeP4gMfMiVcB6GnZm6fzGe8LNuDJgBRCJat751Gvz1SlB/r45FAXaSImeto64gPYESXlqexQrMqIULSMtbpTPGkvS0L7zs/oKSkkVwY+5YsjM/2GF1Wsb0b9cbl5n1gKP97NqVC0B1IKLD2NBtnMWhH6UcFvJ7XSww2rX1E3Ir852VJUFfeqkaOv/q17nQnXHkEKyuBnVfJhZCb2G6jz5UDm622H3l9vpCDvxV/Fdahdr+ew7s7lRzLiYh2ait6QVyGGHCgi+7jow7bn1Mw3xZ5PzYDvfoTMBbVVfKGaezzmMk6nuIDrZwpO+WKsUDLgtf/IA075YwI3YD0JafBrBsiWm8zKMQuCCNSgzlPoaFw3L1wDDaTYDcKK9+LUxbg0RkHGAG8/D+Zxo79ybJmUuXCt0YYwkRq74gobR+pwFkOPgoqE9+g6HsONplqdaHOYM/K2xqnaaT3FOlqSEdvj7xPdWKA1qpli465XlXmZwAEWo8mwVNdl+Zk2ywrpEZyUItihwUrOgoXkDFCE5rSaMvSL9SbYHHVUzH13Ds5oCXwHP1nz/oruzV6gB/+PYuhXgbcH/xgnc3ApkapMRnyQtWaax1WemUlkRil8e7i99PlM2F/qKgiysfxjpw5HhDblckV36wGyOBElk= X-Forefront-Antispam-Report: CIP:178.72.21.4; CTRY:DK; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:localhost.localdomain; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(1800799024)(376014)(36860700013)(82310400026); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: a3mmVqR8ED8h49WIHB+WwHXLjeZF2CPQH31ZcRbkeutAdA/Z7Vis8y+UIHKN16YBsk9qISTYZqjdPxO7axHCQjNjqB1nZ7SHlRRccrPKpOvWB4vOciFGf4oKATIW/p1B/SK3YYy4BefHemy5JR175edHbdSeIzDvXvJ7LAH9IBWj1vMC5O2N1A7DnzNeEEcfcPw2ogAhUqG6Xf51OrqvAMF7Jz8EDDz6MJgRzm/y2yg7xb7FsFJ9WGkicEciakqn9txhYgaTDzl1aoBWLFPeoOFraQWnDmKCqrGi/XsUo9GZuK6Xpg5RjChaMjPGdhIEzmJX1N4/tvh348r3Hp4zOfXp6WB72YEsDsz5mA+CsW/PYzyHsyuFcUpNtyFxqcVbDKlY84hPX31+YW2CXzHFVmBIKKZWovo0lvArGx7cQjtQBwmVH1QXw0CsJMhppWg1zmZnFqteVdud5VaQ90QCY4roQqgYoTWoIhSM5G6o8nMFq3dGqfx+eBwzJjntVpkZNME9niI7jzDuWksyR3xhACXFnOi25eh5pDnQiD8hdPdhnlkmlDqFI2jjHwYH3zO5H+UYhKdKa+nmtR28HZg8ZSwi2MjPt9nbTnJmHpL7WuVpZJsUDhBp588HUGa7ffs+I1ywrQLRiqDa0xRPIF0rXw== X-OriginatorOrg: napatech.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Feb 2025 10:46:26.6832 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 642b91fd-05e1-493a-c2fe-08dd45d25763 X-MS-Exchange-CrossTenant-Id: c4540d0b-728a-4233-9da5-9ea30c7ec3ed X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=c4540d0b-728a-4233-9da5-9ea30c7ec3ed; Ip=[178.72.21.4]; Helo=[localhost.localdomain] X-MS-Exchange-CrossTenant-AuthSource: AMS0EPF000001A5.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3P190MB0827 X-BESS-ID: 1738752388-302364-7585-687-1 X-BESS-VER: 2019.1_20250203.2302 X-BESS-Apparent-Source-IP: 104.47.30.109 X-BESS-Parts: H4sIAAAAAAACA4uuVkqtKFGyUioBkjpK+cVKVoaWZoZGQGYGUNTQzMDcNC3J2D gpzTLZwMwo0cjc0MLYxMIyOcnYxNzIQqk2FgB+aarrQgAAAA== X-BESS-Outbound-Spam-Score: 0.50 X-BESS-Outbound-Spam-Report: Code version 3.2, rules version 3.2.2.262304 [from cloudscan18-30.eu-central-1b.ess.aws.cudaops.com] Rule breakdown below pts rule name description ---- ---------------------- -------------------------------- 0.50 BSF_RULE7568M META: Custom Rule 7568M 0.00 BSF_BESS_OUTBOUND META: BESS Outbound X-BESS-Outbound-Spam-Status: SCORE=0.50 using account:ESS113687 scores of KILL_LEVEL=7.0 tests=BSF_RULE7568M, BSF_BESS_OUTBOUND X-BESS-BRTS-Status: 1 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Support for IP Fragmenter DROP counter to display number of packets dropped due to size larger than MTU. NOTE: Frames are dropped only in case that both IPV4_EN and IPV4_DF_DROP are set to one (resp. their IPV6 counterparts). Signed-off-by: Serhii Iliushyk --- .../net/ntnic/adapter/nt4ga_stat/nt4ga_stat.c | 9 +++ drivers/net/ntnic/include/flow_api.h | 1 + drivers/net/ntnic/include/hw_mod_backend.h | 8 +++ drivers/net/ntnic/include/hw_mod_tpe_v3.h | 5 ++ drivers/net/ntnic/include/ntnic_stat.h | 9 +++ drivers/net/ntnic/nthw/flow_api/flow_api.c | 16 +++++ .../nthw/flow_api/flow_backend/flow_backend.c | 28 ++++++++- .../ntnic/nthw/flow_api/hw_mod/hw_mod_tpe.c | 58 ++++++++++++++++++- .../profile_inline/flow_api_profile_inline.c | 19 ++++++ .../profile_inline/flow_api_profile_inline.h | 4 ++ .../ntnic/nthw/flow_filter/flow_nthw_ifr.c | 32 ++++++++++ .../ntnic/nthw/flow_filter/flow_nthw_ifr.h | 15 ++++- drivers/net/ntnic/nthw/stat/nthw_stat.c | 2 + drivers/net/ntnic/ntnic_mod_reg.h | 5 ++ 14 files changed, 208 insertions(+), 3 deletions(-) diff --git a/drivers/net/ntnic/adapter/nt4ga_stat/nt4ga_stat.c b/drivers/net/ntnic/adapter/nt4ga_stat/nt4ga_stat.c index 2add43639a..2f1e12f891 100644 --- a/drivers/net/ntnic/adapter/nt4ga_stat/nt4ga_stat.c +++ b/drivers/net/ntnic/adapter/nt4ga_stat/nt4ga_stat.c @@ -100,6 +100,8 @@ static int nt4ga_stat_init(struct adapter_info_s *p_adapter_info) p_nt4ga_stat->mn_rx_ports = p_nthw_stat->m_nb_rx_ports; p_nt4ga_stat->mn_tx_ports = p_nthw_stat->m_nb_tx_ports; + + p_nt4ga_stat->mn_ifr_counters = p_nthw_stat->m_nb_ifr_counters; } return 0; @@ -205,6 +207,9 @@ static int nt4ga_stat_setup(struct adapter_info_s *p_adapter_info) p_nt4ga_stat->mp_stat_structs_flm->max_lps = nthw_fpga_get_product_param(p_adapter_info->fpga_info.mp_fpga, NT_FLM_LOAD_LPS_MAX, 0); + + p_nt4ga_stat->mp_stat_structs_ifr = + calloc(1, sizeof(struct ifr_counters) * p_nt4ga_stat->mn_ifr_counters); } p_nt4ga_stat->mp_port_load = @@ -556,6 +561,10 @@ static int nt4ga_stat_collect_cap_v1_stats(struct adapter_info_s *p_adapter_info flow_filter_ops->flow_get_flm_stats(ndev, (uint64_t *)p_nt4ga_stat->mp_stat_structs_flm, sizeof(struct flm_counters_v1) / sizeof(uint64_t)); + /* Update and get IFR stats */ + flow_filter_ops->flow_get_ifr_stats(ndev, (uint64_t *)p_nt4ga_stat->mp_stat_structs_ifr, + p_nt4ga_stat->mn_ifr_counters - 1); + /* * Calculate correct load values: * rpp = nthw_fpga_get_product_param(p_fpga, NT_RPP_PER_PS, 0); diff --git a/drivers/net/ntnic/include/flow_api.h b/drivers/net/ntnic/include/flow_api.h index 9201b8a3ae..7f6aa82ee0 100644 --- a/drivers/net/ntnic/include/flow_api.h +++ b/drivers/net/ntnic/include/flow_api.h @@ -230,5 +230,6 @@ int flow_nic_ref_resource(struct flow_nic_dev *ndev, enum res_type_e res_type, i int flow_nic_deref_resource(struct flow_nic_dev *ndev, enum res_type_e res_type, int index); int flow_get_flm_stats(struct flow_nic_dev *ndev, uint64_t *data, uint64_t size); +int flow_get_ifr_stats(struct flow_nic_dev *ndev, uint64_t *data, uint8_t port_count); #endif diff --git a/drivers/net/ntnic/include/hw_mod_backend.h b/drivers/net/ntnic/include/hw_mod_backend.h index 4061d3f9e5..594bdab2a6 100644 --- a/drivers/net/ntnic/include/hw_mod_backend.h +++ b/drivers/net/ntnic/include/hw_mod_backend.h @@ -899,6 +899,7 @@ enum hw_tpe_e { HW_TPE_IFR_RCP_IPV6_EN, HW_TPE_IFR_RCP_IPV6_DROP, HW_TPE_IFR_RCP_MTU, + HW_TPE_IFR_COUNTERS_DROP, HW_TPE_INS_RCP_DYN, HW_TPE_INS_RCP_OFS, HW_TPE_INS_RCP_LEN, @@ -959,6 +960,12 @@ int hw_mod_tpe_ifr_rcp_flush(struct flow_api_backend_s *be, int start_idx, int c int hw_mod_tpe_ifr_rcp_set(struct flow_api_backend_s *be, enum hw_tpe_e field, int index, uint32_t value); +int hw_mod_tpe_ifr_counters_update(struct flow_api_backend_s *be, int start_idx, int count); +int hw_mod_tpe_ifr_counters_set(struct flow_api_backend_s *be, enum hw_tpe_e field, int index, + uint32_t value); +int hw_mod_tpe_ifr_counters_get(struct flow_api_backend_s *be, enum hw_tpe_e field, int index, + uint32_t *value); + int hw_mod_tpe_ins_rcp_flush(struct flow_api_backend_s *be, int start_idx, int count); int hw_mod_tpe_ins_rcp_set(struct flow_api_backend_s *be, enum hw_tpe_e field, int index, uint32_t value); @@ -1124,6 +1131,7 @@ struct flow_api_backend_ops { int (*tpe_rpp_rcp_flush)(void *dev, const struct tpe_func_s *tpe, int index, int cnt); int (*tpe_rpp_ifr_rcp_flush)(void *dev, const struct tpe_func_s *tpe, int index, int cnt); int (*tpe_ifr_rcp_flush)(void *dev, const struct tpe_func_s *tpe, int index, int cnt); + int (*tpe_ifr_counters_update)(void *dev, const struct tpe_func_s *tpe, int index, int cnt); int (*tpe_ins_rcp_flush)(void *dev, const struct tpe_func_s *tpe, int index, int cnt); int (*tpe_rpl_rcp_flush)(void *dev, const struct tpe_func_s *tpe, int index, int cnt); int (*tpe_rpl_ext_flush)(void *dev, const struct tpe_func_s *tpe, int index, int cnt); diff --git a/drivers/net/ntnic/include/hw_mod_tpe_v3.h b/drivers/net/ntnic/include/hw_mod_tpe_v3.h index 87710d8b35..9137e69256 100644 --- a/drivers/net/ntnic/include/hw_mod_tpe_v3.h +++ b/drivers/net/ntnic/include/hw_mod_tpe_v3.h @@ -104,6 +104,10 @@ struct tpe_v2_ifr_v1_rcp_s { uint32_t mtu; }; +struct tpe_v2_ifr_v1_counters_s { + uint32_t drop; +}; + struct hw_mod_tpe_v3_s { struct tpe_v1_rpp_v0_rcp_s *rpp_rcp; @@ -121,6 +125,7 @@ struct hw_mod_tpe_v3_s { struct tpe_v2_rpp_v1_ifr_rcp_s *rpp_ifr_rcp; struct tpe_v2_ifr_v1_rcp_s *ifr_rcp; + struct tpe_v2_ifr_v1_counters_s *ifr_counters; }; #endif /* _HW_MOD_TPE_V3_H_ */ diff --git a/drivers/net/ntnic/include/ntnic_stat.h b/drivers/net/ntnic/include/ntnic_stat.h index 4d4affa3cf..1b53f6c347 100644 --- a/drivers/net/ntnic/include/ntnic_stat.h +++ b/drivers/net/ntnic/include/ntnic_stat.h @@ -46,6 +46,7 @@ struct nthw_stat { int m_nb_counters; int m_nb_rpp_per_ps; + int m_nb_ifr_counters; nthw_field_t *mp_fld_dma_ena; nthw_field_t *mp_fld_cnt_clear; @@ -204,6 +205,10 @@ struct flm_counters_v1 { uint64_t max_aps; }; +struct ifr_counters { + uint64_t drop; +}; + struct nt4ga_stat_s { nthw_stat_t *mp_nthw_stat; nthw_rmc_t *mp_nthw_rmc; @@ -220,6 +225,8 @@ struct nt4ga_stat_s { int mn_rx_ports; int mn_tx_ports; + int mn_ifr_counters; + struct color_counters *mp_stat_structs_color; /* For calculating increments between stats polls */ struct color_counters a_stat_structs_color_base[NT_MAX_COLOR_FLOW_STATS]; @@ -236,6 +243,8 @@ struct nt4ga_stat_s { int flm_stat_ver; struct flm_counters_v1 *mp_stat_structs_flm; + struct ifr_counters *mp_stat_structs_ifr; + /* Rx/Tx totals: */ uint64_t n_totals_reset_timestamp; /* timestamp for last totals reset */ diff --git a/drivers/net/ntnic/nthw/flow_api/flow_api.c b/drivers/net/ntnic/nthw/flow_api/flow_api.c index 857051fe14..022d7a1c0e 100644 --- a/drivers/net/ntnic/nthw/flow_api/flow_api.c +++ b/drivers/net/ntnic/nthw/flow_api/flow_api.c @@ -1226,6 +1226,21 @@ int flow_get_flm_stats(struct flow_nic_dev *ndev, uint64_t *data, uint64_t size) return -1; } +int flow_get_ifr_stats(struct flow_nic_dev *ndev, uint64_t *data, uint8_t port_count) +{ + const struct profile_inline_ops *profile_inline_ops = get_profile_inline_ops(); + + if (profile_inline_ops == NULL) + return -1; + + if (ndev->flow_profile == FLOW_ETH_DEV_PROFILE_INLINE) { + return profile_inline_ops->flow_get_ifr_stats_profile_inline(ndev, data, + port_count); + } + + return -1; +} + static const struct flow_filter_ops ops = { .flow_filter_init = flow_filter_init, .flow_filter_done = flow_filter_done, @@ -1242,6 +1257,7 @@ static const struct flow_filter_ops ops = { .flow_actions_update = flow_actions_update, .flow_dev_dump = flow_dev_dump, .flow_get_flm_stats = flow_get_flm_stats, + .flow_get_ifr_stats = flow_get_ifr_stats, .flow_get_aged_flows = flow_get_aged_flows, /* diff --git a/drivers/net/ntnic/nthw/flow_api/flow_backend/flow_backend.c b/drivers/net/ntnic/nthw/flow_api/flow_backend/flow_backend.c index a50055ce2b..9f7ee5decb 100644 --- a/drivers/net/ntnic/nthw/flow_api/flow_backend/flow_backend.c +++ b/drivers/net/ntnic/nthw/flow_api/flow_backend/flow_backend.c @@ -1584,7 +1584,7 @@ static bool tpe_get_present(void *be_dev) { struct backend_dev_s *be = (struct backend_dev_s *)be_dev; return be->p_csu_nthw != NULL && be->p_hfu_nthw != NULL && be->p_rpp_lr_nthw != NULL && - be->p_tx_cpy_nthw != NULL && be->p_tx_ins_nthw != NULL && + be->p_ifr_nthw != NULL && be->p_tx_cpy_nthw != NULL && be->p_tx_ins_nthw != NULL && be->p_tx_rpl_nthw != NULL; } @@ -1717,6 +1717,31 @@ static int tpe_ifr_rcp_flush(void *be_dev, const struct tpe_func_s *ifr, int ind return res; } +static int tpe_ifr_counters_update(void *be_dev, const struct tpe_func_s *ifr, int index, int cnt) +{ + int res = 0; + int i = 0; + struct backend_dev_s *be = (struct backend_dev_s *)be_dev; + CHECK_DEBUG_ON(be, ifr, be->p_ifr_nthw); + + if (ifr->ver >= 2) { + ifr_nthw_counters_cnt(be->p_ifr_nthw, 1); + + for (i = 0; i < cnt; i++) { + ifr_nthw_counters_select(be->p_ifr_nthw, index + i); + ifr_nthw_counters_update(be->p_ifr_nthw); + ifr_nthw_counters_drop(be->p_ifr_nthw, + &ifr->v3.ifr_counters[index + i].drop, 1); + } + + } else { + res = -1; + } + + CHECK_DEBUG_OFF(ifr, be->p_ifr_nthw); + return res; +} + static int tpe_ins_rcp_flush(void *be_dev, const struct tpe_func_s *tx_ins, int index, int cnt) { struct backend_dev_s *be = (struct backend_dev_s *)be_dev; @@ -2062,6 +2087,7 @@ const struct flow_api_backend_ops flow_be_iface = { tpe_rpp_rcp_flush, tpe_rpp_ifr_rcp_flush, tpe_ifr_rcp_flush, + tpe_ifr_counters_update, tpe_ins_rcp_flush, tpe_rpl_rcp_flush, tpe_rpl_ext_flush, diff --git a/drivers/net/ntnic/nthw/flow_api/hw_mod/hw_mod_tpe.c b/drivers/net/ntnic/nthw/flow_api/hw_mod/hw_mod_tpe.c index 2c3ed2355b..0df5b9cf00 100644 --- a/drivers/net/ntnic/nthw/flow_api/hw_mod/hw_mod_tpe.c +++ b/drivers/net/ntnic/nthw/flow_api/hw_mod/hw_mod_tpe.c @@ -69,11 +69,13 @@ int hw_mod_tpe_alloc(struct flow_api_backend_s *be) switch (_VER_) { case 3: - if (!callocate_mod((struct common_func_s *)&be->tpe, 10, &be->tpe.v3.rpp_rcp, + if (!callocate_mod((struct common_func_s *)&be->tpe, 11, &be->tpe.v3.rpp_rcp, be->tpe.nb_rcp_categories, sizeof(struct tpe_v1_rpp_v0_rcp_s), &be->tpe.v3.rpp_ifr_rcp, be->tpe.nb_ifr_categories, sizeof(struct tpe_v2_rpp_v1_ifr_rcp_s), &be->tpe.v3.ifr_rcp, be->tpe.nb_ifr_categories, sizeof(struct tpe_v2_ifr_v1_rcp_s), + &be->tpe.v3.ifr_counters, be->tpe.nb_ifr_categories, + sizeof(struct tpe_v2_ifr_v1_counters_s), &be->tpe.v3.ins_rcp, be->tpe.nb_rcp_categories, sizeof(struct tpe_v1_ins_v1_rcp_s), @@ -131,6 +133,7 @@ int hw_mod_tpe_reset(struct flow_api_backend_s *be) err |= hw_mod_tpe_csu_rcp_flush(be, 0, ALL_ENTRIES); err |= hw_mod_tpe_rpp_ifr_rcp_flush(be, 0, ALL_ENTRIES); err |= hw_mod_tpe_ifr_rcp_flush(be, 0, ALL_ENTRIES); + err |= hw_mod_tpe_ifr_counters_update(be, 0, ALL_ENTRIES); return err; } @@ -358,6 +361,59 @@ int hw_mod_tpe_ifr_rcp_set(struct flow_api_backend_s *be, enum hw_tpe_e field, i return hw_mod_tpe_ifr_rcp_mod(be, field, index, &value, 0); } +/* + * IFR_COUNTER + */ + +int hw_mod_tpe_ifr_counters_update(struct flow_api_backend_s *be, int start_idx, int count) +{ + if (count == ALL_ENTRIES) + count = be->tpe.nb_ifr_categories; + + if ((unsigned int)(start_idx + count) > be->tpe.nb_ifr_categories) + return INDEX_TOO_LARGE; + + return be->iface->tpe_ifr_counters_update(be->be_dev, &be->tpe, start_idx, count); +} + +static int hw_mod_tpe_ifr_counters_mod(struct flow_api_backend_s *be, enum hw_tpe_e field, + uint32_t index, uint32_t *value, int get) +{ + if (index >= be->tpe.nb_ifr_categories) + return INDEX_TOO_LARGE; + + switch (_VER_) { + case 3: + switch (field) { + case HW_TPE_IFR_COUNTERS_DROP: + GET_SET(be->tpe.v3.ifr_counters[index].drop, value); + break; + + default: + return UNSUP_FIELD; + } + + break; + + default: + return UNSUP_VER; + } + + return 0; +} + +int hw_mod_tpe_ifr_counters_set(struct flow_api_backend_s *be, enum hw_tpe_e field, int index, + uint32_t value) +{ + return hw_mod_tpe_ifr_counters_mod(be, field, index, &value, 0); +} + +int hw_mod_tpe_ifr_counters_get(struct flow_api_backend_s *be, enum hw_tpe_e field, int index, + uint32_t *value) +{ + return hw_mod_tpe_ifr_counters_mod(be, field, index, value, 1); +} + /* * INS_RCP */ diff --git a/drivers/net/ntnic/nthw/flow_api/profile_inline/flow_api_profile_inline.c b/drivers/net/ntnic/nthw/flow_api/profile_inline/flow_api_profile_inline.c index fe72865140..2cd2eab5cb 100644 --- a/drivers/net/ntnic/nthw/flow_api/profile_inline/flow_api_profile_inline.c +++ b/drivers/net/ntnic/nthw/flow_api/profile_inline/flow_api_profile_inline.c @@ -4715,6 +4715,24 @@ int flow_get_flm_stats_profile_inline(struct flow_nic_dev *ndev, uint64_t *data, return 0; } +int flow_get_ifr_stats_profile_inline(struct flow_nic_dev *ndev, uint64_t *data, + uint8_t port_count) +{ + /* IFR RCP 0 is reserved, port counters start from record 1 */ + hw_mod_tpe_ifr_counters_update(&ndev->be, 1, port_count); + uint8_t i = 0; + + for (i = 0; i < port_count; ++i) { + uint8_t ifr_mtu_recipe = convert_port_to_ifr_mtu_recipe(i); + uint32_t drop_cnt = 0; + hw_mod_tpe_ifr_counters_get(&ndev->be, HW_TPE_IFR_COUNTERS_DROP, ifr_mtu_recipe, + &drop_cnt); + data[i] = data[i] + drop_cnt; + } + + return 0; +} + int flow_set_mtu_inline(struct flow_eth_dev *dev, uint32_t port, uint16_t mtu) { if (port >= 255) @@ -5338,6 +5356,7 @@ static const struct profile_inline_ops ops = { * Stats */ .flow_get_flm_stats_profile_inline = flow_get_flm_stats_profile_inline, + .flow_get_ifr_stats_profile_inline = flow_get_ifr_stats_profile_inline, .flow_info_get_profile_inline = flow_info_get_profile_inline, .flow_configure_profile_inline = flow_configure_profile_inline, .flow_pattern_template_create_profile_inline = flow_pattern_template_create_profile_inline, diff --git a/drivers/net/ntnic/nthw/flow_api/profile_inline/flow_api_profile_inline.h b/drivers/net/ntnic/nthw/flow_api/profile_inline/flow_api_profile_inline.h index be22c9bcd1..98aba07515 100644 --- a/drivers/net/ntnic/nthw/flow_api/profile_inline/flow_api_profile_inline.h +++ b/drivers/net/ntnic/nthw/flow_api/profile_inline/flow_api_profile_inline.h @@ -72,6 +72,10 @@ int flow_get_aged_flows_profile_inline(struct flow_eth_dev *dev, int flow_get_flm_stats_profile_inline(struct flow_nic_dev *ndev, uint64_t *data, uint64_t size); +int flow_get_ifr_stats_profile_inline(struct flow_nic_dev *ndev, + uint64_t *data, + uint8_t port_count); + /* * RTE flow asynchronous operations functions */ diff --git a/drivers/net/ntnic/nthw/flow_filter/flow_nthw_ifr.c b/drivers/net/ntnic/nthw/flow_filter/flow_nthw_ifr.c index 11b6b5e5b8..45f2047916 100644 --- a/drivers/net/ntnic/nthw/flow_filter/flow_nthw_ifr.c +++ b/drivers/net/ntnic/nthw/flow_filter/flow_nthw_ifr.c @@ -69,6 +69,13 @@ int ifr_nthw_init(struct ifr_nthw *p, nthw_fpga_t *p_fpga, int n_instance) p->mp_df_buf_data_fifo_dat = nthw_register_get_field(p->mp_df_buf_data, IFR_DF_BUF_DATA_FIFO_DAT); + p->mp_counters_ctrl = nthw_module_get_register(p->m_ifr, IFR_COUNTERS_CTRL); + p->mp_counters_addr = nthw_register_get_field(p->mp_counters_ctrl, IFR_COUNTERS_CTRL_ADR); + p->mp_counters_cnt = nthw_register_get_field(p->mp_counters_ctrl, IFR_COUNTERS_CTRL_CNT); + + p->mp_counters_data = nthw_module_get_register(p->m_ifr, IFR_COUNTERS_DATA); + p->mp_counters_drop = nthw_register_get_field(p->mp_counters_data, IFR_COUNTERS_DATA_DROP); + return 0; } @@ -121,3 +128,28 @@ void ifr_nthw_rcp_flush(const struct ifr_nthw *p) nthw_register_flush(p->mp_rcp_ctrl, 1); nthw_register_flush(p->mp_rcp_data, 1); } + +void ifr_nthw_counters_select(const struct ifr_nthw *p, uint32_t val) +{ + assert(p->mp_counters_addr); + nthw_field_set_val32(p->mp_counters_addr, val); +} + +void ifr_nthw_counters_cnt(const struct ifr_nthw *p, uint32_t val) +{ + assert(p->mp_counters_cnt); + nthw_field_set_val32(p->mp_counters_cnt, val); +} + +void ifr_nthw_counters_drop(const struct ifr_nthw *p, uint32_t *val, int get) +{ + if (get) + *val = nthw_field_get_val32(p->mp_counters_drop); +} + +void ifr_nthw_counters_update(const struct ifr_nthw *p) +{ + assert(p->mp_counters_data); + nthw_register_flush(p->mp_counters_ctrl, 1); + nthw_register_update(p->mp_counters_data); +} diff --git a/drivers/net/ntnic/nthw/flow_filter/flow_nthw_ifr.h b/drivers/net/ntnic/nthw/flow_filter/flow_nthw_ifr.h index 6751a599aa..4763333765 100644 --- a/drivers/net/ntnic/nthw/flow_filter/flow_nthw_ifr.h +++ b/drivers/net/ntnic/nthw/flow_filter/flow_nthw_ifr.h @@ -33,6 +33,13 @@ struct ifr_nthw { nthw_register_t *mp_df_buf_data; nthw_field_t *mp_df_buf_data_fifo_dat; + + nthw_register_t *mp_counters_ctrl; + nthw_field_t *mp_counters_addr; + nthw_field_t *mp_counters_cnt; + + nthw_register_t *mp_counters_data; + nthw_field_t *mp_counters_drop; }; struct ifr_nthw *ifr_nthw_new(void); @@ -41,7 +48,7 @@ int ifr_nthw_init(struct ifr_nthw *p, nthw_fpga_t *p_fpga, int n_instance); int ifr_nthw_setup(struct ifr_nthw *p, int n_idx, int n_idx_cnt); void ifr_nthw_set_debug_mode(struct ifr_nthw *p, unsigned int n_debug_mode); -/* IFR */ +/* IFR RCP */ void ifr_nthw_rcp_select(const struct ifr_nthw *p, uint32_t val); void ifr_nthw_rcp_cnt(const struct ifr_nthw *p, uint32_t val); void ifr_nthw_rcp_ipv4_en(const struct ifr_nthw *p, uint32_t val); @@ -51,4 +58,10 @@ void ifr_nthw_rcp_ipv6_drop(const struct ifr_nthw *p, uint32_t val); void ifr_nthw_rcp_mtu(const struct ifr_nthw *p, uint32_t val); void ifr_nthw_rcp_flush(const struct ifr_nthw *p); +/* IFR Counters */ +void ifr_nthw_counters_select(const struct ifr_nthw *p, uint32_t val); +void ifr_nthw_counters_cnt(const struct ifr_nthw *p, uint32_t val); +void ifr_nthw_counters_drop(const struct ifr_nthw *p, uint32_t *val, int get); +void ifr_nthw_counters_update(const struct ifr_nthw *p); + #endif /* __FLOW_NTHW_IFR_H__ */ diff --git a/drivers/net/ntnic/nthw/stat/nthw_stat.c b/drivers/net/ntnic/nthw/stat/nthw_stat.c index b0db7b1984..afa24fd3a9 100644 --- a/drivers/net/ntnic/nthw/stat/nthw_stat.c +++ b/drivers/net/ntnic/nthw/stat/nthw_stat.c @@ -199,6 +199,8 @@ int nthw_stat_init(nthw_stat_t *p, nthw_fpga_t *p_fpga, int n_instance) p->m_nb_rpp_per_ps = nthw_fpga_get_product_param(p_fpga, NT_RPP_PER_PS, 0); + p->m_nb_ifr_counters = nthw_fpga_get_product_param(p_fpga, NT_TX_MTU_PROFILE_IFR, 0); + p->m_nb_tx_ports = nthw_fpga_get_product_param(p_fpga, NT_TX_PORTS, 0); p->m_rx_port_replicate = nthw_fpga_get_product_param(p_fpga, NT_RX_PORT_REPLICATE, 0); diff --git a/drivers/net/ntnic/ntnic_mod_reg.h b/drivers/net/ntnic/ntnic_mod_reg.h index 8db4911262..bddae823c8 100644 --- a/drivers/net/ntnic/ntnic_mod_reg.h +++ b/drivers/net/ntnic/ntnic_mod_reg.h @@ -362,6 +362,10 @@ struct profile_inline_ops { uint64_t *data, uint64_t size); + int (*flow_get_ifr_stats_profile_inline)(struct flow_nic_dev *ndev, + uint64_t *data, + uint8_t port_count); + /* * NT Flow FLM queue API */ @@ -459,6 +463,7 @@ struct flow_filter_ops { struct rte_flow_error *error); int (*flow_get_flm_stats)(struct flow_nic_dev *ndev, uint64_t *data, uint64_t size); + int (*flow_get_ifr_stats)(struct flow_nic_dev *ndev, uint64_t *data, uint8_t port_count); /* * Other From patchwork Wed Feb 5 10:45:43 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Serhii Iliushyk X-Patchwork-Id: 150965 X-Patchwork-Delegate: stephen@networkplumber.org Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 2F67E4619A; Wed, 5 Feb 2025 11:49:44 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 51A4440E2E; Wed, 5 Feb 2025 11:46:45 +0100 (CET) Received: from egress-ip42b.ess.de.barracuda.com (egress-ip42b.ess.de.barracuda.com [18.185.115.246]) by mails.dpdk.org (Postfix) with ESMTP id 0FD8140B9D for ; Wed, 5 Feb 2025 11:46:32 +0100 (CET) Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05lp2173.outbound.protection.outlook.com [104.47.17.173]) by mx-outbound23-121.eu-central-1b.ess.aws.cudaops.com (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Wed, 05 Feb 2025 10:46:29 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=iMf4EmU1UHehiWpw6Y5z8jhnCOEE3w42JUqpLts4JbgVzYrmyNN/DuXYcIbohnkp7r7AOuUtNLSgQJqmurHe+eCsML39xkRzsMtM3lhUMqUWYmSO/HYqyfJeieU2uTFnA0LQib+Ww4ZEFyD05YlWSXUAy1nioqR5GNLDGd7GNZ+lpnsI/4WD/nBCRgmdcB0Q5Fw/SZau4zGQOwhcICwV49fzTrlVEIIcfkNauxmduhdc9eUZ49cmYJI7wLLVSeI4X0A1HZPJ86DiPFUW7ZniarFjBQumE2Rpc6iLYIX6K8rgKJiv2iLxzv92DIc5OfxNzGjZ9Q6k5aA9ZEf5gES8mQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=AQ0LcvJ+dLcZ0G6YblLrLscnqmnKqTj+WWYHBfGD/Do=; b=ERniFhP/fE68xT/q+PwP/82UswwQIInVsFo30s5ownz8w9XKk+6q7X/0i04OBO3u65Zty+ePyBbxaiq0oYpOpv58iAQNNeyncJE18GDbZ+vjKPPVS54bpxz4QjGZSRH+rPnRHezcIdYBtEEf3WFaTZ9/2vutCwMejKOYC+pSrw8aPU9a8duXapdxMBOWh7BeFtMZeCSmQ5LcNnjvr/8IY1uylJ8VzmBNdEXkSm8W8QPgQdyBKXQxiDnNmod5rb9j26BR1++yitIHG3AeAuxzDpgaS7CqT7hCxRAm88U8pQ0TsBfFeb9Da94qk0RpTmEY3z+YkdwMU++KnS6ul8NopQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=fail (sender ip is 178.72.21.4) smtp.rcpttodomain=dpdk.org smtp.mailfrom=napatech.com; dmarc=fail (p=reject sp=reject pct=100) action=oreject header.from=napatech.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=napatech.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=AQ0LcvJ+dLcZ0G6YblLrLscnqmnKqTj+WWYHBfGD/Do=; b=c0dfExzyDM/Wn5j+J1qcYXAvtm9ahDjBW3S1H/T0/Dr6ugBpvTNbk7oiOIHHBNeIO2W8PYqciZTHu+ipTh8enbVKsS/mzvJqhgYSdfDK5CvXGbhXDBTydQHy6WIvUuo5VMyCUxzmYNv+Dm8Sa4xsk0liIzx1qaXlF4+ZheXcR7s= Received: from CWLP265CA0344.GBRP265.PROD.OUTLOOK.COM (2603:10a6:401:5a::20) by AM8P190MB0804.EURP190.PROD.OUTLOOK.COM (2603:10a6:20b:1d2::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.11; Wed, 5 Feb 2025 10:46:27 +0000 Received: from AMS0EPF000001A5.eurprd05.prod.outlook.com (2603:10a6:401:5a:cafe::cb) by CWLP265CA0344.outlook.office365.com (2603:10a6:401:5a::20) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.26 via Frontend Transport; Wed, 5 Feb 2025 10:46:27 +0000 X-MS-Exchange-Authentication-Results: spf=fail (sender IP is 178.72.21.4) smtp.mailfrom=napatech.com; dkim=none (message not signed) header.d=none;dmarc=fail action=oreject header.from=napatech.com; Received-SPF: Fail (protection.outlook.com: domain of napatech.com does not designate 178.72.21.4 as permitted sender) receiver=protection.outlook.com; client-ip=178.72.21.4; helo=localhost.localdomain; Received: from localhost.localdomain (178.72.21.4) by AMS0EPF000001A5.mail.protection.outlook.com (10.167.16.232) with Microsoft SMTP Server id 15.20.8398.14 via Frontend Transport; Wed, 5 Feb 2025 10:46:27 +0000 From: Serhii Iliushyk To: dev@dpdk.org Cc: mko-plv@napatech.com, sil-plv@napatech.com, ckm@napatech.com, stephen@networkplumber.org, Thomas Monjalon Subject: [PATCH v2 34/34] net/ntnic: remove tag EXPERIMENTAL Date: Wed, 5 Feb 2025 11:45:43 +0100 Message-ID: <20250205104548.1533554-35-sil-plv@napatech.com> X-Mailer: git-send-email 2.45.0 In-Reply-To: <20250205104548.1533554-1-sil-plv@napatech.com> References: <20250121170814.3252171-2-sil-plv@napatech.com> <20250205104548.1533554-1-sil-plv@napatech.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AMS0EPF000001A5:EE_|AM8P190MB0804:EE_ X-MS-Office365-Filtering-Correlation-Id: 21592783-a6f0-45f6-e5d3-08dd45d257c7 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|376014|36860700013|82310400026|1800799024; X-Microsoft-Antispam-Message-Info: a95BKuGOpalra7WR4N7lk93qj1FOcKNRVAuJ9fXTbkWpDWd52NN94txp5OYSI5Yvu9f9REiqcD1nGD7MuK2eiHWqh9fURSo2Z0g0AxLCXgj6vLUb9YQYFnIFlH2EaABI+Vmn+ljM2T05AVxO+vuu2gZdOrBWD3CwUH48nKanmCisYShGYxftpFi4ua00CQZWGLO1P88Z+NWmuOXMK/qTLil1waD2T+etcMq5mgq8wo9UvZMzFgoQrBQKxjAOXZodLlQ+qFdDFBal4neBz7BLW0G0NFtfX8UHPkTsi9l/Pt9sAEiID4VPucCQ2i3JXs+X6ixfnL+6zMCeEA+5sRs2K26xvRGld00XIkTHPiuodl+kM4mQRub4+Fh4RVyKBiwM9eX0WxtMSBzi2GRqHOGJK76OntTQxUXGPIB8Sr3l1aeEQHrARW3ckrGj+029vjALs7nfwo2ZLLapkGznXSWQ/Y433NCZMCPPlmFDPKY2CNPw05H/tB0iyxJUFY9jFX9IQN62WieMxWC/eoCISk4Z968Ce+82wyOZkJBAtb86/57bZC9S85b5MbLDFoo5+/zqOSoGDQU5C+o07SwpwVLCjdJNJk8x2deiSDxM6Nx1haNtcOV9iQvKorrf7ZldKSaLhIxQHWgoPy7jO/2vbbwee7RnnsWGGqD+KONcQfK4eXxbj6KfnZX1V6lDIf9Oe1VE4i9xryZHpFw8zXI3nNRPJKKNxpVtWIQE+zmSAfKpnNk3BdlurgmQRmFYx6o5d/wo3WOMF5v7OuMar7YiabwsHnG/fegpY0r0Rp6UYJFWNbPiWR7NAqZSu8e8O0myAKZBVe6AxFilogcewReKxWBKAMHvpQ+0cIvvMtMp31+CNq7EAXt8USmhy0gXtxCJMp5UjrKQMNGXPdAgcmjkePW3SgvKdLw6FkwVIT2+xeTvpRTz2asv0iQBwTmTJIo/2J5Zm3g4+boKPWcFR+gbmF688aU2NaqVCNMLmrKpPKoU2jnXPzrORgkycjNLfNFeTliKDQ8kzqD2wToP9/Ki1CyRW7TxP3D+ZHGkdcNn7Hu2dm3ZA5OL1y5KzwFVSI/pziUhucQHeppm+ncfuIlJAFX+XVi3Q5z0Szx0sZ2ewzRWPDQnd5PldLNdob9M8xP7QPOS8yhkvfHaAUnsvD+bQZGqSOZt8fUEQYkF9gnCrRVnUmxTBvmz5Lr5tPiB1i26b/GSWcgiRBSUJYaatrRh8MCLpByxUbcpIBPK2Ehwdm1nvk9pM5W5SnUD+Gty4Hi52OObbb6cS6hWUGOdkRg7+guL4CnfyZcnNd1Ay8SIYD+PzkrYMFG77hSPdv0Yy31UoOw4CHW4BRN5znvgiI81MrlWywGKxFH371ZQUDO6ZAM+yAX9zbLj1u3W7Yyme5PCghA46JkUH98XYXtZUNhjQ1KF3u8UyAOZKE5QpWLfnT7Uzo96Boq+9FXW3JBXP4w3sP79DgLe1LL3SdxQ3lsqPTlrANtfhbY+0KvP+NdzYxM2Smk= X-Forefront-Antispam-Report: CIP:178.72.21.4; CTRY:DK; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:localhost.localdomain; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(376014)(36860700013)(82310400026)(1800799024); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: ilK1bif/xEaDONv6Zb7goh2VlKug/p5aC+4muBMksicqoqpBX8/G6d3K6SR3OAbbBXiz7cZrwLIgMH0sGJuB/bAUwjcU144eRhQdK72ODoDjqtdpzD5BvXVBgEnMwhEJoI7ACOA6/ZIvqGBQNFgDpWpAoJ/3OzM/jlSNKez2CvpsuwrqiDubDB444wAwBGbx/lhfJCnC9IH9LdRdsRHKG8GpOKUbqXItln8BszTypzJMe+Tki+QEapIHaDhLxN36//C3SFenbaOzXjHh/06LWst2H6u+jT0+wCe+4kyQeW/gQcaAgpR0HlPhwaZ4TpNwE9LHmKj0JSYQ9KJJcMlOvxajF3gOJXZW8mXAqU5znLzE9a85sgxrT7T8gkZ4UX0nXPF2wW43fLNXc5csuuKlKXd1TjsPJXhf0SWgCH9Xg4IfEV5UebWgyJMmFswGUnI9muKiyKvh+btf90Qqu6LMwOl35v+kJJtgCh0s3EwzJNDK6Ig4LTy6CxjWwJB6SDvZYnB4orvfYLz4U9rtrP4v2HASSnEs3+NhyS5jY7EcvqMybrh2pi3OPvcMW3SQJ76f8D1XBzujhMhW55s6GS7ry1xqOQufnRBLJ0Zplj9ceydvgJTzj1VWpbmK13VJWRpcZ1m1RMfXeNNIAeedKM/aQQ== X-OriginatorOrg: napatech.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Feb 2025 10:46:27.3239 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 21592783-a6f0-45f6-e5d3-08dd45d257c7 X-MS-Exchange-CrossTenant-Id: c4540d0b-728a-4233-9da5-9ea30c7ec3ed X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=c4540d0b-728a-4233-9da5-9ea30c7ec3ed; Ip=[178.72.21.4]; Helo=[localhost.localdomain] X-MS-Exchange-CrossTenant-AuthSource: AMS0EPF000001A5.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8P190MB0804 X-BESS-ID: 1738752389-306009-7768-641-1 X-BESS-VER: 2019.1_20250203.2302 X-BESS-Apparent-Source-IP: 104.47.17.173 X-BESS-Parts: H4sIAAAAAAACA4uuVkqtKFGyUioBkjpK+cVKVmZGxkBGBlDMyNTAKDnVNDnVKN HS1MjQ2MAyOdXY2MjC3MQkycAgyVKpNhYAVV+ndUAAAAA= X-BESS-Outbound-Spam-Score: 0.00 X-BESS-Outbound-Spam-Report: Code version 3.2, rules version 3.2.2.262304 [from cloudscan23-176.eu-central-1b.ess.aws.cudaops.com] Rule breakdown below pts rule name description ---- ---------------------- -------------------------------- 0.00 BSF_BESS_OUTBOUND META: BESS Outbound X-BESS-Outbound-Spam-Status: SCORE=0.00 using account:ESS113687 scores of KILL_LEVEL=7.0 tests=BSF_BESS_OUTBOUND X-BESS-BRTS-Status: 1 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Since nitnic PMD driver for is fully added and verified, the tag EXPERIMENTAL may be removed Signed-off-by: Serhii Iliushyk --- MAINTAINERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MAINTAINERS b/MAINTAINERS index b86cdd266b..b04951de85 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -890,7 +890,7 @@ F: drivers/net/octeon_ep/ F: doc/guides/nics/features/octeon_ep.ini F: doc/guides/nics/octeon_ep.rst -Napatech ntnic - EXPERIMENTAL +Napatech ntnic M: Christian Koue Muf M: Serhii Iliushyk F: drivers/net/ntnic/