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 4D83CA0540; Tue, 13 Dec 2022 08:01:58 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 3C36B40A84; Tue, 13 Dec 2022 08:01:58 +0100 (CET) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by mails.dpdk.org (Postfix) with ESMTP id 54A6640146 for ; Tue, 13 Dec 2022 08:01:56 +0100 (CET) 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 2BD1s3F2031301; Mon, 12 Dec 2022 23:01:55 -0800 Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10lp2106.outbound.protection.outlook.com [104.47.55.106]) by mx0a-0016f401.pphosted.com (PPS) with ESMTPS id 3mcrbvh31v-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 12 Dec 2022 23:01:55 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nrUxLNT+iO4lyuqV10pRkF+7ND2bpclHd7/+iwvVIlHzI6468HeBrG/cLpuDK5Mx2EEipLCKxn/CqQjQ7LibXTFjr3/7BJqYjkQX5qmuNjJxMlT7FENDZ7QmTxJC8nk67+clylNLSDL7MTkc3x4Bty1ERnhaOMeqswKenui3O6S9FkchY7zDnNNqMO8IMSswIGCaSbV40xqWwlxtNObSYYGy8af4l6O/dl+Rh0hOj7pQcAdXRCEiLwVdMnruvv4tuWs8NENUBafiswmv+xZmFQ8P9tQQZJ9Ru2g7T2whLTdkocT+pyBHHLNTMcAt2loufh3Fj8A0y3d/70Z1eeVLig== 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=rFZ3T20r2le9GMnN6TpUokse6XUVxPWyIjb5wnhXhLY=; b=etw+OrOyKn0mR3yMrNDjxpc7WuIOrex+UGA/W2pKAFsDkjY1WoXNHTH9pTbrQcKwQ/CMrroalPHbZXsk95X2LN/cB1vlOTU5wkMrxgOZ9ZoIwnt41mTg32cr4hDlep4LLjzAKeUxbJnWtiJYaIckxlP0xU8SCFP2DUx9MTnNQiFKdVSMpRg56v5TSnITaiFTML5NF9kYMZLRDZ0sV/hd8JtmSE8l1voHbHECqBuEJnQZZoz57Flpj7gdazvREOeryU7dteyAXXMfBcZDldCuL2Wc8N7VPPwskrx6Ql5gtCQXyJifknqniRu0X/JCvHlKSriTJMogZxYCpL1D1sueyw== 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=rFZ3T20r2le9GMnN6TpUokse6XUVxPWyIjb5wnhXhLY=; b=dOBQVLv2XkAKlIygj31mXzLfkwZItbhFvX9NoJF4dDA+hQQtASZRqT/cUIESYldtqlfY787UN4jq2K2mmeekVZlWNFkLhm2BmaM2cn+3Nz9J1LkWTt2XV+b83Ds2djzW/lgxVvRbNJ3vAs/kuDF+BMLOdzTTwn+QXnHt+quyzdg= Received: from CO6PR18MB4484.namprd18.prod.outlook.com (2603:10b6:5:359::9) by SN7PR18MB3869.namprd18.prod.outlook.com (2603:10b6:806:101::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.10; Tue, 13 Dec 2022 07:01:53 +0000 Received: from CO6PR18MB4484.namprd18.prod.outlook.com ([fe80::1cc2:c185:554a:b84b]) by CO6PR18MB4484.namprd18.prod.outlook.com ([fe80::1cc2:c185:554a:b84b%3]) with mapi id 15.20.5880.019; Tue, 13 Dec 2022 07:01:52 +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" Subject: RE: [RFC 0/1] lib: add pdcp protocol Thread-Topic: [RFC 0/1] lib: add pdcp protocol Thread-Index: AQHY6cQEdztspUqeXESa3i+J5o5/jK5rrJGA Date: Tue, 13 Dec 2022 07:01:52 +0000 Message-ID: References: <20221027052140.155-1-anoobj@marvell.com> In-Reply-To: <20221027052140.155-1-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?YmEyOWUzNWJcbXNnc1xtc2ctMDJkMGZiMzItN2FiNC0xMWVkLWEwOGItOT?= =?iso-8859-1?Q?RlNmY3NjYxOTA3XGFtZS10ZXN0XDAyZDBmYjMzLTdhYjQtMTFlZC1hMDhi?= =?iso-8859-1?Q?LTk0ZTZmNzY2MTkwN2JvZHkudHh0IiBzej0iNzA5NyIgdD0iMTMzMTUzOD?= =?iso-8859-1?Q?g1MDkwMzg0OTE0IiBoPSJOWGN0dUtkaktiMTJhUzlyZ2VGaUE5RDRVN1U9?= =?iso-8859-1?Q?IiBpZD0iIiBibD0iMCIgYm89IjEiIGNpPSJjQUFBQUVSSFUxUlNSVUZOQ2?= =?iso-8859-1?Q?dVQUFOZ0hBQUFTakViRndBN1pBVkhVbm10bXl6RmVVZFNlYTJiTE1WNE1B?= =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBSEFBQUFCb0J3QUFBQUFBQUFBQU?= =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBRUFBUUFCQUFBQTNUekZBQUFBQUFBQUFBQUFBQUFB?= =?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?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?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: QUFBQUFBQUFBQUJBQUFBQUFBQUFBSUFBQUFBQUo0QUFBQmtBR3dBY0FCZkFIUUFaUUJoQUcwQWN3QmZBRzhBYmdCbEFHUUFjZ0JwQUhZQVpRQmZBR1lBYVFCc0FHVUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFQUFBQUFBQUFBQWdBQUFBQUFuZ0FBQUdVQWJRQmhBR2tBYkFCZkFHRUFaQUJrQUhJQVpRQnpBSE1BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUUFBQUFBQUFBQUNBQUFBQUFDZUFBQUFiUUJoQUhJQWRnQmxBR3dBYkFCZkFIUUFaUUJ5QUcwQWFRQnVBSFVBY3dBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFJQUFBQUFBQT09Ii8+PC9tZXRhPg== x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CO6PR18MB4484:EE_|SN7PR18MB3869:EE_ x-ms-office365-filtering-correlation-id: c03995c1-6cac-47bc-490e-08dadcd7e9e9 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: pQF8NDQpvRCB1rGArm5Rs7dyxiCduUzuaQUaqPPsCpcism0+eoQCBWLIu2z087+U+iZW3WgW24OgKnaOPVb5vd15GV2GQ/e1yNN8mUto3ujhD6G+W/T8TL5dDh7C5By6pRPyGNv438HHoH+9MECKtIfEH9t1cJEeIDye/gfqTLJkBNLNpgZCWzaIGoHpt10uEamsIMXin+916wWjVDAOUNW6JSczTpRIkFUiDGFB8/cXMdSMQum83vMDi/JzK9VH3ErPcpWn84G3WykuStMcBNO01Vl1q4hGMNS5BP+/dpthzhNA/1hRXxDH8k9XFFb2r5sHHErGZMuyuAPbqlS00qCJQjh3c+ne8F4efxTBkylRis/qWIcwu3hIez8nTZ1L10CRFMq/YAX+/jqY2VvpmHf5kuSg+7AkP4Q6Fxqgad6DAiibNGU2u7RiYcA3TnGxnNbv4RQbxC2B7vmyQnVuYNFUzyhxVHwtxZjThJr4O4yb98p1WvVYDhue3hEkNLVomosqLlX3RlrPyOa0zqulsURzu6kiJEH7qLvG0mP8MA1wfXNlg+oPJTPpvIqnoW32AbvzcT9mVRmsNrvXvAMshiyOhQ8C9XXkRBG409JAbOMDEIOUFgeRRSvQdmg1Uvv4RXBwZXBvNuBnAhgUR0+96EJV8AffO3VswBvXh6e95pSCdN4SCpDDe+q8SVJ3qpLaLXhZJRbejm2zgfoyoI/6RQ== 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:(13230022)(4636009)(396003)(346002)(376002)(366004)(39860400002)(136003)(451199015)(55016003)(478600001)(38070700005)(5660300002)(7696005)(6506007)(55236004)(38100700002)(71200400001)(33656002)(122000001)(26005)(186003)(316002)(83380400001)(54906003)(110136005)(9686003)(66446008)(4326008)(66476007)(64756008)(8676002)(66556008)(76116006)(66946007)(8936002)(2906002)(52536014)(86362001)(41300700001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?GM6dN6saBq3zFZFdJAPG06EnlPV989gl7dV/UD+d/6UUpyPi5fO8O3xLNl?= =?iso-8859-1?Q?SBqUX4aoaDQv21GeL08w+WvBhXsy8on26qRY/B0VjP7zocIlw6muddp7zz?= =?iso-8859-1?Q?uZeTHpx/cXR/axfQfT83CNR+xHfOR1zoVz0lUcBkP2RVFKHwIOWFg4m7sx?= =?iso-8859-1?Q?ksFXiGoH6eI9mWLLx+wnrAhCcHh4tgRjcaI3EjaqePbEYVeSLAI852jFJS?= =?iso-8859-1?Q?M0N1o+lr7DkBIlzqYLaeCicxLwixWO/pXwNc7KqOUDixBnlSWKQEELcw9K?= =?iso-8859-1?Q?Lat3mghX3KzgtGQ1tlZxVe5Ygedp/X6OzxfgWkeOssV1NZukl/ty/4G5xN?= =?iso-8859-1?Q?hkzdQfbevU1BNydSCcZRb6ytR/6JpwNgMH2+rg2YJQq4WFrQbb9A760c1g?= =?iso-8859-1?Q?OcS1UTY0d021uGheac7UKDc4ps7N7QbyTcch6erFfv7HZl8cBziN3eZHIv?= =?iso-8859-1?Q?tnbo6YwH/SoICU0iiZczJ8cTZefgCDuH93hYxVF0uTOBWJByTVghbgdSrh?= =?iso-8859-1?Q?zs+zpbk06yW2GiVTff8xZDTFBmbGR8zbbmsLAS9DhwZVdkB28r3O6N9xtu?= =?iso-8859-1?Q?7/oHzSBOXg36DMsvd95do3g4IkhfD7rvsDgTON+pRvNXozRnuqTcEeTPzJ?= =?iso-8859-1?Q?074PQTbMFDmuo0Uzu/a4RikJ3M1R8HlVVvosgeCgzhpn5GxskrFDVsoI+N?= =?iso-8859-1?Q?hlV5uV00qNBPfE3xRw/KyD0F1gjJX/C1Kqu+7FHXbAZ8i+fcxXWLmc3anj?= =?iso-8859-1?Q?UX8iRysapAbNlukcXipPRikWA3e/e+26NpdyEmm6sB0rGQRULWhXKF2rke?= =?iso-8859-1?Q?/o0LcIJLNY8rPdhg7uawpiojLhXsA/+Ic25oeYO/AQJXb99JiTMuweGRIM?= =?iso-8859-1?Q?fZvXb3Ofe8f42jgM/vgBeSTcJw94j9hcG+dOtHZqCc7wOKN2JQ++hwCMY/?= =?iso-8859-1?Q?91neX6laYaHsEo4tR77en/xW2SYi+CokdhPXZe6p8ZmS7HKanOI5CHPBHW?= =?iso-8859-1?Q?limUb5OrdViRp6uvMAiaktcgfCiQPDAVTQJI1gYnQo9r5lb2xt/ILwG5Ci?= =?iso-8859-1?Q?gphTb3SwRtVBjXObC1OokXXnCfUu+9W8mg6v6bpVFFy7BUL9GejhmjgSQw?= =?iso-8859-1?Q?/VRA8yhbzugI0IjEqQ4jv/4D1BQY7Zg5PWGL1M/OktRY3Wz0XQV1TxAyyR?= =?iso-8859-1?Q?OLYOtEBWF46soqt9ytV4oBwjfIGnAWSPj25sItpO02nhzve4PxiRiPITBR?= =?iso-8859-1?Q?MKtCBXEEPuQkvoZQ1njhvqDvKlO4nCskYcHlfoa4v6f54iqWIsG2+rO+Jg?= =?iso-8859-1?Q?yc6FrNh44/jaQUXgRK5uNYAv7LPF9q4htMKpmm8U0cuJDU604x4SgsHDN7?= =?iso-8859-1?Q?JiqzvPL1AmulHeDSVFHaCieO62uEvSRmzLLOcHsz1d6N/G5dfG/0GDFi7P?= =?iso-8859-1?Q?cz97cWC2KbCngHDIAe2Osx6A2QuuLaUHThOFZATtbbfBcCJgGhf+3tjxE9?= =?iso-8859-1?Q?Mn7vEoIofTzYkiPFcY8+VQNq+eyFFkmoMKnyZ2cywU4u6JLv9eD+63HxQC?= =?iso-8859-1?Q?wM+LgrJ+yay+MqeEUkfQ3xM7Q/7I8InnLzGZDl4iM9aAee0oQr4echa0Hw?= =?iso-8859-1?Q?909UrDChvkh4/x29MplN9EE0k+/oRjkZUo?= 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: c03995c1-6cac-47bc-490e-08dadcd7e9e9 X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Dec 2022 07:01:52.6337 (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: m+0SpQyOEh82m6y2Y9Q8hO2VTQf7eiYWksZxbaUN1Bule3JuWGATEQAJxe9/M5muVbZudDSLDej29dBMPTdXSw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR18MB3869 X-Proofpoint-GUID: 9TW9NFrq8mJLervQEQYURzUKZv2a5jaC X-Proofpoint-ORIG-GUID: 9TW9NFrq8mJLervQEQYURzUKZv2a5jaC X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.923,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-12-13_03,2022-12-12_02,2022-06-22_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: [RFC 0/1] lib: add pdcp protocol >=20 > Add Packet Data Convergence Protocol (PDCP) processing library. >=20 > The library is similar to lib_ipsec which provides IPsec processing > capabilities in DPDK. >=20 > PDCP would involve roughly the following options, > 1. Transfer of user plane data > 2. Transfer of control plane data > 3. Header compression > 4. Uplink data compression > 5. Ciphering and integrity protection >=20 > PDCP library provides following control path APIs that is used to > configure various PDCP entities, > 1. rte_pdcp_establish() > 2. rte_pdcp_suspend() > 3. rte_pdcp_release() >=20 > PDCP process is split into 2 parts. One before crypto processing > (rte_pdcp_pkt_pre_process()) and one after crypto 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 entity. >=20 > Similar to lib IPsec, lib PDCP would allow application to use same API > sequence while leveraging protocol offload features enabled by rte_securi= ty > library. Lib PDCP would internally change the handles registered for > *pre_process* and *post_process* based on features enabled in the entity. >=20 > Lib PDCP would create the required sessions on the device provided in ent= ity 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 P= DUs > are > received, no cryptodev enqueue-dequeue is expected for the same and lib P= DCP > is expected to handle it differently. >=20 > Changes planned for next version > - Add APIs for rte_pdcp_entity_re_establish, rte_pdcp_entity_reconfigure > - Implementation for all APIs covering basic control plane & user plane p= ackets > - Framework to handle control PDUs > - Unit test leveraging existing PDCP vectors available in test_cryptodev > - Eventdev based timer integration for t-Reordering & discardTimer > - Integration with reorder library to handle in-order delivery >=20 Can you send the next version rebased over v22.11? Also add documentation (pdcp.rst) file explaining about the new library. Add sample sequence also in that. Do you also plan to add, header compression? I see that it is mentioned abo= ve, But there is no API as of now? > Sample application sequence: >=20 > 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; >=20 > /* Create PDCP entity */ > pdcp_entity =3D rte_pdcp_entity_establish(&conf); >=20 > /** > * Allocate buffer for holding mbufs returned during PDCP suspend, > * release & post-process APIs. > */ >=20 > /* Max packets that can be cached in entity + burst size */ > nb_max_out_mb =3D pdcp_entity->max_pkt_cache + 1; > out_mb =3D rte_malloc(NULL, nb_max_out_mb * sizeof(uintptr_t), 0); > if (out_mb =3D=3D NULL) { > /* Handle error */ > } >=20 > while (1) { > /* Receive packet and form mbuf */ >=20 > /** > * Prepare packets for crypto operation. Following operations > * would be done, > * > * Transmiting 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 */ > } >=20 > if ((rte_cryptodev_enqueue_burst(dev_id, qp_id, cop, > nb_success) > !=3D nb_success) { > /* Retry for enqueue failure packets */ > } >=20 > ... >=20 > ret =3D rte_cryptodev_dequeue_burst(dev_id, qp_id, cop, > MAX_BURST_SIZE); > if (ret =3D=3D 0) > continue; >=20 > /** > * Received a burst of completed crypto ops from cryptodev. It > * may belong to various entities. Group similar ones together > * for entity specific post-processing. > */ >=20 > /** > * 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); >=20 > for (i =3D 0; i !=3D nb_grp; i++) { >=20 > /** > * Post process packets after crypto completion. > * Following operations would be done, > * > * Transmiting 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 */ > } >=20 > /* Perform additional operations */ >=20 > /** > * Tranmitting 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 > */ > } > } >=20 > Anoob Joseph (1): > lib: add pdcp protocol >=20 > doc/api/doxy-api-index.md | 3 +- > doc/api/doxy-api.conf.in | 1 + > lib/meson.build | 1 + > lib/pdcp/meson.build | 7 ++ > lib/pdcp/rte_pdcp.h | 244 ++++++++++++++++++++++++++++++++++++++ > lib/pdcp/rte_pdcp_group.h | 134 +++++++++++++++++++++ > lib/pdcp/version.map | 13 ++ > 7 files changed, 402 insertions(+), 1 deletion(-) > create mode 100644 lib/pdcp/meson.build > create mode 100644 lib/pdcp/rte_pdcp.h > create mode 100644 lib/pdcp/rte_pdcp_group.h > create mode 100644 lib/pdcp/version.map >=20 > -- > 2.28.0