[v2] crypto/aesni_mb: support AES-CCM-256
Checks
Commit Message
This patch adds support for AES-CCM-256 when using AESNI-MB
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
---
This patch depends on series http://patches.dpdk.org/project/dpdk/list/?series=12822.
Changes:
v2 :
- Fixed session creation
- Rebased on top of crypto subtree
---
doc/guides/cryptodevs/features/aesni_mb.ini | 1 +
doc/guides/rel_notes/release_20_11.rst | 1 +
drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c | 6 ++++++
drivers/crypto/aesni_mb/rte_aesni_mb_pmd_ops.c | 5 +++++
4 files changed, 13 insertions(+)
Comments
> -----Original Message-----
> From: dev <dev-bounces@dpdk.org> On Behalf Of Pablo de Lara
> Sent: Friday, October 9, 2020 5:49 PM
> To: declan.doherty@intel.com
> Cc: dev@dpdk.org; Pablo de Lara <pablo.de.lara.guarch@intel.com>
> Subject: [dpdk-dev] [PATCH v2] crypto/aesni_mb: support AES-CCM-256
>
> This patch adds support for AES-CCM-256 when using AESNI-MB
>
> Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
>
> ---
Applied to dpdk-next-crypto
Thanks.
@@ -64,6 +64,7 @@ KASUMI F9 = Y
;
[AEAD]
AES CCM (128) = Y
+AES CCM (256) = Y
AES GCM (128) = Y
AES GCM (192) = Y
AES GCM (256) = Y
@@ -81,6 +81,7 @@ New Features
* Added support for SNOW3G-UEA2/UIA2 algorithms.
* Added support for KASUMI-F8/F9 algorithms.
* Added support for Chacha20-Poly1305.
+ * Added support for AES-256 CCM algorithm.
* **Updated the aesni_gcm crypto PMD.**
@@ -686,6 +686,12 @@ aesni_mb_set_session_aead_parameters(const MB_MGR *mb_mgr,
sess->cipher.expanded_aes_keys.encode,
sess->cipher.expanded_aes_keys.decode);
break;
+ case AES_256_BYTES:
+ sess->cipher.key_length_in_bytes = AES_256_BYTES;
+ IMB_AES_KEYEXP_256(mb_mgr, xform->aead.key.data,
+ sess->cipher.expanded_aes_keys.encode,
+ sess->cipher.expanded_aes_keys.decode);
+ break;
default:
AESNI_MB_LOG(ERR, "Invalid cipher key length");
return -EINVAL;
@@ -400,8 +400,13 @@ static const struct rte_cryptodev_capabilities aesni_mb_pmd_capabilities[] = {
.block_size = 16,
.key_size = {
.min = 16,
+#if IMB_VERSION(0, 54, 2) <= IMB_VERSION_NUM
+ .max = 32,
+ .increment = 16
+#else
.max = 16,
.increment = 0
+#endif
},
.digest_size = {
.min = 4,