From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id C28F7A052A; Tue, 22 Dec 2020 15:43:25 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 2EA49CA20; Tue, 22 Dec 2020 15:43:24 +0100 (CET) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by dpdk.org (Postfix) with ESMTP id D245CCA1C for ; Tue, 22 Dec 2020 15:43:21 +0100 (CET) IronPort-SDR: jQqrF7MW4IB9zwDqHLdSuzuHStNU6De10i45XaEpCn+RPayfMtCghK9fXYsUb2uCmh6kGyuH2b 0Q+PAMDGzg8Q== X-IronPort-AV: E=McAfee;i="6000,8403,9842"; a="155664670" X-IronPort-AV: E=Sophos;i="5.78,438,1599548400"; d="scan'208";a="155664670" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Dec 2020 06:43:19 -0800 IronPort-SDR: h0fCqqUNZCD8TN95I9yW1TN+wqfyXXHZhAJrlkyeTsh5w62dZfk1FyK6LZ/Bys2Q09LaLDkkZb M2Xn84NHhvLg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.78,438,1599548400"; d="scan'208";a="397227708" Received: from unknown (HELO broadwell-dev-2.iind.intel.com) ([10.190.210.98]) by FMSMGA003.fm.intel.com with ESMTP; 22 Dec 2020 06:43:17 -0800 From: Abhinandan Gujjar To: dev@dpdk.org, akhil.goyal@nxp.com, konstantin.ananyev@intel.com Cc: abhinandan.gujjar@intel.com Date: Tue, 22 Dec 2020 20:12:41 +0530 Message-Id: <20201222144243.552262-1-abhinandan.gujjar@intel.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-dev] [PATCH v7 0/2] support enqueue & dequeue 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. The user callback at the dequeue burst helps IPsec application to take care of ARW processing. v6->v7: -Fixed issues in documentation -Generated patch set with updated system time -Updated to call dequeue callbacks after HW dequeue -Updated release notes for 21.02 v5->v6: -Removed error code in remove callback APIs & cb init -Updated release notes & documentation v4->v5: -Added dequeue callback APIs -Updated documentation -Updated errno and return values -Updated cleanup function v3->v4: -Move callback init and cleanup under dev_configure -Update with memory ordering -Removed extra level of indirection -Add documentation 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 and dequeue callback functions test: add testcase for crypto enqueue and dequeue callback app/test/test_cryptodev.c | 244 ++++++++++++++- config/rte_config.h | 1 + doc/guides/prog_guide/cryptodev_lib.rst | 44 +++ doc/guides/rel_notes/release_21_02.rst | 9 + lib/librte_cryptodev/meson.build | 2 +- lib/librte_cryptodev/rte_cryptodev.c | 398 +++++++++++++++++++++++- lib/librte_cryptodev/rte_cryptodev.h | 246 ++++++++++++++- lib/librte_cryptodev/version.map | 7 + 8 files changed, 944 insertions(+), 7 deletions(-) -- 2.25.1