1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(c) 2016-2019 Intel Corporation
3  */
4 
5 #ifndef TEST_CRYPTODEV_AES_TEST_VECTORS_H_
6 #define TEST_CRYPTODEV_AES_TEST_VECTORS_H_
7 
8 /* test vectors */
9 static const uint8_t plaintext_aes128ctr[] = {
10 	0x6B, 0xC1, 0xBE, 0xE2, 0x2E, 0x40, 0x9F, 0x96,
11 	0xE9, 0x3D, 0x7E, 0x11, 0x73, 0x93, 0x17, 0x2A,
12 	0xAE, 0x2D, 0x8A, 0x57, 0x1E, 0x03, 0xAC, 0x9C,
13 	0x9E, 0xB7, 0x6F, 0xAC, 0x45, 0xAF, 0x8E, 0x51,
14 	0x30, 0xC8, 0x1C, 0x46, 0xA3, 0x5C, 0xE4, 0x11,
15 	0xE5, 0xFB, 0xC1, 0x19, 0x1A, 0x0A, 0x52, 0xEF,
16 	0xF6, 0x9F, 0x24, 0x45, 0xDF, 0x4F, 0x9B, 0x17,
17 	0xAD, 0x2B, 0x41, 0x7B, 0xE6, 0x6C, 0x37, 0x10
18 };
19 
20 static const uint8_t ciphertext64_aes128ctr[] = {
21 	0x87, 0x4D, 0x61, 0x91, 0xB6, 0x20, 0xE3, 0x26,
22 	0x1B, 0xEF, 0x68, 0x64, 0x99, 0x0D, 0xB6, 0xCE,
23 	0x98, 0x06, 0xF6, 0x6B, 0x79, 0x70, 0xFD, 0xFF,
24 	0x86, 0x17, 0x18, 0x7B, 0xB9, 0xFF, 0xFD, 0xFF,
25 	0x5A, 0xE4, 0xDF, 0x3E, 0xDB, 0xD5, 0xD3, 0x5E,
26 	0x5B, 0x4F, 0x09, 0x02, 0x0D, 0xB0, 0x3E, 0xAB,
27 	0x1E, 0x03, 0x1D, 0xDA, 0x2F, 0xBE, 0x03, 0xD1,
28 	0x79, 0x21, 0x70, 0xA0, 0xF3, 0x00, 0x9C, 0xEE
29 };
30 
31 static const uint8_t ciphertext64_aes128ctr_IV_12bytes[] = {
32 	0x28, 0x80, 0x28, 0xC7, 0x15, 0x99, 0xC5, 0xA8,
33 	0xDD, 0x53, 0xC2, 0x67, 0x1B, 0x86, 0xB8, 0x13,
34 	0xAB, 0x25, 0x39, 0x7A, 0xD2, 0x1F, 0x8B, 0x4B,
35 	0x94, 0x89, 0x2B, 0x65, 0xCF, 0x89, 0x1E, 0xDD,
36 	0xD4, 0x7C, 0xFD, 0x8D, 0x0E, 0xCD, 0x23, 0xA4,
37 	0xEB, 0x8C, 0x05, 0x58, 0x45, 0x4A, 0x63, 0x44,
38 	0x11, 0x42, 0x07, 0x17, 0xB4, 0xD2, 0xCC, 0x75,
39 	0xB7, 0x23, 0x99, 0xA9, 0xC5, 0x89, 0x7F, 0x66
40 };
41 
42 static const uint8_t plaintext_aes_docsis_bpi_cfb[] = {
43 	0x00, 0x01, 0x02, 0x88, 0xEE, 0x59, 0x7E
44 };
45 
46 static const uint8_t ciphertext_aes_docsis_bpi_cfb[] = {
47 	0xFC, 0x68, 0xA3, 0x55, 0x60, 0x37, 0xDC
48 };
49 
50 static const uint8_t plaintext_aes_docsis_bpi_cbc_cfb[] = {
51 	0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
52 	0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x91,
53 	0xD2, 0xD1, 0x9F
54 };
55 
56 static const uint8_t ciphertext_aes_docsis_bpi_cbc_cfb[] = {
57 	0x9D, 0xD1, 0x67, 0x4B, 0xBA, 0x61, 0x10, 0x1B,
58 	0x56, 0x75, 0x64, 0x74, 0x36, 0x4F, 0x10, 0x1D,
59 	0x44, 0xD4, 0x73
60 };
61 
62 static const uint8_t plaintext_aes192ctr[] = {
63 	0x01, 0x0F, 0x10, 0x1F, 0x20, 0x1C, 0x0E, 0xB8,
64 	0xFB, 0x5C, 0xCD, 0xCC, 0x1F, 0xF9, 0xAF, 0x0B,
65 	0x95, 0x03, 0x74, 0x99, 0x49, 0xE7, 0x62, 0x55,
66 	0xDA, 0xEA, 0x13, 0x20, 0x1D, 0xC6, 0xCC, 0xCC,
67 	0xD1, 0x70, 0x75, 0x47, 0x02, 0x2F, 0xFB, 0x86,
68 	0xBB, 0x6B, 0x23, 0xD2, 0xC9, 0x74, 0xD7, 0x7B,
69 	0x08, 0x03, 0x3B, 0x79, 0x39, 0xBB, 0x91, 0x29,
70 	0xDA, 0x14, 0x39, 0x8D, 0xFF, 0x81, 0x50, 0x96,
71 };
72 
73 static const uint8_t ciphertext64_aes192ctr[] = {
74 	0x4A, 0x6C, 0xC8, 0xCC, 0x96, 0x2A, 0x13, 0x84,
75 	0x1C, 0x36, 0x88, 0xE9, 0xE5, 0x94, 0x70, 0xB2,
76 	0x14, 0x5B, 0x13, 0x80, 0xEA, 0xD8, 0x8D, 0x37,
77 	0xFD, 0x70, 0xA8, 0x83, 0xE8, 0x2B, 0x88, 0x1E,
78 	0xBA, 0x94, 0x3F, 0xF6, 0xB3, 0x1F, 0xDE, 0x34,
79 	0xF3, 0x5B, 0x80, 0xE9, 0xAB, 0xF5, 0x1C, 0x29,
80 	0xB6, 0xD9, 0x76, 0x2B, 0x06, 0xC6, 0x74, 0xF1,
81 	0x59, 0x5E, 0x9E, 0xA5, 0x7B, 0x2D, 0xD7, 0xF0
82 };
83 
84 static const uint8_t ciphertext64_aes192ctr_IV_12bytes[] = {
85 	0x67, 0x65, 0xa9, 0xee, 0xfd, 0x31, 0x62, 0xfc,
86 	0xad, 0xfd, 0xc7, 0x25, 0xb7, 0x25, 0x16, 0xbe,
87 	0x25, 0xce, 0xc0, 0x1d, 0xda, 0xa9, 0xd3, 0xda,
88 	0x1b, 0x7d, 0x68, 0x6a, 0x6f, 0x06, 0xea, 0x47,
89 	0xa0, 0xe0, 0x15, 0xf4, 0xbd, 0x1b, 0x70, 0x34,
90 	0xd4, 0x6d, 0x1c, 0x84, 0x17, 0x91, 0x46, 0x0c,
91 	0xe8, 0xbc, 0x7a, 0xfb, 0x9f, 0x2a, 0x8f, 0xb4,
92 	0xd4, 0xf3, 0x6e, 0x5b, 0x75, 0xa0, 0xce, 0x32
93 };
94 
95 static const uint8_t plaintext_aes256ctr[] = {
96 	0x6B, 0xC1, 0xBE, 0xE2, 0x2E, 0x40, 0x9F, 0x96,
97 	0xE9, 0x3D, 0x7E, 0x11, 0x73, 0x93, 0x17, 0x2A,
98 	0xAE, 0x2D, 0x8A, 0x57, 0x1E, 0x03, 0xAC, 0x9C,
99 	0x9E, 0xB7, 0x6F, 0xAC, 0x45, 0xAF, 0x8E, 0x51,
100 	0x30, 0xC8, 0x1C, 0x46, 0xA3, 0x5C, 0xE4, 0x11,
101 	0xE5, 0xFB, 0xC1, 0x19, 0x1A, 0x0A, 0x52, 0xEF,
102 	0xF6, 0x9F, 0x24, 0x45, 0xDF, 0x4F, 0x9B, 0x17,
103 	0xAD, 0x2B, 0x41, 0x7B, 0xE6, 0x6C, 0x37, 0x10
104 };
105 
106 static const uint8_t ciphertext64_aes256ctr[] = {
107 	0x60, 0x1E, 0xC3, 0x13, 0x77, 0x57, 0x89, 0xA5,
108 	0xB7, 0xA7, 0xF5, 0x04, 0xBB, 0xF3, 0xD2, 0x28,
109 	0xF4, 0x43, 0xE3, 0xCA, 0x4D, 0x62, 0xB5, 0x9A,
110 	0xCA, 0x84, 0xE9, 0x90, 0xCA, 0xCA, 0xF5, 0xC5,
111 	0x2B, 0x09, 0x30, 0xDA, 0xA2, 0x3D, 0xE9, 0x4C,
112 	0xE8, 0x70, 0x17, 0xBA, 0x2D, 0x84, 0x98, 0x8D,
113 	0xDF, 0xC9, 0xC5, 0x8D, 0xB6, 0x7A, 0xAD, 0xA6,
114 	0x13, 0xC2, 0xDD, 0x08, 0x45, 0x79, 0x41, 0xA6
115 };
116 
117 static const uint8_t ciphertext64_aes256ctr_IV_12bytes[] = {
118 	0x7B, 0x7A, 0x7D, 0x83, 0x85, 0xF8, 0x81, 0xF3,
119 	0x32, 0x33, 0xD9, 0xFB, 0x04, 0x73, 0xD4, 0x2F,
120 	0x70, 0xDE, 0x90, 0x3E, 0xD0, 0xA9, 0x93, 0x8A,
121 	0x91, 0xF3, 0xB5, 0x29, 0x4D, 0x2A, 0x74, 0xD0,
122 	0xDC, 0x4E, 0x5C, 0x9B, 0x97, 0x24, 0xD8, 0x02,
123 	0xFE, 0xAB, 0x38, 0xE8, 0x73, 0x51, 0x29, 0x7E,
124 	0xF1, 0xF9, 0x40, 0x78, 0xB1, 0x04, 0x7A, 0x78,
125 	0x61, 0x07, 0x47, 0xE6, 0x8C, 0x0F, 0xA8, 0x76
126 };
127 
128 static const uint8_t plaintext_aes_common[] = {
129 	"What a lousy earth! He wondered how many people "
130 	"were destitute that same night even in his own "
131 	"prosperous country, how many homes were "
132 	"shanties, how many husbands were drunk and "
133 	"wives socked, and how many children were "
134 	"bullied, abused, or abandoned. How many "
135 	"families hungered for food they could not "
136 	"afford to buy? How many hearts were broken? How "
137 	"many suicides would take place that same night, "
138 	"how many people would go insane? How many "
139 	"cockroaches and landlords would triumph? How "
140 	"many winners were losers, successes failures, "
141 	"and rich men poor men? How many wise guys were "
142 	"stupid? How many happy endings were unhappy "
143 	"endings? How many honest men were liars, brave "
144 	"men cowards, loyal men traitors, how many "
145 	"sainted men were corrupt, how many people in "
146 	"positions of trust had sold their souls to "
147 	"bodyguards, how many had never had souls? How "
148 	"many straight-and-narrow paths were crooked "
149 	"paths? How many best families were worst "
150 	"families and how many good people were bad "
151 	"people? When you added them all up and then "
152 	"subtracted, you might be left with only the "
153 	"children, and perhaps with Albert Einstein and "
154 	"an old violinist or sculptor somewhere."
155 };
156 
157 static const uint8_t ciphertext512_aes128cbc[] = {
158 	0x8B, 0x4D, 0xDA, 0x1B, 0xCF, 0x04, 0xA0, 0x31,
159 	0xB4, 0xBF, 0xBD, 0x68, 0x43, 0x20, 0x7E, 0x76,
160 	0xB1, 0x96, 0x8B, 0xA2, 0x7C, 0xA2, 0x83, 0x9E,
161 	0x39, 0x5A, 0x2F, 0x7E, 0x92, 0xB4, 0x48, 0x1A,
162 	0x3F, 0x6B, 0x5D, 0xDF, 0x52, 0x85, 0x5F, 0x8E,
163 	0x42, 0x3C, 0xFB, 0xE9, 0x1A, 0x24, 0xD6, 0x08,
164 	0xDD, 0xFD, 0x16, 0xFB, 0xE9, 0x55, 0xEF, 0xF0,
165 	0xA0, 0x8D, 0x13, 0xAB, 0x81, 0xC6, 0x90, 0x01,
166 	0xB5, 0x18, 0x84, 0xB3, 0xF6, 0xE6, 0x11, 0x57,
167 	0xD6, 0x71, 0xC6, 0x3C, 0x3F, 0x2F, 0x33, 0xEE,
168 	0x24, 0x42, 0x6E, 0xAC, 0x0B, 0xCA, 0xEC, 0xF9,
169 	0x84, 0xF8, 0x22, 0xAA, 0x60, 0xF0, 0x32, 0xA9,
170 	0x75, 0x75, 0x3B, 0xCB, 0x70, 0x21, 0x0A, 0x8D,
171 	0x0F, 0xE0, 0xC4, 0x78, 0x2B, 0xF8, 0x97, 0xE3,
172 	0xE4, 0x26, 0x4B, 0x29, 0xDA, 0x88, 0xCD, 0x46,
173 	0xEC, 0xAA, 0xF9, 0x7F, 0xF1, 0x15, 0xEA, 0xC3,
174 	0x87, 0xE6, 0x31, 0xF2, 0xCF, 0xDE, 0x4D, 0x80,
175 	0x70, 0x91, 0x7E, 0x0C, 0xF7, 0x26, 0x3A, 0x92,
176 	0x4F, 0x18, 0x83, 0xC0, 0x8F, 0x59, 0x01, 0xA5,
177 	0x88, 0xD1, 0xDB, 0x26, 0x71, 0x27, 0x16, 0xF5,
178 	0xEE, 0x10, 0x82, 0xAC, 0x68, 0x26, 0x9B, 0xE2,
179 	0x6D, 0xD8, 0x9A, 0x80, 0xDF, 0x04, 0x31, 0xD5,
180 	0xF1, 0x35, 0x5C, 0x3B, 0xDD, 0x9A, 0x65, 0xBA,
181 	0x58, 0x34, 0x85, 0x61, 0x1C, 0x42, 0x10, 0x76,
182 	0x73, 0x02, 0x42, 0xC9, 0x23, 0x18, 0x8E, 0xB4,
183 	0x6F, 0xB4, 0xA3, 0x54, 0x6E, 0x88, 0x3B, 0x62,
184 	0x7C, 0x02, 0x8D, 0x4C, 0x9F, 0xC8, 0x45, 0xF4,
185 	0xC9, 0xDE, 0x4F, 0xEB, 0x22, 0x83, 0x1B, 0xE4,
186 	0x49, 0x37, 0xE4, 0xAD, 0xE7, 0xCD, 0x21, 0x54,
187 	0xBC, 0x1C, 0xC2, 0x04, 0x97, 0xB4, 0x10, 0x61,
188 	0xF0, 0xE4, 0xEF, 0x27, 0x63, 0x3A, 0xDA, 0x91,
189 	0x41, 0x25, 0x62, 0x1C, 0x5C, 0xB6, 0x38, 0x4A,
190 	0x88, 0x71, 0x59, 0x5A, 0x8D, 0xA0, 0x09, 0xAF,
191 	0x72, 0x94, 0xD7, 0x79, 0x5C, 0x60, 0x7C, 0x8F,
192 	0x4C, 0xF5, 0xD9, 0xA1, 0x39, 0x6D, 0x81, 0x28,
193 	0xEF, 0x13, 0x28, 0xDF, 0xF5, 0x3E, 0xF7, 0x8E,
194 	0x09, 0x9C, 0x78, 0x18, 0x79, 0xB8, 0x68, 0xD7,
195 	0xA8, 0x29, 0x62, 0xAD, 0xDE, 0xE1, 0x61, 0x76,
196 	0x1B, 0x05, 0x16, 0xCD, 0xBF, 0x02, 0x8E, 0xA6,
197 	0x43, 0x6E, 0x92, 0x55, 0x4F, 0x60, 0x9C, 0x03,
198 	0xB8, 0x4F, 0xA3, 0x02, 0xAC, 0xA8, 0xA7, 0x0C,
199 	0x1E, 0xB5, 0x6B, 0xF8, 0xC8, 0x4D, 0xDE, 0xD2,
200 	0xB0, 0x29, 0x6E, 0x40, 0xE6, 0xD6, 0xC9, 0xE6,
201 	0xB9, 0x0F, 0xB6, 0x63, 0xF5, 0xAA, 0x2B, 0x96,
202 	0xA7, 0x16, 0xAC, 0x4E, 0x0A, 0x33, 0x1C, 0xA6,
203 	0xE6, 0xBD, 0x8A, 0xCF, 0x40, 0xA9, 0xB2, 0xFA,
204 	0x63, 0x27, 0xFD, 0x9B, 0xD9, 0xFC, 0xD5, 0x87,
205 	0x8D, 0x4C, 0xB6, 0xA4, 0xCB, 0xE7, 0x74, 0x55,
206 	0xF4, 0xFB, 0x41, 0x25, 0xB5, 0x4B, 0x0A, 0x1B,
207 	0xB1, 0xD6, 0xB7, 0xD9, 0x47, 0x2A, 0xC3, 0x98,
208 	0x6A, 0xC4, 0x03, 0x73, 0x1F, 0x93, 0x6E, 0x53,
209 	0x19, 0x25, 0x64, 0x15, 0x83, 0xF9, 0x73, 0x2A,
210 	0x74, 0xB4, 0x93, 0x69, 0xC4, 0x72, 0xFC, 0x26,
211 	0xA2, 0x9F, 0x43, 0x45, 0xDD, 0xB9, 0xEF, 0x36,
212 	0xC8, 0x3A, 0xCD, 0x99, 0x9B, 0x54, 0x1A, 0x36,
213 	0xC1, 0x59, 0xF8, 0x98, 0xA8, 0xCC, 0x28, 0x0D,
214 	0x73, 0x4C, 0xEE, 0x98, 0xCB, 0x7C, 0x58, 0x7E,
215 	0x20, 0x75, 0x1E, 0xB7, 0xC9, 0xF8, 0xF2, 0x0E,
216 	0x63, 0x9E, 0x05, 0x78, 0x1A, 0xB6, 0xA8, 0x7A,
217 	0xF9, 0x98, 0x6A, 0xA6, 0x46, 0x84, 0x2E, 0xF6,
218 	0x4B, 0xDC, 0x9B, 0x8F, 0x9B, 0x8F, 0xEE, 0xB4,
219 	0xAA, 0x3F, 0xEE, 0xC0, 0x37, 0x27, 0x76, 0xC7,
220 	0x95, 0xBB, 0x26, 0x74, 0x69, 0x12, 0x7F, 0xF1,
221 	0xBB, 0xFF, 0xAE, 0xB5, 0x99, 0x6E, 0xCB, 0x0C
222 };
223 
224 /* NULL cipher NULL auth 8-byte multiple test vector */
225 static const struct blockcipher_test_data null_test_data_chain_x8_multiple = {
226 	.crypto_algo = RTE_CRYPTO_CIPHER_NULL,
227 	.cipher_key = {	/* arbitrary data - shouldn't be used */
228 		.data = {
229 			0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6,
230 			0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C
231 		},
232 		.len = 16
233 	},
234 	.iv = {			/* arbitrary data - shouldn't be used */
235 		.data = {
236 			0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7,
237 			0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF
238 		},
239 		.len = 16
240 	},
241 	.plaintext = {
242 		.data = plaintext_aes_common,
243 		.len = 512
244 	},
245 	.ciphertext = {
246 		.data = plaintext_aes_common,
247 		.len = 512
248 	},
249 	.auth_algo = RTE_CRYPTO_AUTH_NULL,
250 	.auth_key = {		/* arbitrary data - shouldn't be used */
251 		.data = {
252 			0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA,
253 			0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD,
254 			0xDE, 0xF4, 0xDE, 0xAD
255 		},
256 		.len = 20
257 	},
258 	.digest = {
259 		.data = {
260 			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
261 			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
262 			0x00, 0x00, 0x00, 0x00
263 		},
264 		.len = 20,
265 		.truncated_len = 12
266 	}
267 };
268 
269 /* NULL cipher NULL auth 4-byte multiple test vector */
270 static const struct blockcipher_test_data null_test_data_chain_x4_multiple = {
271 	.crypto_algo = RTE_CRYPTO_CIPHER_NULL,
272 	.cipher_key = {	/* arbitrary data - shouldn't be used */
273 		.data = {
274 			0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6,
275 			0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C
276 		},
277 		.len = 16
278 	},
279 	.iv = {			/* arbitrary data - shouldn't be used */
280 		.data = {
281 			0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7,
282 			0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF
283 		},
284 		.len = 16
285 	},
286 	.plaintext = {
287 		.data = plaintext_aes128ctr,
288 		.len = 20
289 	},
290 	.ciphertext = {
291 		.data = plaintext_aes128ctr,
292 		.len = 20
293 	},
294 	.auth_algo = RTE_CRYPTO_AUTH_NULL,
295 	.auth_key = {		/* arbitrary data - shouldn't be used */
296 		.data = {
297 			0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA,
298 			0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD,
299 			0xDE, 0xF4, 0xDE, 0xAD
300 		},
301 		.len = 20
302 	},
303 	.digest = {
304 		.data = {
305 			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
306 			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
307 			0x00, 0x00, 0x00, 0x00
308 		},
309 		.len = 20,
310 		.truncated_len = 12
311 	}
312 };
313 
314 /* NULL cipher NULL auth 1-byte multiple test vector */
315 static const struct blockcipher_test_data null_test_data_chain_x1_multiple = {
316 	.crypto_algo = RTE_CRYPTO_CIPHER_NULL,
317 	.cipher_key = {	/* arbitrary data - shouldn't be used */
318 		.data = {
319 			0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6,
320 			0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C
321 		},
322 		.len = 16
323 	},
324 	.iv = {			/* arbitrary data - shouldn't be used */
325 		.data = {
326 			0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7,
327 			0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF
328 		},
329 		.len = 16
330 	},
331 	.plaintext = {
332 		.data = plaintext_aes128ctr,
333 		.len = 21
334 	},
335 	.ciphertext = {
336 		.data = plaintext_aes128ctr,
337 		.len = 21
338 	},
339 	.auth_algo = RTE_CRYPTO_AUTH_NULL,
340 	.auth_key = {		/* arbitrary data - shouldn't be used */
341 		.data = {
342 			0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA,
343 			0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD,
344 			0xDE, 0xF4, 0xDE, 0xAD
345 		},
346 		.len = 20
347 	},
348 	.digest = {
349 		.data = {
350 			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
351 			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
352 			0x00, 0x00, 0x00, 0x00
353 		},
354 		.len = 20,
355 		.truncated_len = 12
356 	}
357 };
358 
359 /* AES128-CTR-SHA1 test vector */
360 static const struct blockcipher_test_data aes_test_data_1 = {
361 	.crypto_algo = RTE_CRYPTO_CIPHER_AES_CTR,
362 	.cipher_key = {
363 		.data = {
364 			0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6,
365 			0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C
366 		},
367 		.len = 16
368 	},
369 	.iv = {
370 		.data = {
371 			0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7,
372 			0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF
373 		},
374 		.len = 16
375 	},
376 	.plaintext = {
377 		.data = plaintext_aes128ctr,
378 		.len = 64
379 	},
380 	.ciphertext = {
381 		.data = ciphertext64_aes128ctr,
382 		.len = 64
383 	},
384 	.auth_algo = RTE_CRYPTO_AUTH_SHA1_HMAC,
385 	.auth_key = {
386 		.data = {
387 			0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA,
388 			0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD,
389 			0xDE, 0xF4, 0xDE, 0xAD
390 		},
391 		.len = 20
392 	},
393 	.digest = {
394 		.data = {
395 			0x9B, 0x6F, 0x0C, 0x43, 0xF5, 0xC1, 0x3E, 0xB0,
396 			0xB1, 0x70, 0xB8, 0x2B, 0x33, 0x09, 0xD2, 0xB2,
397 			0x56, 0x20, 0xFB, 0xFE
398 		},
399 		.len = 20,
400 		.truncated_len = 12
401 	}
402 };
403 
404 /** AES-192-CTR XCBC test vector */
405 static const struct blockcipher_test_data aes_test_data_2 = {
406 	.crypto_algo = RTE_CRYPTO_CIPHER_AES_CTR,
407 	.cipher_key = {
408 		.data = {
409 			0xCB, 0xC5, 0xED, 0x5B, 0xE7, 0x7C, 0xBD, 0x8C,
410 			0x50, 0xD9, 0x30, 0xF2, 0xB5, 0x6A, 0x0E, 0x5F,
411 			0xAA, 0xAE, 0xAD, 0xA2, 0x1F, 0x49, 0x52, 0xD4
412 		},
413 		.len = 24
414 	},
415 	.iv = {
416 		.data = {
417 			0x3F, 0x69, 0xA8, 0xCD, 0xE8, 0xF0, 0xEF, 0x40,
418 			0xB8, 0x7A, 0x4B, 0xED, 0x2B, 0xAF, 0xBF, 0x57
419 		},
420 		.len = 16
421 	},
422 	.plaintext = {
423 		.data = plaintext_aes192ctr,
424 		.len = 64
425 	},
426 	.ciphertext = {
427 		.data = ciphertext64_aes192ctr,
428 		.len = 64
429 	},
430 	.auth_algo = RTE_CRYPTO_AUTH_AES_XCBC_MAC,
431 	.auth_key = {
432 		.data = {
433 			0x87, 0x61, 0x54, 0x53, 0xC4, 0x6D, 0xDD, 0x51,
434 			0xE1, 0x9F, 0x86, 0x64, 0x39, 0x0A, 0xE6, 0x59
435 		},
436 		.len = 16
437 	},
438 	.digest = {
439 		.data = {
440 			0xCA, 0x33, 0xB3, 0x3B, 0x16, 0x94, 0xAA, 0x55,
441 			0x36, 0x6B, 0x45, 0x46
442 		},
443 		.len = 12,
444 		.truncated_len = 12
445 	}
446 };
447 
448 /** AES-256-CTR SHA1 test vector */
449 static const struct blockcipher_test_data aes_test_data_3 = {
450 	.crypto_algo = RTE_CRYPTO_CIPHER_AES_CTR,
451 	.cipher_key = {
452 		.data = {
453 			0x60, 0x3D, 0xEB, 0x10, 0x15, 0xCA, 0x71, 0xBE,
454 			0x2B, 0x73, 0xAE, 0xF0, 0x85, 0x7D, 0x77, 0x81,
455 			0x1F, 0x35, 0x2C, 0x07, 0x3B, 0x61, 0x08, 0xD7,
456 			0x2D, 0x98, 0x10, 0xA3, 0x09, 0x14, 0xDF, 0xF4
457 		},
458 		.len = 32
459 	},
460 	.iv = {
461 		.data = {
462 			0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7,
463 			0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF
464 		},
465 		.len = 16
466 	},
467 	.plaintext = {
468 		.data = plaintext_aes256ctr,
469 		.len = 64
470 	},
471 	.ciphertext = {
472 		.data = ciphertext64_aes256ctr,
473 		.len = 64
474 	},
475 	.auth_algo = RTE_CRYPTO_AUTH_SHA1_HMAC,
476 	.auth_key = {
477 		.data = {
478 			0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA,
479 			0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD,
480 			0xDE, 0xF4, 0xDE, 0xAD
481 		},
482 		.len = 20
483 	},
484 	.digest = {
485 		.data = {
486 			0x3B, 0x1A, 0x9D, 0x82, 0x35, 0xD5, 0xDD, 0x64,
487 			0xCC, 0x1B, 0xA9, 0xC0, 0xEB, 0xE9, 0x42, 0x16,
488 			0xE7, 0x87, 0xA3, 0xEF
489 		},
490 		.len = 20,
491 		.truncated_len = 12
492 	}
493 };
494 
495 /* AES128-CTR-SHA1 test vector (12-byte IV) */
496 static const struct blockcipher_test_data aes_test_data_1_IV_12_bytes = {
497 	.crypto_algo = RTE_CRYPTO_CIPHER_AES_CTR,
498 	.cipher_key = {
499 		.data = {
500 			0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6,
501 			0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C
502 		},
503 		.len = 16
504 	},
505 	.iv = {
506 		.data = {
507 			0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7,
508 			0xF8, 0xF9, 0xFA, 0xFB
509 		},
510 		.len = 12
511 	},
512 	.plaintext = {
513 		.data = plaintext_aes128ctr,
514 		.len = 64
515 	},
516 	.ciphertext = {
517 		.data = ciphertext64_aes128ctr_IV_12bytes,
518 		.len = 64
519 	},
520 	.auth_algo = RTE_CRYPTO_AUTH_SHA1_HMAC,
521 	.auth_key = {
522 		.data = {
523 			0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA,
524 			0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD,
525 			0xDE, 0xF4, 0xDE, 0xAD
526 		},
527 		.len = 20
528 	},
529 	.digest = {
530 		.data = {
531 			0x5C, 0x34, 0x6B, 0xE4, 0x9A, 0x7F, 0x4A, 0xC3,
532 			0x82, 0xBE, 0xA0, 0x12, 0xD1, 0xF0, 0x15, 0xFA,
533 			0xCF, 0xC8, 0x7F, 0x60
534 		},
535 		.len = 20,
536 		.truncated_len = 12
537 	}
538 };
539 
540 /** AES-192-CTR XCBC test vector (12-byte IV) */
541 static const struct blockcipher_test_data aes_test_data_2_IV_12_bytes = {
542 	.crypto_algo = RTE_CRYPTO_CIPHER_AES_CTR,
543 	.cipher_key = {
544 		.data = {
545 			0xCB, 0xC5, 0xED, 0x5B, 0xE7, 0x7C, 0xBD, 0x8C,
546 			0x50, 0xD9, 0x30, 0xF2, 0xB5, 0x6A, 0x0E, 0x5F,
547 			0xAA, 0xAE, 0xAD, 0xA2, 0x1F, 0x49, 0x52, 0xD4
548 		},
549 		.len = 24
550 	},
551 	.iv = {
552 		.data = {
553 			0x3F, 0x69, 0xA8, 0xCD, 0xE8, 0xF0, 0xEF, 0x40,
554 			0xB8, 0x7A, 0x4B, 0xED
555 		},
556 		.len = 12
557 	},
558 	.plaintext = {
559 		.data = plaintext_aes192ctr,
560 		.len = 64
561 	},
562 	.ciphertext = {
563 		.data = ciphertext64_aes192ctr_IV_12bytes,
564 		.len = 64
565 	},
566 	.auth_algo = RTE_CRYPTO_AUTH_AES_XCBC_MAC,
567 	.auth_key = {
568 		.data = {
569 			0x87, 0x61, 0x54, 0x53, 0xC4, 0x6D, 0xDD, 0x51,
570 			0xE1, 0x9F, 0x86, 0x64, 0x39, 0x0A, 0xE6, 0x59
571 		},
572 		.len = 16
573 	},
574 	.digest = {
575 		.data = {
576 			0x0C, 0xA1, 0xA5, 0xAF, 0x3E, 0x41, 0xD2, 0xF4,
577 			0x4C, 0x4C, 0xAB, 0x13
578 		},
579 		.len = 12,
580 		.truncated_len = 12
581 	}
582 };
583 
584 /** AES-256-CTR SHA1 test vector (12-byte IV) */
585 static const struct blockcipher_test_data aes_test_data_3_IV_12_bytes = {
586 	.crypto_algo = RTE_CRYPTO_CIPHER_AES_CTR,
587 	.cipher_key = {
588 		.data = {
589 			0x60, 0x3D, 0xEB, 0x10, 0x15, 0xCA, 0x71, 0xBE,
590 			0x2B, 0x73, 0xAE, 0xF0, 0x85, 0x7D, 0x77, 0x81,
591 			0x1F, 0x35, 0x2C, 0x07, 0x3B, 0x61, 0x08, 0xD7,
592 			0x2D, 0x98, 0x10, 0xA3, 0x09, 0x14, 0xDF, 0xF4
593 		},
594 		.len = 32
595 	},
596 	.iv = {
597 		.data = {
598 			0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7,
599 			0xF8, 0xF9, 0xFA, 0xFB
600 		},
601 		.len = 12
602 	},
603 	.plaintext = {
604 		.data = plaintext_aes256ctr,
605 		.len = 64
606 	},
607 	.ciphertext = {
608 		.data = ciphertext64_aes256ctr_IV_12bytes,
609 		.len = 64
610 	},
611 	.auth_algo = RTE_CRYPTO_AUTH_SHA1_HMAC,
612 	.auth_key = {
613 		.data = {
614 			0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA,
615 			0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD,
616 			0xDE, 0xF4, 0xDE, 0xAD
617 		},
618 		.len = 20
619 	},
620 	.digest = {
621 		.data = {
622 			0x57, 0x9A, 0x52, 0x6E, 0x31, 0x17, 0x57, 0x49,
623 			0xE7, 0xA1, 0x88, 0x6C, 0x2E, 0x36, 0x67, 0x63,
624 			0x3F, 0x2D, 0xA3, 0xEF
625 		},
626 		.len = 20,
627 		.truncated_len = 12
628 	}
629 };
630 /** AES-128-CBC SHA1 test vector */
631 static const struct blockcipher_test_data aes_test_data_4 = {
632 	.crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC,
633 	.cipher_key = {
634 		.data = {
635 			0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
636 			0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
637 		},
638 		.len = 16
639 	},
640 	.iv = {
641 		.data = {
642 			0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
643 			0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
644 		},
645 		.len = 16
646 	},
647 	.plaintext = {
648 		.data = plaintext_aes_common,
649 		.len = 512
650 	},
651 	.ciphertext = {
652 		.data = ciphertext512_aes128cbc,
653 		.len = 512
654 	},
655 	.auth_algo = RTE_CRYPTO_AUTH_SHA1_HMAC,
656 	.auth_key = {
657 		.data = {
658 			0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA,
659 			0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD,
660 			0xDE, 0xF4, 0xDE, 0xAD
661 		},
662 		.len = 20
663 	},
664 	.digest = {
665 		.data = {
666 			0x9A, 0x4F, 0x88, 0x1B, 0xB6, 0x8F, 0xD8, 0x60,
667 			0x42, 0x1A, 0x7D, 0x3D, 0xF5, 0x82, 0x80, 0xF1,
668 			0x18, 0x8C, 0x1D, 0x32
669 		},
670 		.len = 20,
671 		.truncated_len = 12
672 	}
673 };
674 
675 /** AES-128-CBC SHA256 test vector */
676 static const struct blockcipher_test_data aes_test_data_5 = {
677 	.crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC,
678 	.cipher_key = {
679 		.data = {
680 			0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
681 			0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
682 		},
683 		.len = 16
684 	},
685 	.iv = {
686 		.data = {
687 			0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
688 			0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
689 		},
690 		.len = 16
691 	},
692 	.plaintext = {
693 		.data = plaintext_aes_common,
694 		.len = 512
695 	},
696 	.ciphertext = {
697 		.data = ciphertext512_aes128cbc,
698 		.len = 512
699 	},
700 	.auth_algo = RTE_CRYPTO_AUTH_SHA256_HMAC,
701 	.auth_key = {
702 		.data = {
703 			0x42, 0x1A, 0x7D, 0x3D, 0xF5, 0x82, 0x80, 0xF1,
704 			0xF1, 0x35, 0x5C, 0x3B, 0xDD, 0x9A, 0x65, 0xBA,
705 			0x58, 0x34, 0x85, 0x61, 0x1C, 0x42, 0x10, 0x76,
706 			0x9A, 0x4F, 0x88, 0x1B, 0xB6, 0x8F, 0xD8, 0x60
707 		},
708 		.len = 32
709 	},
710 	.digest = {
711 		.data = {
712 			0xC8, 0x57, 0x57, 0x31, 0x03, 0xE0, 0x03, 0x55,
713 			0x07, 0xC8, 0x9E, 0x7F, 0x48, 0x9A, 0x61, 0x9A,
714 			0x68, 0xEE, 0x03, 0x0E, 0x71, 0x75, 0xC7, 0xF4,
715 			0x2E, 0x45, 0x26, 0x32, 0x7C, 0x12, 0x15, 0x15
716 		},
717 		.len = 32,
718 		.truncated_len = 16
719 	}
720 };
721 
722 /** AES-128-CBC SHA512 test vector */
723 static const struct blockcipher_test_data aes_test_data_6 = {
724 	.crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC,
725 	.cipher_key = {
726 		.data = {
727 			0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
728 			0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
729 		},
730 		.len = 16
731 	},
732 	.iv = {
733 		.data = {
734 			0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
735 			0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
736 		},
737 		.len = 16
738 	},
739 	.plaintext = {
740 		.data = plaintext_aes_common,
741 		.len = 512
742 	},
743 	.ciphertext = {
744 		.data = ciphertext512_aes128cbc,
745 		.len = 512
746 	},
747 	.auth_algo = RTE_CRYPTO_AUTH_SHA512_HMAC,
748 	.auth_key = {
749 		.data = {
750 			0x42, 0x1A, 0x7D, 0x3D, 0xF5, 0x82, 0x80, 0xF1,
751 			0xF1, 0x35, 0x5C, 0x3B, 0xDD, 0x9A, 0x65, 0xBA,
752 			0x58, 0x34, 0x85, 0x65, 0x1C, 0x42, 0x50, 0x76,
753 			0x9A, 0xAF, 0x88, 0x1B, 0xB6, 0x8F, 0xF8, 0x60,
754 			0xA2, 0x5A, 0x7F, 0x3F, 0xF4, 0x72, 0x70, 0xF1,
755 			0xF5, 0x35, 0x4C, 0x3B, 0xDD, 0x90, 0x65, 0xB0,
756 			0x47, 0x3A, 0x75, 0x61, 0x5C, 0xA2, 0x10, 0x76,
757 			0x9A, 0xAF, 0x77, 0x5B, 0xB6, 0x7F, 0xF7, 0x60
758 		},
759 		.len = 64
760 	},
761 	.digest = {
762 		.data = {
763 			0x5D, 0x54, 0x66, 0xC1, 0x6E, 0xBC, 0x04, 0xB8,
764 			0x46, 0xB8, 0x08, 0x6E, 0xE0, 0xF0, 0x43, 0x48,
765 			0x37, 0x96, 0x9C, 0xC6, 0x9C, 0xC2, 0x1E, 0xE8,
766 			0xF2, 0x0C, 0x0B, 0xEF, 0x86, 0xA2, 0xE3, 0x70,
767 			0x95, 0xC8, 0xB3, 0x06, 0x47, 0xA9, 0x90, 0xE8,
768 			0xA0, 0xC6, 0x72, 0x69, 0x05, 0xC0, 0x0D, 0x0E,
769 			0x21, 0x96, 0x65, 0x93, 0x74, 0x43, 0x2A, 0x1D,
770 			0x2E, 0xBF, 0xC2, 0xC2, 0xEE, 0xCC, 0x2F, 0x0A
771 		},
772 		.len = 64,
773 		.truncated_len = 32
774 	}
775 };
776 
777 /** AES-128-CBC XCBC test vector */
778 static const struct blockcipher_test_data aes_test_data_7 = {
779 	.crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC,
780 	.cipher_key = {
781 		.data = {
782 			0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
783 			0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
784 		},
785 		.len = 16
786 	},
787 	.iv = {
788 		.data = {
789 			0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
790 			0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
791 		},
792 		.len = 16
793 	},
794 	.plaintext = {
795 		.data = plaintext_aes_common,
796 		.len = 512
797 	},
798 	.ciphertext = {
799 		.data = ciphertext512_aes128cbc,
800 		.len = 512
801 	},
802 	.auth_algo = RTE_CRYPTO_AUTH_AES_XCBC_MAC,
803 	.auth_key = {
804 		.data = {
805 			0x87, 0x61, 0x54, 0x53, 0xC4, 0x6D, 0xDD, 0x51,
806 			0xE1, 0x9F, 0x86, 0x64, 0x39, 0x0A, 0xE6, 0x59
807 		},
808 		.len = 16
809 	},
810 	.digest = {
811 		.data = {
812 			0xE0, 0xAC, 0x9A, 0xC4, 0x22, 0x64, 0x35, 0x89,
813 			0x77, 0x1D, 0x8B, 0x75
814 		},
815 		.len = 12,
816 		.truncated_len = 12
817 	}
818 };
819 
820 /** AES-128-CBC SHA224 test vector */
821 static const struct blockcipher_test_data aes_test_data_8 = {
822 	.crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC,
823 	.cipher_key = {
824 		.data = {
825 			0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
826 			0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
827 		},
828 		.len = 16
829 	},
830 	.iv = {
831 		.data = {
832 			0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
833 			0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
834 		},
835 		.len = 16
836 	},
837 	.plaintext = {
838 		.data = plaintext_aes_common,
839 		.len = 512
840 	},
841 	.ciphertext = {
842 		.data = ciphertext512_aes128cbc,
843 		.len = 512
844 	},
845 	.auth_algo = RTE_CRYPTO_AUTH_SHA224_HMAC,
846 	.auth_key = {
847 		.data = {
848 			0x42, 0x1A, 0x7D, 0x3D, 0xF5, 0x82, 0x80, 0xF1,
849 			0xF1, 0x35, 0x5C, 0x3B, 0xDD, 0x9A, 0x65, 0xBA,
850 			0x58, 0x34, 0x85, 0x65, 0x1C, 0x42, 0x50, 0x76,
851 			0x9A, 0xAF, 0x88, 0x1B, 0xB6, 0x8F, 0xF8, 0x60,
852 			0xA2, 0x5A, 0x7F, 0x3F, 0xF4, 0x72, 0x70, 0xF1,
853 			0xF5, 0x35, 0x4C, 0x3B, 0xDD, 0x90, 0x65, 0xB0,
854 			0x47, 0x3A, 0x75, 0x61, 0x5C, 0xA2, 0x10, 0x76,
855 			0x9A, 0xAF, 0x77, 0x5B, 0xB6, 0x7F, 0xF7, 0x60
856 		},
857 		.len = 64
858 	},
859 	.digest = {
860 		.data = {
861 			0xA3, 0xCA, 0xC7, 0x1D, 0xA8, 0x61, 0x30, 0x98,
862 			0x3B, 0x8F, 0x01, 0x19, 0xAE, 0x8D, 0xBD, 0x34,
863 			0x40, 0x63, 0xA8, 0x2F, 0xDF, 0x85, 0x2B, 0x7F,
864 			0x63, 0x7C, 0xDD, 0xB7
865 		},
866 		.len = 28,
867 		.truncated_len = 14
868 	}
869 };
870 
871 /** AES-128-CBC SHA384 test vector */
872 static const struct blockcipher_test_data aes_test_data_9 = {
873 	.crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC,
874 	.cipher_key = {
875 		.data = {
876 			0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
877 			0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
878 		},
879 		.len = 16
880 	},
881 	.iv = {
882 		.data = {
883 			0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
884 			0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
885 		},
886 		.len = 16
887 	},
888 	.plaintext = {
889 		.data = plaintext_aes_common,
890 		.len = 512
891 	},
892 	.ciphertext = {
893 		.data = ciphertext512_aes128cbc,
894 		.len = 512
895 	},
896 	.auth_algo = RTE_CRYPTO_AUTH_SHA384_HMAC,
897 	.auth_key = {
898 		.data = {
899 			0x42, 0x1A, 0x7D, 0x3D, 0xF5, 0x82, 0x80, 0xF1,
900 			0xF1, 0x35, 0x5C, 0x3B, 0xDD, 0x9A, 0x65, 0xBA,
901 			0x58, 0x34, 0x85, 0x65, 0x1C, 0x42, 0x50, 0x76,
902 			0x9A, 0xAF, 0x88, 0x1B, 0xB6, 0x8F, 0xF8, 0x60,
903 			0xA2, 0x5A, 0x7F, 0x3F, 0xF4, 0x72, 0x70, 0xF1,
904 			0xF5, 0x35, 0x4C, 0x3B, 0xDD, 0x90, 0x65, 0xB0,
905 			0x47, 0x3A, 0x75, 0x61, 0x5C, 0xA2, 0x10, 0x76,
906 			0x9A, 0xAF, 0x77, 0x5B, 0xB6, 0x7F, 0xF7, 0x60,
907 			0x42, 0x1A, 0x7D, 0x3D, 0xF5, 0x82, 0x80, 0xF1,
908 			0xF1, 0x35, 0x5C, 0x3B, 0xDD, 0x9A, 0x65, 0xBA,
909 			0x58, 0x34, 0x85, 0x65, 0x1C, 0x42, 0x50, 0x76,
910 			0x9A, 0xAF, 0x88, 0x1B, 0xB6, 0x8F, 0xF8, 0x60,
911 			0xA2, 0x5A, 0x7F, 0x3F, 0xF4, 0x72, 0x70, 0xF1,
912 			0xF5, 0x35, 0x4C, 0x3B, 0xDD, 0x90, 0x65, 0xB0,
913 			0x47, 0x3A, 0x75, 0x61, 0x5C, 0xA2, 0x10, 0x76,
914 			0x9A, 0xAF, 0x77, 0x5B, 0xB6, 0x7F, 0xF7, 0x60
915 		},
916 		.len = 128
917 	},
918 	.digest = {
919 		.data = {
920 			0x23, 0x60, 0xC8, 0xB1, 0x2D, 0x6C, 0x1E, 0x72,
921 			0x25, 0xAB, 0xF9, 0xC3, 0x9A, 0xA9, 0x4F, 0x8C,
922 			0x56, 0x38, 0x65, 0x0E, 0x74, 0xD5, 0x45, 0x9D,
923 			0xA3, 0xFD, 0x7E, 0x6D, 0x9E, 0x74, 0x88, 0x9D,
924 			0xA7, 0x12, 0x9D, 0xD8, 0x81, 0x3C, 0x86, 0x2F,
925 			0x4D, 0xF9, 0x6F, 0x0A, 0xB0, 0xC9, 0xEB, 0x0B
926 		},
927 		.len = 48,
928 		.truncated_len = 24
929 	}
930 };
931 
932 static const uint8_t ciphertext512_aes192cbc[] = {
933 	0x45, 0xEE, 0x9A, 0xEA, 0x3C, 0x03, 0xFC, 0x4C,
934 	0x84, 0x36, 0xB0, 0xDA, 0xB0, 0xDC, 0xF3, 0x5B,
935 	0x75, 0xA7, 0xBE, 0x0E, 0xC0, 0x8D, 0x6C, 0xF8,
936 	0xC1, 0x0F, 0xD0, 0x35, 0x1D, 0x82, 0xAE, 0x7C,
937 	0x57, 0xC5, 0x7A, 0x55, 0x87, 0x1B, 0xD4, 0x03,
938 	0x0A, 0x64, 0xC9, 0xE0, 0xF4, 0xC7, 0x6F, 0x57,
939 	0x52, 0xC6, 0x73, 0xBA, 0x84, 0x0B, 0x5B, 0x89,
940 	0x21, 0xD2, 0x9B, 0x88, 0x68, 0xF5, 0xA9, 0x7F,
941 	0x3F, 0x49, 0xEB, 0xF4, 0xD4, 0x52, 0xD2, 0x64,
942 	0x80, 0xB2, 0x53, 0xDA, 0x19, 0xF6, 0x10, 0x24,
943 	0x23, 0x26, 0x7A, 0x7C, 0x07, 0x57, 0x4B, 0x0E,
944 	0x58, 0x49, 0x61, 0xD1, 0xDC, 0x9A, 0x32, 0x6B,
945 	0x0F, 0x43, 0x9E, 0x4D, 0xB4, 0x07, 0x4E, 0xB3,
946 	0x51, 0x74, 0xDE, 0x29, 0xBC, 0x98, 0xF9, 0xDF,
947 	0x78, 0x9A, 0x18, 0x9C, 0xD6, 0x7A, 0x55, 0x7C,
948 	0xE6, 0x1D, 0x5C, 0x1A, 0x99, 0xD2, 0xC3, 0x7B,
949 	0x9F, 0x96, 0x74, 0x2D, 0xE0, 0xEF, 0xD1, 0xE3,
950 	0x08, 0x9F, 0xAF, 0xE6, 0xED, 0xCA, 0xE1, 0xEA,
951 	0x23, 0x6F, 0x7C, 0x81, 0xA8, 0xC0, 0x5B, 0x8B,
952 	0x53, 0x90, 0x51, 0x2D, 0x0F, 0xF6, 0x7D, 0xA7,
953 	0x1C, 0xBD, 0x83, 0x84, 0x54, 0xA4, 0x15, 0xFB,
954 	0x3E, 0x25, 0xA7, 0x3A, 0x0A, 0x73, 0xD9, 0x88,
955 	0x6F, 0x80, 0x78, 0x95, 0x7F, 0x60, 0xAA, 0x86,
956 	0x8A, 0xFC, 0xDF, 0xC1, 0xCB, 0xDE, 0xBB, 0x25,
957 	0x52, 0x20, 0xC6, 0x79, 0xD4, 0x0F, 0x25, 0xE7,
958 	0xDB, 0xB2, 0x17, 0xA4, 0x6F, 0x3C, 0x6F, 0x91,
959 	0xF6, 0x44, 0x1E, 0xB6, 0x85, 0xBC, 0x7A, 0x14,
960 	0x10, 0x72, 0xBD, 0x16, 0x63, 0x39, 0x9E, 0x7B,
961 	0x84, 0x5B, 0x17, 0x61, 0xB1, 0x5D, 0x82, 0x0B,
962 	0x6D, 0x37, 0xD7, 0x79, 0xB8, 0x24, 0x91, 0x30,
963 	0x82, 0x91, 0x02, 0xB1, 0x18, 0x4B, 0xE0, 0xF4,
964 	0x13, 0x1B, 0xB2, 0x4C, 0xDA, 0xB8, 0x99, 0x96,
965 	0x83, 0x2F, 0xBE, 0x53, 0x8D, 0xDE, 0xFA, 0xAD,
966 	0xF6, 0x5C, 0xDB, 0xE5, 0x66, 0x26, 0x8F, 0x13,
967 	0x2B, 0x76, 0x47, 0x73, 0xDE, 0x1A, 0x74, 0xA6,
968 	0x30, 0xAF, 0x42, 0xA0, 0xE5, 0xD2, 0x8F, 0xC2,
969 	0xED, 0x3E, 0x9E, 0x29, 0x54, 0x3C, 0xDE, 0x9F,
970 	0x5D, 0x30, 0x2B, 0x63, 0xFB, 0xE3, 0xB1, 0x07,
971 	0xEE, 0x74, 0x4A, 0xAF, 0xB1, 0x20, 0x8D, 0xEC,
972 	0xE6, 0x78, 0x16, 0x8D, 0xA4, 0x6E, 0x34, 0x7D,
973 	0x47, 0xFB, 0x0B, 0xC1, 0x32, 0xD7, 0x0D, 0x6C,
974 	0x6F, 0x93, 0x9C, 0x5E, 0xEF, 0x1F, 0x9C, 0x45,
975 	0x80, 0x6B, 0x74, 0xA6, 0x81, 0xF2, 0xF6, 0xFA,
976 	0xAA, 0x9D, 0x4F, 0xCA, 0xB5, 0x90, 0x59, 0xB0,
977 	0x3B, 0xF2, 0xF0, 0x75, 0xFD, 0x8A, 0xD8, 0x97,
978 	0x65, 0x88, 0x56, 0x4C, 0x44, 0xDF, 0x73, 0xF7,
979 	0x56, 0x9C, 0x48, 0x7E, 0xB0, 0x1F, 0x1D, 0x7D,
980 	0x6A, 0x11, 0xF5, 0xC2, 0xF4, 0x17, 0xEF, 0x58,
981 	0xD8, 0x2A, 0xAF, 0x56, 0x2F, 0xCF, 0xEC, 0xA4,
982 	0x58, 0x8B, 0x60, 0xCE, 0xD4, 0x0F, 0x9C, 0x21,
983 	0xEC, 0x3E, 0x74, 0x7B, 0x81, 0x3D, 0x69, 0xC6,
984 	0x5E, 0x12, 0x83, 0xE9, 0xEF, 0x81, 0x58, 0x36,
985 	0x6A, 0x60, 0x0F, 0x54, 0x28, 0x11, 0xF9, 0x64,
986 	0x36, 0xAD, 0x79, 0xF5, 0x1C, 0x74, 0xD0, 0xC3,
987 	0x7B, 0x61, 0xE1, 0x92, 0xB0, 0x13, 0x91, 0x87,
988 	0x32, 0x1F, 0xF2, 0x5A, 0xDA, 0x25, 0x69, 0xEB,
989 	0xD7, 0x32, 0x7F, 0xF5, 0x23, 0x21, 0x54, 0x47,
990 	0x7B, 0x1B, 0x33, 0xB0, 0x3D, 0xF6, 0xE2, 0x7E,
991 	0x3E, 0xA2, 0x9E, 0xCA, 0x48, 0x0B, 0x4A, 0x29,
992 	0x81, 0xD4, 0x4E, 0xD5, 0x69, 0xFB, 0xCD, 0x37,
993 	0x8A, 0xC1, 0x5B, 0x50, 0xFF, 0xB5, 0x7D, 0x43,
994 	0x0F, 0xAE, 0xA6, 0xC2, 0xE5, 0x8F, 0x45, 0xB2,
995 	0x85, 0x99, 0x02, 0xA2, 0x9B, 0xBE, 0x90, 0x43,
996 	0x4F, 0x2F, 0x50, 0xE2, 0x77, 0x62, 0xD9, 0xCC
997 };
998 
999 /** AES-192-CBC test vector */
1000 static const struct blockcipher_test_data aes_test_data_10 = {
1001 	.crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC,
1002 	.cipher_key = {
1003 		.data = {
1004 			0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
1005 			0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A,
1006 			0xD4, 0xC3, 0xA3, 0xAA, 0x33, 0x62, 0x61, 0xE0
1007 		},
1008 		.len = 24
1009 	},
1010 	.iv = {
1011 		.data = {
1012 			0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
1013 			0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
1014 		},
1015 		.len = 16
1016 	},
1017 	.plaintext = {
1018 		.data = plaintext_aes_common,
1019 		.len = 512
1020 	},
1021 	.ciphertext = {
1022 		.data = ciphertext512_aes192cbc,
1023 		.len = 512
1024 	}
1025 };
1026 
1027 static const uint8_t ciphertext512_aes256cbc[] = {
1028 	0xF3, 0xDD, 0xF0, 0x0B, 0xFF, 0xA2, 0x6A, 0x04,
1029 	0xBE, 0xDA, 0x52, 0xA6, 0xFE, 0x6B, 0xA6, 0xA7,
1030 	0x48, 0x1D, 0x7D, 0x98, 0x65, 0xDB, 0xEF, 0x06,
1031 	0x26, 0xB5, 0x8E, 0xEB, 0x05, 0x0E, 0x77, 0x98,
1032 	0x17, 0x8E, 0xD0, 0xD4, 0x7B, 0x92, 0x8F, 0x5C,
1033 	0xD0, 0x74, 0x5C, 0xA8, 0x4B, 0x54, 0xB6, 0x2F,
1034 	0x83, 0x72, 0x2C, 0xFF, 0x72, 0xE9, 0xE4, 0x15,
1035 	0x4C, 0x32, 0xAF, 0xC8, 0xC9, 0x89, 0x3C, 0x6E,
1036 	0x31, 0xD5, 0xC0, 0x16, 0xC0, 0x31, 0x7D, 0x11,
1037 	0xAB, 0xCB, 0xDE, 0xD2, 0xD6, 0xAA, 0x76, 0x5E,
1038 	0xBA, 0xF6, 0xE2, 0x92, 0xCB, 0x86, 0x07, 0xFA,
1039 	0xD4, 0x9E, 0x83, 0xED, 0xFD, 0xB8, 0x70, 0x54,
1040 	0x6B, 0xBE, 0xEC, 0x72, 0xDD, 0x28, 0x5E, 0x95,
1041 	0x78, 0xA5, 0x28, 0x43, 0x3D, 0x6D, 0xB1, 0xD9,
1042 	0x69, 0x1F, 0xC9, 0x66, 0x0E, 0x32, 0x44, 0x08,
1043 	0xD2, 0xAE, 0x2C, 0x43, 0xF2, 0xD0, 0x7D, 0x26,
1044 	0x70, 0xE5, 0xA1, 0xCA, 0x37, 0xE9, 0x7D, 0xC7,
1045 	0xA3, 0xFA, 0x81, 0x91, 0x64, 0xAA, 0x64, 0x91,
1046 	0x9A, 0x95, 0x2D, 0xC9, 0xF9, 0xCE, 0xFE, 0x9F,
1047 	0xC4, 0xD8, 0x81, 0xBE, 0x57, 0x84, 0xC5, 0x02,
1048 	0xDB, 0x30, 0xC1, 0xD9, 0x0E, 0xA0, 0xA6, 0x00,
1049 	0xD6, 0xF3, 0x52, 0x7E, 0x0D, 0x23, 0x6B, 0x2B,
1050 	0x34, 0x99, 0x1F, 0x70, 0x27, 0x6D, 0x58, 0x84,
1051 	0x93, 0x77, 0xB8, 0x3E, 0xF1, 0x71, 0x58, 0x42,
1052 	0x8B, 0x2B, 0xC8, 0x6D, 0x05, 0x84, 0xFF, 0x4E,
1053 	0x85, 0xEF, 0x4A, 0x9D, 0x91, 0x6A, 0xD5, 0xE1,
1054 	0xAF, 0x01, 0xEB, 0x83, 0x8F, 0x23, 0x7C, 0x7F,
1055 	0x12, 0x91, 0x05, 0xF0, 0x4E, 0xD9, 0x17, 0x62,
1056 	0x75, 0xBB, 0xAC, 0x97, 0xEE, 0x3B, 0x4E, 0xC7,
1057 	0xE5, 0x92, 0xF8, 0x9D, 0x4C, 0xF9, 0xEE, 0x55,
1058 	0x18, 0xBB, 0xCC, 0xB4, 0xF2, 0x59, 0xB9, 0xFC,
1059 	0x7A, 0x0F, 0x98, 0xD4, 0x8B, 0xFE, 0xF7, 0x83,
1060 	0x46, 0xE2, 0x83, 0x33, 0x3E, 0x95, 0x8D, 0x17,
1061 	0x1E, 0x85, 0xF8, 0x8C, 0x51, 0xB0, 0x6C, 0xB5,
1062 	0x5E, 0x95, 0xBA, 0x4B, 0x69, 0x1B, 0x48, 0x69,
1063 	0x0B, 0x8F, 0xA5, 0x18, 0x13, 0xB9, 0x77, 0xD1,
1064 	0x80, 0x32, 0x32, 0x6D, 0x53, 0xA1, 0x95, 0x40,
1065 	0x96, 0x8A, 0xCC, 0xA3, 0x69, 0xF8, 0x9F, 0xB5,
1066 	0x8E, 0xD2, 0x68, 0x07, 0x4F, 0xA7, 0xEC, 0xF8,
1067 	0x20, 0x21, 0x58, 0xF8, 0xD8, 0x9E, 0x5F, 0x40,
1068 	0xBA, 0xB9, 0x76, 0x57, 0x3B, 0x17, 0xAD, 0xEE,
1069 	0xCB, 0xDF, 0x07, 0xC1, 0xDF, 0x66, 0xA8, 0x0D,
1070 	0xC2, 0xCE, 0x8F, 0x79, 0xC3, 0x32, 0xE0, 0x8C,
1071 	0xFE, 0x5A, 0xF3, 0x55, 0x27, 0x73, 0x6F, 0xA1,
1072 	0x54, 0xC6, 0xFC, 0x28, 0x9D, 0xBE, 0x97, 0xB9,
1073 	0x54, 0x97, 0x72, 0x3A, 0x61, 0xAF, 0x6F, 0xDE,
1074 	0xF8, 0x0E, 0xBB, 0x6B, 0x96, 0x84, 0xDD, 0x9B,
1075 	0x62, 0xBA, 0x47, 0xB5, 0xC9, 0x3B, 0x4E, 0x8C,
1076 	0x78, 0x2A, 0xCC, 0x0A, 0x69, 0x54, 0x25, 0x5E,
1077 	0x8B, 0xAC, 0x56, 0xD9, 0xFE, 0x48, 0xBA, 0xCE,
1078 	0xA9, 0xCE, 0xA6, 0x1D, 0xBF, 0x3E, 0x3C, 0x66,
1079 	0x40, 0x71, 0x79, 0xAD, 0x5B, 0x26, 0xAD, 0xBE,
1080 	0x58, 0x13, 0x64, 0x60, 0x7C, 0x05, 0xFC, 0xE3,
1081 	0x51, 0x7A, 0xF2, 0xCC, 0x54, 0x16, 0x2C, 0xA4,
1082 	0xCE, 0x5F, 0x59, 0x12, 0x77, 0xEB, 0xD9, 0x23,
1083 	0xE3, 0x86, 0xFB, 0xD7, 0x48, 0x76, 0x9D, 0xE3,
1084 	0x89, 0x87, 0x39, 0xFA, 0x7B, 0x21, 0x0B, 0x76,
1085 	0xB2, 0xED, 0x1C, 0x27, 0x4B, 0xD5, 0x27, 0x05,
1086 	0x8C, 0x7D, 0x58, 0x6C, 0xCA, 0xA5, 0x54, 0x9A,
1087 	0x0F, 0xCB, 0xE9, 0x88, 0x31, 0xAD, 0x49, 0xEE,
1088 	0x38, 0xFB, 0xC9, 0xFB, 0xB4, 0x7A, 0x00, 0x58,
1089 	0x20, 0x32, 0xD3, 0x53, 0x5A, 0xDD, 0x74, 0x95,
1090 	0x60, 0x59, 0x09, 0xAE, 0x7E, 0xEC, 0x74, 0xA3,
1091 	0xB7, 0x1C, 0x6D, 0xF2, 0xAE, 0x79, 0xA4, 0x7C
1092 };
1093 
1094 /** AES-256-CBC test vector */
1095 static const struct blockcipher_test_data aes_test_data_11 = {
1096 	.crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC,
1097 	.cipher_key = {
1098 		.data = {
1099 			0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
1100 			0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A,
1101 			0xD4, 0xC3, 0xA3, 0xAA, 0x33, 0x62, 0x61, 0xE0,
1102 			0x37, 0x07, 0xB8, 0x23, 0xA2, 0xA3, 0xB5, 0x8D
1103 		},
1104 		.len = 32
1105 	},
1106 	.iv = {
1107 		.data = {
1108 			0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
1109 			0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
1110 		},
1111 		.len = 16
1112 	},
1113 	.plaintext = {
1114 		.data = plaintext_aes_common,
1115 		.len = 512
1116 	},
1117 	.ciphertext = {
1118 		.data = ciphertext512_aes256cbc,
1119 		.len = 512
1120 	}
1121 };
1122 
1123 /** AES-128-CBC SHA256 HMAC test vector (160 bytes) */
1124 static const struct blockcipher_test_data aes_test_data_12 = {
1125 	.crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC,
1126 	.cipher_key = {
1127 		.data = {
1128 			0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
1129 			0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
1130 		},
1131 		.len = 16
1132 	},
1133 	.iv = {
1134 		.data = {
1135 			0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
1136 			0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
1137 		},
1138 		.len = 16
1139 	},
1140 	.plaintext = {
1141 		.data = plaintext_aes_common,
1142 		.len = 160
1143 	},
1144 	.ciphertext = {
1145 		.data = ciphertext512_aes128cbc,
1146 		.len = 160
1147 	},
1148 	.auth_algo = RTE_CRYPTO_AUTH_SHA256_HMAC,
1149 	.auth_key = {
1150 		.data = {
1151 			0x42, 0x1A, 0x7D, 0x3D, 0xF5, 0x82, 0x80, 0xF1,
1152 			0xF1, 0x35, 0x5C, 0x3B, 0xDD, 0x9A, 0x65, 0xBA,
1153 			0x58, 0x34, 0x85, 0x61, 0x1C, 0x42, 0x10, 0x76,
1154 			0x9A, 0x4F, 0x88, 0x1B, 0xB6, 0x8F, 0xD8, 0x60
1155 		},
1156 		.len = 32
1157 	},
1158 	.digest = {
1159 		.data = {
1160 			0x92, 0xEC, 0x65, 0x9A, 0x52, 0xCC, 0x50, 0xA5,
1161 			0xEE, 0x0E, 0xDF, 0x1E, 0xA4, 0xC9, 0xC1, 0x04,
1162 			0xD5, 0xDC, 0x78, 0x90, 0xF4, 0xE3, 0x35, 0x62,
1163 			0xAD, 0x95, 0x45, 0x28, 0x5C, 0xF8, 0x8C, 0x0B
1164 		},
1165 		.len = 32,
1166 		.truncated_len = 16
1167 	}
1168 };
1169 
1170 /** AES-128-CBC SHA1 HMAC test vector (160 bytes) */
1171 static const struct blockcipher_test_data aes_test_data_13 = {
1172 	.crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC,
1173 	.cipher_key = {
1174 		.data = {
1175 			0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
1176 			0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
1177 		},
1178 		.len = 16
1179 	},
1180 	.iv = {
1181 		.data = {
1182 			0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
1183 			0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
1184 		},
1185 		.len = 16
1186 	},
1187 	.plaintext = {
1188 		.data = plaintext_aes_common,
1189 		.len = 160
1190 	},
1191 	.ciphertext = {
1192 		.data = ciphertext512_aes128cbc,
1193 		.len = 160
1194 	},
1195 	.auth_algo = RTE_CRYPTO_AUTH_SHA1_HMAC,
1196 	.auth_key = {
1197 		.data = {
1198 			0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA,
1199 			0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD,
1200 			0xDE, 0xF4, 0xDE, 0xAD
1201 		},
1202 		.len = 20
1203 	},
1204 	.digest = {
1205 		.data = {
1206 			0x4F, 0x16, 0xEA, 0xF7, 0x4A, 0x88, 0xD3, 0xE0,
1207 			0x0E, 0x12, 0x8B, 0xE7, 0x05, 0xD0, 0x86, 0x48,
1208 			0x22, 0x43, 0x30, 0xA7
1209 		},
1210 		.len = 20,
1211 		.truncated_len = 12
1212 	}
1213 };
1214 
1215 /** XTS-AES-128 test vector (2 keys * 128 bit) */
1216 static const uint8_t plaintext_aes128xts_16bytes[] = {
1217 	0xEB, 0xAB, 0xCE, 0x95, 0xB1, 0x4D, 0x3C, 0x8D,
1218 	0x6F, 0xB3, 0x50, 0x39, 0x07, 0x90, 0x31, 0x1C
1219 };
1220 static const uint8_t ciphertext_aes128xts_16bytes[] = {
1221 	0x77, 0x8A, 0xE8, 0xB4, 0x3C, 0xB9, 0x8D, 0x5A,
1222 	0x82, 0x50, 0x81, 0xD5, 0xBE, 0x47, 0x1C, 0x63
1223 };
1224 static const struct
1225 blockcipher_test_data aes_test_data_xts_key_32_pt_16 = {
1226 	.crypto_algo = RTE_CRYPTO_CIPHER_AES_XTS,
1227 	.cipher_key = {
1228 		.data = {
1229 			0xA1, 0xB9, 0x0C, 0xBA, 0x3F, 0x06, 0xAC, 0x35,
1230 			0x3B, 0x2C, 0x34, 0x38, 0x76, 0x08, 0x17, 0x62,
1231 			0x09, 0x09, 0x23, 0x02, 0x6E, 0x91, 0x77, 0x18,
1232 			0x15, 0xF2, 0x9D, 0xAB, 0x01, 0x93, 0x2F, 0x2F
1233 		},
1234 		.len = 32
1235 	},
1236 	.iv = {
1237 		.data = {
1238 			0x4F, 0xAE, 0xF7, 0x11, 0x7C, 0xDA, 0x59, 0xC6,
1239 			0x6E, 0x4B, 0x92, 0x01, 0x3E, 0x76, 0x8A, 0xD5
1240 		},
1241 		.len = 16
1242 	},
1243 	.plaintext = {
1244 		.data = plaintext_aes128xts_16bytes,
1245 		.len = 16
1246 	},
1247 	.ciphertext = {
1248 		.data = ciphertext_aes128xts_16bytes,
1249 		.len = 16
1250 	}
1251 };
1252 static const uint8_t plaintext_aes128xts_32bytes[] = {
1253 	0xB0, 0x4D, 0x84, 0xDA, 0x85, 0x6B, 0x9A, 0x59,
1254 	0xCE, 0x2D, 0x62, 0x67, 0x46, 0xF6, 0x89, 0xA8,
1255 	0x05, 0x1D, 0xAC, 0xD6, 0xBC, 0xE3, 0xB9, 0x90,
1256 	0xAA, 0x90, 0x1E, 0x40, 0x30, 0x64, 0x88, 0x79
1257 };
1258 static const uint8_t ciphertext_aes128xts_32bytes[] = {
1259 	0xF9, 0x41, 0x03, 0x9E, 0xBA, 0xB8, 0xCA, 0xC3,
1260 	0x9D, 0x59, 0x24, 0x7C, 0xBB, 0xCB, 0x4D, 0x81,
1261 	0x6C, 0x72, 0x6D, 0xAE, 0xD1, 0x15, 0x77, 0x69,
1262 	0x2C, 0x55, 0xE4, 0xAC, 0x6D, 0x3E, 0x68, 0x20
1263 };
1264 static const struct
1265 blockcipher_test_data aes_test_data_xts_key_32_pt_32 = {
1266 	.crypto_algo = RTE_CRYPTO_CIPHER_AES_XTS,
1267 	.cipher_key = {
1268 		.data = {
1269 			0x78, 0x3A, 0x83, 0xEC, 0x52, 0xA2, 0x74, 0x05,
1270 			0xDF, 0xF9, 0xDE, 0x4C, 0x57, 0xF9, 0xC9, 0x79,
1271 			0xB3, 0x60, 0xB6, 0xA5, 0xDF, 0x88, 0xD6, 0x7E,
1272 			0xC1, 0xA0, 0x52, 0xE6, 0xF5, 0x82, 0xA7, 0x17
1273 		},
1274 		.len = 32
1275 	},
1276 	.iv = {
1277 		.data = {
1278 			0x88, 0x6E, 0x97, 0x5B, 0x29, 0xBD, 0xF6, 0xF0,
1279 			0xC0, 0x1B, 0xB4, 0x7F, 0x61, 0xF6, 0xF0, 0xF5
1280 		},
1281 		.len = 16
1282 	},
1283 	.plaintext = {
1284 		.data = plaintext_aes128xts_32bytes,
1285 		.len = 32
1286 	},
1287 	.ciphertext = {
1288 		.data = ciphertext_aes128xts_32bytes,
1289 		.len = 32
1290 	}
1291 };
1292 
1293 /** XTS-AES-256 test vector (2 keys * 256 bit) */
1294 /* Encryption */
1295 static const uint8_t plaintext_aes256xts_32bytes[] = {
1296 	0x2E, 0xED, 0xEA, 0x52, 0xCD, 0x82, 0x15, 0xE1,
1297 	0xAC, 0xC6, 0x47, 0xE8, 0x10, 0xBB, 0xC3, 0x64,
1298 	0x2E, 0x87, 0x28, 0x7F, 0x8D, 0x2E, 0x57, 0xE3,
1299 	0x6C, 0x0A, 0x24, 0xFB, 0xC1, 0x2A, 0x20, 0x2E
1300 };
1301 static const uint8_t ciphertext_aes256xts_32bytes[] = {
1302 	0xCB, 0xAA, 0xD0, 0xE2, 0xF6, 0xCE, 0xA3, 0xF5,
1303 	0x0B, 0x37, 0xF9, 0x34, 0xD4, 0x6A, 0x9B, 0x13,
1304 	0x0B, 0x9D, 0x54, 0xF0, 0x7E, 0x34, 0xF3, 0x6A,
1305 	0xF7, 0x93, 0xE8, 0x6F, 0x73, 0xC6, 0xD7, 0xDB
1306 };
1307 static const struct
1308 blockcipher_test_data aes_test_data_xts_key_64_pt_32 = {
1309 	.crypto_algo = RTE_CRYPTO_CIPHER_AES_XTS,
1310 	.cipher_key = {
1311 		.data = {
1312 			0x1E, 0xA6, 0x61, 0xC5, 0x8D, 0x94, 0x3A, 0x0E,
1313 			0x48, 0x01, 0xE4, 0x2F, 0x4B, 0x09, 0x47, 0x14,
1314 			0x9E, 0x7F, 0x9F, 0x8E, 0x3E, 0x68, 0xD0, 0xC7,
1315 			0x50, 0x52, 0x10, 0xBD, 0x31, 0x1A, 0x0E, 0x7C,
1316 			0xD6, 0xE1, 0x3F, 0xFD, 0xF2, 0x41, 0x8D, 0x8D,
1317 			0x19, 0x11, 0xC0, 0x04, 0xCD, 0xA5, 0x8D, 0xA3,
1318 			0xD6, 0x19, 0xB7, 0xE2, 0xB9, 0x14, 0x1E, 0x58,
1319 			0x31, 0x8E, 0xEA, 0x39, 0x2C, 0xF4, 0x1B, 0x08
1320 		},
1321 		.len = 64
1322 	},
1323 	.iv = {
1324 		.data = {
1325 			0xAD, 0xF8, 0xD9, 0x26, 0x27, 0x46, 0x4A, 0xD2,
1326 			0xF0, 0x42, 0x8E, 0x84, 0xA9, 0xF8, 0x75, 0x64
1327 		},
1328 		.len = 16
1329 	},
1330 	.plaintext = {
1331 		.data = plaintext_aes256xts_32bytes,
1332 		.len = 32
1333 	},
1334 	.ciphertext = {
1335 		.data = ciphertext_aes256xts_32bytes,
1336 		.len = 32
1337 	}
1338 };
1339 static const uint8_t plaintext_aes256xts_48bytes[] = {
1340 	0xBB, 0xB2, 0x34, 0xDB, 0x01, 0xBE, 0x79, 0xD3,
1341 	0xDC, 0x7D, 0xCF, 0x49, 0xBC, 0x53, 0xB8, 0xEF,
1342 	0xC6, 0x2F, 0xE7, 0x17, 0x94, 0x39, 0x06, 0x1D,
1343 	0x73, 0xA6, 0xB2, 0x0E, 0xDB, 0x9B, 0x7D, 0xA0,
1344 	0x45, 0x0B, 0x19, 0xF0, 0x20, 0x82, 0x02, 0x09,
1345 	0xAF, 0xE0, 0x81, 0x12, 0xAE, 0x4A, 0xFD, 0xD3
1346 };
1347 static const uint8_t ciphertext_aes256xts_48bytes[] = {
1348 	0xCB, 0xF6, 0x88, 0x48, 0xC4, 0x20, 0x49, 0xEF,
1349 	0xB1, 0x46, 0xE2, 0xD1, 0xE4, 0x11, 0x5F, 0x62,
1350 	0xE4, 0xFA, 0xA4, 0xEF, 0xFF, 0x19, 0x8F, 0x1A,
1351 	0x0A, 0xA0, 0xC9, 0x8B, 0xA0, 0x2C, 0xC4, 0x4D,
1352 	0xA3, 0x76, 0xD7, 0x62, 0xD6, 0x15, 0x1F, 0x23,
1353 	0x45, 0x87, 0xBF, 0x12, 0x8B, 0x6A, 0x7F, 0xFA
1354 };
1355 static const struct
1356 blockcipher_test_data aes_test_data_xts_key_64_pt_48 = {
1357 	.crypto_algo = RTE_CRYPTO_CIPHER_AES_XTS,
1358 	.cipher_key = {
1359 		.data = {
1360 			0x7F, 0xB0, 0x92, 0x2F, 0xCE, 0x09, 0xED, 0xDD,
1361 			0x36, 0x65, 0xA1, 0x1F, 0x52, 0x35, 0xD5, 0x1E,
1362 			0xF7, 0x72, 0x06, 0xA7, 0xDE, 0x45, 0x47, 0x75,
1363 			0xB6, 0x9D, 0xCC, 0x54, 0x59, 0xAC, 0xDB, 0x24,
1364 			0xCC, 0xF0, 0x5C, 0x41, 0x5A, 0xF5, 0xAB, 0x8A,
1365 			0x06, 0x62, 0x3D, 0x19, 0x8D, 0x5B, 0x91, 0x85,
1366 			0x95, 0xA9, 0xDC, 0xAA, 0xF5, 0x39, 0x2E, 0xE7,
1367 			0x17, 0xC1, 0x04, 0x7F, 0x2F, 0x08, 0xF6, 0x2B
1368 		},
1369 		.len = 64
1370 	},
1371 	.iv = {
1372 		.data = {
1373 			0x8E, 0xA3, 0x63, 0x8B, 0x9D, 0x40, 0x62, 0xF1,
1374 			0x69, 0x19, 0x6F, 0xF4, 0x55, 0x5A, 0xD0, 0xAF
1375 		},
1376 		.len = 16
1377 	},
1378 	.plaintext = {
1379 		.data = plaintext_aes256xts_48bytes,
1380 		.len = 48
1381 	},
1382 	.ciphertext = {
1383 		.data = ciphertext_aes256xts_48bytes,
1384 		.len = 48
1385 	}
1386 };
1387 
1388 /* AES-DOCSIS-BPI test vectors */
1389 
1390 /* Multiple of AES block size */
1391 static const struct blockcipher_test_data aes_test_data_docsis_1 = {
1392 	.crypto_algo = RTE_CRYPTO_CIPHER_AES_DOCSISBPI,
1393 	.cipher_key = {
1394 		.data = {
1395 			0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
1396 			0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
1397 		},
1398 		.len = 16
1399 	},
1400 	.iv = {
1401 		.data = {
1402 			0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
1403 			0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
1404 		},
1405 		.len = 16
1406 	},
1407 	.plaintext = {
1408 		.data = plaintext_aes_common,
1409 		.len = 512
1410 	},
1411 	.ciphertext = {
1412 		.data = ciphertext512_aes128cbc,
1413 		.len = 512
1414 	}
1415 };
1416 
1417 /* Less than AES block size */
1418 static const struct blockcipher_test_data aes_test_data_docsis_2 = {
1419 	.crypto_algo = RTE_CRYPTO_CIPHER_AES_DOCSISBPI,
1420 	.cipher_key = {
1421 		.data = {
1422 			0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB,
1423 			0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB
1424 		},
1425 		.len = 16
1426 	},
1427 	.iv = {
1428 		.data = {
1429 			0x81, 0x0E, 0x52, 0x8E, 0x1C, 0x5F, 0xDA, 0x1A,
1430 			0x81, 0x0E, 0x52, 0x8E, 0x1C, 0x5F, 0xDA, 0x1A
1431 		},
1432 		.len = 16
1433 	},
1434 	.plaintext = {
1435 		.data = plaintext_aes_docsis_bpi_cfb,
1436 		.len = 7
1437 	},
1438 	.ciphertext = {
1439 		.data = ciphertext_aes_docsis_bpi_cfb,
1440 		.len = 7
1441 	}
1442 };
1443 
1444 /* Not multiple of AES block size */
1445 static const struct blockcipher_test_data aes_test_data_docsis_3 = {
1446 	.crypto_algo = RTE_CRYPTO_CIPHER_AES_DOCSISBPI,
1447 	.cipher_key = {
1448 		.data = {
1449 			0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB,
1450 			0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB
1451 		},
1452 		.len = 16
1453 	},
1454 	.iv = {
1455 		.data = {
1456 			0x81, 0x0E, 0x52, 0x8E, 0x1C, 0x5F, 0xDA, 0x1A,
1457 			0x81, 0x0E, 0x52, 0x8E, 0x1C, 0x5F, 0xDA, 0x1A
1458 		},
1459 		.len = 16
1460 	},
1461 	.plaintext = {
1462 		.data = plaintext_aes_docsis_bpi_cbc_cfb,
1463 		.len = 19
1464 	},
1465 	.ciphertext = {
1466 		.data = ciphertext_aes_docsis_bpi_cbc_cfb,
1467 		.len = 19
1468 	}
1469 };
1470 
1471 static const uint8_t
1472 cipher_aescbc_offset_16[] = {
1473 	0x57, 0x68, 0x61, 0x74, 0x20, 0x61, 0x20, 0x6C,
1474 	0x6F, 0x75, 0x73, 0x79, 0x20, 0x65, 0x61, 0x72,
1475 	0x68, 0x2A, 0x6A, 0x82, 0xE0, 0x73, 0xC7, 0x51,
1476 	0x81, 0xF4, 0x47, 0x27, 0x1A, 0xEF, 0x76, 0x15,
1477 	0x1C, 0xE1, 0x38, 0x5F, 0xE1, 0x81, 0x77, 0xC7,
1478 	0x8B, 0xF0, 0x69, 0xC3, 0x3C, 0x45, 0x1C, 0x0A,
1479 	0xA3, 0x93, 0xBF, 0x60, 0x57, 0x88, 0xD2, 0xFF,
1480 	0xE1, 0x8F, 0xC0, 0x64, 0x2C, 0x42, 0xC5, 0x22,
1481 	0xE3, 0x5F, 0x71, 0x1F, 0xF7, 0x62, 0xA2, 0x7E,
1482 	0x0D, 0x42, 0xD9, 0xE7, 0xF3, 0x10, 0xB0, 0xEE,
1483 };
1484 
1485 /** AES-128-CBC SHA1 OOP test vector for swapping src/dst */
1486 static const struct blockcipher_test_data aes_test_data_14 = {
1487 	.crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC,
1488 	.cipher_key = {
1489 		.data = {
1490 			0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
1491 			0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
1492 		},
1493 		.len = 16
1494 	},
1495 	.iv = {
1496 		.data = {
1497 			0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
1498 			0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
1499 		},
1500 		.len = 16
1501 	},
1502 	.plaintext = {
1503 		.data = plaintext_aes_common,
1504 		.len = 80
1505 	},
1506 	.cipher_offset = 16,
1507 	.auth_offset = 0,
1508 	.ciphertext = {
1509 		.data = cipher_aescbc_offset_16,
1510 		.len = 80
1511 	},
1512 	.auth_algo = RTE_CRYPTO_AUTH_SHA1_HMAC,
1513 	.auth_key = {
1514 		.data = {
1515 			0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA,
1516 			0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD,
1517 			0xDE, 0xF4, 0xDE, 0xAD
1518 		},
1519 		.len = 20
1520 	},
1521 	.digest = {
1522 		.data = {
1523 			0xCC, 0x15, 0x83, 0xF7, 0x23, 0x87, 0x96, 0xA7,
1524 			0x29, 0x34, 0x32, 0xE4, 0x4C, 0x06, 0xE8, 0xEB,
1525 			0x70, 0x72, 0x4B, 0xAD
1526 		},
1527 		.len = 20,
1528 		.truncated_len = 12
1529 	}
1530 };
1531 
1532 static const struct blockcipher_test_case aes_chain_test_cases[] = {
1533 	{
1534 		.test_descr = "AES-128-CBC HMAC-SHA1 Decryption Digest "
1535 			"Verify OOP Offset",
1536 		.test_data = &aes_test_data_14,
1537 		.op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1538 		.feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
1539 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1540 			BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1541 			BLOCKCIPHER_TEST_TARGET_PMD_NITROX
1542 	},
1543 		{
1544 		.test_descr = "AES-128-CTR HMAC-SHA1 Encryption Digest",
1545 		.test_data = &aes_test_data_1,
1546 		.op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1547 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1548 			BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1549 			BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1550 			BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
1551 			BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1552 			BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
1553 			BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
1554 			BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
1555 			BLOCKCIPHER_TEST_TARGET_PMD_CCP
1556 	},
1557 	{
1558 		.test_descr = "AES-128-CTR HMAC-SHA1 Decryption Digest "
1559 			"Verify",
1560 		.test_data = &aes_test_data_1,
1561 		.op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1562 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1563 			BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1564 			BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1565 			BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
1566 			BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1567 			BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
1568 			BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
1569 			BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
1570 			BLOCKCIPHER_TEST_TARGET_PMD_CCP
1571 	},
1572 	{
1573 		.test_descr = "AES-192-CTR XCBC Encryption Digest",
1574 		.test_data = &aes_test_data_2,
1575 		.op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1576 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1577 			BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1578 			BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER
1579 	},
1580 	{
1581 		.test_descr = "AES-192-CTR XCBC Decryption Digest Verify",
1582 		.test_data = &aes_test_data_2,
1583 		.op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1584 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1585 			BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1586 			BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER
1587 	},
1588 	{
1589 		.test_descr = "AES-192-CTR XCBC Decryption Digest Verify "
1590 				"Scatter Gather",
1591 		.test_data = &aes_test_data_2,
1592 		.op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1593 		.feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |
1594 			BLOCKCIPHER_TEST_FEATURE_OOP,
1595 		.pmd_mask =
1596 			BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1597 			BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER
1598 	},
1599 	{
1600 		.test_descr = "AES-256-CTR HMAC-SHA1 Encryption Digest",
1601 		.test_data = &aes_test_data_3,
1602 		.op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1603 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1604 			BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1605 			BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1606 			BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
1607 			BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1608 			BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
1609 			BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
1610 			BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
1611 			BLOCKCIPHER_TEST_TARGET_PMD_CCP
1612 	},
1613 	{
1614 		.test_descr = "AES-256-CTR HMAC-SHA1 Decryption Digest "
1615 			"Verify",
1616 		.test_data = &aes_test_data_3,
1617 		.op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1618 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1619 			BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1620 			BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1621 			BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
1622 			BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1623 			BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
1624 			BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
1625 			BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
1626 			BLOCKCIPHER_TEST_TARGET_PMD_CCP
1627 	},
1628 	{
1629 		.test_descr = "AES-128-CBC HMAC-SHA1 Encryption Digest",
1630 		.test_data = &aes_test_data_4,
1631 		.op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1632 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 |
1633 			BLOCKCIPHER_TEST_TARGET_PMD_MB |
1634 			BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1635 			BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1636 			BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
1637 			BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1638 			BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
1639 			BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
1640 			BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
1641 			BLOCKCIPHER_TEST_TARGET_PMD_CCP |
1642 			BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX |
1643 			BLOCKCIPHER_TEST_TARGET_PMD_NITROX
1644 	},
1645 	{
1646 		.test_descr = "AES-128-CBC HMAC-SHA1 Encryption Digest "
1647 			"(short buffers)",
1648 		.test_data = &aes_test_data_13,
1649 		.op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1650 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 |
1651 			BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
1652 			BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX |
1653 			BLOCKCIPHER_TEST_TARGET_PMD_NITROX
1654 	},
1655 	{
1656 		.test_descr = "AES-128-CBC HMAC-SHA1 Encryption Digest "
1657 				"Scatter Gather",
1658 		.test_data = &aes_test_data_4,
1659 		.op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1660 		.feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |
1661 			BLOCKCIPHER_TEST_FEATURE_OOP,
1662 		.pmd_mask =
1663 			BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1664 			BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1665 			BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
1666 			BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1667 			BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
1668 			BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
1669 			BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX |
1670 			BLOCKCIPHER_TEST_TARGET_PMD_NITROX
1671 	},
1672 	{
1673 		.test_descr = "AES-128-CBC HMAC-SHA1 Decryption Digest "
1674 			"Verify",
1675 		.test_data = &aes_test_data_4,
1676 		.op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1677 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 |
1678 			BLOCKCIPHER_TEST_TARGET_PMD_MB |
1679 			BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1680 			BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1681 			BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
1682 			BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1683 			BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
1684 			BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
1685 			BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
1686 			BLOCKCIPHER_TEST_TARGET_PMD_CCP |
1687 			BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX |
1688 			BLOCKCIPHER_TEST_TARGET_PMD_NITROX
1689 	},
1690 	{
1691 		.test_descr = "AES-128-CBC HMAC-SHA1 Decryption Digest "
1692 			"Verify Scatter Gather",
1693 		.test_data = &aes_test_data_4,
1694 		.op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1695 		.feature_mask = BLOCKCIPHER_TEST_FEATURE_SG,
1696 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1697 			    BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
1698 			    BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
1699 			    BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX |
1700 			    BLOCKCIPHER_TEST_TARGET_PMD_NITROX
1701 	},
1702 	{
1703 		.test_descr = "AES-128-CBC HMAC-SHA1 Decryption Digest "
1704 			"Verify (short buffers)",
1705 		.test_data = &aes_test_data_13,
1706 		.op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1707 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 |
1708 			BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
1709 			BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX |
1710 			BLOCKCIPHER_TEST_TARGET_PMD_NITROX
1711 	},
1712 	{
1713 		.test_descr = "AES-128-CBC HMAC-SHA256 Encryption Digest",
1714 		.test_data = &aes_test_data_5,
1715 		.op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1716 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 |
1717 			BLOCKCIPHER_TEST_TARGET_PMD_MB |
1718 			BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1719 			BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1720 			BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
1721 			BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1722 			BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
1723 			BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
1724 			BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
1725 			BLOCKCIPHER_TEST_TARGET_PMD_CCP |
1726 			BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX |
1727 			BLOCKCIPHER_TEST_TARGET_PMD_NITROX
1728 	},
1729 	{
1730 		.test_descr = "AES-128-CBC HMAC-SHA256 Encryption Digest "
1731 			"(short buffers)",
1732 		.test_data = &aes_test_data_12,
1733 		.op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1734 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 |
1735 			BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
1736 			BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX |
1737 			BLOCKCIPHER_TEST_TARGET_PMD_NITROX
1738 	},
1739 	{
1740 		.test_descr = "AES-128-CBC HMAC-SHA256 Decryption Digest "
1741 			"Verify",
1742 		.test_data = &aes_test_data_5,
1743 		.op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1744 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 |
1745 			BLOCKCIPHER_TEST_TARGET_PMD_MB |
1746 			BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1747 			BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1748 			BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
1749 			BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1750 			BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
1751 			BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
1752 			BLOCKCIPHER_TEST_TARGET_PMD_CCP |
1753 			BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX |
1754 			BLOCKCIPHER_TEST_TARGET_PMD_NITROX
1755 	},
1756 	{
1757 		.test_descr = "AES-128-CBC HMAC-SHA256 Decryption Digest "
1758 			"Verify (short buffers)",
1759 		.test_data = &aes_test_data_12,
1760 		.op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1761 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 |
1762 			BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
1763 			BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX |
1764 			BLOCKCIPHER_TEST_TARGET_PMD_NITROX
1765 	},
1766 	{
1767 		.test_descr = "AES-128-CBC HMAC-SHA512 Encryption Digest",
1768 		.test_data = &aes_test_data_6,
1769 		.op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1770 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1771 			BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1772 			BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1773 			BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
1774 			BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1775 			BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
1776 			BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
1777 			BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
1778 			BLOCKCIPHER_TEST_TARGET_PMD_CCP |
1779 			BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
1780 	},
1781 	{
1782 		.test_descr = "AES-128-CBC HMAC-SHA512 Encryption Digest "
1783 			"Sessionless",
1784 		.test_data = &aes_test_data_6,
1785 		.op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1786 		.feature_mask = BLOCKCIPHER_TEST_FEATURE_SESSIONLESS,
1787 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1788 			BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1789 			BLOCKCIPHER_TEST_TARGET_PMD_CCP |
1790 			BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
1791 	},
1792 	{
1793 		.test_descr = "AES-128-CBC HMAC-SHA512 Encryption Digest "
1794 				"Scatter Gather Sessionless",
1795 		.test_data = &aes_test_data_6,
1796 		.op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1797 		.feature_mask = BLOCKCIPHER_TEST_FEATURE_SESSIONLESS |
1798 			BLOCKCIPHER_TEST_FEATURE_SG |
1799 			BLOCKCIPHER_TEST_FEATURE_OOP,
1800 		.pmd_mask =
1801 			BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1802 			BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
1803 	},
1804 	{
1805 		.test_descr = "AES-128-CBC HMAC-SHA512 Decryption Digest "
1806 			"Verify",
1807 		.test_data = &aes_test_data_6,
1808 		.op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1809 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1810 			BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1811 			BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1812 			BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
1813 			BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1814 			BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
1815 			BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
1816 			BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
1817 			BLOCKCIPHER_TEST_TARGET_PMD_CCP |
1818 			BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
1819 	},
1820 	{
1821 		.test_descr = "AES-128-CBC HMAC-SHA512 Decryption Digest "
1822 			"Verify Scatter Gather",
1823 		.test_data = &aes_test_data_6,
1824 		.op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1825 		.feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |
1826 			BLOCKCIPHER_TEST_FEATURE_OOP,
1827 		.pmd_mask =
1828 			BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1829 			BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1830 			BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1831 			BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
1832 			BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
1833 			BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
1834 	},
1835 	{
1836 		.test_descr = "AES-128-CBC XCBC Encryption Digest",
1837 		.test_data = &aes_test_data_7,
1838 		.op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1839 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1840 			BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1841 			BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER
1842 	},
1843 	{
1844 		.test_descr = "AES-128-CBC XCBC Decryption Digest Verify",
1845 		.test_data = &aes_test_data_7,
1846 		.op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1847 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1848 			BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1849 			BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER
1850 	},
1851 	{
1852 		.test_descr = "AES-128-CBC HMAC-SHA1 Encryption Digest "
1853 			"OOP",
1854 		.test_data = &aes_test_data_4,
1855 		.op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1856 		.feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
1857 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 |
1858 			BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1859 			BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1860 			BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1861 			BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
1862 			BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
1863 			BLOCKCIPHER_TEST_TARGET_PMD_MB |
1864 			BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX |
1865 			BLOCKCIPHER_TEST_TARGET_PMD_NITROX
1866 	},
1867 	{
1868 		.test_descr = "AES-128-CBC HMAC-SHA1 Encryption Digest "
1869 			"OOP Offset",
1870 		.test_data = &aes_test_data_14,
1871 		.op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1872 		.feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
1873 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1874 			BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1875 			BLOCKCIPHER_TEST_TARGET_PMD_NITROX
1876 	},
1877 	{
1878 		.test_descr = "AES-128-CBC HMAC-SHA1 Decryption Digest "
1879 			"Verify OOP",
1880 		.test_data = &aes_test_data_4,
1881 		.op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1882 		.feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
1883 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 |
1884 			BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1885 			BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1886 			BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1887 			BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
1888 			BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
1889 			BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX |
1890 			BLOCKCIPHER_TEST_TARGET_PMD_MB |
1891 			BLOCKCIPHER_TEST_TARGET_PMD_NITROX
1892 	},
1893 	{
1894 		.test_descr = "AES-128-CBC HMAC-SHA224 Encryption Digest",
1895 		.test_data = &aes_test_data_8,
1896 		.op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1897 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1898 			BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1899 			BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1900 			BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
1901 			BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1902 			BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
1903 			BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
1904 			BLOCKCIPHER_TEST_TARGET_PMD_CCP |
1905 			BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX |
1906 			BLOCKCIPHER_TEST_TARGET_PMD_NITROX
1907 	},
1908 	{
1909 		.test_descr = "AES-128-CBC HMAC-SHA224 Decryption Digest "
1910 			"Verify",
1911 		.test_data = &aes_test_data_8,
1912 		.op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1913 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1914 			BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1915 			BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1916 			BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
1917 			BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1918 			BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
1919 			BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
1920 			BLOCKCIPHER_TEST_TARGET_PMD_CCP |
1921 			BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX |
1922 			BLOCKCIPHER_TEST_TARGET_PMD_NITROX
1923 	},
1924 	{
1925 		.test_descr = "AES-128-CBC HMAC-SHA384 Encryption Digest",
1926 		.test_data = &aes_test_data_9,
1927 		.op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1928 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1929 			BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1930 			BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1931 			BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
1932 			BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1933 			BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
1934 			BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
1935 			BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
1936 			BLOCKCIPHER_TEST_TARGET_PMD_CCP
1937 	},
1938 	{
1939 		.test_descr = "AES-128-CBC HMAC-SHA384 Decryption Digest "
1940 			"Verify",
1941 		.test_data = &aes_test_data_9,
1942 		.op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1943 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1944 			BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1945 			BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1946 			BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
1947 			BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1948 			BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
1949 			BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
1950 			BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
1951 			BLOCKCIPHER_TEST_TARGET_PMD_CCP
1952 	},
1953 	{
1954 		.test_descr = "AES-128-CBC HMAC-SHA1 Encryption Digest "
1955 				"Sessionless",
1956 		.test_data = &aes_test_data_4,
1957 		.op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1958 		.feature_mask = BLOCKCIPHER_TEST_FEATURE_SESSIONLESS,
1959 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 |
1960 			BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1961 			BLOCKCIPHER_TEST_TARGET_PMD_CCP |
1962 			BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
1963 	},
1964 	{
1965 		.test_descr =
1966 				"AES-128-CBC HMAC-SHA1 Decryption Digest "
1967 				"Verify Sessionless",
1968 		.test_data = &aes_test_data_4,
1969 		.op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1970 		.feature_mask = BLOCKCIPHER_TEST_FEATURE_SESSIONLESS,
1971 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 |
1972 			BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1973 			BLOCKCIPHER_TEST_TARGET_PMD_CCP |
1974 			BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
1975 	},
1976 	{
1977 		.test_descr = "NULL-CIPHER-NULL-AUTH encrypt & gen x8byte",
1978 		.test_data = &null_test_data_chain_x8_multiple,
1979 		.op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1980 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_NULL |
1981 			BLOCKCIPHER_TEST_TARGET_PMD_QAT
1982 	},
1983 	{
1984 		.test_descr = "NULL-AUTH-NULL-CIPHER verify & decrypt x8byte",
1985 		.test_data = &null_test_data_chain_x8_multiple,
1986 		.op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1987 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_NULL |
1988 			BLOCKCIPHER_TEST_TARGET_PMD_QAT
1989 	},
1990 	{
1991 		.test_descr = "NULL-CIPHER-NULL-AUTH encrypt & gen x8byte - OOP",
1992 		.test_data = &null_test_data_chain_x8_multiple,
1993 		.op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1994 		.feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
1995 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT
1996 	},
1997 	{
1998 		.test_descr = "NULL-AUTH-NULL-CIPHER verify & decrypt x8byte - OOP",
1999 		.test_data = &null_test_data_chain_x8_multiple,
2000 		.op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
2001 		.feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
2002 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT
2003 	},
2004 	{
2005 		.test_descr = "NULL-CIPHER-NULL-AUTH encrypt & gen x4byte",
2006 		.test_data = &null_test_data_chain_x4_multiple,
2007 		.op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
2008 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_NULL |
2009 			BLOCKCIPHER_TEST_TARGET_PMD_QAT
2010 	},
2011 	{
2012 		.test_descr = "NULL-AUTH-NULL-CIPHER verify & decrypt x4byte",
2013 		.test_data = &null_test_data_chain_x4_multiple,
2014 		.op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
2015 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_NULL |
2016 			BLOCKCIPHER_TEST_TARGET_PMD_QAT
2017 	},
2018 	{
2019 		.test_descr = "NULL-CIPHER-NULL-AUTH encrypt & gen x4byte - OOP",
2020 		.test_data = &null_test_data_chain_x4_multiple,
2021 		.op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
2022 		.feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
2023 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT
2024 	},
2025 	{
2026 		.test_descr = "NULL-AUTH-NULL-CIPHER verify & decrypt x4byte - OOP",
2027 		.test_data = &null_test_data_chain_x4_multiple,
2028 		.op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
2029 		.feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
2030 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT
2031 	},
2032 	{
2033 		.test_descr = "NULL-CIPHER-NULL-AUTH encrypt & gen x1byte",
2034 		.test_data = &null_test_data_chain_x1_multiple,
2035 		.op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
2036 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_NULL |
2037 			BLOCKCIPHER_TEST_TARGET_PMD_QAT
2038 	},
2039 	{
2040 		.test_descr = "NULL-AUTH-NULL-CIPHER verify & decrypt x1byte",
2041 		.test_data = &null_test_data_chain_x1_multiple,
2042 		.op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
2043 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_NULL |
2044 			BLOCKCIPHER_TEST_TARGET_PMD_QAT
2045 	},
2046 	{
2047 		.test_descr = "NULL-CIPHER-NULL-AUTH encrypt & gen x1byte - OOP",
2048 		.test_data = &null_test_data_chain_x1_multiple,
2049 		.op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
2050 		.feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
2051 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT
2052 	},
2053 	{
2054 		.test_descr = "NULL-AUTH-NULL-CIPHER verify & decrypt x1byte - OOP",
2055 		.test_data = &null_test_data_chain_x1_multiple,
2056 		.op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
2057 		.feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
2058 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT
2059 	},
2060 };
2061 
2062 static const struct blockcipher_test_case aes_cipheronly_test_cases[] = {
2063 	{
2064 		.test_descr = "AES-128-CBC Encryption",
2065 		.test_data = &aes_test_data_4,
2066 		.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2067 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
2068 			BLOCKCIPHER_TEST_TARGET_PMD_QAT |
2069 			BLOCKCIPHER_TEST_TARGET_PMD_MB |
2070 			BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
2071 			BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
2072 			BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
2073 			BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
2074 			BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
2075 			BLOCKCIPHER_TEST_TARGET_PMD_CCP |
2076 			BLOCKCIPHER_TEST_TARGET_PMD_VIRTIO |
2077 			BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
2078 	},
2079 	{
2080 		.test_descr = "AES-128-CBC Decryption",
2081 		.test_data = &aes_test_data_4,
2082 		.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2083 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
2084 			BLOCKCIPHER_TEST_TARGET_PMD_QAT |
2085 			BLOCKCIPHER_TEST_TARGET_PMD_MB |
2086 			BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
2087 			BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
2088 			BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
2089 			BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
2090 			BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
2091 			BLOCKCIPHER_TEST_TARGET_PMD_CCP |
2092 			BLOCKCIPHER_TEST_TARGET_PMD_VIRTIO |
2093 			BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
2094 	},
2095 	{
2096 		.test_descr = "AES-192-CBC Encryption",
2097 		.test_data = &aes_test_data_10,
2098 		.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2099 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
2100 			BLOCKCIPHER_TEST_TARGET_PMD_QAT |
2101 			BLOCKCIPHER_TEST_TARGET_PMD_MB |
2102 			BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
2103 			BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
2104 			BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
2105 			BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
2106 			BLOCKCIPHER_TEST_TARGET_PMD_CCP |
2107 			BLOCKCIPHER_TEST_TARGET_PMD_VIRTIO |
2108 			BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
2109 	},
2110 	{
2111 		.test_descr = "AES-192-CBC Encryption Scater gather",
2112 		.test_data = &aes_test_data_10,
2113 		.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2114 		.feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |
2115 			BLOCKCIPHER_TEST_FEATURE_OOP,
2116 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
2117 			BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
2118 			BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
2119 			BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
2120 			BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
2121 	},
2122 	{
2123 		.test_descr = "AES-192-CBC Decryption",
2124 		.test_data = &aes_test_data_10,
2125 		.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2126 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
2127 			BLOCKCIPHER_TEST_TARGET_PMD_QAT |
2128 			BLOCKCIPHER_TEST_TARGET_PMD_MB |
2129 			BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
2130 			BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
2131 			BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
2132 			BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
2133 			BLOCKCIPHER_TEST_TARGET_PMD_CCP |
2134 			BLOCKCIPHER_TEST_TARGET_PMD_VIRTIO |
2135 			BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
2136 	},
2137 	{
2138 		.test_descr = "AES-192-CBC Decryption Scatter Gather",
2139 		.test_data = &aes_test_data_10,
2140 		.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2141 		.feature_mask = BLOCKCIPHER_TEST_FEATURE_SG,
2142 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
2143 			BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
2144 			BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
2145 			BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
2146 	},
2147 	{
2148 		.test_descr = "AES-256-CBC Encryption",
2149 		.test_data = &aes_test_data_11,
2150 		.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2151 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
2152 			BLOCKCIPHER_TEST_TARGET_PMD_QAT |
2153 			BLOCKCIPHER_TEST_TARGET_PMD_MB |
2154 			BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
2155 			BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
2156 			BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
2157 			BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
2158 			BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
2159 			BLOCKCIPHER_TEST_TARGET_PMD_CCP |
2160 			BLOCKCIPHER_TEST_TARGET_PMD_VIRTIO |
2161 			BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
2162 	},
2163 	{
2164 		.test_descr = "AES-256-CBC Decryption",
2165 		.test_data = &aes_test_data_11,
2166 		.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2167 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
2168 			BLOCKCIPHER_TEST_TARGET_PMD_QAT |
2169 			BLOCKCIPHER_TEST_TARGET_PMD_MB |
2170 			BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
2171 			BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
2172 			BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
2173 			BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
2174 			BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
2175 			BLOCKCIPHER_TEST_TARGET_PMD_CCP |
2176 			BLOCKCIPHER_TEST_TARGET_PMD_VIRTIO |
2177 			BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
2178 	},
2179 	{
2180 		.test_descr = "AES-256-CBC OOP Encryption",
2181 		.test_data = &aes_test_data_11,
2182 		.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2183 		.feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
2184 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
2185 			BLOCKCIPHER_TEST_TARGET_PMD_QAT |
2186 			BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
2187 			BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
2188 			BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
2189 			BLOCKCIPHER_TEST_TARGET_PMD_CCP |
2190 			BLOCKCIPHER_TEST_TARGET_PMD_VIRTIO |
2191 			BLOCKCIPHER_TEST_TARGET_PMD_MB
2192 	},
2193 	{
2194 		.test_descr = "AES-256-CBC OOP Decryption",
2195 		.test_data = &aes_test_data_11,
2196 		.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2197 		.feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
2198 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
2199 			BLOCKCIPHER_TEST_TARGET_PMD_QAT |
2200 			BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
2201 			BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
2202 			BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
2203 			BLOCKCIPHER_TEST_TARGET_PMD_CCP |
2204 			BLOCKCIPHER_TEST_TARGET_PMD_VIRTIO |
2205 			BLOCKCIPHER_TEST_TARGET_PMD_MB
2206 	},
2207 	{
2208 		.test_descr = "AES-128-CTR Encryption",
2209 		.test_data = &aes_test_data_1,
2210 		.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2211 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
2212 			BLOCKCIPHER_TEST_TARGET_PMD_QAT |
2213 			BLOCKCIPHER_TEST_TARGET_PMD_MB |
2214 			BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
2215 			BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
2216 			BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
2217 			BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
2218 			BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
2219 			BLOCKCIPHER_TEST_TARGET_PMD_CCP |
2220 			BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
2221 	},
2222 	{
2223 		.test_descr = "AES-128-CTR Decryption",
2224 		.test_data = &aes_test_data_1,
2225 		.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2226 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
2227 			BLOCKCIPHER_TEST_TARGET_PMD_QAT |
2228 			BLOCKCIPHER_TEST_TARGET_PMD_MB |
2229 			BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
2230 			BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
2231 			BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
2232 			BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
2233 			BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
2234 			BLOCKCIPHER_TEST_TARGET_PMD_CCP |
2235 			BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
2236 	},
2237 	{
2238 		.test_descr = "AES-192-CTR Encryption",
2239 		.test_data = &aes_test_data_2,
2240 		.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2241 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
2242 			BLOCKCIPHER_TEST_TARGET_PMD_QAT |
2243 			BLOCKCIPHER_TEST_TARGET_PMD_MB |
2244 			BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
2245 			BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
2246 			BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
2247 			BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
2248 			BLOCKCIPHER_TEST_TARGET_PMD_CCP |
2249 			BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
2250 	},
2251 	{
2252 		.test_descr = "AES-192-CTR Decryption",
2253 		.test_data = &aes_test_data_2,
2254 		.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2255 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
2256 			BLOCKCIPHER_TEST_TARGET_PMD_QAT |
2257 			BLOCKCIPHER_TEST_TARGET_PMD_MB |
2258 			BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
2259 			BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
2260 			BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
2261 			BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
2262 			BLOCKCIPHER_TEST_TARGET_PMD_CCP |
2263 			BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
2264 	},
2265 	{
2266 		.test_descr = "AES-256-CTR Encryption",
2267 		.test_data = &aes_test_data_3,
2268 		.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2269 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
2270 			BLOCKCIPHER_TEST_TARGET_PMD_QAT |
2271 			BLOCKCIPHER_TEST_TARGET_PMD_MB |
2272 			BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
2273 			BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
2274 			BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
2275 			BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
2276 			BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
2277 			BLOCKCIPHER_TEST_TARGET_PMD_CCP |
2278 			BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
2279 	},
2280 	{
2281 		.test_descr = "AES-256-CTR Decryption",
2282 		.test_data = &aes_test_data_3,
2283 		.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2284 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
2285 			BLOCKCIPHER_TEST_TARGET_PMD_QAT |
2286 			BLOCKCIPHER_TEST_TARGET_PMD_MB |
2287 			BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
2288 			BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
2289 			BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
2290 			BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
2291 			BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
2292 			BLOCKCIPHER_TEST_TARGET_PMD_CCP |
2293 			BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
2294 	},
2295 	{
2296 		.test_descr = "AES-128-CTR Encryption (12-byte IV)",
2297 		.test_data = &aes_test_data_1_IV_12_bytes,
2298 		.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2299 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
2300 			    BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
2301 	},
2302 	{
2303 		.test_descr = "AES-192-CTR Encryption (12-byte IV)",
2304 		.test_data = &aes_test_data_2_IV_12_bytes,
2305 		.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2306 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
2307 			    BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
2308 	},
2309 	{
2310 		.test_descr = "AES-256-CTR Encryption (12-byte IV)",
2311 		.test_data = &aes_test_data_3_IV_12_bytes,
2312 		.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2313 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
2314 			    BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
2315 	},
2316 	{
2317 		.test_descr = "AES-128-XTS Encryption (16-byte plaintext)",
2318 		.test_data = &aes_test_data_xts_key_32_pt_16,
2319 		.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2320 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT
2321 	},
2322 	{
2323 		.test_descr = "AES-128-XTS Decryption (16-byte plaintext)",
2324 		.test_data = &aes_test_data_xts_key_32_pt_16,
2325 		.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2326 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT
2327 	},
2328 	{
2329 		.test_descr = "AES-128-XTS Encryption (32-byte plaintext)",
2330 		.test_data = &aes_test_data_xts_key_32_pt_32,
2331 		.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2332 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT
2333 	},
2334 	{
2335 		.test_descr = "AES-128-XTS Decryption (32-byte plaintext)",
2336 		.test_data = &aes_test_data_xts_key_32_pt_32,
2337 		.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2338 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT
2339 	},
2340 	{
2341 		.test_descr = "AES-256-XTS Encryption (32-byte plaintext)",
2342 		.test_data = &aes_test_data_xts_key_64_pt_32,
2343 		.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2344 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT
2345 	},
2346 	{
2347 		.test_descr = "AES-256-XTS Decryption (32-byte plaintext)",
2348 		.test_data = &aes_test_data_xts_key_64_pt_32,
2349 		.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2350 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT
2351 	},
2352 	{
2353 		.test_descr = "AES-256-XTS Encryption (48-byte plaintext)",
2354 		.test_data = &aes_test_data_xts_key_64_pt_48,
2355 		.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2356 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT
2357 	},
2358 	{
2359 		.test_descr = "AES-256-XTS Decryption (48-byte plaintext)",
2360 		.test_data = &aes_test_data_xts_key_64_pt_48,
2361 		.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2362 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT
2363 	},
2364 	{
2365 		.test_descr = "cipher-only - NULL algo - x8 - encryption",
2366 		.test_data = &null_test_data_chain_x8_multiple,
2367 		.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2368 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_NULL |
2369 				BLOCKCIPHER_TEST_TARGET_PMD_QAT
2370 	},
2371 	{
2372 		.test_descr = "cipher-only - NULL algo - x8 - decryption",
2373 		.test_data = &null_test_data_chain_x8_multiple,
2374 		.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2375 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_NULL |
2376 			BLOCKCIPHER_TEST_TARGET_PMD_QAT
2377 	},
2378 	{
2379 		.test_descr = "cipher-only - NULL algo - x4 - encryption",
2380 		.test_data = &null_test_data_chain_x4_multiple,
2381 		.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2382 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_NULL |
2383 			BLOCKCIPHER_TEST_TARGET_PMD_QAT
2384 	},
2385 	{
2386 		.test_descr = "cipher-only - NULL algo - x4 - decryption",
2387 		.test_data = &null_test_data_chain_x4_multiple,
2388 		.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2389 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_NULL |
2390 			BLOCKCIPHER_TEST_TARGET_PMD_QAT
2391 	},
2392 	{
2393 		.test_descr = "cipher-only - NULL algo - x4 - encryption - OOP",
2394 		.test_data = &null_test_data_chain_x4_multiple,
2395 		.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2396 		.feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
2397 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT
2398 	},
2399 	{
2400 		.test_descr = "cipher-only - NULL algo - x4 - decryption - OOP",
2401 		.test_data = &null_test_data_chain_x4_multiple,
2402 		.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2403 		.feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
2404 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT
2405 		},
2406 	{
2407 		.test_descr = "cipher-only - NULL algo - x1 - encryption",
2408 		.test_data = &null_test_data_chain_x1_multiple,
2409 		.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2410 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_NULL |
2411 			BLOCKCIPHER_TEST_TARGET_PMD_QAT
2412 	},
2413 	{
2414 		.test_descr = "cipher-only - NULL algo - x1 - decryption",
2415 		.test_data = &null_test_data_chain_x1_multiple,
2416 		.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2417 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_NULL |
2418 			BLOCKCIPHER_TEST_TARGET_PMD_QAT
2419 	},
2420 };
2421 
2422 static const struct blockcipher_test_case aes_docsis_test_cases[] = {
2423 
2424 	{
2425 		.test_descr = "AES-DOCSIS-BPI Full Block Encryption",
2426 		.test_data = &aes_test_data_docsis_1,
2427 		.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2428 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
2429 			BLOCKCIPHER_TEST_TARGET_PMD_QAT
2430 	},
2431 	{
2432 		.test_descr = "AES-DOCSIS-BPI Runt Block Encryption",
2433 		.test_data = &aes_test_data_docsis_2,
2434 		.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2435 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
2436 			BLOCKCIPHER_TEST_TARGET_PMD_QAT
2437 	},
2438 	{
2439 		.test_descr = "AES-DOCSIS-BPI Uneven Encryption",
2440 		.test_data = &aes_test_data_docsis_3,
2441 		.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2442 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
2443 			BLOCKCIPHER_TEST_TARGET_PMD_QAT
2444 	},
2445 	{
2446 		.test_descr = "AES-DOCSIS-BPI Full Block Decryption",
2447 		.test_data = &aes_test_data_docsis_1,
2448 		.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2449 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
2450 			BLOCKCIPHER_TEST_TARGET_PMD_QAT
2451 	},
2452 	{
2453 		.test_descr = "AES-DOCSIS-BPI Runt Block Decryption",
2454 		.test_data = &aes_test_data_docsis_2,
2455 		.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2456 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
2457 			BLOCKCIPHER_TEST_TARGET_PMD_QAT
2458 	},
2459 	{
2460 		.test_descr = "AES-DOCSIS-BPI Uneven Decryption",
2461 		.test_data = &aes_test_data_docsis_3,
2462 		.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2463 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
2464 			BLOCKCIPHER_TEST_TARGET_PMD_QAT
2465 	},
2466 	{
2467 		.test_descr = "AES-DOCSIS-BPI OOP Full Block Encryption",
2468 		.test_data = &aes_test_data_docsis_1,
2469 		.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2470 		.feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
2471 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT |
2472 			BLOCKCIPHER_TEST_TARGET_PMD_MB
2473 	},
2474 	{
2475 		.test_descr = "AES-DOCSIS-BPI OOP Runt Block Encryption",
2476 		.test_data = &aes_test_data_docsis_2,
2477 		.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2478 		.feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
2479 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT |
2480 			BLOCKCIPHER_TEST_TARGET_PMD_MB
2481 	},
2482 
2483 	{
2484 		.test_descr = "AES-DOCSIS-BPI OOP Uneven Block Encryption",
2485 		.test_data = &aes_test_data_docsis_3,
2486 		.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2487 		.feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
2488 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT |
2489 			BLOCKCIPHER_TEST_TARGET_PMD_MB
2490 	},
2491 	{
2492 		.test_descr = "AES-DOCSIS-BPI OOP Full Block Decryption",
2493 		.test_data = &aes_test_data_docsis_1,
2494 		.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2495 		.feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
2496 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT |
2497 			BLOCKCIPHER_TEST_TARGET_PMD_MB
2498 	},
2499 	{
2500 		.test_descr = "AES-DOCSIS-BPI OOP Runt Block Decryption",
2501 		.test_data = &aes_test_data_docsis_2,
2502 		.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2503 		.feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
2504 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT |
2505 			BLOCKCIPHER_TEST_TARGET_PMD_MB
2506 	},
2507 	{
2508 		.test_descr = "AES-DOCSIS-BPI OOP Uneven Block Decryption",
2509 		.test_data = &aes_test_data_docsis_3,
2510 		.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2511 		.feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
2512 		.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT |
2513 			BLOCKCIPHER_TEST_TARGET_PMD_MB
2514 	},
2515 };
2516 #endif /* TEST_CRYPTODEV_AES_TEST_VECTORS_H_ */
2517