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