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 4B06B42B39; Thu, 18 May 2023 10:32:35 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 228A840E25; Thu, 18 May 2023 10:32:35 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by mails.dpdk.org (Postfix) with ESMTP id C57684014F for ; Thu, 18 May 2023 10:32:33 +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 34HMFG9U012881; Thu, 18 May 2023 01:32:32 -0700 Received: from nam10-bn7-obe.outbound.protection.outlook.com (mail-bn7nam10lp2108.outbound.protection.outlook.com [104.47.70.108]) by mx0a-0016f401.pphosted.com (PPS) with ESMTPS id 3qn7jb9ux9-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 18 May 2023 01:32:31 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OtkT3FWAGrg/ckBY5DehJOr2RZINVq2Q/eGMXapaQwDvapZlzWhFoibppHi/PcwAFB3qMSMIO9Cdo8Wm/CQPPjDskwQ3w1Ekcgpd9s8ui/i1gv0iH1xIcjuHBYTRB3Y+CAM1xJ3EJjaDOByqrWgUEicpAQ1qaRar50DhIl7AkgD6U8cFph4QQB2temLgcbabm+11WpcrpNaLkKxjbNikuQSc4YctkKNhT0zrr+oTqg9br59nzHFBK3va0rIWT4qIZwib9vnKukmxVDbc0AMoCGNrsq+py0rIhld6DsFV9TNlTA/cOQfPYLPhrs0fQ0B/U7XJ0V2eHM2Eke0KvFzHyQ== 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=6U3qpiXi/Xm9FS9SZWnlcdZxArQI+8zY2K1j/QlL0lw=; b=YPtSfH5ZISJ8fgQsJGSFDWkQn3of0DqaR/0tJbZ8PJbODwfowghNwrDtDtsMa72egMBrR64j7ijPJ/DVVdtiRZiKkhKkyCQqEibfiFj2MxUiRwEmXFqF9NWxrcyOFBzk9qveR7G4yPpFY++xK+pajT1Lqighd+5heBnHZKmVIGTJ6jbXZnuiEV/ikGhIfWQH2Xt5NkzK5kZWcdjNGV/RDY9FAQnrE3JbORJNXF0mXW+p9LCt7od8RBvqGAHt3uVYtU204UECriVqhZfwhSnGLf1ORXiBWeHZl0AweL0BSj0Eiw8x1AZtNTRTuVrg3kE4L8H8gs5GgTOo6AuGPYfgSQ== 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=6U3qpiXi/Xm9FS9SZWnlcdZxArQI+8zY2K1j/QlL0lw=; b=jl7x2rQA8zeOGUU55GwlAWm/1atTi9VBBlrXeU2JO7vZ6+YFsczLsQL+V0wBQmEa76de/DODxpcmbUx6QyReMwszuE6ZJ6oOoOyEAVFMwpF5w6YNfdTJlUKJDmnVLpM+OWSTsIngneR3ubrmcHZcghc9gwSq+SnCZ5AdPdGzisg= Received: from PH0PR18MB4672.namprd18.prod.outlook.com (2603:10b6:510:c9::16) by BN8PR18MB2851.namprd18.prod.outlook.com (2603:10b6:408:a9::18) 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:32:29 +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:32:29 +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 02/22] lib: add pdcp protocol Thread-Topic: [PATCH v2 02/22] lib: add pdcp protocol Thread-Index: AQHZiAtrqtKeoy/hzEyY8C+Y79fxFa9d5kjAgAHBnwCAAAtf8A== Date: Thu, 18 May 2023 08:32:28 +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-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?YmEyOWUzNWJcbXNnc1xtc2ctODNjN2MyZTktZjU1Ni0xMWVkLTljNTItNG?= =?iso-8859-1?Q?MwMzRmNWY5YjRmXGFtZS10ZXN0XDgzYzdjMmVhLWY1NTYtMTFlZC05YzUy?= =?iso-8859-1?Q?LTRjMDM0ZjVmOWI0ZmJvZHkudHh0IiBzej0iNzU4OSIgdD0iMTMzMjg4Nz?= =?iso-8859-1?Q?IzNDU5MTA5NDI4IiBoPSJsbk1xOW9xQmhNRDVxcnpRYU55SVYrbExWQXc9?= =?iso-8859-1?Q?IiBpZD0iIiBibD0iMCIgYm89IjEiIGNpPSJjQUFBQUVSSFUxUlNSVUZOQ2?= =?iso-8859-1?Q?dVQUFNZ01BQUEwY2xoR1k0blpBY2VUNTNxZU91bnV4NVBuZXA0NjZlNFVB?= =?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?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQURBQUFBQUFBQUFBQUFBQUFBUUFB?= =?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_|BN8PR18MB2851:EE_ x-ms-office365-filtering-correlation-id: f6c57796-ce6f-4d80-ebbe-08db577a6a97 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: LyqzmlxcJ9pA0lYCd+jMAoBYcP+b6/Ph6YA8k7ju+1mbJEDHloKBgfcBpgviUTjyyDBlXrpVsSSXzuIVKHdLEV1Ywr/kV3zHzJPOjCWJef7WNd+YBVtezDjZSCnE/gnqFYNRC1POdKILf2h05ls8eQRzXECO6alNwAF9aEenmm2g5JJwd/iksQgBQZSGBUwEFjKDW0ecdy/m/ifdRsgN6couom4cNRslGUOq+gomIhwspc3R0SNfGR49pAuxZyxYcb9GUJYBhfEI1doFXzu0/GSddWnzI9wjvAJUVux5EW1pQJfGF95PdS2pD0yun0X9qDHMHF755SIZnm+qqHS56ekWPdX00ABUicRvvR0UaoMX7MbxSa0ful2znXLBPwOn5Cn3Nu678CRlXC/GZ2H/RyFcEruhLtgG2D2+rMuUuDF20LrgjrDcWuav93qGnCU7AD2xk/7E9fba0gmNxDJnKgKiqYCtaQWABI2S5Pi96QIf/eo4tC5/0OzsWOXOV1OObpt4SwluHox7+lD23NdPKO5KKowjz+dCzHketaz+ZP6oT1d0u2cL5D2b1w4mIZAHNgwN+YsqR4U6ShucOSioiHTAvZ07vdvfRjnK8d+mL0Q5n7pGgvKJeunc+A6yYf3P 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)(39850400004)(376002)(136003)(346002)(396003)(366004)(451199021)(71200400001)(41300700001)(478600001)(110136005)(54906003)(7696005)(316002)(122000001)(64756008)(76116006)(4326008)(52536014)(5660300002)(38100700002)(26005)(66899021)(66446008)(66556008)(66476007)(66946007)(2906002)(33656002)(55016003)(6506007)(9686003)(53546011)(8676002)(8936002)(186003)(38070700005)(83380400001)(86362001)(66574015); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?QpaEgQ8ETfyoWN2rUeQJqx1tihdPgABgs0WY4xtM+VqNwAZMhwwuBRNT2r?= =?iso-8859-1?Q?8XSc1V10Jbm3dagGNJium+XIsaD+qD03qMVh6giTajXWclxBrioV+Hsk3y?= =?iso-8859-1?Q?m2wVs/4yfJ9RppcjdyczD7iG/vSmCwy20qY8sIuzIVwCfhn4E0MpPEKFJj?= =?iso-8859-1?Q?qE7ooVITYjB0ux9ollFxCZalUMFkL3eU2DOhVNENlBJWz6YSXo9yOu09AF?= =?iso-8859-1?Q?uWNbniik9l2l4SvVqbeqhwaVNBpZua17zoH/m+HLpVh0J7w9zKAt21iWr+?= =?iso-8859-1?Q?RLVc180Y3MULP4wo+DO+cHS3rg/2lAcHuomq5lRvCZavVDcGxiLPbC/Zia?= =?iso-8859-1?Q?RF3SfMU6+5k/KlPvo4vVyk6Kq4Q4/V4xHHaJ+Q8KtEnmWi1rB2FrM/Q+9e?= =?iso-8859-1?Q?F9QAlB/vFjee4F/gj0adm6wSDRkjklyT6obsPPqR3ilmYkIjAXn3qoL6Ll?= =?iso-8859-1?Q?bsocB4t9ut2UW7iwDI0KV7X1eYMv/4su/hzS74qhoWHe76FnWiJ5msbsMZ?= =?iso-8859-1?Q?ESdT2L7qdf9zOfMcbe5btPmK0YcS1ZLq2KfglL9MlewMO9ASwhXtSTmsQE?= =?iso-8859-1?Q?89gi55yvLengaAWIpf4WAcKF6C9IZHa6hejaFw9FB45eH1sJuj43Db4QFF?= =?iso-8859-1?Q?JQlU8LG9DVmodJGYx9iMkCT+8YABoDoMmS7YFLn4tmGtw/pnp5STS9cgMB?= =?iso-8859-1?Q?90NHVvNS1i01u4sg3Pws9/skItSUj9dNIIM9j97gdhuJfjj+ShBpFHyiqk?= =?iso-8859-1?Q?gB33N4PWR6w2YtQBQN/x4+uYvD1Y9n8ygD5qniXePkRau/dSisb3m1KFk0?= =?iso-8859-1?Q?ScPvIgnUAPY/Wwf6yuYk/65XUGUuL/wv1RO2eHpiRrVqZnRylBwVSjDxCq?= =?iso-8859-1?Q?I0S9r2be23qCwJwVTdKL9TpwOPmmld85RQdkTLBxdd6jKwQQ5+2mTO5jer?= =?iso-8859-1?Q?DIRStot52UOpY3OSj9VLQVNczMyiU4CrWPURPpi9GH5sGfBoa0xogZHKJ4?= =?iso-8859-1?Q?4Jyxdz1InryKGAsL1ix67YX3YFjTK+fGKRMUHT0HcbRvgNSzTHqNvz6K71?= =?iso-8859-1?Q?z6jOyxTJVByat47nBKGXt5j+SsuqH8bjtKUmbLlaoSgKSaSZhcJ6D6JgIa?= =?iso-8859-1?Q?mmfiV9hF4l3GTHz81ULHvax8s86RRx/H/sFXsXuvFhXfFA5Xo9yaphlhly?= =?iso-8859-1?Q?lOm0BWXRrVdq2kSpRZVLdVLXTAzo0MqdovC0wiP3imZxArpMvdhMrU70OA?= =?iso-8859-1?Q?uAM4kduhngxPFFJhNQaJ983PVW67BfMumQJecbQPIc9RHvHGpXctDTTUQA?= =?iso-8859-1?Q?BSVxn25x574+L6UMvK1ur0x8Bct/bn6766zC/AqwoSgZ5iyvAqF0ZO3IZR?= =?iso-8859-1?Q?pp4FSWdx66ocRGvh37qFbCwLQhJ0Z/hc6XFzcDX+LB4dGscFsL1TMVsBAl?= =?iso-8859-1?Q?qM6ICjyJJgDUSW3PNmR7XGHjf/lMXok97S+aKtOESXb7KpVhVgTW4FEVk5?= =?iso-8859-1?Q?wHVvIrTb4oJNrPCyzr7iC3GJRK3B8MnCvOOQNTjwa01LA+6L6uqtmNvMnA?= =?iso-8859-1?Q?+sYZSQUPql99BN82AAS8l82i9j5Y0qTnJBCaoTeNUOYq4t0c1KRU33sSID?= =?iso-8859-1?Q?4+hJIgZWlsWY4=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: f6c57796-ce6f-4d80-ebbe-08db577a6a97 X-MS-Exchange-CrossTenant-originalarrivaltime: 18 May 2023 08:32:28.8895 (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: 2/otc76Z/nIakmz/8YCYmnCJes53Xw0+T+pkXkcdFAqTHeWc4EevuGcMFanFqu5V7Y24gOlU5qfLlme6uQdpJw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN8PR18MB2851 X-Proofpoint-GUID: 1OBu9vt0l6EI0UdhzZOe53wSXmb872Lk X-Proofpoint-ORIG-GUID: 1OBu9vt0l6EI0UdhzZOe53wSXmb872Lk 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_06,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, Please see inline. Thanks, Anoob > -----Original Message----- > From: Akhil Goyal > Sent: Thursday, May 18, 2023 1:10 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 02/22] lib: add pdcp protocol >=20 > 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,= right? > > > > [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 the same. Idea is to have lib PDCP handle all > > possible cases rather than putting too much restrictions on both app & > PMD. >=20 > I believe there is a case in PDCP which allows no integrity as well.(LTE = Uplane) > In that case, a_xfrm is NULL is not equivalent to NULL auth. > No integrity would mean no MAC-I. [Anoob] The comment explains the logic. If it is control plane, then digest= is must and that case lib PDCP is trying to handle. Anyway, adding an extr= a error check and returning error in that case is not a big deal. Will add = that in the appropriate place. >=20 >=20 >=20 > > > > 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. > > > > [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. >=20 > Check again lib/ethdev/rte_ethdev.c > rte_errno are set as positive values only and APIs return error numbers a= s > negative values. [Anoob] Okay. There are many APIs were this is not done correctly (check rt= e_flow.h) . For lib PDCP additions, I'll have this handled. Some of these c= onventions should be documented to avoid confusion. >=20 >=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 lengt= h > > > > +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. > > > > [Anoob] Validation happens when we create session. Please check, > > pdcp: add crypto session create and destroy >=20 > 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? > > > > [Anoob] HFN is part of pdcp_xfrm which is defined in rte_security. Lib = PDCP > > allows user to specify complete 32 bit count value using > > rte_pdcp_entity_conf.count. Since HFN is also used to construct 32 bit > count > > value, having two ways to set count would be misleading. Hence lib PDCP > would > > enforce that application does not set this value. > > > > > > > > > +/** > > > > + * PDCP entity configuration to be used for establishing an entity= . > > > > + */ > > > > +/* Structure rte_pdcp_entity_conf 8< */ struct rte_pdcp_entity_con= f > { > > > > + /** 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 establ= ish > and > > > return EINVAL? > > > It should be silently ignored in that case with a debug print at max. > > > > [Anoob] Explained above. Please check. > > > No it is not explained. Above comments says > " pdcp_xfrm.hfn would be ignored as the HFN would be derived from this > value" >=20 > Here you are saying the field will be ignored. > But while creating entity, it is returning EINVAL if hfn is provided. [Anoob] Agreed. Will address in next version.=20