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 5F2EB42B39; Thu, 18 May 2023 10:13:04 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 3B09C40E25; Thu, 18 May 2023 10:13:04 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by mails.dpdk.org (Postfix) with ESMTP id DD8FC4014F for ; Thu, 18 May 2023 10:13:01 +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 34I7GuR0003572; Thu, 18 May 2023 01:13:01 -0700 Received: from nam11-bn8-obe.outbound.protection.outlook.com (mail-bn8nam11lp2169.outbound.protection.outlook.com [104.47.58.169]) by mx0b-0016f401.pphosted.com (PPS) with ESMTPS id 3qmyexbam1-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 18 May 2023 01:13:00 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=AiVmPP+beQAKw/ckMxvCX3j7ixNKWu+oJPyyTR0ZlCF8BVCkLfWDvOVcqYMXI+1aaaDgtbSuOCq5xK0izawqz0RKWspbEmFG807IDDI7+dkl3L2SYgfVJHQvE3jJ1HpLhGE8VpmXK1Bc7lnRt6RVlyInRkyhGeZLa5AWEwMFipcR4LUpAqloR0+xVn53KOqsug9If2HA5Wm2dNip5pMie24U4aLt9GmUHZ83x/QmLseKvsmtc563dyYYceR8Cktz+MKHi4020k1fxsfSJmiyznCe10thJoK6sA8LCxkESCECum2y6adR9X0vRgkhCEmLZL0gEMx4DaiCRnsnqKc3iA== 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=97ugHDyCvlyzsDLlmgrbrmQRUI29xMRM14BNwxiAWao=; b=HsU0vCW/IGW3TdsEuALydrGjOuEPMyJ0PDuknpSNcoSNG8mwGCX4IolBFC4IdT59W7R7iQXAWEQDvbHXtiRX89FsSXvxnNa9xCiQV4GRQw9OB+kpBCEgEv0W2nIrTd8etB53VEOAYPp82/m1nHkAxG28atFmyGWU4dgmp0LNSjQepivWvgZRf1j34Q1In7JBO54xJtn7TCav3dSldevtPa+ESwAxaTV8AR3yoZMyxZ/ZRGHS1drJblwmpwEveoVy6PurPxQapy0UgQ1I6MrKyzHGEdwGp9QMtlHe/IGf0IOBjSR+dIlEMmgyrVQAaj0EY+hmCnPxlbgMREpWWXYEsg== 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=97ugHDyCvlyzsDLlmgrbrmQRUI29xMRM14BNwxiAWao=; b=J0mLd419WsbQueNe3sIRwZ425GhgnhVXw+iFqxYri97679aHyy1jy1lFwzn3fI7SUHKRx7aNnvX6FwCeFF/Y5hGF5UDAsTi9S/oVc5UgruoU3Dy3H1Z+S78sQRDiG5wqlaG+RVVBYBkEqn+WURKa5o69ZiQk6WaQbKLY09zwTB4= Received: from PH0PR18MB4672.namprd18.prod.outlook.com (2603:10b6:510:c9::16) by BL0PR18MB2178.namprd18.prod.outlook.com (2603:10b6:207:42::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6411.17; Thu, 18 May 2023 08:12:58 +0000 Received: from PH0PR18MB4672.namprd18.prod.outlook.com ([fe80::9225:bda3:4faa:a84b]) by PH0PR18MB4672.namprd18.prod.outlook.com ([fe80::9225:bda3:4faa:a84b%4]) with mapi id 15.20.6411.017; Thu, 18 May 2023 08:12:58 +0000 From: Anoob Joseph To: Akhil Goyal , Thomas Monjalon , Jerin Jacob Kollanukkaran , Konstantin Ananyev , Bernard Iremonger CC: Hemant Agrawal , =?iso-8859-1?Q?Mattias_R=F6nnblom?= , Kiran Kumar Kokkilagadda , Volodymyr Fialko , "dev@dpdk.org" , Olivier Matz Subject: RE: [PATCH v2 04/22] pdcp: add packet group Thread-Topic: [PATCH v2 04/22] pdcp: add packet group Thread-Index: AQHZiA7+0cH+iqchL0WkQsYHPw+ZXa9fqeCA Date: Thu, 18 May 2023 08:12:57 +0000 Message-ID: References: <20221222092522.1628-1-anoobj@marvell.com> <20230414174512.642-1-anoobj@marvell.com> <20230414174512.642-5-anoobj@marvell.com> In-Reply-To: Accept-Language: en-IN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-dg-rorf: true x-dg-ref: =?iso-8859-1?Q?PG1ldGE+PGF0IG5tPSJib2R5LnR4dCIgcD0iYzpcdXNlcnNcYW5vb2JqXG?= =?iso-8859-1?Q?FwcGRhdGFccm9hbWluZ1wwOWQ4NDliNi0zMmQzLTRhNDAtODVlZS02Yjg0?= =?iso-8859-1?Q?YmEyOWUzNWJcbXNnc1xtc2ctYzg0OWIzMGQtZjU1My0xMWVkLTljNTItNG?= =?iso-8859-1?Q?MwMzRmNWY5YjRmXGFtZS10ZXN0XGM4NDliMzBlLWY1NTMtMTFlZC05YzUy?= =?iso-8859-1?Q?LTRjMDM0ZjVmOWI0ZmJvZHkudHh0IiBzej0iNzU0OCIgdD0iMTMzMjg4Nz?= =?iso-8859-1?Q?ExNzIzOTQ3NzE2IiBoPSJNaTlscUJzT2ZHS1RGVjJFSHFGNHNWRXgwY2M9?= =?iso-8859-1?Q?IiBpZD0iIiBibD0iMCIgYm89IjEiIGNpPSJjQUFBQUVSSFUxUlNSVUZOQ2?= =?iso-8859-1?Q?dVQUFNZ01BQURFRnVDS1lJblpBWHBHSVpXNVkxYTlla1lobGJsalZyMFVB?= =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBSEFBQUFCWURBQUFBQUFBQUFBQU?= =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBRUFBUUVCQUFBQTQrVXREQUNBQVFBQUFBQUFBQUFB?= =?iso-8859-1?Q?QUo0QUFBQmhBR1FBWkFCeUFHVUFjd0J6QUFBQUFBQUFBQUFBQUFBQUFBQU?= =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?= =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFFQUFBQUFBQUFBQWdBQUFBQUFuZ0FBQU?= =?iso-8859-1?Q?dNQWRRQnpBSFFBYndCdEFGOEFjQUJsQUhJQWN3QnZBRzRBQUFBQUFBQUFB?= =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?= =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?= =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBUUFBQUFBQUFBQUNBQUFBQUFDZUFBQUFZd0IxQUhN?= =?iso-8859-1?Q?QWRBQnZBRzBBWHdCd0FHZ0Fid0J1QUdVQWJnQjFBRzBBWWdCbEFISUFBQU?= =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?= =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQUFBQUFBQUFB?= =?iso-8859-1?Q?QUFBQUFBQkFBQUFBQUFBQUFJQUFBQUFBSjRBQUFCakFIVUFjd0IwQUc4QW?= =?iso-8859-1?Q?JRQmZBSE1BY3dCdUFGOEFaQUJoQUhNQWFBQmZBSFlBTUFBeUFBQUFBQUFB?= =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFB?= x-dg-refone: =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?= =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUVBQUFBQUFBQUFBZ0FBQUFBQW5nQU?= =?iso-8859-1?Q?FBR01BZFFCekFIUUFid0J0QUY4QWN3QnpBRzRBWHdCckFHVUFlUUIzQUc4?= =?iso-8859-1?Q?QWNnQmtBSE1BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?= =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?= =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFRQUFBQUFBQUFBQ0FBQUFBQUNlQUFBQVl3QjFB?= =?iso-8859-1?Q?SE1BZEFCdkFHMEFYd0J6QUhNQWJnQmZBRzRBYndCa0FHVUFiQUJwQUcwQW?= =?iso-8859-1?Q?FRQjBBR1VBY2dCZkFIWUFNQUF5QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?= =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?iso-8859-1?Q?QUFBQUFBQUFCQUFBQUFBQUFBQUlBQUFBQUFKNEFBQUJqQUhVQWN3QjBBRz?= =?iso-8859-1?Q?hBYlFCZkFITUFjd0J1QUY4QWN3QndBR0VBWXdCbEFGOEFkZ0F3QURJQUFB?= =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?= =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?= =?iso-8859-1?Q?FBRUFBQUFBQUFBQUFnQUFBQUFBbmdBQUFHUUFiQUJ3QUY4QWN3QnJBSGtB?= =?iso-8859-1?Q?Y0FCbEFGOEFZd0JvQUdFQWRBQmZBRzBBWlFCekFITUFZUUJuQUdVQVh3Qj?= =?iso-8859-1?Q?JBREFBTWdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?= =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVFBQUFB?= =?iso-8859-1?Q?QUFBQUFDQUFBQUFBQ2VBQUFBWkFCc0FIQUFYd0J6QUd3QVlRQmpBR3NBWH?= =?iso-8859-1?Q?dCakFHZ0FZUUIwQUY4QWJRQmxBSE1BY3dCaEFHY0FaUUFBQUFBQUFBQUFB?= =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?= =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFB?= x-dg-reftwo: =?iso-8859-1?Q?QUFBQUFBQUFBQUJBQUFBQUFBQUFBSUFBQUFBQUo0QUFBQmtBR3dBY0FCZk?= =?iso-8859-1?Q?FIUUFaUUJoQUcwQWN3QmZBRzhBYmdCbEFHUUFjZ0JwQUhZQVpRQmZBR1lB?= =?iso-8859-1?Q?YVFCc0FHVUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?= =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?= =?iso-8859-1?Q?FBQUFFQUFBQUFBQUFBQWdBQUFBQUFuZ0FBQUdVQWJRQmhBR2tBYkFCZkFH?= =?iso-8859-1?Q?RUFaQUJrQUhJQVpRQnpBSE1BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?= =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?= =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUR3QUFBQUFBQUFBQUFBQUFBUUFB?= =?iso-8859-1?Q?QUFBQUFBQUNBQUFBQUFDZUFBQUFiUUJoQUhJQWRnQmxBR3dBWHdCd0FISU?= =?iso-8859-1?Q?Fid0JxQUdVQVl3QjBBRjhBYmdCaEFHMEFaUUJ6QUY4QWNnQmxBSE1BZEFC?= =?iso-8859-1?Q?eUFHa0FZd0IwQUdVQVpBQmZBR0VBYkFCdkFHNEFaUUFBQUFBQUFBQUFBQU?= =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQU?= =?iso-8859-1?Q?FJQUFBQUFBSjRBQUFCdEFHRUFjZ0IyQUdVQWJBQmZBSEFBY2dCdkFHb0Fa?= =?iso-8859-1?Q?UUJqQUhRQVh3QnVBR0VBYlFCbEFITUFYd0J5QUdVQWN3QjBBSElBYVFCak?= =?iso-8859-1?Q?FIUUFaUUJrQUY4QWFBQmxBSGdBWXdCdkFHUUFaUUJ6QUFBQUFBQUFBQUFB?= =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?= =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUVBQUFBQUFBQUFBZ0FBQUFB?= =?iso-8859-1?Q?QW5nQUFBRzBBWVFCeUFIWUFaUUJzQUd3QVh3QmhBSElBYlFBQUFBQUFBQU?= =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?= =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFRQUFBQUFBQUFBQ0FBQUFBQUNlQUFBQW?= =?iso-8859-1?Q?JRQmhBSElBZGdCbEFHd0FiQUJmQUhBQWNnQnZBR29BWlFCakFIUUFYd0Jq?= =?iso-8859-1?Q?QUc4QVpBQmxBSE1BQUFBQUFBQUFB?= x-dg-refthree: =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?= =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQUFBQUFBQU?= =?iso-8859-1?Q?FBQUlBQUFBQUFKNEFBQUJ0QUdFQWNnQjJBR1VBYkFCc0FGOEFjQUJ5QUc4?= =?iso-8859-1?Q?QWFnQmxBR01BZEFCZkFHTUFid0JrQUdVQWN3QmZBR1FBYVFCakFIUUFBQU?= =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?= =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRUFBQUFBQUFBQUFnQUFB?= =?iso-8859-1?Q?QUFBbmdBQUFHMEFZUUJ5QUhZQVpRQnNBR3dBWHdCd0FISUFid0JxQUdVQV?= =?iso-8859-1?Q?l3QjBBRjhBYmdCaEFHMEFaUUJ6QUY4QWNnQmxBSE1BZEFCeUFHa0FZd0Iw?= =?iso-8859-1?Q?QUdVQVpBQmZBRzBBWVFCeUFIWUFaUUJzQUd3QUFBQUFBQUFBQUFBQUFBQU?= =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQVFBQUFBQUFBQUFDQUFBQUFBQ2VBQU?= =?iso-8859-1?Q?FBYlFCaEFISUFkZ0JsQUd3QWJBQmZBSEFBY2dCdkFHb0FaUUJqQUhRQVh3?= =?iso-8859-1?Q?QnVBR0VBYlFCbEFITUFYd0J5QUdVQWN3QjBBSElBYVFCakFIUUFaUUJrQU?= =?iso-8859-1?Q?Y4QWJRQmhBSElBZGdCbEFHd0FiQUJmQUc4QWNnQmZBR0VBY2dCdEFBQUFB?= =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?= =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUJBQUFBQUFBQUFBSUFBQUFBQUo0QUFBQnRBR0VB?= =?iso-8859-1?Q?Y2dCMkFHVUFiQUJzQUY4QWRBQmxBSElBYlFCcEFHNEFkUUJ6QUFBQUFBQU?= =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?= =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?iso-8859-1?Q?QUFBQUFBQUFFQUFBQUFBQUFBQWdBQUFBQUFuZ0FBQUcwQVlRQnlBSFlBWl?= =?iso-8859-1?Q?FCc0FHd0FYd0IzQUc4QWNnQmtBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?= =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFB?= x-dg-reffour: QUFBQUFBQUFRQUFBQUFBQUFBQUFBQUFBUUFBQUFBQUFBQUNBQUFBQUFBPSIvPjwvbWV0YT4= x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PH0PR18MB4672:EE_|BL0PR18MB2178:EE_ x-ms-office365-filtering-correlation-id: 792c4e48-df39-441b-4c8b-08db5777b098 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: w1eeqrmw7KdRuc0/5oEfVIo876gIbHVnFcVz4lBUz3LVVdp2xAg+4UOmAHsKHDjtXdu8nRZy3aPeYl7DPG9h8jN/cs3+S+xviHnJTJaEcBeLVjzWpvXrwuTpnRVK3mchDPe2vWLQqBHXk3QvWGXAAQC10ki3eC4sQzckQl/TPYr+wO5QHS+7CNyy1wQpYDw+NxWqEqGdsfUEvxhGE8PQnLeaEMIKvNIEkZ4GJoHcE3tq1yZTr8+ydQX9RgYLfEqZGvriP9fu8MqHN+lRVKKkRnXAHXjlxesUUAzlKJ6GlnP8ZEFgA4LedFaYxfIvpMGi49JLf6GzByXm8HtZJB7xtI4SHCyUXJJYfoEzZ/MxsTbX6yGrXeYHgFItfucJc10pU8I4X58rTT+kT8Y70xBr/DqEE74OsvdDqr1zxCDH4bpRmYp49POpEctnarUP5Z8/HqL5qlcl3Bj6z3HyHWKdb4yUsgsIuMpvDH1JX2TipDt2yRoPahviCqa7EQ/9mBZ+RufJFX4QrnieIQOCdhQDlCdFYohLbjFXSR+1BwxXCmBVy8ddUXwBi0USU/Iaz/+XW7MZWkSkQxaXMv3tHhCtYdfvtxlqjLm/kgh3NpGVvojWjRo7gfnFZUZh7YNQSDhp x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH0PR18MB4672.namprd18.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(4636009)(346002)(376002)(39850400004)(136003)(366004)(396003)(451199021)(7696005)(83380400001)(478600001)(71200400001)(38100700002)(33656002)(86362001)(55016003)(38070700005)(66574015)(316002)(186003)(26005)(53546011)(6506007)(9686003)(122000001)(52536014)(8936002)(2906002)(8676002)(41300700001)(5660300002)(110136005)(54906003)(64756008)(66476007)(76116006)(66556008)(66446008)(66946007)(4326008); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?hBVrtunOPnryNi2rbnhpMfsog4PSzktpKL9snZHcTpV+MgstgSDztiQyFc?= =?iso-8859-1?Q?IRPb++kIL8c+20L1fN8ZyFHSu2OEgkK3r9hfle1Uxryln2Y+TXXKMJ9UgB?= =?iso-8859-1?Q?yBWtdSKqqxOsLf1M2ZM5WjiPCOxIz2ncNxBE9ZoFziA1Tqp6McIFV/sj6b?= =?iso-8859-1?Q?OAAs4E5sma/3k+VKM5sAckz9M0KQYlbvvOZko0ovUk0h2rOme4UHV1xLAy?= =?iso-8859-1?Q?oivCxD+N69RQuacgDM723ymUazVJhgxYCzE/QHI4poPDhZDq3U/5svvGG7?= =?iso-8859-1?Q?EcPxyneUpu9UqS0mLlK0xJbDN9FoRDUNbVdU7kG6mYvwOVXgC1xODPxOSY?= =?iso-8859-1?Q?HLE8R7YRia9m+xpbeh4wlQVlOUdlHndvM5z5k61xYnZfkVzI5f2y96DmFQ?= =?iso-8859-1?Q?XQGZ4mV0SJxytv1CzdDNYD9/2COW8rPxFF2C2ORi6ZwgENpmywd/+ahWmI?= =?iso-8859-1?Q?FfIW3E0ChqkAdAQpZ+b9kj5hxzoh5AahtuvS+a/vixRDFnLwIyEnrsJ2ku?= =?iso-8859-1?Q?TTpn1n6IIxtFUAxh4MzeBED5VmJJUrrx2XE+ptirgpaP+RWjwP06rm1asT?= =?iso-8859-1?Q?mFKL+pMDdhRSeMx7EahZozcyXYGXn64ZJb9DnqpSioid3Rz6mZmxoht1DG?= =?iso-8859-1?Q?Hs9/kxsxExVUFfEQfVRY/3NFJ3Q2ppJfq8ssYkAf4qTYo+PUdbGzFEmsqy?= =?iso-8859-1?Q?wzPoEHhPVIfF2tYW2DMRbgjL1mPMwRwKISrSIVroapUSONtxdXUzQ7x+K5?= =?iso-8859-1?Q?PQhOGSmNQEgGGmk4NYGmyLW4leQzBTRxY5Q7kDzqLtkJh8MpvFYUIjFSe2?= =?iso-8859-1?Q?RsuJPEVbFY1+LNKF9311nIUIzzit5+wcqnGPQgvZY3/oZRdD33QvA6FCg+?= =?iso-8859-1?Q?lZo5oS7AMp/i1XgCaUSxjC1lJnVBoo7F2nfcHsmheNJQ2wkuuXY89qDbqF?= =?iso-8859-1?Q?EPCI3FMM54io5Yr4jnov2OXhXketus/M+zCBYq9KViDpiBrFfZ7cgu8+xS?= =?iso-8859-1?Q?mbABa8yHcmNtLyzMPaBsHnpVmalka6K1HZPTCKUOoo4ztcCNQmfXUUKBuT?= =?iso-8859-1?Q?YRlbgZr2vf1S+47QiTQDf78CrnVYdQgFeir+XQ2qtVB9rtxvXrZKn0o/mG?= =?iso-8859-1?Q?CqeLS/8LluwDU825I3qoFcMk+6V1y+u4iBZV2oFBxjTPMxjlhnPO8XKdeq?= =?iso-8859-1?Q?tw3bwdom5EQz8h1fQerCVXSKrDDYhoPBEcrKGgzpR5gmkIFsNJ566d9XRI?= =?iso-8859-1?Q?e/tzqvOoeFyODq3/IOeSNWGI7ROQQ78GFEcRw4vKOrC0I6db+ax1D82x/V?= =?iso-8859-1?Q?gSvuc/HRXYI60UPM0P8VCgh9lG5yORXuX/HxwLlTiHhtJJB/s5OBAlMwO8?= =?iso-8859-1?Q?9qFIfSwLbDoVzYTzHchwdBYgASK8KgFvhgNPn+NGQOXZtNe7HkQ5rjFTVx?= =?iso-8859-1?Q?dvmpi+noUPPiylL8dv+VcJOtmZyLq7fXC5hoExS1IRGFeQGgx4Bi9AeHSu?= =?iso-8859-1?Q?ZbHxFXQCZ67G62QdKOsvPMWerLRV5OCQWWYuI7aoMOSyo46HNZcdUdRyw/?= =?iso-8859-1?Q?uSBy/F4NcQOXIGb1/O5Cvvyf5gc031V7pg12XtvmLZl/gMjl9P0bJTC3tV?= =?iso-8859-1?Q?WCr4zoiL9wXeM=3D?= Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: marvell.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH0PR18MB4672.namprd18.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 792c4e48-df39-441b-4c8b-08db5777b098 X-MS-Exchange-CrossTenant-originalarrivaltime: 18 May 2023 08:12:57.7946 (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: 2hOdUS3JcSdRTSX9KVaUju+W11zn34KRzyGJm909F77NPJNqdaf9z3uhIaBk4jVOkamnU487mpfCyc7GZyCvwA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL0PR18MB2178 X-Proofpoint-GUID: R4FpcKB2HChNcfJzy_Fhz2aAzcQfweyn X-Proofpoint-ORIG-GUID: R4FpcKB2HChNcfJzy_Fhz2aAzcQfweyn X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-05-18_05,2023-05-17_02,2023-02-09_01 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 Hi Akhil, Konstantin, Please see inline. Thanks, Anoob > -----Original Message----- > From: Akhil Goyal > Sent: Tuesday, May 16, 2023 9:27 PM > To: Anoob Joseph ; Thomas Monjalon > ; Jerin Jacob Kollanukkaran ; > Konstantin Ananyev ; Bernard > Iremonger > Cc: Hemant Agrawal ; Mattias R=F6nnblom > ; Kiran Kumar Kokkilagadda > ; Volodymyr Fialko ; > dev@dpdk.org; Olivier Matz > Subject: RE: [PATCH v2 04/22] pdcp: add packet group >=20 > > Subject: [PATCH v2 04/22] pdcp: add packet group > > > > Crypto processing in PDCP is performed asynchronously by > > rte_cryptodev_enqueue_burst() and rte_cryptodev_dequeue_burst(). > Since > > cryptodev dequeue can return crypto operations belonging to multiple > > entities, rte_pdcp_pkt_crypto_group() is added to help grouping crypto > > operations belonging to same entity. > > > > Signed-off-by: Anoob Joseph > > Signed-off-by: Kiran Kumar K > > Signed-off-by: Volodymyr Fialko > > --- > > lib/pdcp/meson.build | 1 + > > lib/pdcp/rte_pdcp.h | 2 + > > lib/pdcp/rte_pdcp_group.h | 125 > > ++++++++++++++++++++++++++++++++++++++ > > 3 files changed, 128 insertions(+) > > create mode 100644 lib/pdcp/rte_pdcp_group.h > > > > diff --git a/lib/pdcp/meson.build b/lib/pdcp/meson.build index > > ccaf426240..08679b743a 100644 > > --- a/lib/pdcp/meson.build > > +++ b/lib/pdcp/meson.build > > @@ -13,5 +13,6 @@ sources =3D files( > > 'rte_pdcp.c', > > ) > > headers =3D files('rte_pdcp.h') > > +indirect_headers +=3D files('rte_pdcp_group.h') > > > > deps +=3D ['mbuf', 'net', 'cryptodev', 'security'] diff --git > > a/lib/pdcp/rte_pdcp.h b/lib/pdcp/rte_pdcp.h index > > 75dc569f66..54f88e3fd3 100644 > > --- a/lib/pdcp/rte_pdcp.h > > +++ b/lib/pdcp/rte_pdcp.h > > @@ -247,6 +247,8 @@ rte_pdcp_pkt_post_process(const struct > > rte_pdcp_entity *entity, > > return entity->post_process(entity, in_mb, out_mb, num, nb_err); } > > > > +#include > > + > > #ifdef __cplusplus > > } > > #endif > > diff --git a/lib/pdcp/rte_pdcp_group.h b/lib/pdcp/rte_pdcp_group.h new > > file mode 100644 index 0000000000..cb322f55c7 > > --- /dev/null > > +++ b/lib/pdcp/rte_pdcp_group.h > > @@ -0,0 +1,125 @@ > > +/* SPDX-License-Identifier: BSD-3-Clause > > + * Copyright(C) 2023 Marvell. > > + */ > > + > > +#ifndef RTE_PDCP_GROUP_H > > +#define RTE_PDCP_GROUP_H > > + > > +/** > > + * @file rte_pdcp_group.h > > + * > > + * RTE PDCP grouping support. > > + * It is not recommended to include this file directly, include > > + > > + * instead. > > + * Provides helper functions to process completed crypto-ops and > > +group > > related > > + * packets by sessions they belong to. > > + */ >=20 > Why do we need to have a separate public header file which we do not wish > user to use directly for just a single API? >=20 > Can it not be added into rte_pdcp.h? [Anoob] This follows how the code organization is done in lib IPsec. My und= erstanding is, it is done for 2 reasons, 1. Separate out helper inline functions into a separate header 2. Main header focus on core design of the protocol interface, ie, structs,= macros & APIs. Also, lib_pdcp.h is bound to grow. So rather than splitting it later, why d= on't we start with better organized code layout which is already followed i= n similar use case, ie, lib IPsec. @Konstantin, did you have any other thoughts when you made the split this w= ay? >=20 > > + > > +#include > > +#include > > +#include > > + > > +#ifdef __cplusplus > > +extern "C" { > > +#endif > > + > > +/** > > + * Group packets belonging to same PDCP entity. > > + */ > > +struct rte_pdcp_group { > > + union { > > + uint64_t val; > > + void *ptr; > > + } id; /**< Grouped by value */ > > + struct rte_mbuf **m; /**< Start of the group */ > > + uint32_t cnt; /**< Number of entries in the group */ > > + int32_t rc; /**< Status code associated with the group */ > > +}; > > + > > +/** > > + * Take crypto-op as an input and extract pointer to related PDCP enti= ty. > > + * @param cop > > + * The address of an input *rte_crypto_op* structure. > > + * @return > > + * The pointer to the related *rte_pdcp_entity* structure. > > + */ > > +static inline struct rte_pdcp_entity * rte_pdcp_en_from_cop(const > > +struct rte_crypto_op *cop) { > > + void *sess =3D cop->sym[0].session; > > + > > + return (struct rte_pdcp_entity *) > > + rte_cryptodev_sym_session_opaque_data_get(sess); > > +} > > + > > +/** > > + * Take as input completed crypto ops, extract related mbufs and > > +group them > > by > > + * *rte_pdcp_entity* they belong to. Mbuf for which the crypto > > + operation has > > + * failed would be flagged using > *RTE_MBUF_F_RX_SEC_OFFLOAD_FAILED* > > flag > > + * in rte_mbuf.ol_flags. The crypto_ops would be freed after the > grouping. > > + * > > + * Note that application must ensure only crypto-ops prepared by > > +lib_pdcp is > > + * provided back to @see rte_pdcp_pkt_crypto_group(). > > + * > > + * @param cop > > + * The address of an array of *num* pointers to the input > *rte_crypto_op* > > + * structures. > > + * @param[out] mb > > + * The address of an array of *num* pointers to output *rte_mbuf* > structures. > > + * @param[out] grp > > + * The address of an array of *num* to output *rte_pdcp_group* > structures. > > + * @param num > > + * The maximum number of crypto-ops to process. > > + * @return > > + * Number of filled elements in *grp* array. > > + * > > + */ > > +static inline uint16_t > > +rte_pdcp_pkt_crypto_group(struct rte_crypto_op *cop[], struct > > +rte_mbuf > > *mb[], > > + struct rte_pdcp_group grp[], uint16_t num) { > > + uint32_t i, j =3D 0, n =3D 0; > > + void *ns, *ps =3D NULL; > > + struct rte_mbuf *m; > > + > > + for (i =3D 0; i !=3D num; i++) { > > + m =3D cop[i]->sym[0].m_src; > > + ns =3D cop[i]->sym[0].session; > > + > > + m->ol_flags |=3D RTE_MBUF_F_RX_SEC_OFFLOAD; > > + if (cop[i]->status !=3D RTE_CRYPTO_OP_STATUS_SUCCESS) > > + m->ol_flags |=3D > > RTE_MBUF_F_RX_SEC_OFFLOAD_FAILED; > > + > > + /* Different entity */ > > + if (ps !=3D ns) { > > + > > + /* Finalize open group and start a new one */ > > + if (ps !=3D NULL) { > > + grp[n].cnt =3D mb + j - grp[n].m; > > + n++; > > + } > > + > > + /* Start new group */ > > + grp[n].m =3D mb + j; > > + ps =3D ns; > > + grp[n].id.ptr =3D rte_pdcp_en_from_cop(cop[i]); > > + } > > + > > + mb[j++] =3D m; > > + rte_crypto_op_free(cop[i]); > > + } > > + > > + /* Finalize last group */ > > + if (ps !=3D NULL) { > > + grp[n].cnt =3D mb + j - grp[n].m; > > + n++; > > + } > > + > > + return n; > > +} >=20 > These APIs are being called from application directly (as per the cover l= etter). > Should be marked as experimental and also add them in version.map [Anoob] Agreed. Will do. >=20 >=20 > > + > > +#ifdef __cplusplus > > +} > > +#endif > > + > > +#endif /* RTE_PDCP_GROUP_H */ > > -- > > 2.25.1