From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 7BD62A0C43; Thu, 8 Apr 2021 22:49:13 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 1C8561411C0; Thu, 8 Apr 2021 22:49:13 +0200 (CEST) Received: from mellanox.co.il (mail-il-dmz.mellanox.com [193.47.165.129]) by mails.dpdk.org (Postfix) with ESMTP id 7C5B21411BF for ; Thu, 8 Apr 2021 22:49:11 +0200 (CEST) Received: from Internal Mail-Server by MTLPINE1 (envelope-from shirik@nvidia.com) with SMTP; 8 Apr 2021 23:49:10 +0300 Received: from nvidia.com (c-236-0-60-063.mtl.labs.mlnx [10.236.0.63]) by labmailer.mlnx (8.13.8/8.13.8) with ESMTP id 138KnAJJ028067; Thu, 8 Apr 2021 23:49:10 +0300 From: Shiri Kuzin To: dev@dpdk.org Cc: matan@nvidia.com, gakhil@marvell.com, suanmingm@nvidia.com Date: Thu, 8 Apr 2021 23:48:25 +0300 Message-Id: <20210408204849.9543-1-shirik@nvidia.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <1615447568-260965-1-git-send-email-matan@nvidia.com> References: <1615447568-260965-1-git-send-email-matan@nvidia.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-dev] [PATCH 00/24] drivers: introduce mlx5 crypto PMD X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 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" Add a new PMD for Nvidia devices- crypto PMD. The crypto PMD will be supported on Nvidia ConnectX6-Dx and Bluefield 2. The crypto PMD will add the support of encryption and decryption using the AES-XTS symmetric algorithm. The crypto PMD requires rdma-core and uses mlx5 DevX. This series includes control path PMD implementation. We are currently almost done working on the data path implementation and doing our best effort to send the data path for rc1, but we might be done for rc2. If there is a suggestion or need for the series earlier, we will make the effort to meet the requirement. Dekel Peled (13): common/mlx5: remove redundant spaces in header file common/mlx5: update GENEVE TLV OPT obj name common/mlx5: optimize read of general obj type caps common/mlx5: add HCA cap for AES-XTS crypto common/mlx5: support general object DEK create op common/mlx5: add crypto en field to MKEY context common/mlx5: support umr en field in MKEY context common/mlx5: support general obj IMPORT KEK create common/mlx5: support general obj CRYPTO LOGIN create common/mlx5: add crypto BSF struct and defines common/mlx5: support general obj CREDENTIAL create common/mlx5: add crypto register structs and defs common/mlx5: support register write access Shiri Kuzin (11): common/mlx5: share hash list tool common/mlx5: share get ib device match function drivers: introduce mlx5 crypto PMD crypto/mlx5: add DEK object management crypto/mlx5: support session operations crypto/mlx5: add basic operations crypto/mlx5: support queue pairs operations crypto/mlx5: add dev stop and start operations crypto/mlx5: add memory region management crypto/mlx5: create login object using DevX crypto/mlx5: adjust to the multiple data unit API MAINTAINERS | 4 + drivers/common/mlx5/linux/mlx5_common_os.c | 30 +- drivers/common/mlx5/linux/mlx5_common_os.h | 5 + drivers/common/mlx5/linux/mlx5_nl.c | 2 +- drivers/common/mlx5/meson.build | 1 + drivers/common/mlx5/mlx5_common.c | 2 +- drivers/common/mlx5/mlx5_common.h | 2 + drivers/common/mlx5/mlx5_common_devx.c | 2 +- drivers/common/mlx5/mlx5_common_log.h | 21 + drivers/common/mlx5/mlx5_common_mp.c | 2 +- drivers/common/mlx5/mlx5_common_mr.c | 2 +- drivers/common/mlx5/mlx5_common_pci.c | 17 +- drivers/common/mlx5/mlx5_common_pci.h | 21 +- drivers/common/mlx5/mlx5_common_utils.c | 221 ++++++ drivers/common/mlx5/mlx5_common_utils.h | 202 ++++- drivers/common/mlx5/mlx5_devx_cmds.c | 314 +++++++- drivers/common/mlx5/mlx5_devx_cmds.h | 66 ++ drivers/common/mlx5/mlx5_malloc.c | 2 +- drivers/common/mlx5/mlx5_prm.h | 545 +++++++++----- .../common/mlx5/rte_common_mlx5_exports.def | 7 + drivers/common/mlx5/version.map | 24 +- drivers/common/mlx5/windows/mlx5_common_os.c | 2 +- drivers/common/mlx5/windows/mlx5_glue.c | 2 +- drivers/compress/mlx5/mlx5_compress.c | 30 +- drivers/crypto/meson.build | 1 + drivers/crypto/mlx5/meson.build | 27 + drivers/crypto/mlx5/mlx5_crypto.c | 687 ++++++++++++++++++ drivers/crypto/mlx5/mlx5_crypto.h | 67 ++ drivers/crypto/mlx5/mlx5_crypto_dek.c | 135 ++++ drivers/crypto/mlx5/mlx5_crypto_utils.h | 19 + drivers/crypto/mlx5/version.map | 3 + drivers/net/mlx5/mlx5_utils.c | 209 ------ drivers/net/mlx5/mlx5_utils.h | 194 +---- drivers/regex/mlx5/mlx5_regex.c | 30 +- drivers/vdpa/mlx5/mlx5_vdpa.c | 32 +- 35 files changed, 2216 insertions(+), 714 deletions(-) create mode 100644 drivers/common/mlx5/mlx5_common_log.h create mode 100644 drivers/common/mlx5/mlx5_common_utils.c create mode 100644 drivers/crypto/mlx5/meson.build create mode 100644 drivers/crypto/mlx5/mlx5_crypto.c create mode 100644 drivers/crypto/mlx5/mlx5_crypto.h create mode 100644 drivers/crypto/mlx5/mlx5_crypto_dek.c create mode 100644 drivers/crypto/mlx5/mlx5_crypto_utils.h create mode 100644 drivers/crypto/mlx5/version.map -- 2.21.0