1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(c) 2018 Cavium, Inc
5 #include <rte_cryptodev.h>
7 #include "otx_cryptodev_capabilities.h"
9 static const struct rte_cryptodev_capabilities otx_capabilities
[] = {
10 /* Symmetric capabilities */
12 .op
= RTE_CRYPTO_OP_TYPE_SYMMETRIC
,
14 .xform_type
= RTE_CRYPTO_SYM_XFORM_AUTH
,
16 .algo
= RTE_CRYPTO_AUTH_NULL
,
31 { /* AES GMAC (AUTH) */
32 .op
= RTE_CRYPTO_OP_TYPE_SYMMETRIC
,
34 .xform_type
= RTE_CRYPTO_SYM_XFORM_AUTH
,
36 .algo
= RTE_CRYPTO_AUTH_AES_GMAC
,
57 .op
= RTE_CRYPTO_OP_TYPE_SYMMETRIC
,
59 .xform_type
= RTE_CRYPTO_SYM_XFORM_AUTH
,
61 .algo
= RTE_CRYPTO_AUTH_KASUMI_F9
,
77 .op
= RTE_CRYPTO_OP_TYPE_SYMMETRIC
,
79 .xform_type
= RTE_CRYPTO_SYM_XFORM_AUTH
,
81 .algo
= RTE_CRYPTO_AUTH_MD5
,
97 .op
= RTE_CRYPTO_OP_TYPE_SYMMETRIC
,
99 .xform_type
= RTE_CRYPTO_SYM_XFORM_AUTH
,
101 .algo
= RTE_CRYPTO_AUTH_MD5_HMAC
,
117 .op
= RTE_CRYPTO_OP_TYPE_SYMMETRIC
,
119 .xform_type
= RTE_CRYPTO_SYM_XFORM_AUTH
,
121 .algo
= RTE_CRYPTO_AUTH_SHA1
,
137 .op
= RTE_CRYPTO_OP_TYPE_SYMMETRIC
,
139 .xform_type
= RTE_CRYPTO_SYM_XFORM_AUTH
,
141 .algo
= RTE_CRYPTO_AUTH_SHA1_HMAC
,
157 .op
= RTE_CRYPTO_OP_TYPE_SYMMETRIC
,
159 .xform_type
= RTE_CRYPTO_SYM_XFORM_AUTH
,
161 .algo
= RTE_CRYPTO_AUTH_SHA224
,
177 .op
= RTE_CRYPTO_OP_TYPE_SYMMETRIC
,
179 .xform_type
= RTE_CRYPTO_SYM_XFORM_AUTH
,
181 .algo
= RTE_CRYPTO_AUTH_SHA224_HMAC
,
197 .op
= RTE_CRYPTO_OP_TYPE_SYMMETRIC
,
199 .xform_type
= RTE_CRYPTO_SYM_XFORM_AUTH
,
201 .algo
= RTE_CRYPTO_AUTH_SHA256
,
217 .op
= RTE_CRYPTO_OP_TYPE_SYMMETRIC
,
219 .xform_type
= RTE_CRYPTO_SYM_XFORM_AUTH
,
221 .algo
= RTE_CRYPTO_AUTH_SHA256_HMAC
,
237 .op
= RTE_CRYPTO_OP_TYPE_SYMMETRIC
,
239 .xform_type
= RTE_CRYPTO_SYM_XFORM_AUTH
,
241 .algo
= RTE_CRYPTO_AUTH_SHA384
,
257 .op
= RTE_CRYPTO_OP_TYPE_SYMMETRIC
,
259 .xform_type
= RTE_CRYPTO_SYM_XFORM_AUTH
,
261 .algo
= RTE_CRYPTO_AUTH_SHA384_HMAC
,
277 .op
= RTE_CRYPTO_OP_TYPE_SYMMETRIC
,
279 .xform_type
= RTE_CRYPTO_SYM_XFORM_AUTH
,
281 .algo
= RTE_CRYPTO_AUTH_SHA512
,
297 .op
= RTE_CRYPTO_OP_TYPE_SYMMETRIC
,
299 .xform_type
= RTE_CRYPTO_SYM_XFORM_AUTH
,
301 .algo
= RTE_CRYPTO_AUTH_SHA512_HMAC
,
316 { /* SNOW 3G (UIA2) */
317 .op
= RTE_CRYPTO_OP_TYPE_SYMMETRIC
,
319 .xform_type
= RTE_CRYPTO_SYM_XFORM_AUTH
,
321 .algo
= RTE_CRYPTO_AUTH_SNOW3G_UIA2
,
342 .op
= RTE_CRYPTO_OP_TYPE_SYMMETRIC
,
344 .xform_type
= RTE_CRYPTO_SYM_XFORM_AUTH
,
346 .algo
= RTE_CRYPTO_AUTH_ZUC_EIA3
,
366 { /* NULL (CIPHER) */
367 .op
= RTE_CRYPTO_OP_TYPE_SYMMETRIC
,
369 .xform_type
= RTE_CRYPTO_SYM_XFORM_CIPHER
,
371 .algo
= RTE_CRYPTO_CIPHER_NULL
,
387 .op
= RTE_CRYPTO_OP_TYPE_SYMMETRIC
,
389 .xform_type
= RTE_CRYPTO_SYM_XFORM_CIPHER
,
391 .algo
= RTE_CRYPTO_CIPHER_3DES_CBC
,
407 .op
= RTE_CRYPTO_OP_TYPE_SYMMETRIC
,
409 .xform_type
= RTE_CRYPTO_SYM_XFORM_CIPHER
,
411 .algo
= RTE_CRYPTO_CIPHER_3DES_ECB
,
427 .op
= RTE_CRYPTO_OP_TYPE_SYMMETRIC
,
429 .xform_type
= RTE_CRYPTO_SYM_XFORM_CIPHER
,
431 .algo
= RTE_CRYPTO_CIPHER_AES_CBC
,
447 .op
= RTE_CRYPTO_OP_TYPE_SYMMETRIC
,
449 .xform_type
= RTE_CRYPTO_SYM_XFORM_CIPHER
,
451 .algo
= RTE_CRYPTO_CIPHER_AES_CTR
,
467 .op
= RTE_CRYPTO_OP_TYPE_SYMMETRIC
,
469 .xform_type
= RTE_CRYPTO_SYM_XFORM_CIPHER
,
471 .algo
= RTE_CRYPTO_CIPHER_AES_XTS
,
487 .op
= RTE_CRYPTO_OP_TYPE_SYMMETRIC
,
489 .xform_type
= RTE_CRYPTO_SYM_XFORM_CIPHER
,
491 .algo
= RTE_CRYPTO_CIPHER_DES_CBC
,
507 .op
= RTE_CRYPTO_OP_TYPE_SYMMETRIC
,
509 .xform_type
= RTE_CRYPTO_SYM_XFORM_CIPHER
,
511 .algo
= RTE_CRYPTO_CIPHER_KASUMI_F8
,
526 { /* SNOW 3G (UEA2) */
527 .op
= RTE_CRYPTO_OP_TYPE_SYMMETRIC
,
529 .xform_type
= RTE_CRYPTO_SYM_XFORM_CIPHER
,
531 .algo
= RTE_CRYPTO_CIPHER_SNOW3G_UEA2
,
547 .op
= RTE_CRYPTO_OP_TYPE_SYMMETRIC
,
549 .xform_type
= RTE_CRYPTO_SYM_XFORM_CIPHER
,
551 .algo
= RTE_CRYPTO_CIPHER_ZUC_EEA3
,
567 .op
= RTE_CRYPTO_OP_TYPE_SYMMETRIC
,
569 .xform_type
= RTE_CRYPTO_SYM_XFORM_AEAD
,
571 .algo
= RTE_CRYPTO_AEAD_AES_GCM
,
596 /* End of symmetric capabilities */
597 RTE_CRYPTODEV_END_OF_CAPABILITIES_LIST()
600 const struct rte_cryptodev_capabilities
*
601 otx_get_capabilities(void)
603 return otx_capabilities
;