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;