From patchwork Mon Oct 19 02:57:20 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Gujjar, Abhinandan S" X-Patchwork-Id: 81592 Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 141EAA04DC; Tue, 20 Oct 2020 14:05:11 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id E77CDBAD4; Tue, 20 Oct 2020 14:05:09 +0200 (CEST) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by dpdk.org (Postfix) with ESMTP id E9AF272EC for ; Tue, 20 Oct 2020 14:05:07 +0200 (CEST) IronPort-SDR: LPvmJNioVleIFl4caHIReeU5QSFnXZwCFVE+7l6Cscp8L0bpt3HaxZYKCGXTGYOcEtIBmvWbQF ILjmygpA3Lsg== X-IronPort-AV: E=McAfee;i="6000,8403,9779"; a="231389540" X-IronPort-AV: E=Sophos;i="5.77,396,1596524400"; d="scan'208";a="231389540" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Oct 2020 05:04:42 -0700 IronPort-SDR: p2dEEB9vCw78Zxt/P38ddxn43KeeakFYtQZsbz89dh/yYCDef4OLSK1QVL14MpNGCQP3rn1bGe sFktsr2ITOKg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.77,396,1596524400"; d="scan'208";a="533033903" Received: from unknown (HELO localhost.localdomain) ([10.190.210.98]) by orsmga005.jf.intel.com with ESMTP; 20 Oct 2020 05:04:39 -0700 From: Abhinandan Gujjar To: dev@dpdk.org, declan.doherty@intel.com, akhil.goyal@nxp.com, Honnappa.Nagarahalli@arm.com, konstantin.ananyev@intel.com Cc: narender.vangati@intel.com, jerinj@marvell.com, abhinandan.gujjar@intel.com Date: Mon, 19 Oct 2020 08:27:20 +0530 Message-Id: <1603076242-41883-1-git-send-email-abhinandan.gujjar@intel.com> X-Mailer: git-send-email 1.9.1 Subject: [dpdk-dev] [v3 0/2] support enqueue callbacks on cryptodev 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" In an eventdev world, multiple workers (with ordered queue) will be working on IPsec ESP processing. The ESP header's sequence number is unique and has to be sequentially incremented in an orderly manner. This rises a need for incrementing sequence number in crypto stage especially in event crypto adapter. By adding a user callback to cryptodev at enqueue burst, the user callback will get executed in the context of event crypto adapter. This helps the application to increment the ESP sequence number atomically and orderly manner. v2->v3: -Moved RCU under the cryptodev APIs -RCU is maintained per queue-pair -Changed name of few variables -Updated callback test with negative cases -Updated with required changes for meson v1->v2: -Moved callback related members to the end of cryptodev struct -Added support for RCU Abhinandan Gujjar (2): cryptodev: support enqueue callback functions with RCU test: add testcase for crypto enqueue callback app/test/test_cryptodev.c | 133 +++++++++++++++- config/rte_config.h | 1 + lib/librte_cryptodev/meson.build | 2 +- lib/librte_cryptodev/rte_cryptodev.c | 201 +++++++++++++++++++++++++ lib/librte_cryptodev/rte_cryptodev.h | 153 ++++++++++++++++++- lib/librte_cryptodev/rte_cryptodev_version.map | 2 + 6 files changed, 488 insertions(+), 4 deletions(-)