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