From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 576F442BE2; Tue, 30 May 2023 12:52:09 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id EBB4840A82; Tue, 30 May 2023 12:52:08 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by mails.dpdk.org (Postfix) with ESMTP id ECB1C406BC for ; Tue, 30 May 2023 12:52:06 +0200 (CEST) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 34U5jKTm014727 for ; Tue, 30 May 2023 03:52:06 -0700 Received: from nam12-bn8-obe.outbound.protection.outlook.com (mail-bn8nam12lp2172.outbound.protection.outlook.com [104.47.55.172]) by mx0b-0016f401.pphosted.com (PPS) with ESMTPS id 3quhcm7xn4-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Tue, 30 May 2023 03:52:01 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kxqNT5qAQdlppR1TJFKi5qp4HOxg4/HKHrFPDew6XOr+vZOeVCdap1PUIc8nMIfbtxIquEJllfCzpFoeEjh1jN+aIIVClxdDG2TwuX5hMgF5z7YgiAUMGDfa3Tpj5DFvg5R2UeYXKoiGLHy6Vagq6gBCju/Ns/LPqLESOzlvIZj04Gm+0i/8TVloha5vryCvOJtoU46/JKObDLjbuWonEOAv8MrH/EeZzwLNEZ2FjYNy6KegXf+tcRX2IZhU8D9n0mopODvCPz5N7hUFDPRZk5sl09RbU25o1yxKFHmPyi7rQrGX9wnc9h3xP1+xCJO99GRgIJ8oNJ1VykgllA0OYg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=qKsmaSCNxwilk44aMUnKs/f2R4IZL6elMITbQiy5WHs=; b=MmdnqBZxf6jeedzZGDdKIHT0a0alPBsHecLRmbx0HTGEjA6+xL29Xxkh4DXDjj6Q8EYDOturalaKlo2n9zZuiz7f4GIyZPJft3Xd2ehdeVLkQHPjJpzwEkLLmMA/cRFgcyBMoSmFZ0XipDmIEmX73v2OIx9Mm2wsW6PK8X/lJpXSacvJMw9ddMfdbUmlWzO3GAMl/7dlhWsMJ/X+Kf3gKL3x2AbbI5q3/ExBsPYDh2oCSR7vktUlc8d+8dcR0DSz6ScBUu02Bhxpc8WpSQzwWvZkv4N0arUtFYeu5wwQx7oElxtDdTYu7q0G0v6bXlHpWjnW6AHi8ew65XAhsXjNqg== 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.onmicrosoft.com; s=selector1-marvell-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=qKsmaSCNxwilk44aMUnKs/f2R4IZL6elMITbQiy5WHs=; b=H4qqkyCWQdYczKI3VRBMYmkCvMukg1K/6glRsiiRAr9ilv44tl4xEgSNEbnCAlegDzDmFlh+yIOAr6uULny+oDG/3DmqEg4KH7Pu2gvYe9/jyaKvnWGcyB+sOOinOfo6+EthU9l+2R7Hg9CA5euPULzVu2OvgJdhHS6Z7oSBytc= Received: from PH0PR18MB5167.namprd18.prod.outlook.com (2603:10b6:510:168::7) by DM4PR18MB5145.namprd18.prod.outlook.com (2603:10b6:8:50::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6433.23; Tue, 30 May 2023 10:51:14 +0000 Received: from PH0PR18MB5167.namprd18.prod.outlook.com ([fe80::75fe:8527:aaf:bbda]) by PH0PR18MB5167.namprd18.prod.outlook.com ([fe80::75fe:8527:aaf:bbda%7]) with mapi id 15.20.6455.020; Tue, 30 May 2023 10:51:14 +0000 From: Amit Prakash Shukla To: Pavan Nikhilesh Bhagavatula , Jerin Jacob Kollanukkaran CC: "dev@dpdk.org" , Pavan Nikhilesh Bhagavatula Subject: RE: [EXT] [PATCH v3 2/2] test: add reassembly perf test Thread-Topic: [EXT] [PATCH v3 2/2] test: add reassembly perf test Thread-Index: AQHZkj2cnmi3/hXrDEyv4du1wvtpDq9yd9uA Date: Tue, 30 May 2023 10:51:14 +0000 Message-ID: References: <20230523143921.7420-1-pbhagavatula@marvell.com> <20230529145502.11805-1-pbhagavatula@marvell.com> <20230529145502.11805-2-pbhagavatula@marvell.com> In-Reply-To: <20230529145502.11805-2-pbhagavatula@marvell.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-dg-ref: =?us-ascii?Q?PG1ldGE+PGF0IG5tPSJib2R5LnR4dCIgcD0iYzpcdXNlcnNcYW1pdHByYWth?= =?us-ascii?Q?c2hzXGFwcGRhdGFccm9hbWluZ1wwOWQ4NDliNi0zMmQzLTRhNDAtODVlZS02?= =?us-ascii?Q?Yjg0YmEyOWUzNWJcbXNnc1xtc2ctZTMzOGZhMzAtZmVkNy0xMWVkLWI2ZDUt?= =?us-ascii?Q?MDBlMDRjY2FkNzJiXGFtZS10ZXN0XGUzMzhmYTMxLWZlZDctMTFlZC1iNmQ1?= =?us-ascii?Q?LTAwZTA0Y2NhZDcyYmJvZHkudHh0IiBzej0iNzk3MCIgdD0iMTMzMjk5MTc0?= =?us-ascii?Q?NzEzMTU3NDMzIiBoPSJTK0VhTThEbnJQMW5RZEp6VTQ4VHhRaDluSnM9IiBp?= =?us-ascii?Q?ZD0iIiBibD0iMCIgYm89IjEiIGNpPSJjQUFBQUVSSFUxUlNSVUZOQ2dVQUFO?= =?us-ascii?Q?NFBBQUE1WjZHbDVKTFpBYWRHbDRWVDIxdTNwMGFYaFZQYlc3Y1pBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBSEFBQUFCdUR3QUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBRUFBUUVCQUFBQUk3cVRwQUNBQVFBQUFBQUFBQUFBQUo0QUFBQmhB?= =?us-ascii?Q?R1FBWkFCeUFHVUFjd0J6QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFFQUFBQUFBQUFBQWdBQUFBQUFuZ0FBQUdNQWRRQnpBSFFBYndCdEFG?= =?us-ascii?Q?OEFjQUJsQUhJQWN3QnZBRzRBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUUFBQUFBQUFB?= =?us-ascii?Q?QUNBQUFBQUFDZUFBQUFZd0IxQUhNQWRBQnZBRzBBWHdCd0FHZ0Fid0J1QUdV?= =?us-ascii?Q?QWJnQjFBRzBBWWdCbEFISUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFCQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFJQUFBQUFBSjRBQUFC?= =?us-ascii?Q?akFIVUFjd0IwQUc4QWJRQmZBSE1BY3dCdUFGOEFaQUJoQUhNQWFBQmZBSFlB?= =?us-ascii?Q?TUFBeUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= x-dg-refone: =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUVBQUFBQUFBQUFBZ0FBQUFBQW5n?= =?us-ascii?Q?QUFBR01BZFFCekFIUUFid0J0QUY4QWN3QnpBRzRBWHdCckFHVUFlUUIzQUc4?= =?us-ascii?Q?QWNnQmtBSE1BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFRQUFBQUFBQUFBQ0FBQUFBQUNlQUFBQVl3QjFBSE1BZEFC?= =?us-ascii?Q?dkFHMEFYd0J6QUhNQWJnQmZBRzRBYndCa0FHVUFiQUJwQUcwQWFRQjBBR1VB?= =?us-ascii?Q?Y2dCZkFIWUFNQUF5QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQUFB?= =?us-ascii?Q?QUFBQUFBQUlBQUFBQUFKNEFBQUJqQUhVQWN3QjBBRzhBYlFCZkFITUFjd0J1?= =?us-ascii?Q?QUY4QWN3QndBR0VBWXdCbEFGOEFkZ0F3QURJQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRUFBQUFBQUFBQUFnQUFBQUFB?= =?us-ascii?Q?bmdBQUFHUUFiQUJ3QUY4QWN3QnJBSGtBY0FCbEFGOEFZd0JvQUdFQWRBQmZB?= =?us-ascii?Q?RzBBWlFCekFITUFZUUJuQUdVQVh3QjJBREFBTWdBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQVFBQUFBQUFBQUFDQUFBQUFBQ2VBQUFBWkFCc0FIQUFY?= =?us-ascii?Q?d0J6QUd3QVlRQmpBR3NBWHdCakFHZ0FZUUIwQUY4QWJRQmxBSE1BY3dCaEFH?= =?us-ascii?Q?Y0FaUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= x-dg-reftwo: =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUJBQUFBQUFBQUFBSUFBQUFBQUo0QUFBQmtBR3dB?= =?us-ascii?Q?Y0FCZkFIUUFaUUJoQUcwQWN3QmZBRzhBYmdCbEFHUUFjZ0JwQUhZQVpRQmZB?= =?us-ascii?Q?R1lBYVFCc0FHVUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFFQUFBQUFBQUFBQWdBQUFBQUFuZ0FBQUdVQWJRQmhBR2tBYkFCZkFHRUFa?= =?us-ascii?Q?QUJrQUhJQVpRQnpBSE1BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUNRQUFBQUFBQUFBQUFBQUFBUUFBQUFBQUFBQUNB?= =?us-ascii?Q?QUFBQUFDZUFBQUFiUUJoQUhJQWRnQmxBR3dBWHdCd0FISUFid0JxQUdVQVl3?= =?us-ascii?Q?QjBBRjhBYmdCaEFHMEFaUUJ6QUY4QVl3QnZBRzRBWmdCcEFHUUFaUUJ1QUhR?= =?us-ascii?Q?QWFRQmhBR3dBWHdCaEFHd0Fid0J1QUdVQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFJQUFBQUFBSjRBQUFCdEFH?= =?us-ascii?Q?RUFjZ0IyQUdVQWJBQmZBSEFBY2dCdkFHb0FaUUJqQUhRQVh3QnVBR0VBYlFC?= =?us-ascii?Q?bEFITUFYd0J5QUdVQWN3QjBBSElBYVFCakFIUUFaUUJrQUY4QVlRQnNBRzhB?= =?us-ascii?Q?YmdCbEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUVBQUFBQUFBQUFBZ0FBQUFBQW5nQUFBRzBBWVFCeUFIWUFaUUJzQUY4?= =?us-ascii?Q?QWNBQnlBRzhBYWdCbEFHTUFkQUJmQUc0QVlRQnRBR1VBY3dCZkFISUFaUUJ6?= =?us-ascii?Q?QUhRQWNnQnBBR01BZEFCbEFHUUFYd0JvQUdVQWVBQmpBRzhBWkFCbEFITUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFRQUFBQUFBQUFB?= =?us-ascii?Q?Q0FBQUFBQUNlQUFBQWJRQmhBSElBZGdCbEFHd0FiQUJmQUdFQWNnQnRBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= x-dg-rorf: true x-dg-refthree: =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQUFBQUFB?= =?us-ascii?Q?QUFBQUlBQUFBQUFKNEFBQUJ0QUdFQWNnQjJBR1VBYkFCc0FGOEFad0J2QUc4?= =?us-ascii?Q?QVp3QnNBR1VBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRUFBQUFBQUFBQUFnQUFBQUFBbmdB?= =?us-ascii?Q?QUFHMEFZUUJ5QUhZQVpRQnNBR3dBWHdCd0FISUFid0JxQUdVQVl3QjBBRjhB?= =?us-ascii?Q?WXdCdkFHUUFaUUJ6QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQVFBQUFBQUFBQUFDQUFBQUFBQ2VBQUFBYlFCaEFISUFkZ0Js?= =?us-ascii?Q?QUd3QWJBQmZBSEFBY2dCdkFHb0FaUUJqQUhRQVh3QmpBRzhBWkFCbEFITUFY?= =?us-ascii?Q?d0JrQUdrQVl3QjBBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJBQUFB?= =?us-ascii?Q?QUFBQUFBSUFBQUFBQUo0QUFBQnRBR0VBY2dCMkFHVUFiQUJzQUY4QWNBQnlB?= =?us-ascii?Q?RzhBYWdCbEFHTUFkQUJmQUc0QVlRQnRBR1VBY3dCZkFHTUFid0J1QUdZQWFR?= =?us-ascii?Q?QmtBR1VBYmdCMEFHa0FZUUJzQUY4QWJRQmhBSElBZGdCbEFHd0FiQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFQUFBQUFBQUFBQWdBQUFBQUFu?= =?us-ascii?Q?Z0FBQUcwQVlRQnlBSFlBWlFCc0FHd0FYd0J3QUhJQWJ3QnFBR1VBWXdCMEFG?= =?us-ascii?Q?OEFiZ0JoQUcwQVpRQnpBRjhBWXdCdkFHNEFaZ0JwQUdRQVpRQnVBSFFBYVFC?= =?us-ascii?Q?aEFHd0FYd0J0QUdFQWNnQjJBR1VBYkFCc0FGOEFid0J5QUY4QVlRQnlBRzBB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= x-dg-reffour: =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUUFBQUFBQUFBQUNBQUFB?= =?us-ascii?Q?QUFDZUFBQUFiUUJoQUhJQWRnQmxBR3dBYkFCZkFIQUFjZ0J2QUdvQVpRQmpB?= =?us-ascii?Q?SFFBWHdCdUFHRUFiUUJsQUhNQVh3QmpBRzhBYmdCbUFHa0FaQUJsQUc0QWRB?= =?us-ascii?Q?QnBBR0VBYkFCZkFHMEFZUUJ5QUhZQVpRQnNBR3dBWHdCdkFISUFYd0JuQUc4?= =?us-ascii?Q?QWJ3Qm5BR3dBWlFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFJQUFBQUFBSjRBQUFCdEFHRUFj?= =?us-ascii?Q?Z0IyQUdVQWJBQnNBRjhBY0FCeUFHOEFhZ0JsQUdNQWRBQmZBRzRBWVFCdEFH?= =?us-ascii?Q?VUFjd0JmQUhJQVpRQnpBSFFBY2dCcEFHTUFkQUJsQUdRQVh3QnRBR0VBY2dC?= =?us-ascii?Q?MkFHVUFiQUJzQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUVBQUFBQUFBQUFBZ0FBQUFBQW5nQUFBRzBBWVFCeUFIWUFaUUJzQUd3QVh3?= =?us-ascii?Q?QndBSElBYndCcUFHVUFZd0IwQUY4QWJnQmhBRzBBWlFCekFGOEFjZ0JsQUhN?= =?us-ascii?Q?QWRBQnlBR2tBWXdCMEFHVUFaQUJmQUcwQVlRQnlBSFlBWlFCc0FHd0FYd0J2?= =?us-ascii?Q?QUhJQVh3QmhBSElBYlFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFRQUFBQUFBQUFBQ0FB?= =?us-ascii?Q?QUFBQUNlQUFBQWJRQmhBSElBZGdCbEFHd0FiQUJmQUhRQVpRQnlBRzBBYVFC?= =?us-ascii?Q?dUFIVUFjd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFCQUFBQUFBQUFBQUlBQUFBQUFKNEFBQUJ0QUdF?= =?us-ascii?Q?QWNnQjJBR1VBYkFCc0FGOEFkd0J2QUhJQVpBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBRUFBQUFBQUFBQUFnQUFBQUFBIi8+PC9tZXRhPg=3D=3D?= x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PH0PR18MB5167:EE_|DM4PR18MB5145:EE_ x-ms-office365-filtering-correlation-id: d9bc55e0-0af5-41c5-f5d4-08db60fbc9c8 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: QTIdF1oC8RNDCeY2UwXRLYhHQcrzNWtpV//jDyIsZQ04NVd/LBzs6ocBijSbdYRODRK6mzbbFhYexROuPtdW+H9eWJop4kmHj3tRPhFH83c5Ue3bHCxcsxYOFi35NG6vKxme7tXRcy6ZV0hGaps9JhjKWauYfaWPkiRGFy3dTn49S/SrdipOT1zbJw7Y/KvEXhKZpFmfzFWfhajRACjg63qss/EIz2gyvsFGBqbGTxnzl/Q408NGdBcLujsOGwdJcWdnb9Pd+7tPJpAEABoxqELBvsD+dxrEjnavA2wQLpF7URZii8ygWokf4vSfDhCMp0vjG50Cpz3gbdOO5/ET/DCR088etFynoyjQf/kET9Brn6LzL2fuIJVSZvzRv85XryzP4rO4K8a1/28Q1q2ArCfdbwvXVLHldjN4EOBTgzuHYZuGfCi8W7HdihZq+i1Hf9ciKFI7wgRHmEmlstWAzsa/3lOscoy6PYJxjsddmlJqHnkaxnMdBi9jQsaWFDfzn36nLOpIBOgN/2yhR+4Lpb2wn6k7TzEyZ3fp8v1hRJNAhVaogirXEo+3eXrDamad7ATaAxdGwQq3CpTOGsVAJAblHJTqt45VORnCDx4QG2OyeWO+WzAxHtFPpi8BG0J2 x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH0PR18MB5167.namprd18.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(4636009)(346002)(366004)(39860400002)(396003)(376002)(136003)(451199021)(55016003)(107886003)(26005)(53546011)(9686003)(6506007)(41300700001)(186003)(83380400001)(316002)(66446008)(64756008)(66946007)(66556008)(76116006)(6636002)(66476007)(8676002)(5660300002)(8936002)(52536014)(4326008)(478600001)(54906003)(110136005)(86362001)(33656002)(38070700005)(122000001)(38100700002)(7696005)(71200400001)(2906002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?R9h284DdGBS+L6QNRcj+jHMAANvGQJO979o9WvzA+UB4eM0tgTF6hUD8Xotd?= =?us-ascii?Q?/b3vbt/r1nDSAZ817XeAVRcGlRHiqEKA2Avb4UsC7u9Y5iv5ZFMJW8lmobtl?= =?us-ascii?Q?9fhe43yH+oYzP+S8tuXmG0ErTBKlQ360apPbubLKCRwAr9ZPgwVNqjg3EAvc?= =?us-ascii?Q?Cqt93JhBxyi80q1kZP6EI7BzjrGw5Rh23XKOsV7cM9ax/R7fCaB7X/q/zmQ5?= =?us-ascii?Q?G9bZYf2svGgtYBaaowcU5/Vp5TtvuAiwk7IDfTyaK6ffABUgdC+/Tl1O7c2d?= =?us-ascii?Q?AbCzAPCnoGqsSvrAYLa82hRTXmZZBxbeUDS10YxKOZPjYQ5yYjzJtPVTtivO?= =?us-ascii?Q?Trar7aqJpBPjuxyzgUHB62jKRuggT4fEljqDJ5tw+TGA6mcBRZ5pKWq7pnsC?= =?us-ascii?Q?eLaREbM5bkZE8sfgP2xoKlCACOA8mDlBdvEKMQpZQ9FHvyP2TMaS8J/RbkK1?= =?us-ascii?Q?/T2fRmeUT/pKbaLqB3VFOEWriwFsMvqJ4vx3qG2Zzf0F8aLqItEGjcvkYobC?= =?us-ascii?Q?hZGRWUZAhj1VkDLoUZhcDZD49BEi9Vu3A056/RJATkmX4aJk3ZmC4gNRKcD/?= =?us-ascii?Q?2UvRkOqgVF+1PgmM33Ei04TmjLC+ClwoHeNuSIRP81NU4kBDIMn20wMP/eVI?= =?us-ascii?Q?9eZhI3aZYNWO6ib3kPVxQAIJfxCwk0zBAUeiK3DJtbyTFgH73nevKo7DNhSo?= =?us-ascii?Q?q+Chvjr5dAMmrmCmEdXmaGSC1mmPEaQdwl3oGOJqbHmX8E1SkoXcsosQmdxF?= =?us-ascii?Q?KPgr8t6O+LCgTch7CLXS+DvYSpEZdoxKKaxRr/IGKi0VerXQfAUOJpN+D5WW?= =?us-ascii?Q?nwnejUHh/YgSfVFk6GgYAspAvS3tPuDvSH9l3kUqh9AdKuKuyj+hEeNrCXu2?= =?us-ascii?Q?YyPLymJN/4uN0XOG33yzL/KkmnxoUlp7tB/dTCph4TnlT2LEAuqHDHlQRqP+?= =?us-ascii?Q?1A05LOhSum+I6uRwX88ydXw9p9O4/7+yOY5udLUxEYCN7pNKGzDjU/QxFZUj?= =?us-ascii?Q?7SbmkhhPHidwgWHqQoP04lOaj6LM0nZadrSu+K9YuPlbj2i3KVzsqoxh6jjX?= =?us-ascii?Q?UKHINtnOiLteV8v23t9mtwZZjCnSuXhpK8vYpMbl+IxXwrB3LcpwS991uqF0?= =?us-ascii?Q?c3YyoSfqtd+8JfO/fP5XeJAVtNm1ATfjio7IevQ4cK7rVIJ/9UeMgzRMe3ql?= =?us-ascii?Q?7bWI+0+yl0gX7zWPqHYNOEvhjT5ZhlC87YB9amRV7sSh9/dhj+JkWU4nLSGY?= =?us-ascii?Q?rPXnwW8qL6yDr8nN4zi13nzQot32+kFRFdlEqg89lC7EIOW9t6GBibXBPUZQ?= =?us-ascii?Q?A+JM+P/KOqFGiLlJwkACBFL2B+hNvAmV67Op08z63jSkvboH1rzl8ONP+GLY?= =?us-ascii?Q?ohDZN2hU0purJppH+0kDm7PYm07buMFOWslchWDzYVok28OsqDMK441rwqrR?= =?us-ascii?Q?Vg/8Kzk5bxgjol1KXbcmUS8fEjPfxluVjjRb/uIsZPrgHFXiXKXmS/An1219?= =?us-ascii?Q?Ec6fBcuWoo+PVGuCs0FLJw/EINwPlRbQZf6afg7bHsZvZAA7g22tUjnh/P4E?= =?us-ascii?Q?CeN23eYaOcEgVxQQLyaMeglIcgXvuiDmsJR54wFO?= 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: PH0PR18MB5167.namprd18.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: d9bc55e0-0af5-41c5-f5d4-08db60fbc9c8 X-MS-Exchange-CrossTenant-originalarrivaltime: 30 May 2023 10:51:14.1245 (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: 9z5LmP0MDIOC5dxU4LAtWJudnYBgXgIP/k1CVtRJRxrTz9zjBWkXr1L/5E9bnAxvkNc3iWAZuGPaB2bYEZgfCNc6VAPzmxbonsw87MShhaU= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR18MB5145 X-Proofpoint-GUID: R3XnrFdwGUOhpJU46ZpepLyBNlTkHqDe X-Proofpoint-ORIG-GUID: R3XnrFdwGUOhpJU46ZpepLyBNlTkHqDe X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.573,FMLib:17.11.176.26 definitions=2023-05-30_07,2023-05-30_01,2023-05-22_02 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 > -----Original Message----- > From: pbhagavatula@marvell.com > Sent: Monday, May 29, 2023 8:25 PM > To: Jerin Jacob Kollanukkaran > Cc: dev@dpdk.org; Pavan Nikhilesh Bhagavatula > > Subject: [EXT] [PATCH v3 2/2] test: add reassembly perf test >=20 > External Email >=20 > ---------------------------------------------------------------------- > From: Pavan Nikhilesh >=20 > Add reassembly perf autotest for both ipv4 and ipv6 reassembly. > Each test is performed with variable number of fragments per flow, either > ordered or unordered fragments and interleaved flows. >=20 > Signed-off-by: Pavan Nikhilesh > --- > app/test/meson.build | 2 + > app/test/test_reassembly_perf.c | 1001 > +++++++++++++++++++++++++++++++ > 2 files changed, 1003 insertions(+) > create mode 100644 app/test/test_reassembly_perf.c >=20 > diff --git a/app/test/meson.build b/app/test/meson.build index > d96ae7a961..70f320f388 100644 > --- a/app/test/meson.build > +++ b/app/test/meson.build > @@ -108,6 +108,7 @@ test_sources =3D files( > 'test_rawdev.c', > 'test_rcu_qsbr.c', > 'test_rcu_qsbr_perf.c', > + 'test_reassembly_perf.c', > 'test_reciprocal_division.c', > 'test_reciprocal_division_perf.c', > 'test_red.c', > @@ -297,6 +298,7 @@ perf_test_names =3D [ > 'trace_perf_autotest', > 'ipsec_perf_autotest', > 'thash_perf_autotest', > + 'reassembly_perf_autotest', > ] >=20 > driver_test_names =3D [ > diff --git a/app/test/test_reassembly_perf.c > b/app/test/test_reassembly_perf.c new file mode 100644 index > 0000000000..850485a9c5 > --- /dev/null > +++ b/app/test/test_reassembly_perf.c > @@ -0,0 +1,1001 @@ > +/* SPDX-License-Identifier: BSD-3-Clause > + * Copyright(c) 2023 Marvell. > + */ > + > +#include > +#include > +#include > +#include > +#include > +#include > +#include > +#include > +#include > +#include > +#include > + > +#include "test.h" > + > +#define MAX_FLOWS (1024 * 32) > +#define MAX_BKTS MAX_FLOWS > +#define MAX_ENTRIES_PER_BKT 16 > +#define MAX_FRAGMENTS RTE_LIBRTE_IP_FRAG_MAX_FRAG > +#define MIN_FRAGMENTS 2 > +#define MAX_PKTS (MAX_FLOWS * MAX_FRAGMENTS) > + > +#define MAX_PKT_LEN 2048 > +#define MAX_TTL_MS (5 * MS_PER_S) > + > +/* use RFC863 Discard Protocol */ > +#define UDP_SRC_PORT 9 > +#define UDP_DST_PORT 9 > + > +/* use RFC5735 / RFC2544 reserved network test addresses */ #define > +IP_SRC_ADDR(x) ((198U << 24) | (18 << 16) | (0 << 8) | (x)) #define > +IP_DST_ADDR(x) ((198U << 24) | (18 << 16) | (1 << 8) | (x)) > + > +/* 2001:0200::/48 is IANA reserved range for IPv6 benchmarking > +(RFC5180) */ static uint8_t ip6_addr[16] =3D {32, 1, 2, 0, 0, 0, 0, 0, 0= , > +0, 0, 0, 0, 0, 0, 0}; #define IP6_VERSION 6 > + > +#define IP_DEFTTL 64 /* from RFC 1340. */ > + > +static struct rte_ip_frag_tbl *frag_tbl; static struct rte_mempool > +*pkt_pool; static struct rte_mbuf > *mbufs[MAX_FLOWS][MAX_FRAGMENTS]; > +static uint8_t frag_per_flow[MAX_FLOWS]; static uint32_t flow_cnt; > + > +#define FILL_MODE_LINEAR 0 > +#define FILL_MODE_RANDOM 1 > +#define FILL_MODE_INTERLEAVED 2 > + > +static int > +reassembly_test_setup(void) > +{ > + uint64_t max_ttl_cyc =3D (MAX_TTL_MS * rte_get_timer_hz()) / 1E3; > + > + frag_tbl =3D rte_ip_frag_table_create(MAX_FLOWS, I see MAX_BKTS and MAX_FLOWS are same in this application. Just for code re= adability please use MAX_BKTS. > MAX_ENTRIES_PER_BKT, > + MAX_FLOWS * > MAX_ENTRIES_PER_BKT, > + max_ttl_cyc, rte_socket_id()); > + if (frag_tbl =3D=3D NULL) > + return TEST_FAILED; > + > + rte_mbuf_set_user_mempool_ops("ring_mp_mc"); > + pkt_pool =3D rte_pktmbuf_pool_create( > + "reassembly_perf_pool", MAX_FLOWS * MAX_FRAGMENTS, > 0, 0, > + RTE_MBUF_DEFAULT_BUF_SIZE, rte_socket_id()); > + if (pkt_pool =3D=3D NULL) { > + printf("[%s] Failed to create pkt pool\n", __func__); > + rte_ip_frag_table_destroy(frag_tbl); > + return TEST_FAILED; > + } > + > + return TEST_SUCCESS; > +} > + > +static void > +reassembly_test_teardown(void) > +{ > + if (frag_tbl !=3D NULL) > + rte_ip_frag_table_destroy(frag_tbl); > + > + if (pkt_pool !=3D NULL) > + rte_mempool_free(pkt_pool); > +} > + > +static void > +ipv4_frag_fill_data(struct rte_mbuf **mbuf, uint8_t nb_frags, uint32_t > flow_id, > + uint8_t fill_mode) > +{ > + struct rte_ether_hdr *eth_hdr; > + struct rte_ipv4_hdr *ip_hdr; > + struct rte_udp_hdr *udp_hdr; > + uint16_t frag_len; > + uint8_t i; > + > + frag_len =3D MAX_PKT_LEN / nb_frags; > + if (frag_len % 8) > + frag_len =3D RTE_ALIGN_MUL_CEIL(frag_len, 8); > + > + for (i =3D 0; i < nb_frags; i++) { > + struct rte_mbuf *frag =3D mbuf[i]; > + uint16_t frag_offset =3D 0; > + uint32_t ip_cksum; > + uint16_t pkt_len; > + uint16_t *ptr16; > + > + frag_offset =3D i * (frag_len / 8); > + > + if (i =3D=3D nb_frags - 1) > + frag_len =3D MAX_PKT_LEN - (frag_len * (nb_frags - > 1)); > + else > + frag_offset |=3D RTE_IPV4_HDR_MF_FLAG; > + > + rte_pktmbuf_reset_headroom(frag); > + eth_hdr =3D rte_pktmbuf_mtod(frag, struct rte_ether_hdr *); > + ip_hdr =3D rte_pktmbuf_mtod_offset(frag, struct rte_ipv4_hdr > *, > + sizeof(struct > rte_ether_hdr)); > + udp_hdr =3D rte_pktmbuf_mtod_offset( > + frag, struct rte_udp_hdr *, > + sizeof(struct rte_ether_hdr) + > + sizeof(struct rte_ipv4_hdr)); > + > + rte_ether_unformat_addr("02:00:00:00:00:01", > + ð_hdr->dst_addr); > + rte_ether_unformat_addr("02:00:00:00:00:00", > + ð_hdr->src_addr); > + eth_hdr->ether_type =3D > rte_cpu_to_be_16(RTE_ETHER_TYPE_IPV4); > + > + pkt_len =3D frag_len; > + /* > + * Initialize UDP header. > + */ > + if (i =3D=3D 0) { > + udp_hdr->src_port =3D > rte_cpu_to_be_16(UDP_SRC_PORT); > + udp_hdr->dst_port =3D > rte_cpu_to_be_16(UDP_DST_PORT); > + udp_hdr->dgram_len =3D rte_cpu_to_be_16(pkt_len); > + udp_hdr->dgram_cksum =3D 0; /* No UDP checksum. > */ > + } > + > + /* > + * Initialize IP header. > + */ > + pkt_len =3D (uint16_t)(pkt_len + sizeof(struct rte_ipv4_hdr)); > + ip_hdr->version_ihl =3D RTE_IPV4_VHL_DEF; > + ip_hdr->type_of_service =3D 0; > + ip_hdr->fragment_offset =3D rte_cpu_to_be_16(frag_offset); > + ip_hdr->time_to_live =3D IP_DEFTTL; > + ip_hdr->next_proto_id =3D IPPROTO_UDP; > + ip_hdr->packet_id =3D > + rte_cpu_to_be_16((flow_id + 1) % UINT16_MAX); > + ip_hdr->total_length =3D rte_cpu_to_be_16(pkt_len); > + ip_hdr->src_addr =3D > rte_cpu_to_be_32(IP_SRC_ADDR(flow_id)); > + ip_hdr->dst_addr =3D > rte_cpu_to_be_32(IP_DST_ADDR(flow_id)); Flow_id is 32 bit and max number of flows for this application are 32768. U= sing the flow-id directly for First octet will overwrite even the subsequent octect. It is fine for this = test as benchmark testing subnet Is 198.18.0.0/15 and with 32k flows it is not beaching the network part of = the ip-address, but a comment Will help if anyone tries to increase number of flows in future. > + > + /* > + * Compute IP header checksum. > + */ > + ptr16 =3D (unaligned_uint16_t *)ip_hdr; > + ip_cksum =3D 0; > + ip_cksum +=3D ptr16[0]; > + ip_cksum +=3D ptr16[1]; > + ip_cksum +=3D ptr16[2]; > + ip_cksum +=3D ptr16[3]; > + ip_cksum +=3D ptr16[4]; > + ip_cksum +=3D ptr16[6]; > + ip_cksum +=3D ptr16[7]; > + ip_cksum +=3D ptr16[8]; > + ip_cksum +=3D ptr16[9]; Reviewed-by: Amit Prakash Shukla Tested-by: Amit Prakash Shukla