From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1E9CFC7EE25 for ; Tue, 16 May 2023 15:56:42 +0000 (UTC) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 55CEE406B6; Tue, 16 May 2023 17:56:41 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by mails.dpdk.org (Postfix) with ESMTP id D158040689 for ; Tue, 16 May 2023 17:56:39 +0200 (CEST) Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 34GFqKDZ021240; Tue, 16 May 2023 08:56:38 -0700 Received: from nam11-co1-obe.outbound.protection.outlook.com (mail-co1nam11lp2172.outbound.protection.outlook.com [104.47.56.172]) by mx0a-0016f401.pphosted.com (PPS) with ESMTPS id 3qkvbmm6e0-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 16 May 2023 08:56:37 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=P2ZWEdyI1dHn2DaENBpGx61Gvb/NnLz8Z7lLw5N8M9hdd+M/4V9Cl5ub4TzXSfhep6WUeX+WVqHfO00zoTpiip4oNQ1M9VgKEUd5yxJRtaBPHEb/TFSJm1swd5+cM2oPjWqYAscVNQBpMNpC2nK3aiALa/4FtU06Teogd7HHKWTTw/9cvvmu8lp0MoIXKl+dV22v/YIwzLdazNAZDpzK314pv+cSJKualklk0ZFv04hvE+gjyGYJ0HVAzoigokdS5lgXhyowTkkY8cVet+EnA8wFLxYTjZtFgRHkOXt2YE8U9vTDLmkbfukCIBbdK04wxHydGGYzOQHxO71M6I4v9Q== 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=oPmFM8qIgH1bZFDcnx9jWeUhelYZhA4hhfx3kLGLwG8=; b=boU81Jg4defnh+UPYqe42IA+TC8TCx1ceLdaOnluSSfP7IStrQ6gr7TccNpwOxA39eeL/Ke63dFyHmlooYLgbj3zisetxU4H+ppETeAkQGUt+ziuV81kNEcnQdF9n2GOqGhQh3VRFFXYbydZ0PdbawU/YbPcTo+3RtnsYyncCXqrpun9XGHDW+ARQG2nsUUhcMpFJObSimlrnXOLIYAH65s1cdTaSTlQUY5+kOH26sy2mj3wHIQIczlwrDVWK4A+sFRw9Wbw7SaqZ7nKihytLXIyvRtYqI5Kxu8RI7cf49U/CIv2gw0DME5uckALEBT8OnWOfP58PytMaskFa3XD5Q== 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=oPmFM8qIgH1bZFDcnx9jWeUhelYZhA4hhfx3kLGLwG8=; b=f6c2bpt4/EbSLr2oNJOPyW0RYdqCV0iWN/Wfye7IfRZ14DebE/wNFcUhKITCB1Sc+b0/mqInOX+AHO6aWyyu/nuPyZsXjbPFm3vJWA0kRThSia04GYGHtXgRNC+1R5wf5i4lXx+dJpM6zfUj/c5PGfNiG1Xoc5QEfZ4caX48pCQ= Received: from CO6PR18MB4484.namprd18.prod.outlook.com (2603:10b6:5:359::9) by MW5PR18MB5042.namprd18.prod.outlook.com (2603:10b6:303:1c8::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6387.30; Tue, 16 May 2023 15:56:34 +0000 Received: from CO6PR18MB4484.namprd18.prod.outlook.com ([fe80::831b:85d2:9a45:8489]) by CO6PR18MB4484.namprd18.prod.outlook.com ([fe80::831b:85d2:9a45:8489%6]) with mapi id 15.20.6387.033; Tue, 16 May 2023 15:56:34 +0000 From: Akhil Goyal To: Anoob Joseph , 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: AQHZbvj98DYRUz26DUOfUSAwvpsLja9dPcyg Date: Tue, 16 May 2023 15:56:34 +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: <20230414174512.642-5-anoobj@marvell.com> Accept-Language: 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+PGF0IG5tPSJib2R5LnR4dCIgcD0iYzpcdXNlcnNcZ2FraGlsXG?= =?iso-8859-1?Q?FwcGRhdGFccm9hbWluZ1wwOWQ4NDliNi0zMmQzLTRhNDAtODVlZS02Yjg0?= =?iso-8859-1?Q?YmEyOWUzNWJcbXNnc1xtc2ctMzkyYTExYTItZjQwMi0xMWVkLWEwOTMtOT?= =?iso-8859-1?Q?RlNmY3NjYxOTA3XGFtZS10ZXN0XDM5MmExMWE0LWY0MDItMTFlZC1hMDkz?= =?iso-8859-1?Q?LTk0ZTZmNzY2MTkwN2JvZHkudHh0IiBzej0iNTgzMSIgdD0iMTMzMjg3Mj?= =?iso-8859-1?Q?YxOTE0NzY2MDIwIiBoPSIrUHlKblJ4bWNBOG1hUXpnREx5dCtPMGlwamM9?= =?iso-8859-1?Q?IiBpZD0iIiBibD0iMCIgYm89IjEiIGNpPSJjQUFBQUVSSFUxUlNSVUZOQ2?= =?iso-8859-1?Q?dVQUFNZ01BQURFbW9QN0RvalpBWTZHMUhPMm03ZGxqb2JVYzdhYnQyVVVB?= =?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?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUF3QUFBQUFBQUFBQUFBQUFBUUFB?= =?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: CO6PR18MB4484:EE_|MW5PR18MB5042:EE_ x-ms-office365-filtering-correlation-id: de001b8b-dc01-4e25-9076-08db56261f9f x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: AD6W39fTSXsYtVcGvOFZiVWJivqHuSOdm0KoYvg2IKrUrRzbJusaQiLqQlKC1G5US6aPDyZ7mufIp0zccusDwhWl3RwSFpmCAcyYeIiHE1XHws0CpZT/7Ldc/hBBq+s7GH3292nnedvLTT+jDd2wQLQbH4S+eJVdBo8jH4wlAYEaAVdwYTK6P1ExFumkrV18QCWgL8R5GGrLnnVCTXAFtz4adOUK5rLdyc6ARLvWqlwaAKs1h1EZvVc95GGOVComShhdHV6KdiAbE358tdxvI2kBk6Aso3VlW4tFofEWvYup5Y8IlrqqS90ndabPkgeDjKbq/Q9xp2OleadAOEqqSJJbVlqjpPYt3qgBwIq+HXepC5daA/M3WIWsFxclFUPaAzhIpD+k0YiTO2k/XHgrjoKmKV8HN3m0zZ+0VR93dXgH+dRTEIFS33mdzoN3Z+JEHWPwQ6Q/qrS+9Fgft0YIAiLocVZxQseiMHUBZ+bFzWoRnPzbJQDAuW2WJOVq8FK3r4C4XibWhZ/1ATF6VoOpbeW4U9Ffk8oXtKocYKNey7oFX7X7BsrkNS6Rfo+IdHgCxgTIpoz15lJTmiQ8D9w4pYFjdrjg7marQR4bhmPo9zuQ5xJXbd8WznSPRhNaDVrb x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CO6PR18MB4484.namprd18.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(4636009)(346002)(366004)(396003)(39860400002)(136003)(376002)(451199021)(66556008)(66476007)(110136005)(54906003)(66446008)(64756008)(4326008)(478600001)(66946007)(76116006)(71200400001)(316002)(7696005)(8676002)(8936002)(41300700001)(2906002)(55016003)(52536014)(5660300002)(26005)(33656002)(122000001)(86362001)(55236004)(38070700005)(83380400001)(186003)(6506007)(38100700002)(9686003); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?z5wjE/fIo6reYoklVdZktMkb5t0BnbLybGp70nQqbEsMOrfZO2QHms2kmC?= =?iso-8859-1?Q?9EluofXEwERIwrspJ5TDfa/gbX6RxgMvbjmyLL7Ccfh66TuUhwfgFmvOlv?= =?iso-8859-1?Q?6whBGrZ7dPxdq2wjq8IjIzWHACWVsCscRm04VuFE5BHf9O+/94WOi9iZNV?= =?iso-8859-1?Q?9689DkPBjcpQ10gOYhoJsdsqKaIdhL44hsbqkeZAGVMoAoYafcJZSHOi+2?= =?iso-8859-1?Q?fi8V+jvSsPBwitAKNISee3GdVP22Za/+lyuwJ7Yt8CmstolVbYhn962LNU?= =?iso-8859-1?Q?avFEooBWbxqOhGHiNWBQJoEUy8+m5Q8rZxIkl4opOxuaHUICVEvJBvrfrk?= =?iso-8859-1?Q?cLkOUJS+z7cVqpl5siRGsmo+gkbp+R3hLXzTMJDjtSJ8Pv74uA/GYYfuGM?= =?iso-8859-1?Q?ZM9FZMDyGkigZr8TjbtD+gSn+UiLe51mH/zpA5VSYVbFuxvT808j2m+8er?= =?iso-8859-1?Q?F8OOU8Wwk8IbQRbSxQZKC/ADpFqQ2caHX0Kc/EiTFbFA0mjaBUO73O+sp5?= =?iso-8859-1?Q?IkLN+tENronwXU6s6WDvVECpsIF/bdpnYf++C3CcVCALLG40x70jycOVos?= =?iso-8859-1?Q?fTpFZVSr+3HF/Cm0LPtRj863/oEIqJAi7FMcIiSRjHviKy/FzvMtCB2z2I?= =?iso-8859-1?Q?jS/Ca1oFhu8FCljyIdb9XtFQtAZ1ZnuBqzRtJDBJz7c+Xz9YE0yjFKsfoS?= =?iso-8859-1?Q?9PI261DNUg/gjtUXWM9IxJ488SrTHYEps+Usn/6BOPCeN9VORZ8tEQciv5?= =?iso-8859-1?Q?gFfTtZ8vTJxNWhk2Tp9snIEQ6jUCXkRGpRCglgxZre5tJGUJxTSNvlMFj1?= =?iso-8859-1?Q?FD33LSALhTk99Sj+zfSQQjP1sgeyB9FXOtWjMqbizVB/d7fEofOaAV8rWw?= =?iso-8859-1?Q?0s5p7dpyI2qu7grsE06GQyUI2FWLy7J1da2j3N09mO8AybwhKI7y7ZHhyp?= =?iso-8859-1?Q?CCMW5bK0/Q+4Caez2d8KvMTDz3aydQEgJTCFmj7UDHd8RiDg5U7qm1iwoO?= =?iso-8859-1?Q?6/tDMyPzpx9BuRtyEqG6W0OQ7LmN0rc9/e+8GlqbZa1f4xCD+nt9EetYaW?= =?iso-8859-1?Q?gIOKK8ir1L4uYbbkwaZje1PdMFiR5MLrWKqjSujUH/GUsrMtCUpaliO6+T?= =?iso-8859-1?Q?zXDD8zDJCHpPzQDvW8cQGKiwCM4oy/pL5WPgkpteXyfWjJKFjtTo/HT4Mj?= =?iso-8859-1?Q?zAqB542rlby4WqsUt24S6z3mO2cUwAQ6lS5dWyR5ds1lZrZYhEo35rgMtG?= =?iso-8859-1?Q?/+NOlaUgi/6U3/E/TiTGxdBO2zeipNhm6yg3uzduuREe9fqKmWhqxuvXJB?= =?iso-8859-1?Q?QGzVecFRHqXJy9PLBuCsSQmZDYCYQyh+wFprwm0qkvWGWf9H6f1zMtOW2d?= =?iso-8859-1?Q?pYkgXO6bX4Pc5fwmQfjXxHZptdKs+GB1XMin9unkAry6wZBnqzMcbT6aVt?= =?iso-8859-1?Q?Fn70ot2MRv13+ru0pGlp1N2mJQ3E9oUQgInzmnwob4o3AOh9+DvYonOhzL?= =?iso-8859-1?Q?sSfYoxpJDaV630T49V98HRZ1Cq/RGr1Y/kZYA7pTx6oRjWffbD0FwFZ0b7?= =?iso-8859-1?Q?qwz9v10WkSZPTnw/HWxSWETi53OJVzEtsp8wABhD997VpSj3xLLCzL8608?= =?iso-8859-1?Q?6yyWAzA6oiQwn8JSnuX0dAvKXIUF0YrW9F?= 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: CO6PR18MB4484.namprd18.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: de001b8b-dc01-4e25-9076-08db56261f9f X-MS-Exchange-CrossTenant-originalarrivaltime: 16 May 2023 15:56:34.2005 (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: dOKZIeXrAuS9HbYDKNJkgDihRiqh4FLZzRk+eOr5m2h9GQRjE1lZo1lgW4p07pScP7Diqz0NxckmlclgSha+vA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW5PR18MB5042 X-Proofpoint-GUID: fGU3wWcHLnFegR9nx12bbdO2D9KZEsEf X-Proofpoint-ORIG-GUID: fGU3wWcHLnFegR9nx12bbdO2D9KZEsEf 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-16_08,2023-05-16_01,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 > Subject: [PATCH v2 04/22] pdcp: add packet group >=20 > 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. >=20 > 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 >=20 > 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') >=20 > 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); > } >=20 > +#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. > + */ Why do we need to have a separate public header file which we do not wish u= ser to use directly for just a single API? Can it not be added into rte_pdcp.h? > + > +#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 entity= . > + * @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 t= hem > 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 groupin= g. > + * > + * Note that application must ensure only crypto-ops prepared by lib_pdc= p 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* stru= ctures. > + * @param[out] grp > + * The address of an array of *num* to output *rte_pdcp_group* structu= res. > + * @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; > +} These APIs are being called from application directly (as per the cover let= ter). Should be marked as experimental and also add them in version.map > + > +#ifdef __cplusplus > +} > +#endif > + > +#endif /* RTE_PDCP_GROUP_H */ > -- > 2.25.1