mbox series

[v5,00/15] drivers: introduce mlx5 crypto PMD

Message ID 20210701132609.53727-1-shirik@nvidia.com (mailing list archive)
Headers show
Series drivers: introduce mlx5 crypto PMD | expand

Message

Shiri Kuzin July 1, 2021, 1:25 p.m. UTC
Add a new PMD for Nvidia devices- crypto PMD.
The crypto PMD will be supported on Nvidia ConnectX6.
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.

v2:
Add data-path part.

v3:
Rebase.

v4:
- Rebase + Address the following Akhil comments:
- Set HW feature flag in the capability patch.
- Fix mp object release in session clear.
- Some spelling and word missing in doc.
- Squash data-unit adjustment to the session operations commit.
- Wording: device argument -> devarg.

v5: 
- Add mlx5 crypto tests into test library.
- Update documentation according to Akhil comments.
- Fix memory region management.
- Fix multi segment case in data-path code.
- Split documentation to the correct commits according to Akhil comments.
- Rebase to new version.
- Change license to Nvidia license.




Shiri Kuzin (10):
  drivers: introduce mlx5 crypto PMD
  crypto/mlx5: add DEK object management
  crypto/mlx5: add session operations
  crypto/mlx5: add basic operations
  crypto/mlx5: add queue pairs operations
  crypto/mlx5: add dev stop and start operations
  crypto/mlx5: add memory region management
  crypto/mlx5: create login object using DevX
  test/crypto: add mlx5 crypto driver
  test/crypto: add mlx5 multi segment tests

Suanming Mou (5):
  crypto/mlx5: add keytag devarg
  crypto/mlx5: add maximum segments devarg
  crypto/mlx5: add WQE set initialization
  crypto/mlx5: add enqueue and dequeue operations
  crypto/mlx5: add statistic get and reset operations

 MAINTAINERS                                 |    4 +
 app/test/meson.build                        |    1 +
 app/test/test_cryptodev.c                   |  611 ++++-
 app/test/test_cryptodev.h                   |    3 +-
 app/test/test_cryptodev_mlx5_test_vectors.h | 2499 +++++++++++++++++++
 doc/guides/cryptodevs/features/mlx5.ini     |   37 +
 doc/guides/cryptodevs/index.rst             |    1 +
 doc/guides/cryptodevs/mlx5.rst              |  150 ++
 doc/guides/rel_notes/release_21_08.rst      |    5 +
 drivers/common/mlx5/mlx5_common.h           |    1 +
 drivers/common/mlx5/mlx5_common_pci.c       |   14 +
 drivers/common/mlx5/mlx5_common_pci.h       |   21 +-
 drivers/crypto/meson.build                  |    1 +
 drivers/crypto/mlx5/meson.build             |   27 +
 drivers/crypto/mlx5/mlx5_crypto.c           | 1177 +++++++++
 drivers/crypto/mlx5/mlx5_crypto.h           |   91 +
 drivers/crypto/mlx5/mlx5_crypto_dek.c       |  136 +
 drivers/crypto/mlx5/mlx5_crypto_utils.h     |   19 +
 drivers/crypto/mlx5/version.map             |    3 +
 19 files changed, 4774 insertions(+), 27 deletions(-)
 create mode 100644 app/test/test_cryptodev_mlx5_test_vectors.h
 create mode 100644 doc/guides/cryptodevs/features/mlx5.ini
 create mode 100644 doc/guides/cryptodevs/mlx5.rst
 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