Branch data Line data Source code
1 : : /* SPDX-License-Identifier: BSD-3-Clause
2 : : * Copyright(C) 2019 Marvell International Ltd.
3 : : */
4 : :
5 : : #include "nitrox_sym_capabilities.h"
6 : :
7 : : static const struct rte_cryptodev_capabilities nitrox_capabilities[] = {
8 : : { /* SHA1 HMAC */
9 : : .op = RTE_CRYPTO_OP_TYPE_SYMMETRIC,
10 : : {.sym = {
11 : : .xform_type = RTE_CRYPTO_SYM_XFORM_AUTH,
12 : : {.auth = {
13 : : .algo = RTE_CRYPTO_AUTH_SHA1_HMAC,
14 : : .block_size = 64,
15 : : .key_size = {
16 : : .min = 1,
17 : : .max = 64,
18 : : .increment = 1
19 : : },
20 : : .digest_size = {
21 : : .min = 1,
22 : : .max = 20,
23 : : .increment = 1
24 : : },
25 : : .iv_size = { 0 }
26 : : }, }
27 : : }, }
28 : : },
29 : : { /* SHA224 HMAC */
30 : : .op = RTE_CRYPTO_OP_TYPE_SYMMETRIC,
31 : : {.sym = {
32 : : .xform_type = RTE_CRYPTO_SYM_XFORM_AUTH,
33 : : {.auth = {
34 : : .algo = RTE_CRYPTO_AUTH_SHA224_HMAC,
35 : : .block_size = 64,
36 : : .key_size = {
37 : : .min = 1,
38 : : .max = 64,
39 : : .increment = 1
40 : : },
41 : : .digest_size = {
42 : : .min = 1,
43 : : .max = 28,
44 : : .increment = 1
45 : : },
46 : : .iv_size = { 0 }
47 : : }, }
48 : : }, }
49 : : },
50 : : { /* SHA256 HMAC */
51 : : .op = RTE_CRYPTO_OP_TYPE_SYMMETRIC,
52 : : {.sym = {
53 : : .xform_type = RTE_CRYPTO_SYM_XFORM_AUTH,
54 : : {.auth = {
55 : : .algo = RTE_CRYPTO_AUTH_SHA256_HMAC,
56 : : .block_size = 64,
57 : : .key_size = {
58 : : .min = 1,
59 : : .max = 64,
60 : : .increment = 1
61 : : },
62 : : .digest_size = {
63 : : .min = 1,
64 : : .max = 32,
65 : : .increment = 1
66 : : },
67 : : .iv_size = { 0 }
68 : : }, }
69 : : }, }
70 : : },
71 : : { /* AES CBC */
72 : : .op = RTE_CRYPTO_OP_TYPE_SYMMETRIC,
73 : : {.sym = {
74 : : .xform_type = RTE_CRYPTO_SYM_XFORM_CIPHER,
75 : : {.cipher = {
76 : : .algo = RTE_CRYPTO_CIPHER_AES_CBC,
77 : : .block_size = 16,
78 : : .key_size = {
79 : : .min = 16,
80 : : .max = 32,
81 : : .increment = 8
82 : : },
83 : : .iv_size = {
84 : : .min = 16,
85 : : .max = 16,
86 : : .increment = 0
87 : : }
88 : : }, }
89 : : }, }
90 : : },
91 : : { /* 3DES CBC */
92 : : .op = RTE_CRYPTO_OP_TYPE_SYMMETRIC,
93 : : {.sym = {
94 : : .xform_type = RTE_CRYPTO_SYM_XFORM_CIPHER,
95 : : {.cipher = {
96 : : .algo = RTE_CRYPTO_CIPHER_3DES_CBC,
97 : : .block_size = 8,
98 : : .key_size = {
99 : : .min = 24,
100 : : .max = 24,
101 : : .increment = 0
102 : : },
103 : : .iv_size = {
104 : : .min = 8,
105 : : .max = 8,
106 : : .increment = 0
107 : : }
108 : : }, }
109 : : }, }
110 : : },
111 : : { /* AES GCM */
112 : : .op = RTE_CRYPTO_OP_TYPE_SYMMETRIC,
113 : : {.sym = {
114 : : .xform_type = RTE_CRYPTO_SYM_XFORM_AEAD,
115 : : {.aead = {
116 : : .algo = RTE_CRYPTO_AEAD_AES_GCM,
117 : : .block_size = 16,
118 : : .key_size = {
119 : : .min = 16,
120 : : .max = 32,
121 : : .increment = 8
122 : : },
123 : : .digest_size = {
124 : : .min = 1,
125 : : .max = 16,
126 : : .increment = 1
127 : : },
128 : : .aad_size = {
129 : : .min = 0,
130 : : .max = 512,
131 : : .increment = 1
132 : : },
133 : : .iv_size = {
134 : : .min = 12,
135 : : .max = 16,
136 : : .increment = 4
137 : : },
138 : : }, }
139 : : }, }
140 : : },
141 : : { /* AES CCM */
142 : : .op = RTE_CRYPTO_OP_TYPE_SYMMETRIC,
143 : : {.sym = {
144 : : .xform_type = RTE_CRYPTO_SYM_XFORM_AEAD,
145 : : {.aead = {
146 : : .algo = RTE_CRYPTO_AEAD_AES_CCM,
147 : : .block_size = 16,
148 : : .key_size = {
149 : : .min = 16,
150 : : .max = 32,
151 : : .increment = 8
152 : : },
153 : : .digest_size = {
154 : : .min = 4,
155 : : .max = 16,
156 : : .increment = 2
157 : : },
158 : : .aad_size = {
159 : : .min = 0,
160 : : .max = 512,
161 : : .increment = 1
162 : : },
163 : : .iv_size = {
164 : : .min = 7,
165 : : .max = 13,
166 : : .increment = 1
167 : : },
168 : : }, }
169 : : }, }
170 : : },
171 : : RTE_CRYPTODEV_END_OF_CAPABILITIES_LIST()
172 : : };
173 : :
174 : : const struct rte_cryptodev_capabilities *
175 : 0 : nitrox_get_sym_capabilities(void)
176 : : {
177 : 0 : return nitrox_capabilities;
178 : : }
|