[v2,0/3] crypto/qat: add symmetric crypto data-path APIs
Message ID | 20200625133138.42827-1-roy.fan.zhang@intel.com (mailing list archive) |
---|---|
Headers |
Return-Path: <dev-bounces@dpdk.org> 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 D52C0A0350; Thu, 25 Jun 2020 15:32:33 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id CF1711B75C; Thu, 25 Jun 2020 15:31:43 +0200 (CEST) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by dpdk.org (Postfix) with ESMTP id 5D3DDAAD5 for <dev@dpdk.org>; Thu, 25 Jun 2020 15:31:42 +0200 (CEST) IronPort-SDR: 8TjkogFJaJvb/vtnfu2rw+MleM0Cxo+A2pLPpRh2FeWFnvOlB3Ko8+ygrp+OKwdh8tOBuUDfOX ifoWsKahAZwg== X-IronPort-AV: E=McAfee;i="6000,8403,9662"; a="143114195" X-IronPort-AV: E=Sophos;i="5.75,279,1589266800"; d="scan'208";a="143114195" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Jun 2020 06:31:41 -0700 IronPort-SDR: BhbTwMGeBEUOhZ/IrWa5S9sNRZF3AWhXskRwb65w9SBRSo7TI+wR53P93iTUk8DMYV3PqcVADS gxRitv9LFhtA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.75,279,1589266800"; d="scan'208";a="293877750" Received: from silpixa00398673.ir.intel.com (HELO silpixa00398673.ger.corp.intel.com) ([10.237.223.136]) by orsmga002.jf.intel.com with ESMTP; 25 Jun 2020 06:31:39 -0700 From: Fan Zhang <roy.fan.zhang@intel.com> To: dev@dpdk.org Cc: fiona.trahe@intel.com, akhil.goyal@nxp.com, Fan Zhang <roy.fan.zhang@intel.com>, Piotr Bronowski <piotrx.bronowski@intel.com> Date: Thu, 25 Jun 2020 14:31:35 +0100 Message-Id: <20200625133138.42827-1-roy.fan.zhang@intel.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200612143940.52851-1-roy.fan.zhang@intel.com> References: <20200612143940.52851-1-roy.fan.zhang@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-dev] [dpdk-dev v2 0/3] crypto/qat: 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 <dev.dpdk.org> List-Unsubscribe: <https://mails.dpdk.org/options/dev>, <mailto:dev-request@dpdk.org?subject=unsubscribe> List-Archive: <http://mails.dpdk.org/archives/dev/> List-Post: <mailto:dev@dpdk.org> List-Help: <mailto:dev-request@dpdk.org?subject=help> List-Subscribe: <https://mails.dpdk.org/listinfo/dev>, <mailto:dev-request@dpdk.org?subject=subscribe> Errors-To: dev-bounces@dpdk.org Sender: "dev" <dev-bounces@dpdk.org> |
Message
Fan Zhang
June 25, 2020, 1:31 p.m. UTC
This patch adds symmetric crypto data-path APIs for QAT PMD. QAT 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 QAT as symmetric crypto data-path accelerator but with their own data structures. With the APIs the cycle cost spent on conversion from their data structure to DPDK cryptodev operations can be reduced, and the dependency to DPDK crypto operation mempool can be reliefed. 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 <roy.fan.zhang@intel.com> Signed-off-by: Piotr Bronowski <piotrx.bronowski@intel.com> v2: - Used a structure to simplify parameters. - Added unit tests. - Added documentation. Fan Zhang (3): crypto/qat: add data-path APIs test/crypto: add unit-test for QAT direct APIs doc: add QAT direct APIs guide app/test/Makefile | 4 + app/test/meson.build | 1 + app/test/test_cryptodev.c | 371 +++++++++- app/test/test_cryptodev.h | 6 + app/test/test_cryptodev_blockcipher.c | 50 +- doc/guides/prog_guide/cryptodev_lib.rst | 272 +++++++ drivers/common/qat/Makefile | 8 +- drivers/common/qat/qat_qp.c | 4 +- drivers/common/qat/qat_qp.h | 3 + drivers/compress/qat/rte_pmd_qat_version.map | 11 + drivers/crypto/qat/meson.build | 5 + drivers/crypto/qat/qat_sym.c | 1 - drivers/crypto/qat/qat_sym_frame.c | 701 +++++++++++++++++++ drivers/crypto/qat/qat_sym_frame.h | 242 +++++++ 14 files changed, 1636 insertions(+), 43 deletions(-) create mode 100644 drivers/crypto/qat/qat_sym_frame.c create mode 100644 drivers/crypto/qat/qat_sym_frame.h