From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124])
	by inbox.dpdk.org (Postfix) with ESMTP id C198745844;
	Thu, 22 Aug 2024 08:38:27 +0200 (CEST)
Received: from mails.dpdk.org (localhost [127.0.0.1])
	by mails.dpdk.org (Postfix) with ESMTP id AC8D542E5C;
	Thu, 22 Aug 2024 08:38:27 +0200 (CEST)
Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com
 [67.231.156.173])
 by mails.dpdk.org (Postfix) with ESMTP id 9567A42E52
 for <dev@dpdk.org>; Thu, 22 Aug 2024 08:38:25 +0200 (CEST)
Received: from pps.filterd (m0045851.ppops.net [127.0.0.1])
 by mx0b-0016f401.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 47LM5Cci024406;
 Wed, 21 Aug 2024 23:38:25 -0700
Received: from nam11-dm6-obe.outbound.protection.outlook.com
 (mail-dm6nam11lp2172.outbound.protection.outlook.com [104.47.57.172])
 by mx0b-0016f401.pphosted.com (PPS) with ESMTPS id 415aw2mmt2-2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Wed, 21 Aug 2024 23:38:24 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=yj9va/Dkl+N/7EZZgpt1T+Qp4bfZwNpdycPcLX51Kje5nGIvN7sZ/1P6eVGE04CY3drfBeA7GVscFo3AUg7LoDIuNVTKg3PW27cn1yw8TWGEBt8tnY4YZuPkNwgkmHViwfQefwh1vOmd6BQr9uDtMWe0osilmk70tVtfNWOY7x8QTtchd0aXgVHOCOcR3l+uqeQyysjrGa2DNs7AOzQc4BdJebuhDje/jD9i51HgFRiV98CCGH+7Daxy95R12VQyIJnwFSvq6rJucpaLzXK/BgxXneTnHwouV0FMV0Gqn3E+UbkqLdIAo/3jjqj/1rA0YWkr+QUfdRUzJlU1Qi+SVg==
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=JJqHxONkAt8ysSgLb4pXCsSLf8+458E3c0zzg0y6qPA=;
 b=xaItNLNsDomj5y3uT+XctXVMcOWK2uHBCeKPO8yDHFz9x5QQmjS3aJOULK2KqklEEidNUubE4DB6RZdqkX/yXWIyAQqIlo8Fx+3xW+sKECjrWIKJnZ8rMAyZE999QeyWIvofGGrxKZuL6BAbJjfHiTQNG/minnEsTho0pjE2ypboAEVHMgWicvx9GRtqv0iHDybCRpGch1wI9kr0IrO+ZfaX/9qRxcoqSoSFCYhJ4duL3YRBA1mprxFKDeRXloE0DKiPCm4ppc5Ctq/eDgSIEqUFQjv0wC9fMKulLMblCtiSBgEi5XK82rUNH927ulqoJxBh/1EzZmi7DxuUm9thJQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=marvell.com; dmarc=pass action=none header.from=marvell.com;
 dkim=pass header.d=marvell.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=JJqHxONkAt8ysSgLb4pXCsSLf8+458E3c0zzg0y6qPA=;
 b=JmxJBhen08JCbDFEjc1Gnwm+b6lYdedqfSHW3wlFFHcs1dDmMVMlO0YYaXaKp9GGTNAmxk4ZCdOV2xfAojAI1kV5E1e7lzJ2TKfeTEdyXT5e07SVqnX5NwmUPGdWyYroWadVMPypR/PbQW+CMRu5oL4puqti5Z8+dqM1GqmYqks=
