1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright 2017-2018 NXP
5 #include <caam_jr_capabilities.h>
7 static const struct rte_cryptodev_capabilities caam_jr_capabilities
[] = {
9 .op
= RTE_CRYPTO_OP_TYPE_SYMMETRIC
,
11 .xform_type
= RTE_CRYPTO_SYM_XFORM_AUTH
,
13 .algo
= RTE_CRYPTO_AUTH_MD5_HMAC
,
30 .op
= RTE_CRYPTO_OP_TYPE_SYMMETRIC
,
32 .xform_type
= RTE_CRYPTO_SYM_XFORM_AUTH
,
34 .algo
= RTE_CRYPTO_AUTH_SHA1_HMAC
,
51 .op
= RTE_CRYPTO_OP_TYPE_SYMMETRIC
,
53 .xform_type
= RTE_CRYPTO_SYM_XFORM_AUTH
,
55 .algo
= RTE_CRYPTO_AUTH_SHA224_HMAC
,
72 .op
= RTE_CRYPTO_OP_TYPE_SYMMETRIC
,
74 .xform_type
= RTE_CRYPTO_SYM_XFORM_AUTH
,
76 .algo
= RTE_CRYPTO_AUTH_SHA256_HMAC
,
93 .op
= RTE_CRYPTO_OP_TYPE_SYMMETRIC
,
95 .xform_type
= RTE_CRYPTO_SYM_XFORM_AUTH
,
97 .algo
= RTE_CRYPTO_AUTH_SHA384_HMAC
,
114 .op
= RTE_CRYPTO_OP_TYPE_SYMMETRIC
,
116 .xform_type
= RTE_CRYPTO_SYM_XFORM_AUTH
,
118 .algo
= RTE_CRYPTO_AUTH_SHA512_HMAC
,
135 .op
= RTE_CRYPTO_OP_TYPE_SYMMETRIC
,
137 .xform_type
= RTE_CRYPTO_SYM_XFORM_AEAD
,
139 .algo
= RTE_CRYPTO_AEAD_AES_GCM
,
165 .op
= RTE_CRYPTO_OP_TYPE_SYMMETRIC
,
167 .xform_type
= RTE_CRYPTO_SYM_XFORM_CIPHER
,
169 .algo
= RTE_CRYPTO_CIPHER_AES_CBC
,
185 .op
= RTE_CRYPTO_OP_TYPE_SYMMETRIC
,
187 .xform_type
= RTE_CRYPTO_SYM_XFORM_CIPHER
,
189 .algo
= RTE_CRYPTO_CIPHER_AES_CTR
,
205 .op
= RTE_CRYPTO_OP_TYPE_SYMMETRIC
,
207 .xform_type
= RTE_CRYPTO_SYM_XFORM_CIPHER
,
209 .algo
= RTE_CRYPTO_CIPHER_3DES_CBC
,
225 RTE_CRYPTODEV_END_OF_CAPABILITIES_LIST()
228 static const struct rte_security_capability caam_jr_security_cap
[] = {
229 { /* IPsec Lookaside Protocol offload ESP Transport Egress */
230 .action
= RTE_SECURITY_ACTION_TYPE_LOOKASIDE_PROTOCOL
,
231 .protocol
= RTE_SECURITY_PROTOCOL_IPSEC
,
233 .proto
= RTE_SECURITY_IPSEC_SA_PROTO_ESP
,
234 .mode
= RTE_SECURITY_IPSEC_SA_MODE_TUNNEL
,
235 .direction
= RTE_SECURITY_IPSEC_SA_DIR_EGRESS
,
238 .crypto_capabilities
= caam_jr_capabilities
240 { /* IPsec Lookaside Protocol offload ESP Tunnel Ingress */
241 .action
= RTE_SECURITY_ACTION_TYPE_LOOKASIDE_PROTOCOL
,
242 .protocol
= RTE_SECURITY_PROTOCOL_IPSEC
,
244 .proto
= RTE_SECURITY_IPSEC_SA_PROTO_ESP
,
245 .mode
= RTE_SECURITY_IPSEC_SA_MODE_TUNNEL
,
246 .direction
= RTE_SECURITY_IPSEC_SA_DIR_INGRESS
,
249 .crypto_capabilities
= caam_jr_capabilities
252 .action
= RTE_SECURITY_ACTION_TYPE_NONE
256 const struct rte_cryptodev_capabilities
*
257 caam_jr_get_cryptodev_capabilities(void)
259 return caam_jr_capabilities
;
262 const struct rte_security_capability
*
263 caam_jr_get_security_capabilities(void *device __rte_unused
)
265 return caam_jr_security_cap
;