xref: /dpdk/drivers/crypto/ipsec_mb/pmd_kasumi_priv.h (revision 796de0616c326c4b6e9a9fd6b0a00584b366460d)
1*bc9ef81cSPiotr Bronowski /* SPDX-License-Identifier: BSD-3-Clause
2*bc9ef81cSPiotr Bronowski  * Copyright(c) 2016-2021 Intel Corporation
3*bc9ef81cSPiotr Bronowski  */
4*bc9ef81cSPiotr Bronowski 
5*bc9ef81cSPiotr Bronowski #ifndef _PMD_KASUMI_PRIV_H_
6*bc9ef81cSPiotr Bronowski #define _PMD_KASUMI_PRIV_H_
7*bc9ef81cSPiotr Bronowski 
8*bc9ef81cSPiotr Bronowski #include "ipsec_mb_private.h"
9*bc9ef81cSPiotr Bronowski 
10*bc9ef81cSPiotr Bronowski #define KASUMI_KEY_LENGTH 16
11*bc9ef81cSPiotr Bronowski #define KASUMI_IV_LENGTH 8
12*bc9ef81cSPiotr Bronowski #define KASUMI_DIGEST_LENGTH 4
13*bc9ef81cSPiotr Bronowski 
14*bc9ef81cSPiotr Bronowski uint8_t pmd_driver_id_kasumi;
15*bc9ef81cSPiotr Bronowski 
16*bc9ef81cSPiotr Bronowski static const struct rte_cryptodev_capabilities kasumi_capabilities[] = {
17*bc9ef81cSPiotr Bronowski 	{	/* KASUMI (F9) */
18*bc9ef81cSPiotr Bronowski 		.op = RTE_CRYPTO_OP_TYPE_SYMMETRIC,
19*bc9ef81cSPiotr Bronowski 		{.sym = {
20*bc9ef81cSPiotr Bronowski 			.xform_type = RTE_CRYPTO_SYM_XFORM_AUTH,
21*bc9ef81cSPiotr Bronowski 			{.auth = {
22*bc9ef81cSPiotr Bronowski 				.algo = RTE_CRYPTO_AUTH_KASUMI_F9,
23*bc9ef81cSPiotr Bronowski 				.block_size = 8,
24*bc9ef81cSPiotr Bronowski 				.key_size = {
25*bc9ef81cSPiotr Bronowski 					.min = KASUMI_KEY_LENGTH,
26*bc9ef81cSPiotr Bronowski 					.max = KASUMI_KEY_LENGTH,
27*bc9ef81cSPiotr Bronowski 					.increment = 0
28*bc9ef81cSPiotr Bronowski 				},
29*bc9ef81cSPiotr Bronowski 				.digest_size = {
30*bc9ef81cSPiotr Bronowski 					.min = KASUMI_DIGEST_LENGTH,
31*bc9ef81cSPiotr Bronowski 					.max = KASUMI_DIGEST_LENGTH,
32*bc9ef81cSPiotr Bronowski 					.increment = 0
33*bc9ef81cSPiotr Bronowski 				},
34*bc9ef81cSPiotr Bronowski 				.iv_size = { 0 }
35*bc9ef81cSPiotr Bronowski 			}, }
36*bc9ef81cSPiotr Bronowski 		}, }
37*bc9ef81cSPiotr Bronowski 	},
38*bc9ef81cSPiotr Bronowski 	{	/* KASUMI (F8) */
39*bc9ef81cSPiotr Bronowski 		.op = RTE_CRYPTO_OP_TYPE_SYMMETRIC,
40*bc9ef81cSPiotr Bronowski 		{.sym = {
41*bc9ef81cSPiotr Bronowski 			.xform_type = RTE_CRYPTO_SYM_XFORM_CIPHER,
42*bc9ef81cSPiotr Bronowski 			{.cipher = {
43*bc9ef81cSPiotr Bronowski 				.algo = RTE_CRYPTO_CIPHER_KASUMI_F8,
44*bc9ef81cSPiotr Bronowski 				.block_size = 8,
45*bc9ef81cSPiotr Bronowski 				.key_size = {
46*bc9ef81cSPiotr Bronowski 					.min = KASUMI_KEY_LENGTH,
47*bc9ef81cSPiotr Bronowski 					.max = KASUMI_KEY_LENGTH,
48*bc9ef81cSPiotr Bronowski 					.increment = 0
49*bc9ef81cSPiotr Bronowski 				},
50*bc9ef81cSPiotr Bronowski 				.iv_size = {
51*bc9ef81cSPiotr Bronowski 					.min = KASUMI_IV_LENGTH,
52*bc9ef81cSPiotr Bronowski 					.max = KASUMI_IV_LENGTH,
53*bc9ef81cSPiotr Bronowski 					.increment = 0
54*bc9ef81cSPiotr Bronowski 				}
55*bc9ef81cSPiotr Bronowski 			}, }
56*bc9ef81cSPiotr Bronowski 		}, }
57*bc9ef81cSPiotr Bronowski 	},
58*bc9ef81cSPiotr Bronowski 	RTE_CRYPTODEV_END_OF_CAPABILITIES_LIST()
59*bc9ef81cSPiotr Bronowski };
60*bc9ef81cSPiotr Bronowski 
61*bc9ef81cSPiotr Bronowski #endif /* _PMD_KASUMI_PRIV_H_ */
62