Received: from PH0PR18MB5071.namprd18.prod.outlook.com (2603:10b6:510:16b::15)
 by PH7PR18MB5101.namprd18.prod.outlook.com (2603:10b6:510:157::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7875.21; Thu, 22 Aug
 2024 06:38:16 +0000
Received: from PH0PR18MB5071.namprd18.prod.outlook.com
 ([fe80::25e:7:91b:8f1c]) by PH0PR18MB5071.namprd18.prod.outlook.com
 ([fe80::25e:7:91b:8f1c%5]) with mapi id 15.20.7875.023; Thu, 22 Aug 2024
 06:38:16 +0000
From: Kiran Kumar Kokkilagadda <kirankumark@marvell.com>
To: Pavan Nikhilesh Bhagavatula <pbhagavatula@marvell.com>, Jerin Jacob
 <jerinj@marvell.com>, Nithin Kumar Dabilpuram <ndabilpuram@marvell.com>,
 "zhirun.yan@intel.com" <zhirun.yan@intel.com>, Pavan Nikhilesh Bhagavatula
 <pbhagavatula@marvell.com>,
 Wathsala Vithanage <wathsala.vithanage@arm.com>,
 Bruce Richardson <bruce.richardson@intel.com>, Konstantin Ananyev
 <konstantin.v.ananyev@yandex.ru>
CC: "dev@dpdk.org" <dev@dpdk.org>
Subject: RE: [PATCH v4 4/5] node: add error stats for ip4 lookup node
Thread-Topic: [PATCH v4 4/5] node: add error stats for ip4 lookup node
Thread-Index: AQHa7+5ennZ+T3C/0U6xTIE/7dc+lbIy29iA
Date: Thu, 22 Aug 2024 06:38:16 +0000
Message-ID: <PH0PR18MB5071275C530B6B22E8838443AC8F2@PH0PR18MB5071.namprd18.prod.outlook.com>
References: <20240222122342.16375-1-pbhagavatula@marvell.com>
 <20240816150926.5789-1-pbhagavatula@marvell.com>
 <20240816150926.5789-4-pbhagavatula@marvell.com>
In-Reply-To: <20240816150926.5789-4-pbhagavatula@marvell.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: PH0PR18MB5071:EE_|PH7PR18MB5101:EE_
x-ms-office365-filtering-correlation-id: f9969e5a-caed-4ef5-dfdd-08dcc2750139
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0; ARA:13230040|1800799024|366016|376014|38070700018;
x-microsoft-antispam-message-info: =?us-ascii?Q?zCYzpJpNeS9T93SwVdkM3Zobv9wRHhgxJVmPZ8AKS5Ghyg8WSeAhHyvxM6Sx?=
 =?us-ascii?Q?jentRqiUqw03Go0Q3nRnR3OuUXbU3Z1K1QrHOtBcshRSTKJUKRtcfzMU8o9u?=
 =?us-ascii?Q?eTLZvh/NvwxyJ1ugcCddcpJ5ZlU5G0Z2ivM2F95ajpDZpvS+amn9wHSiHP0D?=
 =?us-ascii?Q?tdZBy8XMfODnt5zjdslq3jBYBSZgLEzo5zHM5p9a0D/qrOAX34EWuYe1DBxI?=
 =?us-ascii?Q?o2+2oiiDXwfDWJrOenpUlav2ND9IlahuZR6KROpaMmqLIwj9F8rK6pSIhaNV?=
 =?us-ascii?Q?zN+iNWohPY1Iiq0/uzEzuyV/DTAPx3Y0G4N7kZ7Dz32y5sSZRdYGuIg+Fgu9?=
 =?us-ascii?Q?Y7jRziB+fe/MP8C9zwkO9Sfdvo0/jjag5iA/IKcD1oz5QkfvCp92jULcyaEy?=
 =?us-ascii?Q?ZyqvMwL9uFPs0rL/MI/g1+tloUBsvLiW4QNrexvlWYVHbX4spdnM1+hJs990?=
 =?us-ascii?Q?V1dI9sZO1yGMPG4wyjVXLVTdziXWvMvDWiSBFrDogjaf37hMhm1s91r0gZZG?=
 =?us-ascii?Q?me6N2bS/UcHj4gBZnRbDG6hSxgmyWMcJPdnmJGNrChtJHmzLKQzPeNlqiBC/?=
 =?us-ascii?Q?vvLLp5CcEmU7RW+l/FEQclICY6jod67/Gln56biCvVuBjxcOtvhcw9jcFVXJ?=
 =?us-ascii?Q?Jne/GmDQQCetEhMoF0k+/Ch6q/QxYosW7SCB/CMwLEvW8WQ2xi70nzZL2Ayh?=
 =?us-ascii?Q?9IOBa+6rxrPKdbJJtRHYt1dlzFFuW8P2IATwlwxv0d/UFa8vhBjMR7lVHY9s?=
 =?us-ascii?Q?IeJdFd2Pp/sHzcqH2bSAICeRulIUFrBTgxTK/bruiGyiUnUQgS09trV8WzVQ?=
 =?us-ascii?Q?t+tCfA69ZDZE2G3LPnIjh/nlnN7Zrt2KiMGsjF2MPwINnF1Mh6EKLu01Ybhp?=
 =?us-ascii?Q?BiT5ao5cmIvn7oVwN45/HBIqYlcsq66W6oNKvCEJNu+f2jdDjPo6LxQlatIF?=
 =?us-ascii?Q?zCRkGA+sA4BceqVO3fS9lcYTmVuMyUO1tkiJlWTcTBMfNU443WOmuRNd0uVv?=
 =?us-ascii?Q?cHrzmEHAZIkSOBdUxHrveMMUgxXp09FDg3V64sC81fi8qQsedM0IqJg1kdzS?=
 =?us-ascii?Q?4KpgF3oKo6VJCWeFEH1d5P1sUy9nf4KnJha2zhj4vPoWXPorWSyTig+WieHq?=
 =?us-ascii?Q?Plyls71ryYKCtdYxncarxhdzKM1BvREDo5mVpHG/KhhvZXCpPsq8AkvDDp75?=
 =?us-ascii?Q?oLI7RH9uGE9VxOmTVvdYpr2EhETu2hXbrCGlZAKPh5lJK8w53c7dNJq+WSjn?=
 =?us-ascii?Q?txHuCCl2QB240Laq38iybT/7tD7WBawdVJPgVNhmI5uRdjvyj7S6ptYMfCTG?=
 =?us-ascii?Q?pMDPKxgsA+FEyq66Z7EQQxlZxwQn5nAiiZ8vKdl5Yc3SBnJWWogeiYrnC3Mk?=
 =?us-ascii?Q?WyxwbqiEZPf/BtCDgANVk3hKNR82ZkfujOTYAI3evN5Pf8nqzg=3D=3D?=
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;
 IPV:NLI; SFV:NSPM; H:PH0PR18MB5071.namprd18.prod.outlook.com; PTR:; CAT:NONE;
 SFS:(13230040)(1800799024)(366016)(376014)(38070700018); DIR:OUT; SFP:1102; 
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?+ES9wAO4g4I4STezt8iueSF2tPWQKzvvf3fXVlgieG4uzFhG/Uw8NPHvQjug?=
 =?us-ascii?Q?cy565rmcN+38SexyJWVAVMStqeyM/H+qg5RwjalYUNJxE3gbqgssI3MowoAy?=
 =?us-ascii?Q?+DzOp5hYCFMDsI7xcNrPvdZbWSs5RDh4LDZX7lKfpMtpVQJTBW8N22J0zqc9?=
 =?us-ascii?Q?99GVkueZ2SwLPrUbTW8tHSS6MV/YItIPQHJV1vYSa+Bkm8AclbbApQ64jHWO?=
 =?us-ascii?Q?Ap4rNvdN7zc6DTHE5ZirfUdYkbOd80KzHdeMWb6PZ9Qx+b/VOQwK7/15kJCn?=
 =?us-ascii?Q?oEvFhUzot2p9+IFlrJkvvwaiaopBcfnLN/3BSPK22kxx1xP8uPjtTtgV3f+H?=
 =?us-ascii?Q?srbBonCtvO7ZiudD9jkLxBXSbiPMLBRMle5fPz14JfR9qK26SeIZ2/y1GwlU?=
 =?us-ascii?Q?teZIaNmy3SXTVi9YwCb2bAZ+C0/Kh4tyEBRn2EaJv4ZiaGSGrXEThKfglLNA?=
 =?us-ascii?Q?h+zJkWmHaicSjDuJQrOs0M7xqx3W1HTxWEjMulj2GuI+Pc+uC3m5JRcGJSui?=
 =?us-ascii?Q?TR5KVHS6C9PpOweTP47S07x5eLylOOP3OOYUa8CcwH/VTrvNXCxR8yZxv6iM?=
 =?us-ascii?Q?15q8qTU2o8fyLpysXKcKnqQZgGRLrtMXfVfRqOZ2b988QXE6WZH3R7MfgNUw?=
 =?us-ascii?Q?QsRnILDSebOf40HBx1EOhZchjhUieyUwDgoxZZ/dDR1P7Q+09e9QYy0OphLo?=
 =?us-ascii?Q?kiHpuOUgbu2P1Kim7zHT2Qp7xsD4YDzGEdiqblZ9monew+Fou9oz7NsxkzOa?=
 =?us-ascii?Q?zGQuYHY4QK32tjMhuGHloqeEgQ2N2KFsiKIa6+jW08Cg5In6yQ5BkIKUJPtU?=
 =?us-ascii?Q?iOhhjJ5rx8Bc7syFfG3hs7gKbdSc3IfHL6R7YdaRfEBwuSPIE5O3KQhZuBZA?=
 =?us-ascii?Q?hGjmf4gt+EV57Y/5v9F4kxTf5OF419Yiis6FlVJMgy2eYPLot3RZxx7Wru/D?=
 =?us-ascii?Q?+JdGEOJw11jlZa7ZRPJezBG13t4KDjrYyOKM8gDhl+VbFJY7Xb2qUHXtkKfU?=
 =?us-ascii?Q?IlCoBFPxhR7LYHZY6MhLemzLYARSeZnJrMgMmOHWoZjrTW3vcbXZ0VjHWp0h?=
 =?us-ascii?Q?Q5+n8oHEOJC0w5TZgMxe4o/4efUWq2MH9ZqlUcap0+e5YCZqFebgzp999REo?=
 =?us-ascii?Q?OCMVUa2E1VQqLQ/qrZptlabeukEMA56+65K7TdJKQn5GzYwYhvaB4cjieRNB?=
 =?us-ascii?Q?mKneitLGYCGWwhwBGIc6WLxh0BuAAk9utYirHRSTww0JNf6KXd/0NyTDTXjj?=
 =?us-ascii?Q?2+huXnnAiCyYOZZ9Tj88rFptuKzJMJuWM4sH72SSTFIcyvdZ8g9Miwcn7AdA?=
 =?us-ascii?Q?RHDW4mOsCrdtHgB8Z8tXzOkoUfRyKJLkaROSg4XH7u1AYrDdD1c66FvS5SB9?=
 =?us-ascii?Q?+V9joEWVKteObVDNMZmxFLAfQp+n50KHRaalwZ1D3GsiGsMt9gIbNKOMcVK1?=
 =?us-ascii?Q?pS1FkNF8Bv8+KelHQw6QOfpMUUhNrEvbvAqY78k9aJNuGskJmWx8En4FO8NG?=
 =?us-ascii?Q?aV89II4YRq2q6Nt3i1Q+7EibrWxsPglJz2VFVYsYEM5plqApxWVhAj2QW8u/?=
 =?us-ascii?Q?G3ZCArpYuGGc64KjxP37v5EJIPMXQvNqfd407wSB?=
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: marvell.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: PH0PR18MB5071.namprd18.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f9969e5a-caed-4ef5-dfdd-08dcc2750139
X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Aug 2024 06:38:16.6676 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 70e1fb47-1155-421d-87fc-2e58f638b6e0
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: NX/nmz8fPZodjIyybzTj8ei7hVv5LfwRqtQcyGsWPSM5MwJbHwn0zGLrnYuSXqrf3LTnMBGNLVZuuVKf0uaw9w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR18MB5101
X-Proofpoint-GUID: Ajfefgw-vrMfkDDdKsSr64oQqrDSudob
X-Proofpoint-ORIG-GUID: Ajfefgw-vrMfkDDdKsSr64oQqrDSudob
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1039,Hydra:6.0.680,FMLib:17.12.28.16
 definitions=2024-08-22_03,2024-08-19_03,2024-05-17_01
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org



> -----Original Message-----
> From: pbhagavatula@marvell.com <pbhagavatula@marvell.com>
> Sent: Friday, August 16, 2024 8:39 PM
> To: Jerin Jacob <jerinj@marvell.com>; Nithin Kumar Dabilpuram
> <ndabilpuram@marvell.com>; Kiran Kumar Kokkilagadda
> <kirankumark@marvell.com>; zhirun.yan@intel.com; Pavan Nikhilesh
> Bhagavatula <pbhagavatula@marvell.com>; Wathsala Vithanage
> <wathsala.vithanage@arm.com>; Bruce Richardson
> <bruce.richardson@intel.com>; Konstantin Ananyev
> <konstantin.v.ananyev@yandex.ru>
> Cc: dev@dpdk.org
> Subject: [PATCH v4 4/5] node: add error stats for ip4 lookup node
>=20
> From: Pavan Nikhilesh <pbhagavatula@marvell.com>
>=20
> Add error counters for ip4 LPM lookup failures in ip4_lookup node.
>=20
> Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
> ---
Acked-by: Kiran Kumar Kokkilagadda <kirankumark@marvell.com>

>  lib/node/ip4_lookup.c      | 9 +++++++++
>  lib/node/ip4_lookup_neon.h | 5 +++++
>  lib/node/ip4_lookup_sse.h  | 6 ++++++
>  lib/node/node_private.h    | 8 ++++++++
>  4 files changed, 28 insertions(+)
>=20
> diff --git a/lib/node/ip4_lookup.c b/lib/node/ip4_lookup.c index
> 18955971f6..5a7921db75 100644
> --- a/lib/node/ip4_lookup.c
> +++ b/lib/node/ip4_lookup.c
> @@ -86,6 +86,7 @@ ip4_lookup_node_process_scalar(struct rte_graph *graph,
> struct rte_node *node,
>  		rc =3D rte_lpm_lookup(lpm, rte_be_to_cpu_32(ipv4_hdr-
> >dst_addr),
>  				    &next_hop);
>  		next_hop =3D (rc =3D=3D 0) ? next_hop : drop_nh;
> +		NODE_INCREMENT_ERROR_ID(node, 0, (rc !=3D 0), 1);
>=20
>  		node_mbuf_priv1(mbuf, dyn)->nh =3D (uint16_t)next_hop;
>  		next_hop =3D next_hop >> 16;
> @@ -219,11 +220,19 @@ ip4_lookup_node_init(const struct rte_graph *graph,
> struct rte_node *node)
>  	return 0;
>  }
>=20
> +static struct rte_node_errors ip4_lookup_errors =3D {
> +	.nb_errors =3D 1,
> +	.err_desc =3D {
> +		[0] =3D "ip4_lookup_error",
> +	},
> +};
> +
>  static struct rte_node_register ip4_lookup_node =3D {
>  	.process =3D ip4_lookup_node_process_scalar,
>  	.name =3D "ip4_lookup",
>=20
>  	.init =3D ip4_lookup_node_init,
> +	.errs =3D &ip4_lookup_errors,
>=20
>  	.nb_edges =3D RTE_NODE_IP4_LOOKUP_NEXT_PKT_DROP + 1,
>  	.next_nodes =3D {
> diff --git a/lib/node/ip4_lookup_neon.h b/lib/node/ip4_lookup_neon.h inde=
x
> d5c8da3719..907c7c955a 100644
> --- a/lib/node/ip4_lookup_neon.h
> +++ b/lib/node/ip4_lookup_neon.h
> @@ -116,6 +116,10 @@ ip4_lookup_node_process_vec(struct rte_graph *graph,
> struct rte_node *node,
>  		priv01.u16[4] =3D result.u16[2];
>  		priv23.u16[0] =3D result.u16[4];
>  		priv23.u16[4] =3D result.u16[6];
> +		NODE_INCREMENT_ERROR_ID(node, 0, result.u16[1] =3D=3D
> (drop_nh >> 16), 1);
> +		NODE_INCREMENT_ERROR_ID(node, 0, result.u16[3] =3D=3D
> (drop_nh >> 16), 1);
> +		NODE_INCREMENT_ERROR_ID(node, 0, result.u16[5] =3D=3D
> (drop_nh >> 16), 1);
> +		NODE_INCREMENT_ERROR_ID(node, 0, result.u16[7] =3D=3D
> (drop_nh >> 16),
> +1);
>=20
>  		node_mbuf_priv1(mbuf0, dyn)->u =3D priv01.u64[0];
>  		node_mbuf_priv1(mbuf1, dyn)->u =3D priv01.u64[1]; @@ -202,6
> +206,7 @@ ip4_lookup_node_process_vec(struct rte_graph *graph, struct
> rte_node *node,
>  				    &next_hop);
>  		next_hop =3D (rc =3D=3D 0) ? next_hop : drop_nh;
>=20
> +		NODE_INCREMENT_ERROR_ID(node, 0, (rc !=3D 0), 1);
>  		node_mbuf_priv1(mbuf0, dyn)->nh =3D (uint16_t)next_hop;
>  		next_hop =3D next_hop >> 16;
>  		next0 =3D (uint16_t)next_hop;
> diff --git a/lib/node/ip4_lookup_sse.h b/lib/node/ip4_lookup_sse.h index
> 74dbf97533..a38131e629 100644
> --- a/lib/node/ip4_lookup_sse.h
> +++ b/lib/node/ip4_lookup_sse.h
> @@ -115,6 +115,11 @@ ip4_lookup_node_process_vec(struct rte_graph *graph,
> struct rte_node *node,
>  		/* Perform LPM lookup to get NH and next node */
>  		rte_lpm_lookupx4(lpm, dip, dst.u32, drop_nh);
>=20
> +		NODE_INCREMENT_ERROR_ID(node, 0, dst.u16[1] =3D=3D (drop_nh
> >> 16), 1);
> +		NODE_INCREMENT_ERROR_ID(node, 0, dst.u16[3] =3D=3D (drop_nh
> >> 16), 1);
> +		NODE_INCREMENT_ERROR_ID(node, 0, dst.u16[5] =3D=3D (drop_nh
> >> 16), 1);
> +		NODE_INCREMENT_ERROR_ID(node, 0, dst.u16[7] =3D=3D (drop_nh
> >> 16), 1);
> +
>  		/* Extract next node id and NH */
>  		node_mbuf_priv1(mbuf0, dyn)->nh =3D dst.u32[0] & 0xFFFF;
>  		next0 =3D (dst.u32[0] >> 16);
> @@ -206,6 +211,7 @@ ip4_lookup_node_process_vec(struct rte_graph *graph,
> struct rte_node *node,
>  		rc =3D rte_lpm_lookup(lpm, rte_be_to_cpu_32(ipv4_hdr-
> >dst_addr),
>  				    &next_hop);
>  		next_hop =3D (rc =3D=3D 0) ? next_hop : drop_nh;
> +		NODE_INCREMENT_ERROR_ID(node, 0, rc !=3D 0, 1);
>=20
>  		node_mbuf_priv1(mbuf0, dyn)->nh =3D next_hop & 0xFFFF;
>  		next0 =3D (next_hop >> 16);
> diff --git a/lib/node/node_private.h b/lib/node/node_private.h index
> 1de7306792..36b2a733db 100644
> --- a/lib/node/node_private.h
> +++ b/lib/node/node_private.h
> @@ -12,6 +12,8 @@
>  #include <rte_mbuf.h>
>  #include <rte_mbuf_dyn.h>
>=20
> +#include <rte_graph_worker_common.h>
> +
>  extern int rte_node_logtype;
>  #define RTE_LOGTYPE_NODE rte_node_logtype
>=20
> @@ -88,4 +90,10 @@ node_mbuf_priv2(struct rte_mbuf *m)
>  	return (struct node_mbuf_priv2 *)rte_mbuf_to_priv(m);  }
>=20
> +#define NODE_INCREMENT_ERROR_ID(node, id, cond, cnt)
> \
> +	{                                                                      =
                    \
> +		if (unlikely(rte_graph_has_stats_feature() && (cond)))
> \
> +			((uint64_t *)RTE_PTR_ADD(node, node->err_off))[id] +=3D
> (cnt);               \
> +	}
> +
>  #endif /* __NODE_PRIVATE_H__ */
> --
> 2.25.1