[EXT] [PATCH v2 0/9] crypto/mlx5: support AES-GCM
Suanming Mou
suanmingm at nvidia.com
Tue Jun 20 03:22:33 CEST 2023
Hi,
Sorry for the late response.
> -----Original Message-----
> From: Akhil Goyal <gakhil at marvell.com>
> Sent: Thursday, June 15, 2023 2:12 AM
> To: Suanming Mou <suanmingm at nvidia.com>
> Cc: dev at dpdk.org; Raslan Darawsheh <rasland at nvidia.com>
> Subject: RE: [EXT] [PATCH v2 0/9] crypto/mlx5: support AES-GCM
>
> > AES-GCM provides both authenticated encryption and the ability to
> > check the integrity and authentication of additional authenticated
> > data (AAD) that is sent in the clear.
> >
> > The crypto operations are performed with crypto WQE. If the input
> > buffers(AAD, mbuf, digest) are not contiguous and there is no enough
> > headroom or tailroom for AAD or digest, as the requirement from FW, an
> > UMR WQE is needed to generate contiguous address space for crypto WQE.
> > The UMR WQE and crypto WQE are handled in two different QPs.
> >
> > The QP for UMR operation contains two types of WQE, UMR and SEND_EN
> > WQE. The WQEs are built dynamically according to the crypto operation
> > buffer address. Crypto operation with non-contiguous buffers will have
> > its own UMR WQE, while the operation with contiguous buffers doesn't
> > need the UMR WQE. Once the all the operations WQE in the enqueue burst
> > built finishes, if any UMR WQEs are built, additional SEND_EN WQE will
> > be as the final WQE of the burst in the UMR QP.
> > The purpose of that SEND_EN WQE is to trigger the crypto QP processing
> > with the UMR ready input memory address space buffers.
> >
> > The QP for crypto operations contains only the crypto WQE and the QP
> > WQEs are built as fixed in QP setup. The QP processing is triggered by
> > doorbell ring or the SEND_EN WQE from UMR QP.
> > \
> Change log missing.
Wii updated in V3.
>
> Please get it reviewed from PMD maintainer.
> Also rebase the patchset, and fix checkpatch issues.
The checkpatch issues are mainly due to the struct names false positive.
>
>
> > Suanming Mou (9):
> > common/mlx5: export memory region lookup by address
> > crypto/mlx5: split AES-XTS
> > crypto/mlx5: add AES-GCM query and initialization
> > crypto/mlx5: add AES-GCM encryption key
> > crypto/mlx5: add AES-GCM session configure
> > common/mlx5: add WQE-based QP synchronous basics
> > crypto/mlx5: add queue pair setup for GCM
> > crypto/mlx5: add enqueue and dequeue operations
> > crypto/mlx5: enable AES-GCM capability
> >
> > doc/guides/cryptodevs/mlx5.rst | 48 +-
> > doc/guides/rel_notes/release_23_07.rst | 1 +
> > drivers/common/mlx5/mlx5_common_mr.c | 2 +-
> > drivers/common/mlx5/mlx5_common_mr.h | 5 +
> > drivers/common/mlx5/mlx5_devx_cmds.c | 21 +
> > drivers/common/mlx5/mlx5_devx_cmds.h | 16 +
> > drivers/common/mlx5/mlx5_prm.h | 65 +-
> > drivers/common/mlx5/version.map | 3 +
> > drivers/crypto/mlx5/meson.build | 2 +
> > drivers/crypto/mlx5/mlx5_crypto.c | 673 ++---------------
> > drivers/crypto/mlx5/mlx5_crypto.h | 101 ++-
> > drivers/crypto/mlx5/mlx5_crypto_dek.c | 102 ++-
> > drivers/crypto/mlx5/mlx5_crypto_gcm.c | 995 +++++++++++++++++++++++++
> > drivers/crypto/mlx5/mlx5_crypto_xts.c | 645 ++++++++++++++++
> > 14 files changed, 2014 insertions(+), 665 deletions(-) create mode
> > 100644 drivers/crypto/mlx5/mlx5_crypto_gcm.c
> > create mode 100644 drivers/crypto/mlx5/mlx5_crypto_xts.c
> >
> > --
> > 2.25.1
More information about the dev
mailing list