crypto/mlx5: add DEK object management
authorShiri Kuzin <shirik@nvidia.com>
Tue, 20 Jul 2021 13:09:31 +0000 (16:09 +0300)
committerAkhil Goyal <gakhil@marvell.com>
Tue, 20 Jul 2021 19:48:32 +0000 (21:48 +0200)
commit586add6ef49adb18710b7a6562677e6eb6f7bc29
tree882d52b43e406e1fd75f24f5081af657efcee9f6
parenta7c86884f150eaa20aa990028274e602d60884f4
crypto/mlx5: add DEK object management

A DEK (Data encryption Key) is an mlx5 HW object which represents
the cipher algorithm key.
The DEKs are used during data encryption/decryption operations.

In symmetric algorithms like AES-XTS, we use the same DEK for both
encryption and decryption.

Use the mlx5 hash-list tool to manage the DEK objects in the PMD.

Provide the compare, create and destroy functions to manage DEKs in
hash-list and introduce an internal API to setup and unset the DEK
management and to prepare and destroy specific DEK object.

The DEK hash-list will be created in dev_configure routine and
destroyed in dev_close routine.

Signed-off-by: Shiri Kuzin <shirik@nvidia.com>
Acked-by: Matan Azrad <matan@nvidia.com>
Acked-by: Akhil Goyal <gakhil@marvell.com>
drivers/crypto/mlx5/meson.build
drivers/crypto/mlx5/mlx5_crypto.h
drivers/crypto/mlx5/mlx5_crypto_dek.c [new file with mode: 0644]