From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-he1eur01on0063.outbound.protection.outlook.com [104.47.0.63]) by dpdk.org (Postfix) with ESMTP id A037B1B05 for ; Mon, 26 Feb 2018 14:52:13 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=1DKFwmUsBXURwm5M+kc9ZyqpNDfKQ8bS6tJDmCxL9mg=; b=QSc9wMnNHKfBA9rwVTymZUx6UK6mB64L7CZvL2bjKNcG+XlRr2L4Lhwh3UEfkrEni6wJhIvuPH/qeaYazkJ7C1z+2kF2yUXEDYBVzernP6ipL5VN5Ut/5xFfpPVsuhibKum3I0YbjwVGH+jFw4uvjbVmrcR5NzJL8Yow612Q6cI= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=akhil.goyal@nxp.com; Received: from [10.232.134.49] (14.142.187.166) by VI1PR04MB1391.eurprd04.prod.outlook.com (2a01:111:e400:5348::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.527.15; Mon, 26 Feb 2018 13:52:08 +0000 To: Jerin Jacob , "Gujjar, Abhinandan S" Cc: "dev@dpdk.org" , "Vangati, Narender" , "Rao, Nikhil" , "Eads, Gage" , "hemant.agrawal@nxp.com" , "narayanaprasad.athreya@cavium.com" , "nidadavolu.murthy@cavium.com" , "nithin.dabilpuram@cavium.com" References: <1516013630-146114-1-git-send-email-abhinandan.gujjar@intel.com> <20180216193348.GA8882@jerin> <5612CB344B05EE4F95FC5B729939F7807069B737@PGSMSX102.gar.corp.intel.com> <20180220135920.GA23970@jerin> From: Akhil Goyal Message-ID: Date: Mon, 26 Feb 2018 19:21:55 +0530 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 MIME-Version: 1.0 In-Reply-To: <20180220135920.GA23970@jerin> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Originating-IP: [14.142.187.166] X-ClientProxiedBy: SG2PR0401CA0003.apcprd04.prod.outlook.com (2603:1096:3:1::13) To VI1PR04MB1391.eurprd04.prod.outlook.com (2a01:111:e400:5348::22) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 5ec73238-b0a1-4bd0-46fa-08d57d20224e X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(4534165)(7168020)(4627221)(201703031133081)(201702281549075)(48565401081)(5600026)(4604075)(2017052603307)(7153060)(7193020); SRVR:VI1PR04MB1391; X-Microsoft-Exchange-Diagnostics: 1; VI1PR04MB1391; 3:NkTgBGG0SdVHKfXednjyZqCCKWcbD6VMTGmX8nn72yjDR9FSBTZJDDMhLlFAZR/oT9SG3CSNOuI+wwPw7WPVL4Al+ygV1vUQHVkjfKSXsJCdwAqclt0jnFlk+0TylpCRbuDoDHYW6kLsxiRer7sTMyG1dJIkyrDtT9RbQ2RV/Q0bU9cYIqmBoJrsEWyn7A/47yiQQeGv9whcEV5v5GPM5NAiGV8+R6n8EaJYDcRVvDmHJGwl2aWMFKPNlf9BndTu; 25:61N+0zrfvIgZRfhYS0n8+yhtDv3It82sva1sZB3W31qb6kWGtKBiwenfp/uXJtqD/ch1qW+c0V0V9V37cqCG1Y+UHg3LHOukxgrpNdax2QER9Amd8p/lerKTEidq8fY2amrbJ71qTRpRzOEi6MdSp7M9AX4FUKThglyvHWxlLkWNDa3LWMyCzNTCs9cd+7f13Pwv+tNC0Q7zn7n0GNF05yx5opOKZ9MZAs5yecO1zal/QzdrSW4vC9i4is1NxCrGYJ2Udgeyo3EWZFEwPdSEG0NKWt+tUUx8euEnyqpzVJImJFiVWvWg7gLAYTva6OGd+Hajq3egnuQCVfhSLHYteA==; 31:oJhD/iXWqM1bVKwAP+MuhxG6NtC7MYwGBHqjKqBAyR0lUVA8+GSzIB2ysiPDkiL2cdedoBnHOvNyStsdBokjnnSPSBfUM13jOSLAsGvulEfkDit8zEiBgFohn8y4uzWfbnAx3jTdMqHWQFF8sXipjqSqFkcF0pOtWheJoazCXhdvadp3vxryNe3E+2LOp/H8d9i4uY65ka7ff1Nw6EA8n9PZTQHz5u5Vk7dA+mUG0Po= X-MS-TrafficTypeDiagnostic: VI1PR04MB1391: X-Microsoft-Exchange-Diagnostics: 1; VI1PR04MB1391; 20:sVLyEZtAlCm2S0Lwlj6gY97XKFWYN9xouQVNJFeUtO2Smo0Ph4EX0Rw/Gh7HePfRbI316sYERfXrrjZ754XWDXxuqFJ/2GsQOFCjb5NbqiuJN9kO7JEG6zaujd6xAJr3qlkxSDaqzFFo/tGhe5J2FGplVGWHDz3mSgi/WEJoaNUPMVQ4AVt5aCzMgjPlZ0GsM/3uoVu0udyygQbdoKO7SAye4dso/vOew0Cn4lp3ojRCoRRvcfp+roIolzFK2Jy7qilHYOvlZPM4chP410j0u3ioUXc4wY8Uw2RZ6RG4hljecUZhLX49JEznpUew87Mr08vEk8rGxIxPIoakkLtPWLIJloNeF75sVG7NAKpezH9sJR+G4Jqe2riT+5HwkKM1dOZFW2w2iCmDkWGKNC3yTNH/KyXQIAWbCF8wZTJojhiS5XGYffLJfGC4xhROMQl0Swj2/q5sK7Uez+i0X2zG2nzsid8LzNSN3luv6ISwCBzYSjFtW2nQ2qhDEiDYJHsd; 4:+It38oj0WtN5/+IG9oo/auBbezDNBQtCh0Cp2o+Ti6bOvt1xta9jLEGAC5/09EiuQbmIi0iAT4u+tJp8FbsNV8KOV/tneoC9rkwiy2/GdHX1N1ybJfcd60Qf673ZviUGHYGA3GSIlYrAIR5a0BARCTsxo+s3A5QJDa8QT9MKeq8IndHj+O8CtHNF5IyM6kAFmb/tJ4aQu5TvZh7F2MgPggCDyWnUYSAi+caAu7t46XblGJSkYBSyiaBmW1g212AeH4NeOS6McMNJjJbKtLBNrTVPTtPK9KKQY/MKkLtlw3woJkuBj5e7QcI+/21y7B5/2datqfHoqCa0VE4H+RMbWwTZNPqOdFPH/3TrzPZYzS4= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197)(228905959029699); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040501)(2401047)(5005006)(8121501046)(10201501046)(3231220)(944501161)(52105095)(93006095)(93001095)(3002001)(6055026)(6041288)(20161123558120)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(20161123560045)(6072148)(201708071742011); SRVR:VI1PR04MB1391; BCL:0; PCL:0; RULEID:; SRVR:VI1PR04MB1391; X-Forefront-PRVS: 05954A7C45 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6049001)(396003)(366004)(39380400002)(376002)(39860400002)(346002)(189003)(199004)(51914003)(13464003)(55236004)(23676004)(52146003)(25786009)(5660300001)(2486003)(59450400001)(81156014)(2906002)(81166006)(97736004)(105586002)(68736007)(386003)(53546011)(36756003)(50466002)(186003)(26005)(77096007)(16526019)(4326008)(3846002)(6116002)(76176011)(230700001)(8676002)(305945005)(5009440100003)(86362001)(52116002)(7736002)(8936002)(478600001)(6486002)(31696002)(67846002)(54906003)(316002)(16576012)(58126008)(110136005)(6246003)(53936002)(6666003)(64126003)(2950100002)(106356001)(65826007)(229853002)(31686004)(93886005)(65806001)(65956001)(66066001)(47776003)(110426004); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR04MB1391; H:[10.232.134.49]; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtWSTFQUjA0TUIxMzkxOzIzOlltYnN6b2hhTjRtRzdzOTdMejlvb3hSVDBV?= =?utf-8?B?L1B0ZmVYamd3TDJHdVUvVkZyMEQvMmtYK3ZUUUhQR3ZSbXBacEhtVXRTNEsr?= =?utf-8?B?ZHR4YVV0VHhkb2htc1pOWkpMWG1oaE1wcUFXUzFNdjd4UG1nVEZnTXRYYzZm?= =?utf-8?B?b2hVWGlFSHFTeGc2MFJvWU9WV3BtRXIzRm9jVml6VUgvd3JVUHYxZEtpSmQz?= =?utf-8?B?eW56NWlFeEI0NXlFdjFQRE1SdWRZMGoyQWFQdW1kUkV5ZTJmeTVhRDc1MnhZ?= =?utf-8?B?bXpuSXd5cFdycHczcCs5ejJwUVFpQ3ZNZnlXZmxrUUxMMzBmUVBHV3lIVndv?= =?utf-8?B?ZFFtaHMwNGduT2VnQVJwWHM5SnoxQXdkK25EQzdoekRvVTNxNFJxclJkdGdK?= =?utf-8?B?ZUdDOXZHM1VPeTBWV2kyZWZjcHJOQmhQWWhjQU83RG1rT3h3Y2FZM3Z0N0F2?= =?utf-8?B?QytNNDM1THhQZlNOZnFGVk5iK3NkRTVHcjlWZ3M0MHNEbzFhcDlKVGRMOUZT?= =?utf-8?B?bFJ0WXg2OGhwQVYyYlViTkN3MXdzYXNOWUNmOUR5TjZ0N2p0VVczZjlyUFBn?= =?utf-8?B?WDhRaTFxa1lCRlM5SEd3YmkvVXEvc2JjQ1Z0ZmlqRHRtWWxpWjFnbittOVc0?= =?utf-8?B?cXE1NVhkL24vSWhZcEN1NVNHSkFnL09NaEVoZmc2cnM0RE9TRnloTFM3QUZL?= =?utf-8?B?WllmeHJmR0MxdVJid0NnWmdnM3ZzUmd1NkwxQ2YrOXV5M0dnQVRIbGVjS2pi?= =?utf-8?B?WTJxQk1xSzdjL1NlWGxMWWdmd3M0allNZEROdXF3cmwrNnlRamNwTWJrNUxy?= =?utf-8?B?WkZXVEJKZTY0bE9qcUZIRXV4RFhEamJXSWtnRTRYSHZPT0Nwdjd5RFlOOXJa?= =?utf-8?B?Q3YwNXJOWFlVSUFYSGlTSUlRMDRBcVp4OCtMRmV1Q1AyTXU2QUlTamYxQlVx?= =?utf-8?B?bTI5R1NZUFpnMzJnY3J0R2NRVzdtNlVvL0ZmQ1NrdWFITTRRZnkrczF5eG91?= =?utf-8?B?aS9DKytzWEtydk1lRXoyRnJFcjY1U2FoSDNHSWZuWGFIKzg1RHgyQ2xhMS9j?= =?utf-8?B?YU9JT2M5c2IrMG1wZ3J3OFVwWHBvY21Lb1RsZnEyekdrbmV2UHhQKzZjNW9E?= =?utf-8?B?b2xmM1pYSFlCSFkyc1dvVGNVRUJwbGdSRkxFeHk3R0VtYXJVcUlNYWc5dzh5?= =?utf-8?B?ZnI2NlRxNHZkNFRQaldzNjdoLzRIWEIwVEZTMzZaYWJxb2ZXWDRTd05zK25D?= =?utf-8?B?VTY5Z3dtUjFIcmFyUndPcmIvWmN3UWp1VERsL0RIdEF1Ukx2M3JRVmhMNWl5?= =?utf-8?B?cUhHVEtuZ2x5UjkxcjRMK3p0aTBrWU5pZmZTSmttd0lMcEVhM1A0K3hKOHlO?= =?utf-8?B?bTBjbmJKa1JOQWhXRWp0aTVWVUd2QWg5ZzFPemprdVRlTnlvbE5RYjBjVzQ0?= =?utf-8?B?alNPNXRacmp3RGs1VUR6NmdoWEpYekdNaTA1NWFUOTBldjIzTEc4VGtId0VT?= =?utf-8?B?NVc4TGo2MVhrc0FGTmxpaTdmY0tZWUorMUdIaVJlVElISVJHczk5RmU3Z3Fo?= =?utf-8?B?N3JFZ3hnZXRQYVZsS0lMeno2M3JJRzk5STJKVXRQc2d1SUR1cHozSjMxcWhC?= =?utf-8?B?ejlLcVpNRUZHK293NFl0Y1RBUnlCeXc3N1FPRytGakFLT2g1Nm9JcjArd2VY?= =?utf-8?B?MWJRV0QrekdJV0M3UDFBRkhoZEw3b3RhQnBaa00rVjV1NTNHcFFXNkNxYStz?= =?utf-8?B?a0c1L0x0cWszU2cyamR4VkMvdFpmdGM3UHBQakU4aWVDTlo5ZC9NWVFwdGla?= =?utf-8?B?MGxIVTFYWlBwbDA3eVdLWVJJeWN2UHFseFhlVU5TYU5lZHJYNFpodllBWU0y?= =?utf-8?B?bnVOOGVpNS9uQXBlaUpxV2d0YVREaW15VDBnZWRuTEJRMU13bWJ4RThKZmk5?= =?utf-8?B?L0pPVEVHZHVRRExOV3Q1YlBDUUJTSG9BYVVCaXdBcDZXZHoybDVWVjJlRVJ4?= =?utf-8?B?cnpWdVg2cGYwako0M2U4VTFTR3dmUlJ5REgxenRuMGY5azdpcUlIV3c1V0dX?= =?utf-8?B?VENwK3dKMDdDQkNXaWYyQnlvTm5FTUxQTjNPZmV1WnUxMWJyYmZ4emU4eWdH?= =?utf-8?B?RHc9PQ==?= X-Microsoft-Exchange-Diagnostics: 1; VI1PR04MB1391; 6:146dkzJJFzzchmipVu2XAoUri/gH9NqC7xfQemTRacoxV/GFmoSWqpJvJ9ySm6VCueeqTFC3Vgn18SwQpnhTTjeoRbOW7H4Qg6qzj+0m8eCD92AGv8ac+kB38v7tSiaztMvaio2h9kx4CVHbgxopAGrDxB8CIML4vm0aHiPrP1Eemqt5Kq3+5e3AY5OEfMOSLP92G8ydhOldSOd8w9jEN4+eDcbzNVYJaUcdxjkWakQ+u+Xpn+L3Y/l/FmXwANRGkiwUfpDec4a1wk3uCoGNRTd4tArCuQnrKqGJCSWbLZU/YL644n8L+GMMGmS3+wts6bUuEHjQdDkP9/TcI6x13A9nEDaaOmb820+yzPx9DNc=; 5:uM+exh6nBjQi8sDupvZo+ShiSVw3o+UlLZgGTMw7t1MWMUTOKhQgwCk1kgJSzGFxG3wvtpRwhHiCJLZKAstcoJQUnhig/tVxNSZg4tmNjgS3aCa8XU78wEhVGniuIqPflsnraXyf4r2YKdmgkRIygSsU4xMw25EAY7su8X8YCCo=; 24:Cn4zt4SnTvFuRA3ZJPoYJ1DuamcjE47lr2P58XGwNfjIczOeVxTPEJH/iNZd9wCgBAsIXO8gsGa3KQ1Y5C/elTzXbaozyLv+v6DlKNaMBYQ=; 7:QtHmRYhT4rbL1armNITdQTZ/x7uWYW35YkwoH6uzoL/hxqgynTZHDTl76BaKTmmty+OuJuKPSeo0Pk6vVljC/qtbdkuyAlET15LnUHZ8fg9Ox1IGRno8UjMbJnmTEzIuhzt34qkEt28kLc7KId1A9Hjs8eeKzIkYsP6e1hTMNzIcgM73lBebuZNcfqmQ4exmigy29tOogr0XQzmqSCEnQmTByLo0f5ALyE6RZwWyn4xjc6D8L+JR49hie72VwbP/ SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Feb 2018 13:52:08.0772 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 5ec73238-b0a1-4bd0-46fa-08d57d20224e X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB1391 Subject: Re: [dpdk-dev] [RFC v2, 2/2] eventdev: add crypto adapter API header X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 26 Feb 2018 13:52:13 -0000 Hi Jerin/Abhinandan, On 2/20/2018 7:29 PM, Jerin Jacob wrote: > -----Original Message----- >> Date: Mon, 19 Feb 2018 10:55:58 +0000 >> From: "Gujjar, Abhinandan S" >> To: Jerin Jacob >> CC: "dev@dpdk.org" , "Vangati, Narender" >> , "Rao, Nikhil" , "Eads, >> Gage" , "hemant.agrawal@nxp.com" >> , "akhil.goyal@nxp.com" , >> "narayanaprasad.athreya@cavium.com" , >> "nidadavolu.murthy@cavium.com" , >> "nithin.dabilpuram@cavium.com" >> Subject: RE: [RFC v2, 2/2] eventdev: add crypto adapter API header >> >> Hi Jerin, > > Hi Abhinandan, > >> >> Thanks for the review. Please find few comments inline. >> >>> -----Original Message----- >>> From: Jerin Jacob [mailto:jerin.jacob@caviumnetworks.com] >>> Sent: Saturday, February 17, 2018 1:04 AM >>> To: Gujjar, Abhinandan S >>> Cc: dev@dpdk.org; Vangati, Narender ; Rao, >>> Nikhil ; Eads, Gage ; >>> hemant.agrawal@nxp.com; akhil.goyal@nxp.com; >>> narayanaprasad.athreya@cavium.com; nidadavolu.murthy@cavium.com; >>> nithin.dabilpuram@cavium.com >>> Subject: Re: [RFC v2, 2/2] eventdev: add crypto adapter API header >>> >>> -----Original Message----- >>>> Date: Mon, 15 Jan 2018 16:23:50 +0530 >>>> From: Abhinandan Gujjar >>>> To: jerin.jacob@caviumnetworks.com >>>> CC: dev@dpdk.org, narender.vangati@intel.com, Abhinandan Gujjar >>>> , Nikhil Rao , Gage >>>> Eads >>>> Subject: [RFC v2, 2/2] eventdev: add crypto adapter API header >>>> X-Mailer: git-send-email 1.9.1 >>>> >>>> + >>>> +/** >>>> + * This adapter adds support to enqueue crypto completions to event device. >>>> + * The packet flow from cryptodev to the event device can be >>>> +accomplished >>>> + * using both SW and HW based transfer mechanisms. >>>> + * The adapter uses a EAL service core function for SW based packet >>>> +transfer >>>> + * and uses the eventdev PMD functions to configure HW based packet >>>> +transfer >>>> + * between the cryptodev and the event device. >>>> + * >>>> + * In the case of SW based transfers, application can choose to >>>> +submit a >>> >>> I think, we can remove "In the case of SW based transfers" as it should be >>> applicable for HW case too >> Ok. In that case, adapter will detect the presence of HW connection between >> cryptodev & eventdev and will not dequeue crypto completions. > > I would say presence of "specific capability" instead of HW. > >> >>> >>>> + * crypto operation directly to cryptodev or send it to the >>>> + cryptodev >>>> + * adapter via eventdev, the cryptodev adapter then submits the >>>> + crypto >>>> + * operation to the crypto device. The first mode is known as the >>> >>> The first mode (DEQ) is very clear. In the second mode(ENQ_DEQ), >>> - How does "worker" submits the crypto work through crypto-adapter? >>> If I understand it correctly, "workers" always deals with only cryptodev's >>> rte_cryptodev_enqueue_burst() API and "service" function in crypto adapter >>> would be responsible for dequeue() from cryptodev and enqueue to eventdev? >>> >>> I understand the need for OP_NEW vs OP_FWD mode difference in both modes. >>> Other than that, What makes ENQ_DEQ different? Could you share the flow for >>> ENQ_DEQ mode with APIs. >> >> /* >> Application changes for ENQ_DEQ mode: >> ------------------------------------------------- >> /* In ENQ_DEQ mode, to enqueue to adapter app >> * has to fill out following details. >> */ >> struct rte_event_crypto_request *req; >> struct rte_crypto_op *op = rte_crypto_op_alloc(); >> >> /* fill request info */ >> req = (void *)((char *)op + op.private_data_offset); >> req->cdev_id = 1; >> req->queue_pair_id = 1; >> >> /* fill response info */ >> ... >> >> /* send event to crypto adapter */ >> ev->event_ptr = op; >> ev->queue_id = dst_event_qid; >> ev->priority = dst_priority; >> ev->sched_type = dst_sched_type; >> ev->event_type = RTE_EVENT_TYPE_CRYPTODEV; >> ev->sub_event_type = sub_event_type; >> ev->flow_id = dst_flow_id; >> ret = rte_event_enqueue_burst(event_dev_id, event_port_id, ev, 1); >> >> >> Adapter in ENQ_DEQ mode, submitting crypto ops to cryptodev: >> ----------------------------------------------------------------------------- >> n = rte_event_dequeue_burst(event_dev_id, event_port_id, ev, BATCH_SIZE, time_out); >> struct rte_crypto_op *op = ev->event_ptr; >> struct rte_event_crypto_request *req = (void *)op + op.private_data_offset; >> cdev_id = req->cdev_id; >> qp_id = req->queue_pair_id >> >> ret = rte_cryptodev_enqueue_burst(cdev_id, qp_id, op, 1); > > This mode wont work for the HW implementations that I know. As in HW > implementations, The Adapter is embedded in HW. > The DEQ mode works. But, This would call for to have two separate application logic for > DEQ and ENQ_DEQ mode. > I think, it is unavoidable as SW scheme has better performance with ENQ_DEQ MODE. > > If you think, there is no option other than introducing a capability in > adapter then please create capability in Rx adapter to inform the > adapter capability to the application. > > Do we think, it possible to have scheme with ENQ_DEQ mode, Where > application still enqueue to cryptodev like DEQ mode but using > cryptodev. ie. Adapter patches the cryptodev dev->enqueue_burst() to > "eventdev enqueue burst" followed by "exiting dev->enqueue_burst". > Something like exiting ethdev rx_burst callback scheme. > This will enable application to have unified flow IMO. > > Any thoughts from NXP folks? I see that there is performance gain in sw side while using ENQ_DEQ mode. But since we already have many modes in the application already, can we make this one with some callback to cryptodev. So the application can call the rte_cryptodev_enqueue_burst() as it is doing, and if the ENQ_DEQ mode is supported by the underneath implementation then, it can register a callback to the implementation that is required in the driver layer itself. In this way, the application will become less complex as compared to the 2 parallel implementations for SW and HW. It will also give more flexibility to the driver implementation as well. -Akhil > >> */ >>> >>>> + * dequeue only (DEQ) mode and the second as the enqueue - dequeue >>> >>> extra space between "mode" and "and" >> Ok >>> >>>> + * (ENQ_DEQ) mode. The choice of mode can be specified when creating >>>> + * the adapter. >>>> + * In the latter choice, the cryptodev adapter is able to use >>>> + * RTE_OP_FORWARD as the event dev enqueue type, this has a >>>> + performance >>>> + * advantage in "closed system" eventdevs like the eventdev SW PMD >>>> + and >>> >