test/crypto: add NULL algo to loop test mechanism
[dpdk.git] / app / test / test_cryptodev_aes_test_vectors.h
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         },
1542                 {
1543                 .test_descr = "AES-128-CTR HMAC-SHA1 Encryption Digest",
1544                 .test_data = &aes_test_data_1,
1545                 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1546                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1547                         BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1548                         BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1549                         BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
1550                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1551                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
1552                         BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
1553                         BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
1554                         BLOCKCIPHER_TEST_TARGET_PMD_CCP
1555         },
1556         {
1557                 .test_descr = "AES-128-CTR HMAC-SHA1 Decryption Digest "
1558                         "Verify",
1559                 .test_data = &aes_test_data_1,
1560                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1561                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1562                         BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1563                         BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1564                         BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
1565                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1566                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
1567                         BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
1568                         BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
1569                         BLOCKCIPHER_TEST_TARGET_PMD_CCP
1570         },
1571         {
1572                 .test_descr = "AES-192-CTR XCBC Encryption Digest",
1573                 .test_data = &aes_test_data_2,
1574                 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1575                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1576                         BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1577                         BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER
1578         },
1579         {
1580                 .test_descr = "AES-192-CTR XCBC Decryption Digest Verify",
1581                 .test_data = &aes_test_data_2,
1582                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1583                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1584                         BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1585                         BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER
1586         },
1587         {
1588                 .test_descr = "AES-192-CTR XCBC Decryption Digest Verify "
1589                                 "Scatter Gather",
1590                 .test_data = &aes_test_data_2,
1591                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1592                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |
1593                         BLOCKCIPHER_TEST_FEATURE_OOP,
1594                 .pmd_mask =
1595                         BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1596                         BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER
1597         },
1598         {
1599                 .test_descr = "AES-256-CTR HMAC-SHA1 Encryption Digest",
1600                 .test_data = &aes_test_data_3,
1601                 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1602                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1603                         BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1604                         BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1605                         BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
1606                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1607                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
1608                         BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
1609                         BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
1610                         BLOCKCIPHER_TEST_TARGET_PMD_CCP
1611         },
1612         {
1613                 .test_descr = "AES-256-CTR HMAC-SHA1 Decryption Digest "
1614                         "Verify",
1615                 .test_data = &aes_test_data_3,
1616                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1617                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1618                         BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1619                         BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1620                         BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
1621                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1622                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
1623                         BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
1624                         BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
1625                         BLOCKCIPHER_TEST_TARGET_PMD_CCP
1626         },
1627         {
1628                 .test_descr = "AES-128-CBC HMAC-SHA1 Encryption Digest",
1629                 .test_data = &aes_test_data_4,
1630                 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1631                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 |
1632                         BLOCKCIPHER_TEST_TARGET_PMD_MB |
1633                         BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1634                         BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1635                         BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
1636                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1637                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
1638                         BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
1639                         BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
1640                         BLOCKCIPHER_TEST_TARGET_PMD_CCP |
1641                         BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
1642         },
1643         {
1644                 .test_descr = "AES-128-CBC HMAC-SHA1 Encryption Digest "
1645                         "(short buffers)",
1646                 .test_data = &aes_test_data_13,
1647                 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1648                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 |
1649                         BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
1650                         BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
1651         },
1652         {
1653                 .test_descr = "AES-128-CBC HMAC-SHA1 Encryption Digest "
1654                                 "Scatter Gather",
1655                 .test_data = &aes_test_data_4,
1656                 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1657                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |
1658                         BLOCKCIPHER_TEST_FEATURE_OOP,
1659                 .pmd_mask =
1660                         BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1661                         BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1662                         BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
1663                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1664                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
1665                         BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
1666                         BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
1667         },
1668         {
1669                 .test_descr = "AES-128-CBC HMAC-SHA1 Decryption Digest "
1670                         "Verify",
1671                 .test_data = &aes_test_data_4,
1672                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1673                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 |
1674                         BLOCKCIPHER_TEST_TARGET_PMD_MB |
1675                         BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1676                         BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1677                         BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
1678                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1679                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
1680                         BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
1681                         BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
1682                         BLOCKCIPHER_TEST_TARGET_PMD_CCP |
1683                         BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
1684         },
1685         {
1686                 .test_descr = "AES-128-CBC HMAC-SHA1 Decryption Digest "
1687                         "Verify Scatter Gather",
1688                 .test_data = &aes_test_data_4,
1689                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1690                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SG,
1691                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1692                             BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
1693                             BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
1694                             BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
1695         },
1696         {
1697                 .test_descr = "AES-128-CBC HMAC-SHA1 Decryption Digest "
1698                         "Verify (short buffers)",
1699                 .test_data = &aes_test_data_13,
1700                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1701                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 |
1702                         BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
1703                         BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
1704         },
1705         {
1706                 .test_descr = "AES-128-CBC HMAC-SHA256 Encryption Digest",
1707                 .test_data = &aes_test_data_5,
1708                 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1709                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 |
1710                         BLOCKCIPHER_TEST_TARGET_PMD_MB |
1711                         BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1712                         BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1713                         BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
1714                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1715                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
1716                         BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
1717                         BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
1718                         BLOCKCIPHER_TEST_TARGET_PMD_CCP |
1719                         BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
1720         },
1721         {
1722                 .test_descr = "AES-128-CBC HMAC-SHA256 Encryption Digest "
1723                         "(short buffers)",
1724                 .test_data = &aes_test_data_12,
1725                 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1726                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 |
1727                         BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
1728                         BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
1729         },
1730         {
1731                 .test_descr = "AES-128-CBC HMAC-SHA256 Decryption Digest "
1732                         "Verify",
1733                 .test_data = &aes_test_data_5,
1734                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1735                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 |
1736                         BLOCKCIPHER_TEST_TARGET_PMD_MB |
1737                         BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1738                         BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1739                         BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
1740                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1741                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
1742                         BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
1743                         BLOCKCIPHER_TEST_TARGET_PMD_CCP |
1744                         BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
1745         },
1746         {
1747                 .test_descr = "AES-128-CBC HMAC-SHA256 Decryption Digest "
1748                         "Verify (short buffers)",
1749                 .test_data = &aes_test_data_12,
1750                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1751                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 |
1752                         BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
1753                         BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
1754         },
1755         {
1756                 .test_descr = "AES-128-CBC HMAC-SHA512 Encryption Digest",
1757                 .test_data = &aes_test_data_6,
1758                 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1759                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1760                         BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1761                         BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1762                         BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
1763                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1764                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
1765                         BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
1766                         BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
1767                         BLOCKCIPHER_TEST_TARGET_PMD_CCP |
1768                         BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
1769         },
1770         {
1771                 .test_descr = "AES-128-CBC HMAC-SHA512 Encryption Digest "
1772                         "Sessionless",
1773                 .test_data = &aes_test_data_6,
1774                 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1775                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SESSIONLESS,
1776                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1777                         BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
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                                 "Scatter Gather 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                         BLOCKCIPHER_TEST_FEATURE_SG |
1788                         BLOCKCIPHER_TEST_FEATURE_OOP,
1789                 .pmd_mask =
1790                         BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1791                         BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
1792         },
1793         {
1794                 .test_descr = "AES-128-CBC HMAC-SHA512 Decryption Digest "
1795                         "Verify",
1796                 .test_data = &aes_test_data_6,
1797                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1798                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1799                         BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1800                         BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1801                         BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
1802                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1803                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
1804                         BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
1805                         BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
1806                         BLOCKCIPHER_TEST_TARGET_PMD_CCP |
1807                         BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
1808         },
1809         {
1810                 .test_descr = "AES-128-CBC HMAC-SHA512 Decryption Digest "
1811                         "Verify Scatter Gather",
1812                 .test_data = &aes_test_data_6,
1813                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1814                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |
1815                         BLOCKCIPHER_TEST_FEATURE_OOP,
1816                 .pmd_mask =
1817                         BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1818                         BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1819                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1820                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
1821                         BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
1822                         BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
1823         },
1824         {
1825                 .test_descr = "AES-128-CBC XCBC Encryption Digest",
1826                 .test_data = &aes_test_data_7,
1827                 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1828                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1829                         BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1830                         BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER
1831         },
1832         {
1833                 .test_descr = "AES-128-CBC XCBC Decryption Digest Verify",
1834                 .test_data = &aes_test_data_7,
1835                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1836                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1837                         BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1838                         BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER
1839         },
1840         {
1841                 .test_descr = "AES-128-CBC HMAC-SHA1 Encryption Digest "
1842                         "OOP",
1843                 .test_data = &aes_test_data_4,
1844                 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1845                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
1846                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 |
1847                         BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1848                         BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1849                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1850                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
1851                         BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
1852                         BLOCKCIPHER_TEST_TARGET_PMD_MB |
1853                         BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
1854         },
1855         {
1856                 .test_descr = "AES-128-CBC HMAC-SHA1 Encryption Digest "
1857                         "OOP Offset",
1858                 .test_data = &aes_test_data_14,
1859                 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1860                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
1861                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1862                         BLOCKCIPHER_TEST_TARGET_PMD_QAT
1863         },
1864         {
1865                 .test_descr = "AES-128-CBC HMAC-SHA1 Decryption Digest "
1866                         "Verify OOP",
1867                 .test_data = &aes_test_data_4,
1868                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1869                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
1870                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 |
1871                         BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1872                         BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1873                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1874                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
1875                         BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
1876                         BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX |
1877                         BLOCKCIPHER_TEST_TARGET_PMD_MB
1878         },
1879         {
1880                 .test_descr = "AES-128-CBC HMAC-SHA224 Encryption Digest",
1881                 .test_data = &aes_test_data_8,
1882                 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1883                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1884                         BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1885                         BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1886                         BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
1887                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1888                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
1889                         BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
1890                         BLOCKCIPHER_TEST_TARGET_PMD_CCP |
1891                         BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
1892         },
1893         {
1894                 .test_descr = "AES-128-CBC HMAC-SHA224 Decryption Digest "
1895                         "Verify",
1896                 .test_data = &aes_test_data_8,
1897                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1898                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1899                         BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1900                         BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1901                         BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
1902                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1903                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
1904                         BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
1905                         BLOCKCIPHER_TEST_TARGET_PMD_CCP |
1906                         BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
1907         },
1908         {
1909                 .test_descr = "AES-128-CBC HMAC-SHA384 Encryption Digest",
1910                 .test_data = &aes_test_data_9,
1911                 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1912                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1913                         BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1914                         BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1915                         BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
1916                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1917                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
1918                         BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
1919                         BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
1920                         BLOCKCIPHER_TEST_TARGET_PMD_CCP
1921         },
1922         {
1923                 .test_descr = "AES-128-CBC HMAC-SHA384 Decryption Digest "
1924                         "Verify",
1925                 .test_data = &aes_test_data_9,
1926                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1927                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1928                         BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1929                         BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1930                         BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
1931                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1932                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
1933                         BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
1934                         BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
1935                         BLOCKCIPHER_TEST_TARGET_PMD_CCP
1936         },
1937         {
1938                 .test_descr = "AES-128-CBC HMAC-SHA1 Encryption Digest "
1939                                 "Sessionless",
1940                 .test_data = &aes_test_data_4,
1941                 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1942                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SESSIONLESS,
1943                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 |
1944                         BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1945                         BLOCKCIPHER_TEST_TARGET_PMD_CCP |
1946                         BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
1947         },
1948         {
1949                 .test_descr =
1950                                 "AES-128-CBC HMAC-SHA1 Decryption Digest "
1951                                 "Verify Sessionless",
1952                 .test_data = &aes_test_data_4,
1953                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1954                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SESSIONLESS,
1955                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 |
1956                         BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1957                         BLOCKCIPHER_TEST_TARGET_PMD_CCP |
1958                         BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
1959         },
1960         {
1961                 .test_descr = "NULL-CIPHER-NULL-AUTH encrypt & gen x8byte",
1962                 .test_data = &null_test_data_chain_x8_multiple,
1963                 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1964                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_NULL |
1965                         BLOCKCIPHER_TEST_TARGET_PMD_QAT
1966         },
1967         {
1968                 .test_descr = "NULL-AUTH-NULL-CIPHER verify & decrypt x8byte",
1969                 .test_data = &null_test_data_chain_x8_multiple,
1970                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1971                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_NULL |
1972                         BLOCKCIPHER_TEST_TARGET_PMD_QAT
1973         },
1974         {
1975                 .test_descr = "NULL-CIPHER-NULL-AUTH encrypt & gen x8byte - OOP",
1976                 .test_data = &null_test_data_chain_x8_multiple,
1977                 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1978                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
1979                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT
1980         },
1981         {
1982                 .test_descr = "NULL-AUTH-NULL-CIPHER verify & decrypt x8byte - OOP",
1983                 .test_data = &null_test_data_chain_x8_multiple,
1984                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1985                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
1986                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT
1987         },
1988         {
1989                 .test_descr = "NULL-CIPHER-NULL-AUTH encrypt & gen x4byte",
1990                 .test_data = &null_test_data_chain_x4_multiple,
1991                 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1992                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_NULL |
1993                         BLOCKCIPHER_TEST_TARGET_PMD_QAT
1994         },
1995         {
1996                 .test_descr = "NULL-AUTH-NULL-CIPHER verify & decrypt x4byte",
1997                 .test_data = &null_test_data_chain_x4_multiple,
1998                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1999                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_NULL |
2000                         BLOCKCIPHER_TEST_TARGET_PMD_QAT
2001         },
2002         {
2003                 .test_descr = "NULL-CIPHER-NULL-AUTH encrypt & gen x4byte - OOP",
2004                 .test_data = &null_test_data_chain_x4_multiple,
2005                 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
2006                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
2007                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT
2008         },
2009         {
2010                 .test_descr = "NULL-AUTH-NULL-CIPHER verify & decrypt x4byte - OOP",
2011                 .test_data = &null_test_data_chain_x4_multiple,
2012                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
2013                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
2014                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT
2015         },
2016         {
2017                 .test_descr = "NULL-CIPHER-NULL-AUTH encrypt & gen x1byte",
2018                 .test_data = &null_test_data_chain_x1_multiple,
2019                 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
2020                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_NULL |
2021                         BLOCKCIPHER_TEST_TARGET_PMD_QAT
2022         },
2023         {
2024                 .test_descr = "NULL-AUTH-NULL-CIPHER verify & decrypt x1byte",
2025                 .test_data = &null_test_data_chain_x1_multiple,
2026                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
2027                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_NULL |
2028                         BLOCKCIPHER_TEST_TARGET_PMD_QAT
2029         },
2030         {
2031                 .test_descr = "NULL-CIPHER-NULL-AUTH encrypt & gen x1byte - OOP",
2032                 .test_data = &null_test_data_chain_x1_multiple,
2033                 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
2034                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
2035                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT
2036         },
2037         {
2038                 .test_descr = "NULL-AUTH-NULL-CIPHER verify & decrypt x1byte - OOP",
2039                 .test_data = &null_test_data_chain_x1_multiple,
2040                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
2041                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
2042                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT
2043         },
2044 };
2045
2046 static const struct blockcipher_test_case aes_cipheronly_test_cases[] = {
2047         {
2048                 .test_descr = "AES-128-CBC Encryption",
2049                 .test_data = &aes_test_data_4,
2050                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2051                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
2052                         BLOCKCIPHER_TEST_TARGET_PMD_QAT |
2053                         BLOCKCIPHER_TEST_TARGET_PMD_MB |
2054                         BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
2055                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
2056                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
2057                         BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
2058                         BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
2059                         BLOCKCIPHER_TEST_TARGET_PMD_CCP |
2060                         BLOCKCIPHER_TEST_TARGET_PMD_VIRTIO |
2061                         BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
2062         },
2063         {
2064                 .test_descr = "AES-128-CBC Decryption",
2065                 .test_data = &aes_test_data_4,
2066                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
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-192-CBC Encryption",
2081                 .test_data = &aes_test_data_10,
2082                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
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_CCP |
2091                         BLOCKCIPHER_TEST_TARGET_PMD_VIRTIO |
2092                         BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
2093         },
2094         {
2095                 .test_descr = "AES-192-CBC Encryption Scater gather",
2096                 .test_data = &aes_test_data_10,
2097                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2098                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |
2099                         BLOCKCIPHER_TEST_FEATURE_OOP,
2100                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
2101                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
2102                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
2103                         BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
2104                         BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
2105         },
2106         {
2107                 .test_descr = "AES-192-CBC Decryption",
2108                 .test_data = &aes_test_data_10,
2109                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2110                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
2111                         BLOCKCIPHER_TEST_TARGET_PMD_QAT |
2112                         BLOCKCIPHER_TEST_TARGET_PMD_MB |
2113                         BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
2114                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
2115                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
2116                         BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
2117                         BLOCKCIPHER_TEST_TARGET_PMD_CCP |
2118                         BLOCKCIPHER_TEST_TARGET_PMD_VIRTIO |
2119                         BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
2120         },
2121         {
2122                 .test_descr = "AES-192-CBC Decryption Scatter Gather",
2123                 .test_data = &aes_test_data_10,
2124                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2125                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SG,
2126                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
2127                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
2128                         BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
2129                         BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
2130         },
2131         {
2132                 .test_descr = "AES-256-CBC Encryption",
2133                 .test_data = &aes_test_data_11,
2134                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2135                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
2136                         BLOCKCIPHER_TEST_TARGET_PMD_QAT |
2137                         BLOCKCIPHER_TEST_TARGET_PMD_MB |
2138                         BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
2139                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
2140                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
2141                         BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
2142                         BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
2143                         BLOCKCIPHER_TEST_TARGET_PMD_CCP |
2144                         BLOCKCIPHER_TEST_TARGET_PMD_VIRTIO |
2145                         BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
2146         },
2147         {
2148                 .test_descr = "AES-256-CBC Decryption",
2149                 .test_data = &aes_test_data_11,
2150                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
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 OOP Encryption",
2165                 .test_data = &aes_test_data_11,
2166                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2167                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
2168                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
2169                         BLOCKCIPHER_TEST_TARGET_PMD_QAT |
2170                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
2171                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
2172                         BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
2173                         BLOCKCIPHER_TEST_TARGET_PMD_CCP |
2174                         BLOCKCIPHER_TEST_TARGET_PMD_VIRTIO |
2175                         BLOCKCIPHER_TEST_TARGET_PMD_MB
2176         },
2177         {
2178                 .test_descr = "AES-256-CBC OOP Decryption",
2179                 .test_data = &aes_test_data_11,
2180                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2181                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
2182                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
2183                         BLOCKCIPHER_TEST_TARGET_PMD_QAT |
2184                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
2185                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
2186                         BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
2187                         BLOCKCIPHER_TEST_TARGET_PMD_CCP |
2188                         BLOCKCIPHER_TEST_TARGET_PMD_VIRTIO |
2189                         BLOCKCIPHER_TEST_TARGET_PMD_MB
2190         },
2191         {
2192                 .test_descr = "AES-128-CTR Encryption",
2193                 .test_data = &aes_test_data_1,
2194                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2195                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
2196                         BLOCKCIPHER_TEST_TARGET_PMD_QAT |
2197                         BLOCKCIPHER_TEST_TARGET_PMD_MB |
2198                         BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
2199                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
2200                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
2201                         BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
2202                         BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
2203                         BLOCKCIPHER_TEST_TARGET_PMD_CCP |
2204                         BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
2205         },
2206         {
2207                 .test_descr = "AES-128-CTR Decryption",
2208                 .test_data = &aes_test_data_1,
2209                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2210                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
2211                         BLOCKCIPHER_TEST_TARGET_PMD_QAT |
2212                         BLOCKCIPHER_TEST_TARGET_PMD_MB |
2213                         BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
2214                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
2215                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
2216                         BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
2217                         BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
2218                         BLOCKCIPHER_TEST_TARGET_PMD_CCP |
2219                         BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
2220         },
2221         {
2222                 .test_descr = "AES-192-CTR Encryption",
2223                 .test_data = &aes_test_data_2,
2224                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2225                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
2226                         BLOCKCIPHER_TEST_TARGET_PMD_QAT |
2227                         BLOCKCIPHER_TEST_TARGET_PMD_MB |
2228                         BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
2229                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
2230                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
2231                         BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
2232                         BLOCKCIPHER_TEST_TARGET_PMD_CCP |
2233                         BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
2234         },
2235         {
2236                 .test_descr = "AES-192-CTR Decryption",
2237                 .test_data = &aes_test_data_2,
2238                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2239                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
2240                         BLOCKCIPHER_TEST_TARGET_PMD_QAT |
2241                         BLOCKCIPHER_TEST_TARGET_PMD_MB |
2242                         BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
2243                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
2244                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
2245                         BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
2246                         BLOCKCIPHER_TEST_TARGET_PMD_CCP |
2247                         BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
2248         },
2249         {
2250                 .test_descr = "AES-256-CTR Encryption",
2251                 .test_data = &aes_test_data_3,
2252                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2253                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
2254                         BLOCKCIPHER_TEST_TARGET_PMD_QAT |
2255                         BLOCKCIPHER_TEST_TARGET_PMD_MB |
2256                         BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
2257                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
2258                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
2259                         BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
2260                         BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
2261                         BLOCKCIPHER_TEST_TARGET_PMD_CCP |
2262                         BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
2263         },
2264         {
2265                 .test_descr = "AES-256-CTR Decryption",
2266                 .test_data = &aes_test_data_3,
2267                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2268                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
2269                         BLOCKCIPHER_TEST_TARGET_PMD_QAT |
2270                         BLOCKCIPHER_TEST_TARGET_PMD_MB |
2271                         BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
2272                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
2273                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
2274                         BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
2275                         BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
2276                         BLOCKCIPHER_TEST_TARGET_PMD_CCP |
2277                         BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
2278         },
2279         {
2280                 .test_descr = "AES-128-CTR Encryption (12-byte IV)",
2281                 .test_data = &aes_test_data_1_IV_12_bytes,
2282                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2283                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
2284                             BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
2285         },
2286         {
2287                 .test_descr = "AES-192-CTR Encryption (12-byte IV)",
2288                 .test_data = &aes_test_data_2_IV_12_bytes,
2289                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2290                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
2291                             BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
2292         },
2293         {
2294                 .test_descr = "AES-256-CTR Encryption (12-byte IV)",
2295                 .test_data = &aes_test_data_3_IV_12_bytes,
2296                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2297                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
2298                             BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
2299         },
2300         {
2301                 .test_descr = "AES-128-XTS Encryption (16-byte plaintext)",
2302                 .test_data = &aes_test_data_xts_key_32_pt_16,
2303                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2304                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT
2305         },
2306         {
2307                 .test_descr = "AES-128-XTS Decryption (16-byte plaintext)",
2308                 .test_data = &aes_test_data_xts_key_32_pt_16,
2309                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2310                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT
2311         },
2312         {
2313                 .test_descr = "AES-128-XTS Encryption (32-byte plaintext)",
2314                 .test_data = &aes_test_data_xts_key_32_pt_32,
2315                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2316                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT
2317         },
2318         {
2319                 .test_descr = "AES-128-XTS Decryption (32-byte plaintext)",
2320                 .test_data = &aes_test_data_xts_key_32_pt_32,
2321                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2322                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT
2323         },
2324         {
2325                 .test_descr = "AES-256-XTS Encryption (32-byte plaintext)",
2326                 .test_data = &aes_test_data_xts_key_64_pt_32,
2327                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2328                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT
2329         },
2330         {
2331                 .test_descr = "AES-256-XTS Decryption (32-byte plaintext)",
2332                 .test_data = &aes_test_data_xts_key_64_pt_32,
2333                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2334                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT
2335         },
2336         {
2337                 .test_descr = "AES-256-XTS Encryption (48-byte plaintext)",
2338                 .test_data = &aes_test_data_xts_key_64_pt_48,
2339                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2340                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT
2341         },
2342         {
2343                 .test_descr = "AES-256-XTS Decryption (48-byte plaintext)",
2344                 .test_data = &aes_test_data_xts_key_64_pt_48,
2345                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2346                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT
2347         },
2348         {
2349                 .test_descr = "cipher-only - NULL algo - x8 - encryption",
2350                 .test_data = &null_test_data_chain_x8_multiple,
2351                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2352                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_NULL |
2353                                 BLOCKCIPHER_TEST_TARGET_PMD_QAT
2354         },
2355         {
2356                 .test_descr = "cipher-only - NULL algo - x8 - decryption",
2357                 .test_data = &null_test_data_chain_x8_multiple,
2358                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2359                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_NULL |
2360                         BLOCKCIPHER_TEST_TARGET_PMD_QAT
2361         },
2362         {
2363                 .test_descr = "cipher-only - NULL algo - x4 - encryption",
2364                 .test_data = &null_test_data_chain_x4_multiple,
2365                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2366                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_NULL |
2367                         BLOCKCIPHER_TEST_TARGET_PMD_QAT
2368         },
2369         {
2370                 .test_descr = "cipher-only - NULL algo - x4 - decryption",
2371                 .test_data = &null_test_data_chain_x4_multiple,
2372                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2373                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_NULL |
2374                         BLOCKCIPHER_TEST_TARGET_PMD_QAT
2375         },
2376         {
2377                 .test_descr = "cipher-only - NULL algo - x4 - encryption - OOP",
2378                 .test_data = &null_test_data_chain_x4_multiple,
2379                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2380                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
2381                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT
2382         },
2383         {
2384                 .test_descr = "cipher-only - NULL algo - x4 - decryption - OOP",
2385                 .test_data = &null_test_data_chain_x4_multiple,
2386                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2387                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
2388                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT
2389                 },
2390         {
2391                 .test_descr = "cipher-only - NULL algo - x1 - encryption",
2392                 .test_data = &null_test_data_chain_x1_multiple,
2393                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2394                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_NULL |
2395                         BLOCKCIPHER_TEST_TARGET_PMD_QAT
2396         },
2397         {
2398                 .test_descr = "cipher-only - NULL algo - x1 - decryption",
2399                 .test_data = &null_test_data_chain_x1_multiple,
2400                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2401                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_NULL |
2402                         BLOCKCIPHER_TEST_TARGET_PMD_QAT
2403         },
2404 };
2405
2406 static const struct blockcipher_test_case aes_docsis_test_cases[] = {
2407
2408         {
2409                 .test_descr = "AES-DOCSIS-BPI Full Block Encryption",
2410                 .test_data = &aes_test_data_docsis_1,
2411                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2412                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
2413                         BLOCKCIPHER_TEST_TARGET_PMD_QAT
2414         },
2415         {
2416                 .test_descr = "AES-DOCSIS-BPI Runt Block Encryption",
2417                 .test_data = &aes_test_data_docsis_2,
2418                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2419                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
2420                         BLOCKCIPHER_TEST_TARGET_PMD_QAT
2421         },
2422         {
2423                 .test_descr = "AES-DOCSIS-BPI Uneven Encryption",
2424                 .test_data = &aes_test_data_docsis_3,
2425                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2426                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
2427                         BLOCKCIPHER_TEST_TARGET_PMD_QAT
2428         },
2429         {
2430                 .test_descr = "AES-DOCSIS-BPI Full Block Decryption",
2431                 .test_data = &aes_test_data_docsis_1,
2432                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2433                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
2434                         BLOCKCIPHER_TEST_TARGET_PMD_QAT
2435         },
2436         {
2437                 .test_descr = "AES-DOCSIS-BPI Runt Block Decryption",
2438                 .test_data = &aes_test_data_docsis_2,
2439                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2440                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
2441                         BLOCKCIPHER_TEST_TARGET_PMD_QAT
2442         },
2443         {
2444                 .test_descr = "AES-DOCSIS-BPI Uneven Decryption",
2445                 .test_data = &aes_test_data_docsis_3,
2446                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2447                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
2448                         BLOCKCIPHER_TEST_TARGET_PMD_QAT
2449         },
2450         {
2451                 .test_descr = "AES-DOCSIS-BPI OOP Full Block Encryption",
2452                 .test_data = &aes_test_data_docsis_1,
2453                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2454                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
2455                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT |
2456                         BLOCKCIPHER_TEST_TARGET_PMD_MB
2457         },
2458         {
2459                 .test_descr = "AES-DOCSIS-BPI OOP Runt Block Encryption",
2460                 .test_data = &aes_test_data_docsis_2,
2461                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2462                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
2463                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT |
2464                         BLOCKCIPHER_TEST_TARGET_PMD_MB
2465         },
2466
2467         {
2468                 .test_descr = "AES-DOCSIS-BPI OOP Uneven Block Encryption",
2469                 .test_data = &aes_test_data_docsis_3,
2470                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2471                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
2472                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT |
2473                         BLOCKCIPHER_TEST_TARGET_PMD_MB
2474         },
2475         {
2476                 .test_descr = "AES-DOCSIS-BPI OOP Full Block Decryption",
2477                 .test_data = &aes_test_data_docsis_1,
2478                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2479                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
2480                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT |
2481                         BLOCKCIPHER_TEST_TARGET_PMD_MB
2482         },
2483         {
2484                 .test_descr = "AES-DOCSIS-BPI OOP Runt Block Decryption",
2485                 .test_data = &aes_test_data_docsis_2,
2486                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
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 Uneven Block Decryption",
2493                 .test_data = &aes_test_data_docsis_3,
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 #endif /* TEST_CRYPTODEV_AES_TEST_VECTORS_H_ */