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 917FE42B37; Thu, 18 May 2023 09:40:27 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 2051242B8B; Thu, 18 May 2023 09:40: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 281A542B71 for ; Thu, 18 May 2023 09:40:25 +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 34I3Cp9l005310; Thu, 18 May 2023 00:40:24 -0700 Received: from nam10-bn7-obe.outbound.protection.outlook.com (mail-bn7nam10lp2108.outbound.protection.outlook.com [104.47.70.108]) by mx0b-0016f401.pphosted.com (PPS) with ESMTPS id 3qmyexb81m-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 18 May 2023 00:40:23 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hVsKq0gbClZFDRckD497TqDf43AFzSf5IHbcXZ1aN7GJ0MoAsE4lousvGFpw673o0HNn6ND1861zJ7C6DFAycoobmjTm0Y7zNfZKp3mpuouyXn0TPJMVFi68kCNrmCQ/tNswygP0ZqObWfYTtAtaKYvGS0jNEUSfnUdBo5F0oVYxrtoJz4nmAJ5yXnMgsFbrcBPNJ56IZ/4xbn7/TOqPqsV+0jgKtkjL3eHdKZXHDk85p7PCh/08ogxiVb3N3MQnBDAcdytgQpkFw8e3Ne0Z2n24rJfWmI3usyyU/Kn4ete9f6JwHdpiGHBYapM2VSxAdpZtWxujyaCFrqOKhGRHAw== 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=PGLJwVAO+WZAiQkOlGXDDs4FwSRsL/wv16UaRaxWH9o=; b=VoUz3wl31TCnW+h/bnIToYS05NOqxKfr3NOuq2mcJw4YAlJnF2tstGWjC3Ek2dscSuonOMUffAkB3bomTcelo2XSqhHc++/RqsAWjpclFTBkdAdqB0x/2m7XAFmdBOQfedDCh6W4f7wsBJLxkoFcpv6Fum7J0FQUPFjp8thTYH69OZC2nLnsNJ+zKwT1YcUPIs88XB2/p151RZ4xajh/D34oV0q0MjeMmmcGf00Q0w4451JJ+BhzYGbjm16aeXSjTGkfLdtWhRaWGdjXPUKSqqRS4gf8ZdAYcU9fUGq1CASRE0fksCiJYHx10UnIAOPEP1diUXFf8/LcVdrf/XYeVQ== 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=PGLJwVAO+WZAiQkOlGXDDs4FwSRsL/wv16UaRaxWH9o=; b=RMfVsmjMNy29XA1iQzNIo6MifazdLfX0zSP0kHdDEWvr/qzglZH2WFEGxc1M3dvC7LYVMQBN2sK+c2Clr+WeEq0vjb6nKKwLY+q8ox+IJN52L0We8zRhkyrl6J0RAGo9njlw8AfAQYgSokCeXnqD/Zg4hxwPx/I8vTRxobsGPns= Received: from CO6PR18MB4484.namprd18.prod.outlook.com (2603:10b6:5:359::9) by MN2PR18MB3389.namprd18.prod.outlook.com (2603:10b6:208:16d::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6411.19; Thu, 18 May 2023 07:40:21 +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.6411.019; Thu, 18 May 2023 07:40:20 +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 02/22] lib: add pdcp protocol Thread-Topic: [PATCH v2 02/22] lib: add pdcp protocol Thread-Index: AQHZbvjvvmj4ZOLr0kOu2Nfgh9ofla9dI8uQgAKpFgCAAAHboA== Date: Thu, 18 May 2023 07:40:20 +0000 Message-ID: References: <20221222092522.1628-1-anoobj@marvell.com> <20230414174512.642-1-anoobj@marvell.com> <20230414174512.642-3-anoobj@marvell.com> In-Reply-To: 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?YmEyOWUzNWJcbXNnc1xtc2ctM2I5MTNiNDMtZjU0Zi0xMWVkLWEwOTMtOT?= =?iso-8859-1?Q?RlNmY3NjYxOTA3XGFtZS10ZXN0XDNiOTEzYjQ0LWY1NGYtMTFlZC1hMDkz?= =?iso-8859-1?Q?LTk0ZTZmNzY2MTkwN2JvZHkudHh0IiBzej0iNTk2OSIgdD0iMTMzMjg4Nj?= =?iso-8859-1?Q?kyMTgxMjA1OTYxIiBoPSJVWmVMVFlreUt6UldFMXlyc3F3YkRnVDFxR0U9?= =?iso-8859-1?Q?IiBpZD0iIiBibD0iMCIgYm89IjEiIGNpPSJjQUFBQUVSSFUxUlNSVUZOQ2?= =?iso-8859-1?Q?dVQUFNZ01BQURKZ3duK1c0blpBZit3L2VlWVVpN2MvN0Q5NTVoU0x0d1VB?= =?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?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUUFB?= =?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_|MN2PR18MB3389:EE_ x-ms-office365-filtering-correlation-id: 7719b70f-2c1d-47df-5e3e-08db5773220e x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: j8hChpfhJUq36PkQFYQZtqi5MYBVMA8+gHWOAvV83dj/oSjTu+LcZZ5kaqKsyqs+m89Sojw8p1uF08RxG5J1tCVEs6fml07iyGc5sIQeJc9hcFl3eVCRJCzBU+tGu64QF/i1ax6/EM8y1UIIpo6ni7bdkeTnFliRvK0gaZSAeVKlV6+kfldFo4y8QPy+c1TCEvF9nPvhC/Be5l/pEvtIstPS+bTLJdnUwn/ZvumSDDuHcO+WRedC8BrGe0gp/pmEBGbKuIjanQbYwItIhfj/KE4NT93g8KKb9jIzw1yGYn2To5zlLp9dtMMgm9olE7AlykE4F78GQeUw4PDiVwXcCmNJtSxlotuKR7sMeuFn+34iYo0SYw/8CT45EL2QN9HRAwnF+aHZaofUVmzY8F7NU9TOlT/BWyeUnJAJHkyo5yF6xdzxaIz6OHD0YzXICGOrZDXGMSwLmBEyBhMEONY6L/xBQVnDz9esp3SrJO5tHwlee5cgsKYUkThvOlmzELjiiEaAawAvdtiyWzt7Ak5Q7+QZy9ST2sQIQTYcJ8TPJ0tX0zTI1LAotgiklnWS3CrjPincs9DwuFsKrLXvQHouEXV6KADzSZbL2i8YUdn/PzL0uHvI0rBMPaYlKakIHbtF 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)(366004)(396003)(39860400002)(376002)(136003)(346002)(451199021)(76116006)(4326008)(316002)(66446008)(66476007)(64756008)(66556008)(66946007)(2906002)(33656002)(86362001)(8676002)(8936002)(186003)(26005)(5660300002)(52536014)(6506007)(55236004)(9686003)(122000001)(83380400001)(38070700005)(38100700002)(55016003)(41300700001)(71200400001)(110136005)(54906003)(7696005)(478600001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?pWO0N/3lLqY/EwFSPIwkpMsO/Ed+q0uHe97LekOpm053OLk6oPR36C4vRq?= =?iso-8859-1?Q?py/711RuPXdypWx1PdJA1vgGsy7qln3khsi35IKrSm0qYKvQw5IqcKp5xA?= =?iso-8859-1?Q?LaFu+fEeXbuz4UfgFtEksEhmqxNrm60ryG+oS3/GxiqS8S579bC2Eg4cu7?= =?iso-8859-1?Q?SzUqtwdGfWXY+gV6JTHY32KuBqmGhMLU0Bxhl+SuVZm+7gqtC/FIubXpb/?= =?iso-8859-1?Q?Y7EuiVnL/2JP8fb/dQeQhCvdqGasfGYEXTrgblxbvkn46MnO3ouCZpmX6f?= =?iso-8859-1?Q?Yu6aDqtLJ+3VjqZErjuyD5grA/RJDgUtnWgGLbxIEGHdy/8FP6ax0v+6/0?= =?iso-8859-1?Q?6AhrkgY07iB+//5yEy/ykuzhfQ7He1OK6YtKG3bQi7qNbAqAF71H4cGlGE?= =?iso-8859-1?Q?BxjNLxWdvdoH/gPokDLoYkeAun7No+9ZxDCNVub4oyoflLqgMm88A8mkqt?= =?iso-8859-1?Q?nplvxnyKOGsWuwLxfQdN7XlNmyvaOOpCM7z3xHJ/qImyQ1zmU5ZhlRGEpX?= =?iso-8859-1?Q?mZpBd2TMgn92qNwNHgMG8l/weCAv0+7OZQmcsh9bOnLOJM2VnKLRl+WXA9?= =?iso-8859-1?Q?E7joFvbSPzijcB56+4hyrBICe1GGyjeq7On2jn2kQQQD40nTKvkEINh2PL?= =?iso-8859-1?Q?CObmLUML1t98iCZGnCxFcdoVSwxYs2OEqrpXBCwNJQhWBacLhUR4xx6W4X?= =?iso-8859-1?Q?OAqHcaVDa4TZw4G+PMi1lhtCII7ZNtlpPM3ZwyNdQJrgauFnSgp77+XKe2?= =?iso-8859-1?Q?HWp7Ky9WIvk2CgxZ2rnlV/mUBlPFpUQCCMvpWY7ftcxckFhKTXbpbNQLBl?= =?iso-8859-1?Q?+X5uq76jRAfuuC7OPincAZ8HQ+lOIOYnsE7o+qNpkK+AtluGc22bClkga4?= =?iso-8859-1?Q?v+gQEoKglv1mAyEhytuWdHHBpfKH28vs3Fh0St4Kod4rCmTyZ4h86A2Ohn?= =?iso-8859-1?Q?uGtQGcdz6MysLa1cHHqcHyEU0ZV5Yum6u+fwyDl9/z+iteH7zJxLDB+euW?= =?iso-8859-1?Q?MZOBpMJ43h8dSib6jJl2yg9D91Pqt/YKpkFxOJY7azvMHusWsM0MwH6k07?= =?iso-8859-1?Q?7KCMefpYcvy2B1KbnQR/nWm4hn2Y7p7iuoxXcWnE2krLccVzO/5w9e2uiH?= =?iso-8859-1?Q?6O70WsAiyDHif+xUA7bO/U6BnWziGixf/bfnrY1Ge1Sc70jey67cT3gfih?= =?iso-8859-1?Q?pbksYeE9yvNr0+k1EoZsHM1APVpgGWTPxeUCV7SRAq9Vn9kQ7jpXwhHt8X?= =?iso-8859-1?Q?2qLBWMgQNn1K3Kmr2z6IfzayiJrM9qEwwnNVtD9JTeibOGGDtPQlto0pK0?= =?iso-8859-1?Q?G6T++8B2NSxvhsU97cHM6PP/898cK24L+ofT5dLumDeVQq+IxeJePsUpX9?= =?iso-8859-1?Q?ClFq+LnD849snZ7hoEUB7nLx+x/y7Jck9r2k/vb8f0gbcMDxaUeTTozrJD?= =?iso-8859-1?Q?IwoHfBrf+zJRZ5qQRBuYlcyDH2R28VKygSn80t262dKciICslXGGoYEtwl?= =?iso-8859-1?Q?kbwMxhIYxBxpEVKdgiFEEEvMiNVegdMazqx0XleLO5yw2bMob4muCSRklk?= =?iso-8859-1?Q?wL+Kn8FvQx9TJ012jnYv012BpSSLpiQkyqJ6bJW6kz0m3M+C7J4pXj83BA?= =?iso-8859-1?Q?VVclBsx4Ukpkckh8V/mRdqGmHkXU9Hec67?= 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: 7719b70f-2c1d-47df-5e3e-08db5773220e X-MS-Exchange-CrossTenant-originalarrivaltime: 18 May 2023 07:40:20.7055 (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: 3z63a5xWz0Aer66Nb7iELNIBVuxo2GT88ECvHJPkGUEp/xJXS52bFQxjk5ak5KOYayphzW7Hy/A6AiT+tYQQdw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR18MB3389 X-Proofpoint-GUID: TDhfWuIMmsHw4l0E67uZ4asgJEUdYeE1 X-Proofpoint-ORIG-GUID: TDhfWuIMmsHw4l0E67uZ4asgJEUdYeE1 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 Anoob, > > > +static int > > > +pdcp_entity_priv_populate(struct entity_priv *en_priv, const struct > > > rte_pdcp_entity_conf *conf) > > > +{ > > > + struct rte_crypto_sym_xform *c_xfrm, *a_xfrm; > > > + int ret; > > > + > > > + /** > > > + * flags.is_authenticated > > > + * > > > + * MAC-I would be added in case of control plane packets and when > > > authentication > > > + * transform is not NULL. > > > + */ > > > + > > > + if (conf->pdcp_xfrm.domain =3D=3D > > > RTE_SECURITY_PDCP_MODE_CONTROL) > > > + en_priv->flags.is_authenticated =3D 1; > > > > This check should be added after getting the xfrm. > > If domain =3D=3D control and a_xfrm is NULL, then it should be error, r= ight? >=20 > [Anoob] Lib PDCP would handle such cases. Even if a_xfrm is non NULL but = is > NULL auth, it is lib PDCP which would add zeroized digest. And a_xfrm =3D= =3D NULL > is also treated as NULL auth generally. The comment above this explains t= he > same. Idea is to have lib PDCP handle all possible cases rather than putt= ing too > much restrictions on both app & PMD. I believe there is a case in PDCP which allows no integrity as well.(LTE Up= lane) In that case, a_xfrm is NULL is not equivalent to NULL auth. No integrity would mean no MAC-I. > > > diff --git a/lib/pdcp/rte_pdcp.c b/lib/pdcp/rte_pdcp.c new file mode > > > 100644 index 0000000000..8914548dbd > > > --- /dev/null > > > +++ b/lib/pdcp/rte_pdcp.c > > > @@ -0,0 +1,138 @@ > > > +/* SPDX-License-Identifier: BSD-3-Clause > > > + * Copyright(C) 2023 Marvell. > > > + */ > > > + > > > +#include > > > +#include > > > +#include > > > + > > > +#include "pdcp_crypto.h" > > > +#include "pdcp_entity.h" > > > +#include "pdcp_process.h" > > > + > > > +static int > > > +pdcp_entity_size_get(const struct rte_pdcp_entity_conf *conf) { > > > + int size; > > > + > > > + size =3D sizeof(struct rte_pdcp_entity) + sizeof(struct entity_priv= ); > > > + > > > + if (conf->pdcp_xfrm.pkt_dir =3D=3D RTE_SECURITY_PDCP_DOWNLINK) > > > + size +=3D sizeof(struct entity_priv_dl_part); > > > + else if (conf->pdcp_xfrm.pkt_dir =3D=3D RTE_SECURITY_PDCP_UPLINK) > > > + size +=3D sizeof(struct entity_priv_ul_part); > > > + else > > > + return -EINVAL; > > > + > > > + return RTE_ALIGN_CEIL(size, RTE_CACHE_LINE_SIZE); } > > > + > > > +struct rte_pdcp_entity * > > > +rte_pdcp_entity_establish(const struct rte_pdcp_entity_conf *conf) { > > > + struct rte_pdcp_entity *entity =3D NULL; > > > + struct entity_priv *en_priv; > > > + int ret, entity_size; > > > + > > > + if (conf =3D=3D NULL || conf->cop_pool =3D=3D NULL) { > > > + rte_errno =3D -EINVAL; > > > + return NULL; > > > + } > > > > errnos are normally set as positive values. >=20 > [Anoob] I do not think so. I checked rte_ethdev.h, rte_flow.h etc and all= APIs are > returning negative values in case of errors. Check again lib/ethdev/rte_ethdev.c rte_errno are set as positive values only and=20 APIs return error numbers as negative values. >=20 > > > > > > > + > > > + if (conf->pdcp_xfrm.en_ordering || conf- > > > >pdcp_xfrm.remove_duplicates || conf->is_slrb || > > > + conf->en_sec_offload) { > > > + rte_errno =3D -ENOTSUP; > > > + return NULL; > > > + } > > > + > > > + /* > > > + * 6.3.2 PDCP SN > > > + * Length: 12 or 18 bits as indicated in table 6.3.2-1. The length > > > +of the > > > PDCP SN is > > > + * configured by upper layers (pdcp-SN-SizeUL, pdcp-SN-SizeDL, or > > > +sl- > > > PDCP-SN-Size in > > > + * TS 38.331 [3]) > > > + */ > > > + if ((conf->pdcp_xfrm.sn_size !=3D RTE_SECURITY_PDCP_SN_SIZE_12) > > && > > > + (conf->pdcp_xfrm.sn_size !=3D RTE_SECURITY_PDCP_SN_SIZE_18)) { > > > + rte_errno =3D -ENOTSUP; > > > + return NULL; > > > + } > > > > Check for PDCP crypto algos may also be added. > > As only 4 cipher and 4 auth algos are supported in case of PDCP. >=20 > [Anoob] Validation happens when we create session. Please check, > pdcp: add crypto session create and destroy Agreed, already acked that. >=20 > > > > > + > > > + if (conf->pdcp_xfrm.hfn || conf->pdcp_xfrm.hfn_threshold) { > > > + rte_errno =3D -EINVAL; > > > + return NULL; > > > + } > > > > What is the reason to set errno as EINVAL when HFN is set? >=20 > [Anoob] HFN is part of pdcp_xfrm which is defined in rte_security. Lib PD= CP > allows user to specify complete 32 bit count value using > rte_pdcp_entity_conf.count. Since HFN is also used to construct 32 bit co= unt > value, having two ways to set count would be misleading. Hence lib PDCP w= ould > enforce that application does not set this value. >=20 > > > > > +/** > > > + * PDCP entity configuration to be used for establishing an entity. > > > + */ > > > +/* Structure rte_pdcp_entity_conf 8< */ struct rte_pdcp_entity_conf = { > > > + /** PDCP transform for the entity. */ > > > + struct rte_security_pdcp_xform pdcp_xfrm; > > > + /** Crypto transform applicable for the entity. */ > > > + struct rte_crypto_sym_xform *crypto_xfrm; > > > + /** Mempool for crypto symmetric session. */ > > > + struct rte_mempool *sess_mpool; > > > + /** Crypto op pool.*/ > > > + struct rte_mempool *cop_pool; > > > + /** > > > + * 32 bit count value (HFN + SN) to be used for the first packet. > > > + * pdcp_xfrm.hfn would be ignored as the HFN would be derived > > from > > > this value. > > > + */ > > > > If the HFN is to be ignored, then why to add a check in entity establis= h and > > return EINVAL? > > It should be silently ignored in that case with a debug print at max. >=20 > [Anoob] Explained above. Please check. >=20 No it is not explained. Above comments says " pdcp_xfrm.hfn would be ignored as the HFN would be derived from this valu= e" Here you are saying the field will be ignored. But while creating entity, it is returning EINVAL if hfn is provided.