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 98C9442B6F; Mon, 22 May 2023 12:22:17 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 8AD0940EE7; Mon, 22 May 2023 12:22:17 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by mails.dpdk.org (Postfix) with ESMTP id DBFED40EE5 for ; Mon, 22 May 2023 12:22:15 +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 34LMniF0025997; Mon, 22 May 2023 03:22:14 -0700 Received: from nam11-bn8-obe.outbound.protection.outlook.com (mail-bn8nam11lp2168.outbound.protection.outlook.com [104.47.58.168]) by mx0a-0016f401.pphosted.com (PPS) with ESMTPS id 3qpujne1u7-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 22 May 2023 03:22:13 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XbGpcP7cB+yAlV0Kfj1q8Db2LQZ/M2AnBAWe25oiJgfNXlh8ENfgOBXYPLIGEbFpRMUu147+22lQyWavG0sMUbQ02vQDNuvQtth/RtFvDPMx3kOVNF3SPOYSZZdrvcH5X6itDlDIuN7gK0FQlw2NGM7RTvB/c1D34bUlLuqacv+B1/VYDTM21gIZVR0OqxmrkmX8LmzEl1IejYhHfGuynbGsCVeDmiUKQu6hnEzXl+EFIXZoDZjekWtRPg3Yw2qR4a1eVRwv4NOmKCwG29hBRGTPFZr8El6rBPtkn6a4lBrTTrCEgfHSYdhW0lY05ENFx3T+TQDDAW49tDtYkZdquQ== 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=XvTZtFHh4/9QE6o+nYJChz53OALilSJBASLrwf87PmU=; b=dcwdFXmgfceNpvDTt3jL2Q+ZR5j1hq4GjBNa/RUiLWItvKe59IUN+poMh9h/J+nouPkwvS43iz9MU5+ka5ABdAYohVl4lsY1sALYchxgRejGQiaMOLspmohgbEJ83IQkFxkSBTIvucsYIETt0B3epVo/DuyYx6Ub/xV1OJiXSz2tpubIWkjWrjz+s4Yg4TxYjRlAcF7vFN4LMZlXuJzJXsocXmXp36Mcpb4DDYP/KWUqslg6hmWBlWNgaYj4xsRt076nvpFiSQBciTwkJd9H5f9HY3MfJTpQVssl9Zi62UBAnJlBa1zCQ9umu/phh2sTsfqOwqTi3gxBpyFye9WfUw== 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=XvTZtFHh4/9QE6o+nYJChz53OALilSJBASLrwf87PmU=; b=SzyQ0p6BXwcSNTe8w+HrxFaleIyBh87g7xJFuDRH59N8FhEkozI8pO0IYlZchwYHN++w0iJqqO5AbzR3e3fsZf57A9dvY6G5NYDOGGO9/7hL5KPRyhOjRXjZz/Io/o4pxZPMS528/4vjP5dRWoxVPDfuJgKWUE4ry+zeGQ954+k= Received: from PH0PR18MB4672.namprd18.prod.outlook.com (2603:10b6:510:c9::16) by MWHPR18MB1566.namprd18.prod.outlook.com (2603:10b6:300:cb::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6411.28; Mon, 22 May 2023 10:22:09 +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.028; Mon, 22 May 2023 10:22:09 +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 11/22] doc: add PDCP library guide Thread-Topic: [PATCH v2 11/22] doc: add PDCP library guide Thread-Index: AQHZiWJqRCE4ur+HHEuOwfslJ3Bdna9l5rOQ Date: Mon, 22 May 2023 10:22:08 +0000 Message-ID: References: <20221222092522.1628-1-anoobj@marvell.com> <20230414174512.642-1-anoobj@marvell.com> <20230414174512.642-12-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?YmEyOWUzNWJcbXNnc1xtc2ctN2ZiNDg4M2EtZjg4YS0xMWVkLTljNTItNG?= =?iso-8859-1?Q?MwMzRmNWY5YjRmXGFtZS10ZXN0XDdmYjQ4ODNiLWY4OGEtMTFlZC05YzUy?= =?iso-8859-1?Q?LTRjMDM0ZjVmOWI0ZmJvZHkudHh0IiBzej0iMTA3NzIiIHQ9IjEzMzI5Mj?= =?iso-8859-1?Q?I0NTI2MzAwODgzMiIgaD0iOXloOEpKV1RyNnU0K2UzNC8rd1hRYm9XSFpF?= =?iso-8859-1?Q?PSIgaWQ9IiIgYmw9IjAiIGJvPSIxIiBjaT0iY0FBQUFFUkhVMVJTUlVGTk?= =?iso-8859-1?Q?NnVUFBSHdRQUFCQVJEZENsNHpaQVppSVFwRUhqNmR6bUloQ2tRZVBwM01h?= =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUhBQUFBQU1FQUFBQUFBQUFBQU?= =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUVBQVFFQkFBQUE4QU1OOHdDQUFRQUFBQUFBQUFB?= =?iso-8859-1?Q?QUFKNEFBQUJoQUdRQVpBQnlBR1VBY3dCekFBQUFBQUFBQUFBQUFBQUFBQU?= =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?= =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBRUFBQUFBQUFBQUFnQUFBQUFBbmdBQU?= =?iso-8859-1?Q?FHTUFkUUJ6QUhRQWJ3QnRBRjhBY0FCbEFISUFjd0J2QUc0QUFBQUFBQUFB?= =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?= =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?= =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQVFBQUFBQUFBQUFDQUFBQUFBQ2VBQUFBWXdCMUFI?= =?iso-8859-1?Q?TUFkQUJ2QUcwQVh3QndBR2dBYndCdUFHVUFiZ0IxQUcwQVlnQmxBSElBQU?= =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?= =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFB?= =?iso-8859-1?Q?QUFBQUFBQUJBQUFBQUFBQUFBSUFBQUFBQUo0QUFBQmpBSFVBY3dCMEFHOE?= =?iso-8859-1?Q?FiUUJmQUhNQWN3QnVBRjhBWkFCaEFITUFhQUJmQUhZQU1BQXlBQUFBQUFB?= =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFB?= x-dg-refone: =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?= =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFQUFBQUFBQUFBQWdBQUFBQUFuZ0?= =?iso-8859-1?Q?FBQUdNQWRRQnpBSFFBYndCdEFGOEFjd0J6QUc0QVh3QnJBR1VBZVFCM0FH?= =?iso-8859-1?Q?OEFjZ0JrQUhNQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?= =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?= =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBUUFBQUFBQUFBQUNBQUFBQUFDZUFBQUFZd0Ix?= =?iso-8859-1?Q?QUhNQWRBQnZBRzBBWHdCekFITUFiZ0JmQUc0QWJ3QmtBR1VBYkFCcEFHME?= =?iso-8859-1?Q?FhUUIwQUdVQWNnQmZBSFlBTUFBeUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?= =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?iso-8859-1?Q?QUFBQUFBQUFBQkFBQUFBQUFBQUFJQUFBQUFBSjRBQUFCakFIVUFjd0IwQU?= =?iso-8859-1?Q?c4QWJRQmZBSE1BY3dCdUFGOEFjd0J3QUdFQVl3QmxBRjhBZGdBd0FESUFB?= =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?= =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?= =?iso-8859-1?Q?FBQUVBQUFBQUFBQUFBZ0FBQUFBQW5nQUFBR1FBYkFCd0FGOEFjd0JyQUhr?= =?iso-8859-1?Q?QWNBQmxBRjhBWXdCb0FHRUFkQUJmQUcwQVpRQnpBSE1BWVFCbkFHVUFYd0?= =?iso-8859-1?Q?IyQURBQU1nQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?= =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFRQUFB?= =?iso-8859-1?Q?QUFBQUFBQ0FBQUFBQUNlQUFBQVpBQnNBSEFBWHdCekFHd0FZUUJqQUdzQV?= =?iso-8859-1?Q?h3QmpBR2dBWVFCMEFGOEFiUUJsQUhNQWN3QmhBR2NBWlFBQUFBQUFBQUFB?= =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?= =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFB?= x-dg-reftwo: =?iso-8859-1?Q?QUFBQUFBQUFBQUFCQUFBQUFBQUFBQUlBQUFBQUFKNEFBQUJrQUd3QWNBQm?= =?iso-8859-1?Q?ZBSFFBWlFCaEFHMEFjd0JmQUc4QWJnQmxBR1FBY2dCcEFIWUFaUUJmQUdZ?= =?iso-8859-1?Q?QWFRQnNBR1VBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?= =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?= =?iso-8859-1?Q?FBQUFBRUFBQUFBQUFBQUFnQUFBQUFBbmdBQUFHVUFiUUJoQUdrQWJBQmZB?= =?iso-8859-1?Q?R0VBWkFCa0FISUFaUUJ6QUhNQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?= =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?= =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFEQUFBQUFBQUFBQUFBQUFBQVFB?= =?iso-8859-1?Q?QUFBQUFBQUFDQUFBQUFBQ2VBQUFBYlFCaEFISUFkZ0JsQUd3QVh3QndBSE?= =?iso-8859-1?Q?lBYndCcUFHVUFZd0IwQUY4QWJnQmhBRzBBWlFCekFGOEFZd0J2QUc0QVpn?= =?iso-8859-1?Q?QnBBR1FBWlFCdUFIUUFhUUJoQUd3QVh3QmhBR3dBYndCdUFHVUFBQUFBQU?= =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJBQUFBQUFBQU?= =?iso-8859-1?Q?FBSUFBQUFBQUo0QUFBQnRBR0VBY2dCMkFHVUFiQUJmQUhBQWNnQnZBR29B?= =?iso-8859-1?Q?WlFCakFIUUFYd0J1QUdFQWJRQmxBSE1BWHdCeUFHVUFjd0IwQUhJQWFRQm?= =?iso-8859-1?Q?pBSFFBWlFCa0FGOEFZUUJzQUc4QWJnQmxBQUFBQUFBQUFBQUFBQUFBQUFB?= =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?= =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFQUFBQUFBQUFBQWdBQUFB?= =?iso-8859-1?Q?QUFuZ0FBQUcwQVlRQnlBSFlBWlFCc0FGOEFjQUJ5QUc4QWFnQmxBR01BZE?= =?iso-8859-1?Q?FCZkFHNEFZUUJ0QUdVQWN3QmZBSElBWlFCekFIUUFjZ0JwQUdNQWRBQmxB?= =?iso-8859-1?Q?R1FBWHdCb0FHVUFlQUJqQUc4QVpBQmxBSE1BQUFBQUFBQUFBQUFBQUFBQU?= =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBUUFBQUFBQUFBQUNBQUFBQUFDZUFBQU?= =?iso-8859-1?Q?FiUUJoQUhJQWRnQmxBR3dBYkFCZkFHRUFjZ0J0QUFBQUFBQUFBQUFBQUFB?= =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFB?= x-dg-refthree: =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?= =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQU?= =?iso-8859-1?Q?FBQUFJQUFBQUFBSjRBQUFCdEFHRUFjZ0IyQUdVQWJBQnNBRjhBWndCdkFH?= =?iso-8859-1?Q?OEFad0JzQUdVQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?= =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?= =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUVBQUFBQUFBQUFBZ0FB?= =?iso-8859-1?Q?QUFBQW5nQUFBRzBBWVFCeUFIWUFaUUJzQUd3QVh3QndBSElBYndCcUFHVU?= =?iso-8859-1?Q?FZd0IwQUY4QVl3QnZBR1FBWlFCekFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?= =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFRQUFBQUFBQUFBQ0FBQUFBQUNlQU?= =?iso-8859-1?Q?FBQWJRQmhBSElBZGdCbEFHd0FiQUJmQUhBQWNnQnZBR29BWlFCakFIUUFY?= =?iso-8859-1?Q?d0JqQUc4QVpBQmxBSE1BWHdCa0FHa0FZd0IwQUFBQUFBQUFBQUFBQUFBQU?= =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?= =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFCQUFBQUFBQUFBQUlBQUFBQUFKNEFBQUJ0QUdF?= =?iso-8859-1?Q?QWNnQjJBR1VBYkFCc0FGOEFjQUJ5QUc4QWFnQmxBR01BZEFCZkFHNEFZUU?= =?iso-8859-1?Q?J0QUdVQWN3QmZBR01BYndCdUFHWUFhUUJrQUdVQWJnQjBBR2tBWVFCc0FG?= =?iso-8859-1?Q?OEFiUUJoQUhJQWRnQmxBR3dBYkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?= =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?iso-8859-1?Q?QUFBQUFBQUFBRUFBQUFBQUFBQUFnQUFBQUFBbmdBQUFHMEFZUUJ5QUhZQV?= =?iso-8859-1?Q?pRQnNBR3dBWHdCd0FISUFid0JxQUdVQVl3QjBBRjhBYmdCaEFHMEFaUUJ6?= =?iso-8859-1?Q?QUY4QVl3QnZBRzRBWmdCcEFHUUFaUUJ1QUhRQWFRQmhBR3dBWHdCdEFHRU?= =?iso-8859-1?Q?FjZ0IyQUdVQWJBQnNBRjhBWVFCdUFHUUFYd0J0QUdrQWNBQUFBQUFBQUFB?= =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFB?= x-dg-reffour: =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVFBQUFBQUFBQUFDQUFBQUFBQ2?= =?iso-8859-1?Q?VBQUFBYlFCaEFISUFkZ0JsQUd3QWJBQmZBSEFBY2dCdkFHb0FaUUJqQUhR?= =?iso-8859-1?Q?QVh3QnVBR0VBYlFCbEFITUFYd0JqQUc4QWJnQm1BR2tBWkFCbEFHNEFkQU?= =?iso-8859-1?Q?JwQUdFQWJBQmZBRzBBWVFCeUFIWUFaUUJzQUd3QVh3QnZBSElBWHdCaEFI?= =?iso-8859-1?Q?SUFiUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?= =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUJBQUFBQUFBQUFBSUFBQUFBQUo0QUFBQnRB?= =?iso-8859-1?Q?R0VBY2dCMkFHVUFiQUJzQUY4QWNBQnlBRzhBYWdCbEFHTUFkQUJmQUc0QV?= =?iso-8859-1?Q?lRQnRBR1VBY3dCZkFHTUFid0J1QUdZQWFRQmtBR1VBYmdCMEFHa0FZUUJz?= =?iso-8859-1?Q?QUY4QWJRQmhBSElBZGdCbEFHd0FiQUJmQUc4QWNnQmZBR2NBYndCdkFHY0?= =?iso-8859-1?Q?FiQUJsQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?iso-8859-1?Q?QUFBQUFBQUFBQUFFQUFBQUFBQUFBQWdBQUFBQUFuZ0FBQUcwQVlRQnlBSF?= =?iso-8859-1?Q?lBWlFCc0FHd0FYd0J3QUhJQWJ3QnFBR1VBWXdCMEFGOEFiZ0JoQUcwQVpR?= =?iso-8859-1?Q?QnpBRjhBY2dCbEFITUFkQUJ5QUdrQVl3QjBBR1VBWkFCZkFHMEFZUUJ5QU?= =?iso-8859-1?Q?hZQVpRQnNBR3dBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?= =?iso-8859-1?Q?FBQUFBUUFBQUFBQUFBQUNBQUFBQUFDZUFBQUFiUUJoQUhJQWRnQmxBR3dB?= =?iso-8859-1?Q?YkFCZkFIQUFjZ0J2QUdvQVpRQmpBSFFBWHdCdUFHRUFiUUJsQUhNQVh3Qn?= =?iso-8859-1?Q?lBR1VBY3dCMEFISUFhUUJqQUhRQVpRQmtBRjhBYlFCaEFISUFkZ0JsQUd3?= =?iso-8859-1?Q?QWJBQmZBRzhBY2dCZkFHRUFjZ0J0QUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?= =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFB?= =?iso-8859-1?Q?QUFBQUFBQUFJQUFBQUFBSjRBQUFCdEFHRUFjZ0IyQUdVQWJBQnNBRjhBZE?= =?iso-8859-1?Q?FCbEFISUFiUUJwQUc0QWRRQnpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?= =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUVBQUFBQUFBQU?= =?iso-8859-1?Q?FBZ0FBQUFBQW5nQUFBRzBBWVFCeUFIWUFaUUJzQUd3QVh3QjNBRzhBY2dC?= =?iso-8859-1?Q?a0FBQUFBQUFBQUFBQUFBQUFBQUFB?= x-dg-reffive: QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVFBQUFBQUFBQUFBQUFBQUFRQUFBQUFBQUFBQ0FBQUFBQUE9Ii8+PC9tZXRhPg== x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PH0PR18MB4672:EE_|MWHPR18MB1566:EE_ x-ms-office365-filtering-correlation-id: 3609a59b-6bb2-481e-c1c9-08db5aae662e x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: W6gJ25CXlLs6qfhmqQMYayekxjfudfh8xS3gIOBD3OocmpBp+tG1IjSrkL5HMhKgEKv5GrXSpGoAHZ+90fobu9gh2L/xMVWP2daoLiDcLMv9VjYVrF4pYGIaAobVNCbmXmNpgs6no9H6ff8D6mcPwcZNkgQdAEVkmRWMDbr+7OHACjcSfnJomRWL6D7Y9De9gplgqyNm59UcpGWjzhj8oLz47JcslMJE0FHAit/3sCeS+bGqyjhjuClZx2d6akcayzqcm0XYJKuzkVKSablMJF6SK+as+JqkGUtiqNK4WFuUZtLihFM/Fo+isTtH9Ioum02I9HKXrDvY9POX2Cgn6AOVccoDrnlPvUBVTBxAFT7JrRyCLSkLmJpfUtq4JYD3nzjv9+rXkNj9F+CcSCSzvkBIjrU95ZHIVzRtsZA7DMy+3IC+VeyM/wNT6lGROGnbNh7O37QA9JQJtb+5mvz3um6eGQ0m+jAn+sIH3B2//Q1qP10LUn3VgXalsZSKwbtfBu+GTpHshO0yR+vhUIoEFVCcsqfo+aiX+Fuu3HVrfwIJWDeUSxvhtMRRVfBJTHwjyWBcY5bFtngBzjBy4UqReA9M/hul7q7JpPqvSXsOG+s= 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)(39860400002)(136003)(396003)(346002)(376002)(366004)(451199021)(8676002)(8936002)(52536014)(5660300002)(83380400001)(66574015)(9686003)(53546011)(186003)(6506007)(26005)(86362001)(122000001)(38100700002)(38070700005)(64756008)(41300700001)(55016003)(71200400001)(478600001)(7696005)(33656002)(4326008)(66446008)(76116006)(66946007)(66556008)(66476007)(110136005)(316002)(54906003)(2906002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?xg5AoyELOkLwicK70dvz3hPjC2gwYvmKWF7ENelNUdOa/LopwpJQ3KSPWm?= =?iso-8859-1?Q?G5YAI8Ch9aOotjmfMlJrBQ9vHCRu7tvfVkMTlqIuYwSRsARhYo58cPYTRt?= =?iso-8859-1?Q?M5Q9pKxycS/gpmU3KLHwidkw7+PY6wBNNOC5buxmhO9PIofhJLPx+/LpHD?= =?iso-8859-1?Q?B84OShkbGTNfJ4hsNdv73273f/3ALXSTSxQd5Ck9TPH44xxLk8AVCu6237?= =?iso-8859-1?Q?a/caVxBEZZbyy7BEJMuJ+UCtqPonr6mfxWhDP2o684aS/rhPPL74cRdsfI?= =?iso-8859-1?Q?a83Q8k8cuO5qwITUrVHLUXViaCsqrmTFljTIvv2mLCubyRxEBGXcdPc7KZ?= =?iso-8859-1?Q?M0cLNdtK2uxtQZs0ALizXRVce6qIoAsOAJRdF9EtXLEeuB9RRkE5rmhT4C?= =?iso-8859-1?Q?/mie5O146JVUZ2FLoefAVGO47lI2+8K16glqQ6VhvDywoeT6ylpb8RDqi+?= =?iso-8859-1?Q?JPgqF6xIY8FsfMjUv6kK6nn/ZPETqGu1hlyw3/LDPCHo2wp5L+UZ6hwDgZ?= =?iso-8859-1?Q?7vZEflJqrzabYjvMWws4yJafnNllkglRLWwyxK2uKBYOJazKn6wFaGA8YI?= =?iso-8859-1?Q?Do0DtVQqZkOucd8wsnvvf8pRp2mAsbAMnyoC6XEfsVky6aw/HfVZ50zCnA?= =?iso-8859-1?Q?S8wwHJ/1kQLHNoIB2qfWNCSvbmpp/rbf15HVAVw3MuoeOb2a25Ak7r1MeE?= =?iso-8859-1?Q?8vi1iF29Vurzwejt0GO3OMdiC3GLODitN1vwb7q9ENmMJWVqm28zu0HhHi?= =?iso-8859-1?Q?f0fH3ehx8ZG4GI4VBm1/4VJNWGFAM03n90TmwIX6tqCH79VTKupsNucWvt?= =?iso-8859-1?Q?PBu/JcbGJ/7SeXxzAOInjyFeDCtHvN/z9nYqHaJvKVQFGTDea+SLf2YTKO?= =?iso-8859-1?Q?imPiHPMr619swGVUcHmvhKawjCdKR7mvNbic1Ad3qei2dneXyVGccy+x0X?= =?iso-8859-1?Q?d6f7KehfJTtEbPCrr+xchV72XoSXnGEDVrbftzpbgp4I3LsJ04LOBgbFXB?= =?iso-8859-1?Q?7uBzhHb+keksYbnOU8FKaNKkLDB6ZmJRB9BpBH87z2jaAqmdVY1+Vst7Eu?= =?iso-8859-1?Q?bFqKQZCBrNDpaXV4yrx1CBe7HMHDCn4hhcylRu9VilSPFkDziSpcx1MU75?= =?iso-8859-1?Q?1SYIfdbvHAaDEduU/kJdiqd2CuYTh+4jV1icFRK+nw0if1BOKMo/krVIxO?= =?iso-8859-1?Q?Dte8z8rY8GA03vSgjXr2btNT4faQEls9qJor3xZoGcH5VMZJycBuXnbpxm?= =?iso-8859-1?Q?a54oxV1fTuclUQS8+cVv7qwIEawYV0uGeJJFdLTK2D+ngq1qogeSzUOF6h?= =?iso-8859-1?Q?VQc+KGC+jMimxzP7mfPA0pVlqWpi3chK3jwjDEbFT6fkmuxvvypALiwyHL?= =?iso-8859-1?Q?cApK/aYLZEGRZSKBE836nQcKG/BPp8LangKDRqZ0iqyGDcIJn5bX3vntW+?= =?iso-8859-1?Q?OJi6lGrb+UUlsQ6G9v95NMVEY/Pzj2qzWZ4V8yuOL2y7I4rPfFPUYxkwbe?= =?iso-8859-1?Q?olN7BE6iI1y8YGtCV4KDgju8W3M6X6d5R6jYZLLBMmO1/jp9y+vAdTFesA?= =?iso-8859-1?Q?y4IxLxdtsCyOwiBRdQ38HYyj7c2icuynM8lyglZO0zxCX22hqn5ieOs6RO?= =?iso-8859-1?Q?mPnOHc98PhHGM=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: 3609a59b-6bb2-481e-c1c9-08db5aae662e X-MS-Exchange-CrossTenant-originalarrivaltime: 22 May 2023 10:22:08.8035 (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: NvcVT+zVtGVSoYIHeuvH9XndCC7MJiaym9KJPc6r6pM+HSawr28whnT1c7G8Yz1hI41i8v9CGydvZIjusZWxDg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR18MB1566 X-Proofpoint-ORIG-GUID: u4lWzayaozz5cNSIxffAEn9gHw5VoCAT X-Proofpoint-GUID: u4lWzayaozz5cNSIxffAEn9gHw5VoCAT 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-22_06,2023-05-22_03,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:56 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 11/22] doc: add PDCP library guide >=20 > > diff --git a/doc/guides/prog_guide/pdcp_lib.rst > > b/doc/guides/prog_guide/pdcp_lib.rst > > new file mode 100644 > > index 0000000000..abd874f2cc > > --- /dev/null > > +++ b/doc/guides/prog_guide/pdcp_lib.rst > > @@ -0,0 +1,246 @@ > > +.. SPDX-License-Identifier: BSD-3-Clause > > + Copyright(C) 2023 Marvell. > > + > > +PDCP Protocol Processing Library > > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D > > + > > +DPDK provides a library for PDCP protocol processing. The library > > +utilizes other DPDK libraries such as cryptodev, reorder, etc., to > > +provide the application with a transparent and high performant PDCP > > +protocol processing library. > > + > > +The library abstracts complete PDCP protocol processing conforming to > > +``ETSI TS 138 323 V17.1.0 (2022-08)``. > > +https://www.etsi.org/deliver/etsi_ts/138300_138399/138323/17.01.00_60 > > +/ts_ > > 138323v170100p.pdf > > + > > +PDCP would involve the following operations, > > + > > +1. Transfer of user plane data > > +2. Transfer of control plane data > > +3. Header compression > > +4. Uplink data compression > > +5. Ciphering and integrity protection > > + > > +.. _figure_pdcp_functional_overview: > > + > > +.. figure:: img/pdcp_functional_overview.* > > + > > + PDCP functional overview new > > + > > +PDCP library would abstract the protocol offload features of the > > +cryptodev and would provide a uniform interface and consistent API > > +usage to work with cryptodev irrespective of the protocol offload > features supported. > > + > > +PDCP entity API > > +--------------- > > + > > +PDCP library provides following control path APIs that is used to > > +configure various PDCP entities, > > + > > +1. ``rte_pdcp_entity_establish()`` > > +2. ``rte_pdcp_entity_suspend()`` > > +3. ``rte_pdcp_entity_release()`` > > + > > +A PDCP entity would translate to one ``rte_cryptodev_sym_session`` or > > +``rte_security_session`` based on the config. The sessions would be > > +created/ destroyed while corresponding PDCP entity operations are > performed. >=20 > Please explain the difference between suspend and release here. [Anoob] Sure. Will do in next version. >=20 > > + > > +PDCP PDU (Protocol Data Unit) > > +----------------------------- > > + > > +PDCP PDUs can be categorized as, > > + > > +1. Control PDU > > +2. Data PDU > > + > > +Control PDUs are used for signalling between entities on either end > > +and can be one of the following, > > + > > +1. PDCP status report > > +2. ROHC feedback > > +3. EHC feedback > > + > > +Control PDUs are not ciphered or authenticated, and so such packets > > +are not submitted to cryptodev for processing. > > + > > +Data PDUs are regular packets submitted by upper layers for > > +transmission to other end. Such packets would need to be ciphered and > > +authenticated based on the entity configuration. > > + > Please move the PDCP PDU section above PDCP entity API section. > So that all APIs are together. [Anoob] PDCP PDU section is also talking about APIs. I'll rename above titl= e from 'PDCP PDU(Protocol Data Unit)' to 'PDCP PDU(Protocol Data Unit) API'= to make it more uniform. >=20 >=20 > > +PDCP packet processing API for data PDU > > +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > + > > +PDCP processing is split into 2 parts. One before cryptodev > > +processing > > +(``rte_pdcp_pkt_pre_process()``) and one after cryptodev processing > > +(``rte_pdcp_pkt_post_process()``). 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 PDCP entity. > > + > > +Lib PDCP would allow application to use same API sequence while > > +leveraging protocol offload features enabled by ``rte_security`` > > +library. Lib PDCP would internally change the handles registered for > > +``pre_process`` and ``post_process`` based on features enabled in the > entity. > > + > > +Lib PDCP would create the required sessions on the device provided in > > +entity to minimize the application requirements. Also, the crypto_op > > +allocation and free would also be done internally by lib PDCP to > > +allow the library to create crypto ops as required for the input > > +packets. For example, when control PDUs > > are > > +received, no cryptodev enqueue-dequeue is expected for the same and > > +lib > > PDCP > > +is expected to handle it differently. > > + > > +Sample API usage > > +---------------- > > + > > +The ``rte_pdcp_entity_conf`` structure is used to pass the > > +configuration parameters for entity creation. > > + > > +.. literalinclude:: ../../../lib/pdcp/rte_pdcp.h > > + :language: c > > + :start-after: Structure rte_pdcp_entity_conf 8< > > + :end-before: >8 End of structure rte_pdcp_entity_conf. > > + > > +.. code-block:: c > > + > > + struct rte_mbuf **out_mb, *pkts[MAX_BURST_SIZE]; > > + struct rte_crypto_op *cop[MAX_BURST_SIZE]; > > + struct rte_pdcp_group grp[MAX_BURST_SIZE]; > > + struct rte_pdcp_entity *pdcp_entity; > > + int nb_max_out_mb, ret, nb_grp; > > + uint16_t nb_ops; > > + > > + /* Create PDCP entity */ > > + pdcp_entity =3D rte_pdcp_entity_establish(&conf); > > + > > + /** > > + * Allocate buffer for holding mbufs returned during PDCP suspend, > > + * release & post-process APIs. > > + */ > > + > > + /* Max packets that can be cached in entity + burst size */ > > + nb_max_out_mb =3D pdcp_entity->max_pkt_cache + > MAX_BURST_SIZE; > > + out_mb =3D rte_malloc(NULL, nb_max_out_mb * sizeof(uintptr_t), 0); > > + if (out_mb =3D=3D NULL) { > > + /* Handle error */ > > + } > > + > > + while (1) { > > + /* Receive packet and form mbuf */ > > + > > + /** > > + * Prepare packets for crypto operation. Following operations > > + * would be done, > > + * > > + * Transmitting entity/UL (only data PDUs): > > + * - Perform compression > > + * - Assign sequence number > > + * - Add PDCP header > > + * - Create & prepare crypto_op > > + * - Prepare IV for crypto operation (auth_gen, encrypt) > > + * - Save original PDCP SDU (during PDCP re-establishment, > > + * unconfirmed PDCP SDUs need to crypto processed again > > and > > + * transmitted/re-transmitted) > > + * > > + * Receiving entity/DL: > > + * - Any control PDUs received would be processed and > > + * appropriate actions taken. If data PDU, continue. > > + * - Determine sequence number (based on HFN & per > packet > > SN) > > + * - Prepare crypto_op > > + * - Prepare IV for crypto operation (decrypt, auth_verify) > > + */ > > + nb_success =3D rte_pdcp_pkt_pre_process(pdcp_entity, pkts, > cop, > > + nb_rx, &nb_err); > > + if (nb_err !=3D 0) { > > + /* Handle error packets */ > > + } > > + > > + if ((rte_cryptodev_enqueue_burst(dev_id, qp_id, cop, > > nb_success) > > + !=3D nb_success) { > > + /* Retry for enqueue failure packets */ > > + } > > + > > + ... > > + > > + nb_ops =3D rte_cryptodev_dequeue_burst(dev_id, qp_id, cop, > > + MAX_BURST_SIZE); > > + if (nb_ops =3D=3D 0) > > + continue; > > + > > + /** > > + * Received a burst of completed crypto ops from cryptodev. > It > > + * may belong to various entities. Group similar ones > together > > + * for entity specific post-processing. > > + */ > > + > > + /** > > + * Groups similar entities together. Frees crypto op and > based > > + * on crypto_op status, set mbuf->ol_flags which would be > > + * checked in rte_pdcp_pkt_post_process(). > > + */ > > + nb_grp =3D rte_pdcp_pkt_crypto_group(cop, pkts, grp, ret); > > + > > + for (i =3D 0; i !=3D nb_grp; i++) { > > + > > + /** > > + * Post process packets after crypto completion. > > + * Following operations would be done, > > + * > > + * Transmitting entity/UL: > > + * - Check crypto result > > + * > > + * Receiving entity/DL: > > + * - Check crypto operation status > > + * - Check for duplication (if yes, drop duplicate) > > + * - Perform decompression > > + * - Trim PDCP header > > + * - Hold packet (SDU) for in-order delivery (return > > + * completed packets as and when sequence is > > + * completed) > > + * - If not in sequence, cache the packet and start > > + * t-Reordering timer. When timer expires, the > > + * packets need to delivered to upper layers (not > > + * treated as error packets). > > + */ > > + nb_success =3D > rte_pdcp_pkt_post_process(grp[i].id.ptr, > > + grp[i].m, out_mb, > > + grp[i].cnt, > > + &nb_err); > > + if (nb_err !=3D 0) { > > + /* Handle error packets */ > > + } > > + > > + /* Perform additional operations */ > > + > > + /** > > + * Transmitting entity/UL > > + * - If duplication is enabled, duplicate PDCP PDUs > > + * - When lower layers confirm reception of a PDCP > > PDU, > > + * it should be communicated to PDCP layer so that > > + * PDCP can drop the corresponding SDU > > + */ > > + } > > + } > > + > > + > > +Supported features > > +------------------ > > + > > +- 12 bit & 18 bit sequence numbers > > +- Uplink & downlink traffic > > +- HFN increment > > +- IV generation as required per algorithm > > + > > +Supported ciphering algorithms > > +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > + > > +- NULL > > +- AES-CTR > > +- SNOW3G-CIPHER > > +- ZUC-CIPHER > > + > > +Supported integrity protection algorithms > > +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > + > > +- NULL > > +- AES-CMAC > > +- SNOW3G-AUTH > > +- ZUC-AUTH > > -- > Move Supported features and algos after PDCP PDU explanation. > Sample sequence should be in the end. [Anoob] Agreed. Will make this change in next version.