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 C33CCA0519; Fri, 3 Jul 2020 12:14:18 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id AC87A1DAEA; Fri, 3 Jul 2020 12:14:18 +0200 (CEST) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by dpdk.org (Postfix) with ESMTP id 987E41DAE2 for ; Fri, 3 Jul 2020 12:14:16 +0200 (CEST) IronPort-SDR: lGvOQYpGwn9LzuHymLTlxQ4//b4ugsDMM6Vr8Waej2xFPLxcvZMTtIfMy9dbVy7mMTY9h3F+qc 31gcZK/XL7iw== X-IronPort-AV: E=McAfee;i="6000,8403,9670"; a="231991827" X-IronPort-AV: E=Sophos;i="5.75,307,1589266800"; d="scan'208";a="231991827" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Jul 2020 03:14:15 -0700 IronPort-SDR: UIMENXQ2HXmYubQIjygEFv2SmBo13EpuXBbOAJIMkjFO3iJ9vhhuOjWUkVYWqZqzUMKUiQakpB A+J1NwebgfUQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.75,307,1589266800"; d="scan'208";a="313288278" Received: from silpixa00398673.ir.intel.com (HELO silpixa00398673.ger.corp.intel.com) ([10.237.223.136]) by orsmga008.jf.intel.com with ESMTP; 03 Jul 2020 03:14:13 -0700 From: Fan Zhang To: dev@dpdk.org Cc: fiona.trahe@intel.com, akhil.goyal@nxp.com, thomas@monjalon.net, jerinjacobk@gmail.com, Fan Zhang , Piotr Bronowski Date: Fri, 3 Jul 2020 11:14:08 +0100 Message-Id: <20200703101411.23091-1-roy.fan.zhang@intel.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200625133138.42827-1-roy.fan.zhang@intel.com> References: <20200625133138.42827-1-roy.fan.zhang@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-dev] [dpdk-dev v3 0/3] cryptodev: add symmetric crypto data-path APIs 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" This patch adds symmetric crypto data-path APIs for Cryptodev. Direct symmetric crypto data-path APIs are a set of APIs that provide more HW friendly enqueue/dequeue data-path functions as an alternative approach to ``rte_cryptodev_enqueue_burst`` and ``rte_cryptodev_dequeue_burst``. The APIs are designed for external libraries/applications that want to use Cryptodev as symmetric crypto data-path accelerator but not necessarily mbuf data-path centric. With the APIs the cycle cost spent on conversion from their data structure to DPDK cryptodev operations/mbufs can be reduced, and the dependency on DPDK crypto operation mempool can be relieved. It is expected that the user can develop close-to-native performance symmetric crypto data-path implementations with the functions provided in this patchset. Signed-off-by: Fan Zhang Signed-off-by: Piotr Bronowski v3: - Instead of QAT only API, moved the API to cryptodev - Added cryptodev feature flags. v2: - Used a structure to simplify parameters. - Added unit tests. - Added documentation. Fan Zhang (3): crypto/qat: add support to direct data-path APIs test/crypto: add unit-test for cryptodev direct APIs doc: add cryptodev direct APIs guide app/test/test_cryptodev.c | 353 ++++++++++++- app/test/test_cryptodev.h | 6 + app/test/test_cryptodev_blockcipher.c | 50 +- doc/guides/prog_guide/cryptodev_lib.rst | 266 ++++++++++ doc/guides/rel_notes/release_20_08.rst | 8 + drivers/common/qat/Makefile | 2 + drivers/common/qat/qat_qp.c | 4 +- drivers/common/qat/qat_qp.h | 3 + drivers/crypto/qat/meson.build | 1 + drivers/crypto/qat/qat_sym.c | 1 - drivers/crypto/qat/qat_sym_job.c | 661 ++++++++++++++++++++++++ drivers/crypto/qat/qat_sym_job.h | 12 + drivers/crypto/qat/qat_sym_pmd.c | 7 +- 13 files changed, 1332 insertions(+), 42 deletions(-) create mode 100644 drivers/crypto/qat/qat_sym_job.c create mode 100644 drivers/crypto/qat/qat_sym_job.h -- 2.20.1