From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by smtp.lore.kernel.org (Postfix) with ESMTP id 30FA7C4332F for ; Tue, 20 Dec 2022 12:15:49 +0000 (UTC) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 2D79840685; Tue, 20 Dec 2022 13:15:48 +0100 (CET) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by mails.dpdk.org (Postfix) with ESMTP id 00BD740395 for ; Tue, 20 Dec 2022 13:15:45 +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 2BK9jOoQ018275; Tue, 20 Dec 2022 04:15:45 -0800 Received: from nam11-dm6-obe.outbound.protection.outlook.com (mail-dm6nam11lp2169.outbound.protection.outlook.com [104.47.57.169]) by mx0a-0016f401.pphosted.com (PPS) with ESMTPS id 3mkapj0nx4-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 20 Dec 2022 04:15:44 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gtdZ03P2G4wwAM0hYwevUlN/WxQZIw+d6Naw/wGdcPCb1u1SwZyDeuaYLooI8fGu/P1ITZbxoJCXR0d1dNlXqXvwoBrGo9HYgjncVxAZyMUDyJgEw+gD0ViZ+J0rFhablhc5e4zzt4GEBOVUYzt99mhmOR6OxsaYtVRogxrItzv/LKNhIDIfRbYR7sI5B4dz6F8yPMFniPHlbk+Vje7x95F3a9rlc7HqdKpOWdxVklmcSzHjEG0DgCV5Emjx7DeJJLp7FhtdN3lU+9JOs0rYo07qF9rbHDrZ0jGBiXvE2xIeAVHuvy/PALGzGbI30bUtqY7QcrFZtrYTE+ViB9RKuA== 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=vvP7RodmM6qBONYGjTnk35mLWcoe8g/wY3pYgwh+QYw=; b=bv6LPgnx38uc/EFFsYXgRRFjX80mHuKxIV946RcXy9H84Vp9p5TXRrQgpjJMwDTUNUAk5ULlqANDk4fgltkkg6nYqtSXlqohZfFeXappsvNqsXiG6b4OBrvNgeMX6F6FBSlVAuGT1t26PT54D83FwW6+G2eR6v1ut0hPkf5hKbiDn+W4g14rxvG17Hk51oyxKwZAV1gflujTdlumE2wzKPuNAvT5jaxSJHDWEaJxzoJvXab4sX3KyWetdbw7o8ASYBKo9nu5ixOhob2xjd+m3ANJSdr/QTeAk+53X7VDOZiKPNpIN8nE31xu7M5cmV2yHOfHVPuYGAFeDv3XJClNHw== 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=vvP7RodmM6qBONYGjTnk35mLWcoe8g/wY3pYgwh+QYw=; b=YHczfDjKwkDfKJRz6u96CNrAoBS37+Qf9DDa4dwuqiE+Q5B5q43lpRXSSXAcfwwsmm+9WnjMm2iSNgPneAe4Y887h5jyfcOOAMSkfs8FhISsUXKX0xdFOZtZD1Ex6AwKd1xdKW/wD8ghtV0erw1HEogwEIiKL58J38s2h4HEt6E= Received: from PH0PR18MB4672.namprd18.prod.outlook.com (2603:10b6:510:c9::16) by SA0PR18MB3567.namprd18.prod.outlook.com (2603:10b6:806:98::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Tue, 20 Dec 2022 12:15:42 +0000 Received: from PH0PR18MB4672.namprd18.prod.outlook.com ([fe80::13d1:a550:7cf:269d]) by PH0PR18MB4672.namprd18.prod.outlook.com ([fe80::13d1:a550:7cf:269d%4]) with mapi id 15.20.5924.016; Tue, 20 Dec 2022 12:15:42 +0000 From: Anoob Joseph To: Akhil Goyal CC: Hemant Agrawal , =?iso-8859-1?Q?Mattias_R=F6nnblom?= , Kiran Kumar Kokkilagadda , Volodymyr Fialko , "dev@dpdk.org" , Thomas Monjalon , Jerin Jacob Kollanukkaran , Konstantin Ananyev , Bernard Iremonger Subject: RE: [RFC 0/1] lib: add pdcp protocol Thread-Topic: [RFC 0/1] lib: add pdcp protocol Thread-Index: AQHZDsDIMgxRont84ESQmbsWHUGex652udiw Date: Tue, 20 Dec 2022 12:15:42 +0000 Message-ID: References: <20221027052140.155-1-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?YmEyOWUzNWJcbXNnc1xtc2ctMDM2NmRlMmEtODA2MC0xMWVkLTljNDktNG?= =?iso-8859-1?Q?MwMzRmNWY5YjRmXGFtZS10ZXN0XDAzNjZkZTJjLTgwNjAtMTFlZC05YzQ5?= =?iso-8859-1?Q?LTRjMDM0ZjVmOWI0ZmJvZHkudHh0IiBzej0iODgzMiIgdD0iMTMzMTYwMT?= =?iso-8859-1?Q?IxMzkwODU1NjM5IiBoPSJXVHd0eHpvVlE3NGliR1I5RVJNR1U5WDBrRm89?= =?iso-8859-1?Q?IiBpZD0iIiBibD0iMCIgYm89IjEiIGNpPSJjQUFBQUVSSFUxUlNSVUZOQ2?= =?iso-8859-1?Q?dVQUFOZ0hBQURYOWIvRmJCVFpBZlU0TzBKRy8vNUE5VGc3UWtiLy9rQU1B?= =?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: QUFBQUFBQUFBQUJBQUFBQUFBQUFBSUFBQUFBQUo0QUFBQmtBR3dBY0FCZkFIUUFaUUJoQUcwQWN3QmZBRzhBYmdCbEFHUUFjZ0JwQUhZQVpRQmZBR1lBYVFCc0FHVUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFQUFBQUFBQUFBQWdBQUFBQUFuZ0FBQUdVQWJRQmhBR2tBYkFCZkFHRUFaQUJrQUhJQVpRQnpBSE1BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUN3QUFBQUFBQUFBQUFBQUFBUUFBQUFBQUFBQUNBQUFBQUFDZUFBQUFiUUJoQUhJQWRnQmxBR3dBYkFCZkFIUUFaUUJ5QUcwQWFRQnVBSFVBY3dBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFJQUFBQUFBQT09Ii8+PC9tZXRhPg== x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PH0PR18MB4672:EE_|SA0PR18MB3567:EE_ x-ms-office365-filtering-correlation-id: d4d5f33b-782f-40a9-4023-08dae283ea1d x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Km3esMokdIHvyLpmXta0x40dlkqMggxD2QhyYNWWZIjmMk+LDkElsJFgvLVtr7skzA7Dplv7InGceAXAhsCUCuzldbgBS2jUzcVtgre3uZO7mYW6V/HrWpUEo5MEZfd+PQMiZY4LeBBdVSArfZ6PqmyqHPpFD/41WOqY7Ce2LiHQ/WbjZ0mYIUluZtwtbZFkbpHUTRggUAIa1adwqLR9//vQoDNRT71r5YfZEazMOaXBBHgJjYWTsnHUaVeqMUd9kOe/nZu/m4gpxHu/r796CT9CBwaB/g7ZYxXRiKUmj9GhhW+SRVYMTFQO8uUiJ406I5UtN6QxR9k1Zsj7tPeEMyoAYnngxmIF/QThY72GgB87rKxcw9kHObcUnzB1WDe5VxgY3KMd6H3Zm+87DH4wdyMNlvQRV3rOHFuYVIvJbXkSbOCBKlRNYDSmdhZTn0aClEATU96vAX3J6gt+w+3JZoNX0+l+7KKMEQB4xH3qRbkc2cCA72O83sJzTJ6vOX5NVqk2Io7PvmHUTh54npQ+p5RxonnB25BQDqX1h8OW6xkr9UWfNF8OQWcN+LDNKBA/k676esY34n5WoRdQRdn0TRCQmZvv/WvSk0aYsB168REXTYxxS/LiHKVOPXL5WG0vOyJkKSL68ztko6bli/jYYDLtO17/OimLeGAE86h12aliIwzK8vVi50cTKd1u0BnnEEIKxzIIl8bOwF/gz3Tf+g== 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:(13230022)(4636009)(396003)(366004)(39860400002)(346002)(376002)(136003)(451199015)(52536014)(6862004)(8936002)(66899015)(5660300002)(53546011)(66556008)(83380400001)(66476007)(6506007)(7696005)(66446008)(8676002)(66946007)(33656002)(6636002)(41300700001)(9686003)(4326008)(76116006)(64756008)(2906002)(86362001)(54906003)(66574015)(55016003)(38100700002)(38070700005)(26005)(186003)(122000001)(71200400001)(478600001)(316002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?ubR/lMfx5sX5DFr4bgql3lFOrFJ+mHOfTHZbSMg7RN18aWg0XuhBIBdcp/?= =?iso-8859-1?Q?Z3AvbR0VTPbjCg7uUno5YA5w8vc1gmVuoiggkkX5OakE5/OKMOlIHM7SZj?= =?iso-8859-1?Q?fWCO/HmVfHvn2A1Ns5CtA2aVBCkBpUgMcEXYFxtuHFJf2XL3GTLoQ8laKp?= =?iso-8859-1?Q?dWyG3j47E/Q8cdp2COfHx4fpQmIYMFpzqKydoBCXb+X8AFW9o0MmMNIFzL?= =?iso-8859-1?Q?dGgFpGUr5anDT5XpQUmD2BIDYrzimBn4GlPdrjhb2yn5GwVXQ9jNHs5wnG?= =?iso-8859-1?Q?hwUUFtPiPmGnKYPR4IgI1wa7h4RmOpUiScPAbuTZJdcYRpGnNoo6QNiqAu?= =?iso-8859-1?Q?RWekYTuH6mOIQWBO8y8AW+JXzxxkHSdAIcdPeN8olfYDhrgyRiaEgMUtvw?= =?iso-8859-1?Q?bPgk1+LkG2TqFSoEIasPIcRQ19AMC99PvmvGdS/83sT0GZNsEABqBuBsXy?= =?iso-8859-1?Q?1qDI4dmu0OARgXVcJvNi4bWweLeOwblEwDcc0cGYxnXPvWjX7tcDbx/LJE?= =?iso-8859-1?Q?uO0ZbnGWk+wuht2rr4V3c6kEZou5TvbW+71zTb2xwvWU63OBo2Mz1gOWRw?= =?iso-8859-1?Q?/1WLAH0JQbp17AxQdh/1IFGZMNzTK2GB00K2tJY1o9HorpYQ2vmBPQYStF?= =?iso-8859-1?Q?7G3XwpVfIdCMu81E1T4T8NX6CsRkWKgZsyQXC/TgAP8C9CyPWl9XM4Lhva?= =?iso-8859-1?Q?VtLSE4WAzrgeuwgKnbfkN8tg9saRDbT4qEp8dX7efp3RDaWy0PNJiDfmxe?= =?iso-8859-1?Q?79FHcpotnB2F+7j4A5MUNlRjKWQEAxN5Q8oP2nhE2X2x9/+KgWMgCqZZmV?= =?iso-8859-1?Q?mBYp6i2FeCAUzlHCCg7XwUwDMzYEO06lTlQkdRKqZBinY2EoFTaHj8txTM?= =?iso-8859-1?Q?i+g0NIlzfCwtriyHMUzYQw/bPJxhajvcYjXDsvSOR59aukbPhHgnaU3unR?= =?iso-8859-1?Q?PAegcvJ9rV53AiExb/zYTFMvq7nkVn7Kr50/a9SFVLrqD57zqOYzS/9Irk?= =?iso-8859-1?Q?4rBU0Q+teJKz4AOKEjpM6N7mEO01djagPka2IPXQKHJHaX//eyqvhfk+Kt?= =?iso-8859-1?Q?S+52WTJWh4ULy1HKbZ4wxsz7Buej/KOm6emnWFij26RloO3RQdwdqMY1Sv?= =?iso-8859-1?Q?NvPgi0hnJHcH4NypTL3J73UzCoxxikEk7Hw0eLhD6chiF547xJa7njzQ2A?= =?iso-8859-1?Q?dxbReynIRZKuMF5K60TWrdGP8rYF4EsopB+poy1PfgSmp4damFufFK+Mu1?= =?iso-8859-1?Q?7773A7ZD+emnwboxOCd2jeHYcVVpAQxmafjMtJc6CPa3J5Fuj1wn5RZJx6?= =?iso-8859-1?Q?Ab7iKGF9nTH9P8reQP5cyBK9e9wg8nRneQ9Fx5c2LaQatVt0i7t7m4fVJ6?= =?iso-8859-1?Q?WMNjctixd+IOdVjY1Kyqhv4LMpSh96lStbCKL2dYJXY5sUGZy8+BfFuikA?= =?iso-8859-1?Q?YYwI1TKh3D0VXRTNhFDi8IfJ29Ms70tsZlQfZgQZPMp94SDQJ64TkbafCt?= =?iso-8859-1?Q?fa8e3OGhb31D5gOxgDX2rvqigoNsEkFXQaUUIJPK7WnQwpHlaSUAKdwcNo?= =?iso-8859-1?Q?V1GyQUackO1jlQQ0PnblVELJ6NHyX4eU01Ml8r615sPJJnom7WvihIrV3C?= =?iso-8859-1?Q?OfmDPMw4BRTNOhIMDoBjvMdLzl2yx7RMs6?= 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: d4d5f33b-782f-40a9-4023-08dae283ea1d X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Dec 2022 12:15:42.2256 (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: qTj//vyidUJ1CFubImPlCVNYGDGbFtfgFkBnEHTcHT6arAw7DU0xjiWs371NatRxhtmwjdt2yC5LzIbTuyF4YQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR18MB3567 X-Proofpoint-ORIG-GUID: gO4lfxNIkQIFZ9-krizVENybzfH4vYt4 X-Proofpoint-GUID: gO4lfxNIkQIFZ9-krizVENybzfH4vYt4 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-20_05,2022-12-20_01,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 Hi Akhil, Thanks for the review. Please see inline. Thanks Anoob > -----Original Message----- > From: Akhil Goyal > Sent: Tuesday, December 13, 2022 12:32 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 > Subject: RE: [RFC 0/1] lib: add pdcp protocol >=20 > > Subject: [RFC 0/1] lib: add pdcp protocol > > > > Add Packet Data Convergence Protocol (PDCP) processing library. > > > > The library is similar to lib_ipsec which provides IPsec processing > > capabilities in DPDK. > > > > 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 > > > > 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() > > > > 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. > > > > Similar to lib IPsec, 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. > > > > 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 packets > > - 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. [Anoob] Sure. Will send v1 with test application in another couple of days. >=20 > Do you also plan to add, header compression? I see that it is mentioned > above, But there is no API as of now? There are 2 kinds of compression when dealing with PDCP.=20 1. Header compression (which is more like a dictionary lookup) 2. UDC compression (which uses standard compression methods). [Anoob] We have plans to support Item 1, ie, header compression. For item 2= , we are evaluating the practical usage requirements to decide on whether P= DCP lib would need to natively support it. Adding an interface to compressd= ev would increase the API requirements, but since it would come outside (& = before) any of the proposed APIs, the feature can be added as a standalone = item. >=20 >=20 > > Sample application sequence: > > > > 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; > > > > /* 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 + 1; > > 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, > > * > > * 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 */ > > } > > > > if ((rte_cryptodev_enqueue_burst(dev_id, qp_id, cop, > > nb_success) > > !=3D nb_success) { > > /* Retry for enqueue failure packets */ > > } > > > > ... > > > > ret =3D rte_cryptodev_dequeue_burst(dev_id, qp_id, cop, > > MAX_BURST_SIZE); > > if (ret =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, > > * > > * 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 */ > > } > > > > /* Perform additional operations */ > > > > /** > > * 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 > > */ > > } > > } > > > > Anoob Joseph (1): > > lib: add pdcp protocol > > > > 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 > > > > -- > > 2.28.0