Message ID | 20210408204849.9543-1-shirik@nvidia.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 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 <dev@dpdk.org>; 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 <shirik@nvidia.com> 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 <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> |
Series |
drivers: introduce mlx5 crypto PMD
|
|
Message
Shiri Kuzin
April 8, 2021, 8:48 p.m. UTC
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
Comments
Hi Matan/Shiri > 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 > I would recommend this series be split into 2. 1. non-crypto code for common/mlx5 for next-net-mlx tree. Eg: 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: support register write access 2. crypto PMD and crypto related changes in common/mlx5 for crypto tree. Regards, Akhil