xref: /dpdk/app/test/test_cryptodev_security_docsis_test_vectors.h (revision 68a03efeed657e6e05f281479b33b51102797e15)
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(c) 2020 Intel Corporation
3  */
4 
5 #ifndef TEST_CRYPTODEV_SECURITY_DOCSIS_TEST_VECTORS_H_
6 #define TEST_CRYPTODEV_SECURITY_DOCSIS_TEST_VECTORS_H_
7 
8 /*
9  * DOCSIS test data and cases
10  * - encrypt direction: CRC-Crypto
11  * - decrypt direction: Crypto-CRC
12  */
13 
14 struct docsis_test_data {
15 	struct {
16 		uint8_t data[32];
17 		unsigned int len;
18 	} key;
19 
20 	struct {
21 		uint8_t data[16] __rte_aligned(16);
22 		unsigned int len;
23 	} iv;
24 
25 	struct {
26 		uint8_t data[1024];
27 		unsigned int len;
28 		unsigned int cipher_offset;
29 		unsigned int crc_offset;
30 		bool no_cipher;
31 		bool no_crc;
32 	} plaintext;
33 
34 	struct {
35 		uint8_t data[1024];
36 		unsigned int len;
37 		unsigned int cipher_offset;
38 		unsigned int crc_offset;
39 		bool no_cipher;
40 		bool no_crc;
41 	} ciphertext;
42 };
43 
44 struct docsis_test_data docsis_test_case_1 = {
45 	.key = {
46 		.data = {
47 			0x00, 0x00, 0x00, 0x00, 0xAA, 0xBB, 0xCC, 0xDD,
48 			0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55
49 		},
50 		.len = 16
51 	},
52 	.iv = {
53 		.data = {
54 			0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11,
55 			0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
56 		},
57 		.len = 16
58 	},
59 	.plaintext = {
60 		.data = {
61 			/* DOCSIS header */
62 			0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
63 			/* Ethernet frame */
64 			0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05,
65 			0x04, 0x03, 0x02, 0x01, 0x08, 0x00,
66 			/* CRC */
67 			0xFF, 0xFF, 0xFF, 0xFF
68 		},
69 		.len = 24,
70 		.cipher_offset = 18,
71 		.crc_offset = 6,
72 		.no_cipher = false,
73 		.no_crc = false
74 	},
75 	.ciphertext = {
76 		.data = {
77 			/* DOCSIS header */
78 			0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
79 			/* Ethernet frame */
80 			0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05,
81 			0x04, 0x03, 0x02, 0x01, 0x7A, 0xF0,
82 			/* CRC */
83 			0x61, 0xF8, 0x63, 0x42
84 		},
85 		.len = 24,
86 		.cipher_offset = 18,
87 		.crc_offset = 6,
88 		.no_cipher = false,
89 		.no_crc = false
90 	}
91 };
92 
93 struct docsis_test_data docsis_test_case_2 = {
94 	.key = {
95 		.data = {
96 			0x00, 0x00, 0x00, 0x00, 0xAA, 0xBB, 0xCC, 0xDD,
97 			0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55
98 		},
99 		.len = 16
100 	},
101 	.iv = {
102 		.data = {
103 			0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11,
104 			0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
105 		},
106 		.len = 16
107 	},
108 	.plaintext = {
109 		.data = {
110 			/* DOCSIS header */
111 			0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
112 			/* Ethernet frame */
113 			0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05,
114 			0x04, 0x03, 0x02, 0x01, 0x08, 0x00, 0xAA,
115 			/* CRC */
116 			0xFF, 0xFF, 0xFF, 0xFF
117 		},
118 		.len = 25,
119 		.cipher_offset = 18,
120 		.crc_offset = 6,
121 		.no_cipher = false,
122 		.no_crc = false
123 	},
124 	.ciphertext = {
125 		.data = {
126 			/* DOCSIS header */
127 			0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
128 			/* Ethernet frame */
129 			0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05,
130 			0x04, 0x03, 0x02, 0x01, 0x7A, 0xF0, 0xDF,
131 			/* CRC */
132 			0xFE, 0x12, 0x99, 0xE5
133 		},
134 		.len = 25,
135 		.cipher_offset = 18,
136 		.crc_offset = 6,
137 		.no_cipher = false,
138 		.no_crc = false
139 	}
140 };
141 
142 struct docsis_test_data docsis_test_case_3 = {
143 	.key = {
144 		.data = {
145 			0x00, 0x00, 0x00, 0x00, 0xAA, 0xBB, 0xCC, 0xDD,
146 			0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55
147 		},
148 		.len = 16
149 	},
150 	.iv = {
151 		.data = {
152 			0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11,
153 			0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
154 		},
155 		.len = 16
156 	},
157 	.plaintext = {
158 		.data = {
159 			/* DOCSIS header */
160 			0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
161 			/* Ethernet frame */
162 			0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05,
163 			0x04, 0x03, 0x02, 0x01, 0x08, 0x00, 0xAA, 0xAA,
164 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
165 			/* CRC */
166 			0xFF, 0xFF, 0xFF, 0xFF
167 		},
168 		.len = 34,
169 		.cipher_offset = 18,
170 		.crc_offset = 6,
171 		.no_cipher = false,
172 		.no_crc = false
173 	},
174 	.ciphertext = {
175 		.data = {
176 			/* DOCSIS header */
177 			0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
178 			/* Ethernet frame */
179 			0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05,
180 			0x04, 0x03, 0x02, 0x01, 0xD6, 0xE2, 0x70, 0x5C,
181 			0xE6, 0x4D, 0xCC, 0x8C, 0x47, 0xB7, 0x09, 0xD6,
182 			/* CRC */
183 			0x54, 0x85, 0xF8, 0x32
184 		},
185 		.len = 34,
186 		.cipher_offset = 18,
187 		.crc_offset = 6,
188 		.no_cipher = false,
189 		.no_crc = false
190 	}
191 };
192 
193 struct docsis_test_data docsis_test_case_4 = {
194 	.key = {
195 		.data = {
196 			0x00, 0x00, 0x00, 0x00, 0xAA, 0xBB, 0xCC, 0xDD,
197 			0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55
198 		},
199 		.len = 16
200 	},
201 	.iv = {
202 		.data = {
203 			0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11,
204 			0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
205 		},
206 		.len = 16
207 	},
208 	.plaintext = {
209 		.data = {
210 			/* DOCSIS header */
211 			0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
212 			/* Ethernet frame */
213 			0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05,
214 			0x04, 0x03, 0x02, 0x01, 0x08, 0x00, 0xAA, 0xAA,
215 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
216 			0xAA,
217 			/* CRC */
218 			0xFF, 0xFF, 0xFF, 0xFF
219 		},
220 		.len = 35,
221 		.cipher_offset = 18,
222 		.crc_offset = 6,
223 		.no_cipher = false,
224 		.no_crc = false
225 	},
226 	.ciphertext = {
227 		.data = {
228 			/* DOCSIS header */
229 			0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
230 			/* Ethernet frame */
231 			0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05,
232 			0x04, 0x03, 0x02, 0x01, 0x92, 0x6A, 0xC2, 0xDC,
233 			0xEE, 0x3B, 0x31, 0xEC, 0x03, 0xDE, 0x95, 0x33,
234 			0x5E,
235 			/* CRC */
236 			0xFE, 0x47, 0x3E, 0x22
237 		},
238 		.len = 35,
239 		.cipher_offset = 18,
240 		.crc_offset = 6,
241 		.no_cipher = false,
242 		.no_crc = false
243 	}
244 };
245 
246 struct docsis_test_data docsis_test_case_5 = {
247 	.key = {
248 		.data = {
249 			0x00, 0x00, 0x00, 0x00, 0xAA, 0xBB, 0xCC, 0xDD,
250 			0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55
251 		},
252 		.len = 16
253 	},
254 	.iv = {
255 		.data = {
256 			0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11,
257 			0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
258 		},
259 		.len = 16
260 	},
261 	.plaintext = {
262 		.data = {
263 			/* DOCSIS header */
264 			0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
265 			/* Ethernet frame */
266 			0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05,
267 			0x04, 0x03, 0x02, 0x01, 0x08, 0x00, 0xAA, 0xAA,
268 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
269 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
270 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
271 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
272 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
273 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
274 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
275 			/* CRC */
276 			0xFF, 0xFF, 0xFF, 0xFF
277 		},
278 		.len = 82,
279 		.cipher_offset = 18,
280 		.crc_offset = 6,
281 		.no_cipher = false,
282 		.no_crc = false
283 	},
284 	.ciphertext = {
285 		.data = {
286 			/* DOCSIS header */
287 			0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
288 			/* Ethernet frame */
289 			0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05,
290 			0x04, 0x03, 0x02, 0x01, 0x77, 0x74, 0x56, 0x05,
291 			0xD1, 0x14, 0xA2, 0x8D, 0x2C, 0x9A, 0x11, 0xFC,
292 			0x7D, 0xB0, 0xE7, 0x18, 0xCE, 0x75, 0x7C, 0x89,
293 			0x14, 0x56, 0xE2, 0xF2, 0xB7, 0x47, 0x08, 0x27,
294 			0xF7, 0x08, 0x7A, 0x13, 0x90, 0x81, 0x75, 0xB0,
295 			0xC7, 0x91, 0x04, 0x83, 0xAD, 0x11, 0x46, 0x46,
296 			0xF8, 0x54, 0x87, 0xA0, 0x42, 0xF3, 0x71, 0xA9,
297 			0x8A, 0xCD, 0x59, 0x77, 0x67, 0x11, 0x1A, 0x87,
298 			/* CRC */
299 			0xAB, 0xED, 0x2C, 0x26
300 		},
301 		.len = 82,
302 		.cipher_offset = 18,
303 		.crc_offset = 6,
304 		.no_cipher = false,
305 		.no_crc = false
306 	}
307 };
308 
309 struct docsis_test_data docsis_test_case_6 = {
310 	.key = {
311 		.data = {
312 			0x00, 0x00, 0x00, 0x00, 0xAA, 0xBB, 0xCC, 0xDD,
313 			0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55
314 		},
315 		.len = 16
316 	},
317 	.iv = {
318 		.data = {
319 			0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11,
320 			0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
321 		},
322 		.len = 16
323 	},
324 	.plaintext = {
325 		.data = {
326 			/* DOCSIS header */
327 			0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
328 			/* Ethernet frame */
329 			0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05,
330 			0x04, 0x03, 0x02, 0x01, 0x08, 0x00, 0xAA, 0xAA,
331 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
332 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
333 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
334 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
335 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
336 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
337 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
338 			0xAA,
339 			/* CRC */
340 			0xFF, 0xFF, 0xFF, 0xFF
341 		},
342 		.len = 83,
343 		.cipher_offset = 18,
344 		.crc_offset = 6,
345 		.no_cipher = false,
346 		.no_crc = false
347 	},
348 	.ciphertext = {
349 		.data = {
350 			/* DOCSIS header */
351 			0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
352 			/* Ethernet frame */
353 			0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05,
354 			0x04, 0x03, 0x02, 0x01, 0x77, 0x74, 0x56, 0x05,
355 			0xD1, 0x14, 0xA2, 0x8D, 0x2C, 0x9A, 0x11, 0xFC,
356 			0x7D, 0xB0, 0xE7, 0x18, 0xCE, 0x75, 0x7C, 0x89,
357 			0x14, 0x56, 0xE2, 0xF2, 0xB7, 0x47, 0x08, 0x27,
358 			0xF7, 0x08, 0x7A, 0x13, 0x90, 0x81, 0x75, 0xB0,
359 			0xC7, 0x91, 0x04, 0x83, 0xAD, 0x11, 0x46, 0x46,
360 			0xF8, 0x54, 0x87, 0xA0, 0xA4, 0x0C, 0xC2, 0xF0,
361 			0x81, 0x49, 0xA8, 0xA6, 0x6C, 0x48, 0xEB, 0x1F,
362 			0x4B,
363 			/* CRC */
364 			0x2F, 0xD4, 0x48, 0x18
365 		},
366 		.len = 83,
367 		.cipher_offset = 18,
368 		.crc_offset = 6,
369 		.no_cipher = false,
370 		.no_crc = false
371 	}
372 };
373 
374 struct docsis_test_data docsis_test_case_7 = {
375 	.key = {
376 		.data = {
377 			0x00, 0x00, 0x00, 0x00, 0xAA, 0xBB, 0xCC, 0xDD,
378 			0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55
379 		},
380 		.len = 16
381 	},
382 	.iv = {
383 		.data = {
384 			0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11,
385 			0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
386 		},
387 		.len = 16
388 	},
389 	.plaintext = {
390 		.data = {
391 			/* DOCSIS header */
392 			0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
393 			/* Ethernet frame */
394 			0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05,
395 			0x04, 0x03, 0x02, 0x01, 0x08, 0x00, 0xAA, 0xAA,
396 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
397 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
398 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
399 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
400 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
401 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
402 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
403 			0xAA,
404 			/* CRC */
405 			0xFF, 0xFF, 0xFF, 0xFF
406 		},
407 		.len = 83,
408 		.cipher_offset = 40,
409 		.crc_offset = 6,
410 		.no_cipher = false,
411 		.no_crc = false
412 	},
413 	.ciphertext = {
414 		.data = {
415 			/* DOCSIS header */
416 			0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
417 			/* Ethernet frame */
418 			0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05,
419 			0x04, 0x03, 0x02, 0x01, 0x08, 0x00, 0xAA, 0xAA,
420 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
421 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
422 			0xAA, 0xAA, 0x3B, 0x9F, 0x72, 0x4C, 0xB5, 0x72,
423 			0x3E, 0x56, 0x54, 0x49, 0x13, 0x53, 0xC4, 0xAA,
424 			0xCD, 0xEA, 0x6A, 0x88, 0x99, 0x07, 0x86, 0xF4,
425 			0xCF, 0x03, 0x4E, 0xDF, 0x65, 0x61, 0x47, 0x5B,
426 			0x2F, 0x81, 0x09, 0x12, 0x9A, 0xC2, 0x24, 0x8C,
427 			0x09,
428 			/* CRC */
429 			0x11, 0xB4, 0x06, 0x33
430 		},
431 		.len = 83,
432 		.cipher_offset = 40,
433 		.crc_offset = 6,
434 		.no_cipher = false,
435 		.no_crc = false
436 	}
437 };
438 
439 struct docsis_test_data docsis_test_case_8 = {
440 	.key = {
441 		.data = {
442 			0x00, 0x00, 0x00, 0x00, 0xAA, 0xBB, 0xCC, 0xDD,
443 			0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55
444 		},
445 		.len = 16
446 	},
447 	.iv = {
448 		.data = {
449 			0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11,
450 			0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
451 		},
452 		.len = 16
453 	},
454 	.plaintext = {
455 		.data = {
456 			/* DOCSIS header */
457 			0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
458 			/* Ethernet frame */
459 			0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05,
460 			0x04, 0x03, 0x02, 0x01, 0x08, 0x00,
461 			/* CRC */
462 			0xFF, 0xFF, 0xFF, 0xFF
463 		},
464 		.len = 24,
465 		.cipher_offset = 18,
466 		.crc_offset = 6,
467 		.no_cipher = false,
468 		.no_crc = true
469 	},
470 	.ciphertext = {
471 		.data = {
472 			/* DOCSIS header */
473 			0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
474 			/* Ethernet frame */
475 			0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05,
476 			0x04, 0x03, 0x02, 0x01, 0x7A, 0xF0,
477 			/* CRC */
478 			0x8A, 0x0F, 0x74, 0xE8
479 		},
480 		.len = 24,
481 		.cipher_offset = 18,
482 		.crc_offset = 6,
483 		.no_cipher = false,
484 		.no_crc = true
485 	}
486 };
487 
488 struct docsis_test_data docsis_test_case_9 = {
489 	.key = {
490 		.data = {
491 			0x00, 0x00, 0x00, 0x00, 0xAA, 0xBB, 0xCC, 0xDD,
492 			0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55
493 		},
494 		.len = 16
495 	},
496 	.iv = {
497 		.data = {
498 			0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11,
499 			0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
500 		},
501 		.len = 16
502 	},
503 	.plaintext = {
504 		.data = {
505 			/* DOCSIS header */
506 			0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
507 			/* Ethernet frame */
508 			0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05,
509 			0x04, 0x03, 0x02, 0x01, 0x08, 0x00, 0xAA, 0xAA,
510 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
511 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
512 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
513 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
514 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
515 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
516 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
517 			0xAA,
518 			/* CRC */
519 			0xFF, 0xFF, 0xFF, 0xFF
520 		},
521 		.len = 83,
522 		.cipher_offset = 40,
523 		.crc_offset = 6,
524 		.no_cipher = false,
525 		.no_crc = true
526 	},
527 	.ciphertext = {
528 		.data = {
529 			/* DOCSIS header */
530 			0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
531 			/* Ethernet frame */
532 			0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05,
533 			0x04, 0x03, 0x02, 0x01, 0x08, 0x00, 0xAA, 0xAA,
534 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
535 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
536 			0xAA, 0xAA, 0x3B, 0x9F, 0x72, 0x4C, 0xB5, 0x72,
537 			0x3E, 0x56, 0x54, 0x49, 0x13, 0x53, 0xC4, 0xAA,
538 			0xCD, 0xEA, 0x6A, 0x88, 0x99, 0x07, 0x86, 0xF4,
539 			0xCF, 0x03, 0x4E, 0xDF, 0x65, 0x61, 0x47, 0x5B,
540 			0x2F, 0x81, 0x09, 0x12, 0x9A, 0xC2, 0x24, 0x8C,
541 			0x09,
542 			/* CRC */
543 			0x5D, 0x2B, 0x12, 0xF4
544 		},
545 		.len = 83,
546 		.cipher_offset = 40,
547 		.crc_offset = 6,
548 		.no_cipher = false,
549 		.no_crc = true
550 	}
551 };
552 
553 struct docsis_test_data docsis_test_case_10 = {
554 	.key = {
555 		.data = {
556 			0x00, 0x00, 0x00, 0x00, 0xAA, 0xBB, 0xCC, 0xDD,
557 			0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55
558 		},
559 		.len = 16
560 	},
561 	.iv = {
562 		.data = {
563 			0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11,
564 			0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
565 		},
566 		.len = 16
567 	},
568 	.plaintext = {
569 		.data = {
570 			/* DOCSIS header */
571 			0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
572 			/* Ethernet frame */
573 			0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05,
574 			0x04, 0x03, 0x02, 0x01, 0x08, 0x00,
575 			/* CRC */
576 			0xFF, 0xFF, 0xFF, 0xFF
577 		},
578 		.len = 24,
579 		.cipher_offset = 18,
580 		.crc_offset = 6,
581 		.no_cipher = true,
582 		.no_crc = false
583 	},
584 	.ciphertext = {
585 		.data = {
586 			/* DOCSIS header */
587 			0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
588 			/* Ethernet frame */
589 			0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05,
590 			0x04, 0x03, 0x02, 0x01, 0x08, 0x00,
591 			/* CRC */
592 			0x14, 0x08, 0xE8, 0x55
593 		},
594 		.len = 24,
595 		.cipher_offset = 18,
596 		.crc_offset = 6,
597 		.no_cipher = true,
598 		.no_crc = false
599 	}
600 };
601 
602 struct docsis_test_data docsis_test_case_11 = {
603 	.key = {
604 		.data = {
605 			0x00, 0x00, 0x00, 0x00, 0xAA, 0xBB, 0xCC, 0xDD,
606 			0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55
607 		},
608 		.len = 16
609 	},
610 	.iv = {
611 		.data = {
612 			0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11,
613 			0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
614 		},
615 		.len = 16
616 	},
617 	.plaintext = {
618 		.data = {
619 			/* DOCSIS header */
620 			0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
621 			/* Ethernet frame */
622 			0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05,
623 			0x04, 0x03, 0x02, 0x01, 0x08, 0x00, 0xAA, 0xAA,
624 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
625 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
626 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
627 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
628 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
629 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
630 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
631 			0xAA,
632 			/* CRC */
633 			0xFF, 0xFF, 0xFF, 0xFF
634 		},
635 		.len = 83,
636 		.cipher_offset = 40,
637 		.crc_offset = 6,
638 		.no_cipher = true,
639 		.no_crc = false
640 	},
641 	.ciphertext = {
642 		.data = {
643 			/* DOCSIS header */
644 			0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
645 			/* Ethernet frame */
646 			0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05,
647 			0x04, 0x03, 0x02, 0x01, 0x08, 0x00, 0xAA, 0xAA,
648 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
649 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
650 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
651 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
652 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
653 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
654 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
655 			0xAA,
656 			/* CRC */
657 			0xB3, 0x60, 0xEB, 0x38
658 		},
659 		.len = 83,
660 		.cipher_offset = 40,
661 		.crc_offset = 6,
662 		.no_cipher = true,
663 		.no_crc = false
664 	}
665 };
666 
667 struct docsis_test_data docsis_test_case_12 = {
668 	.key = {
669 		.data = {
670 			0x00, 0x00, 0x00, 0x00, 0xAA, 0xBB, 0xCC, 0xDD,
671 			0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55
672 		},
673 		.len = 16
674 	},
675 	.iv = {
676 		.data = {
677 			0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11,
678 			0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
679 		},
680 		.len = 16
681 	},
682 	.plaintext = {
683 		.data = {
684 			/* DOCSIS header */
685 			0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
686 			/* Ethernet frame */
687 			0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05,
688 			0x04, 0x03, 0x02, 0x01, 0x08, 0x00,
689 			/* CRC */
690 			0xFF, 0xFF, 0xFF, 0xFF
691 		},
692 		.len = 24,
693 		.cipher_offset = 18,
694 		.crc_offset = 6,
695 		.no_cipher = true,
696 		.no_crc = true
697 	},
698 	.ciphertext = {
699 		.data = {
700 			/* DOCSIS header */
701 			0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
702 			/* Ethernet frame */
703 			0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05,
704 			0x04, 0x03, 0x02, 0x01, 0x08, 0x00,
705 			/* CRC */
706 			0xFF, 0xFF, 0xFF, 0xFF
707 		},
708 		.len = 24,
709 		.cipher_offset = 18,
710 		.crc_offset = 6,
711 		.no_cipher = true,
712 		.no_crc = true
713 	}
714 };
715 
716 struct docsis_test_data docsis_test_case_13 = {
717 	.key = {
718 		.data = {
719 			0x00, 0x00, 0x00, 0x00, 0xAA, 0xBB, 0xCC, 0xDD,
720 			0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55
721 		},
722 		.len = 16
723 	},
724 	.iv = {
725 		.data = {
726 			0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11,
727 			0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
728 		},
729 		.len = 16
730 	},
731 	.plaintext = {
732 		.data = {
733 			/* DOCSIS header */
734 			0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
735 			/* Ethernet frame */
736 			0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05,
737 			0x04, 0x03, 0x02, 0x01, 0x08, 0x00, 0xAA, 0xAA,
738 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
739 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
740 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
741 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
742 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
743 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
744 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
745 			0xAA,
746 			/* CRC */
747 			0xFF, 0xFF, 0xFF, 0xFF
748 		},
749 		.len = 83,
750 		.cipher_offset = 40,
751 		.crc_offset = 6,
752 		.no_cipher = true,
753 		.no_crc = true
754 	},
755 	.ciphertext = {
756 		.data = {
757 			/* DOCSIS header */
758 			0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
759 			/* Ethernet frame */
760 			0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05,
761 			0x04, 0x03, 0x02, 0x01, 0x08, 0x00, 0xAA, 0xAA,
762 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
763 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
764 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
765 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
766 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
767 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
768 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
769 			0xAA,
770 			/* CRC */
771 			0xFF, 0xFF, 0xFF, 0xFF
772 		},
773 		.len = 83,
774 		.cipher_offset = 40,
775 		.crc_offset = 6,
776 		.no_cipher = true,
777 		.no_crc = true
778 	}
779 };
780 
781 struct docsis_test_data docsis_test_case_14 = {
782 	.key = {
783 		.data = {
784 			0x00, 0x00, 0x00, 0x00, 0xAA, 0xBB, 0xCC, 0xDD,
785 			0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55,
786 			0x66, 0x77, 0x88, 0x99, 0xAA, 0xBB, 0xCC, 0xDD,
787 			0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55
788 		},
789 		.len = 32
790 	},
791 	.iv = {
792 		.data = {
793 			0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11,
794 			0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
795 		},
796 		.len = 16
797 	},
798 	.plaintext = {
799 		.data = {
800 			/* DOCSIS header */
801 			0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
802 			/* Ethernet frame */
803 			0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05,
804 			0x04, 0x03, 0x02, 0x01, 0x08, 0x00,
805 			/* CRC */
806 			0xFF, 0xFF, 0xFF, 0xFF
807 		},
808 		.len = 24,
809 		.cipher_offset = 18,
810 		.crc_offset = 6,
811 		.no_cipher = false,
812 		.no_crc = false
813 	},
814 	.ciphertext = {
815 		.data = {
816 			/* DOCSIS header */
817 			0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
818 			/* Ethernet frame */
819 			0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05,
820 			0x04, 0x03, 0x02, 0x01, 0x6A, 0x86,
821 			/* CRC */
822 			0x9B, 0xB3, 0x1A, 0x26
823 		},
824 		.len = 24,
825 		.cipher_offset = 18,
826 		.crc_offset = 6,
827 		.no_cipher = false,
828 		.no_crc = false
829 	}
830 };
831 
832 struct docsis_test_data docsis_test_case_15 = {
833 	.key = {
834 		.data = {
835 			0x00, 0x00, 0x00, 0x00, 0xAA, 0xBB, 0xCC, 0xDD,
836 			0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55,
837 			0x66, 0x77, 0x88, 0x99, 0xAA, 0xBB, 0xCC, 0xDD,
838 			0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55
839 		},
840 		.len = 32
841 	},
842 	.iv = {
843 		.data = {
844 			0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11,
845 			0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
846 		},
847 		.len = 16
848 	},
849 	.plaintext = {
850 		.data = {
851 			/* DOCSIS header */
852 			0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
853 			/* Ethernet frame */
854 			0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05,
855 			0x04, 0x03, 0x02, 0x01, 0x08, 0x00, 0xAA,
856 			/* CRC */
857 			0xFF, 0xFF, 0xFF, 0xFF
858 		},
859 		.len = 25,
860 		.cipher_offset = 18,
861 		.crc_offset = 6,
862 		.no_cipher = false,
863 		.no_crc = false
864 	},
865 	.ciphertext = {
866 		.data = {
867 			/* DOCSIS header */
868 			0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
869 			/* Ethernet frame */
870 			0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05,
871 			0x04, 0x03, 0x02, 0x01, 0x6A, 0x86, 0x25,
872 			/* CRC */
873 			0xB5, 0x6B, 0xFD, 0xCB
874 		},
875 		.len = 25,
876 		.cipher_offset = 18,
877 		.crc_offset = 6,
878 		.no_cipher = false,
879 		.no_crc = false
880 	}
881 };
882 
883 struct docsis_test_data docsis_test_case_16 = {
884 	.key = {
885 		.data = {
886 			0x00, 0x00, 0x00, 0x00, 0xAA, 0xBB, 0xCC, 0xDD,
887 			0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55,
888 			0x66, 0x77, 0x88, 0x99, 0xAA, 0xBB, 0xCC, 0xDD,
889 			0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55
890 		},
891 		.len = 32
892 	},
893 	.iv = {
894 		.data = {
895 			0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11,
896 			0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
897 		},
898 		.len = 16
899 	},
900 	.plaintext = {
901 		.data = {
902 			/* DOCSIS header */
903 			0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
904 			/* Ethernet frame */
905 			0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05,
906 			0x04, 0x03, 0x02, 0x01, 0x08, 0x00, 0xAA, 0xAA,
907 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
908 			/* CRC */
909 			0xFF, 0xFF, 0xFF, 0xFF
910 		},
911 		.len = 34,
912 		.cipher_offset = 18,
913 		.crc_offset = 6,
914 		.no_cipher = false,
915 		.no_crc = false
916 	},
917 	.ciphertext = {
918 		.data = {
919 			/* DOCSIS header */
920 			0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
921 			/* Ethernet frame */
922 			0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05,
923 			0x04, 0x03, 0x02, 0x01, 0xF6, 0xA1, 0x2E, 0x0A,
924 			0xBB, 0x27, 0x82, 0x4F, 0x99, 0x0A, 0xE2, 0x3F,
925 			/* CRC */
926 			0xEB, 0xB7, 0x89, 0xB0
927 		},
928 		.len = 34,
929 		.cipher_offset = 18,
930 		.crc_offset = 6,
931 		.no_cipher = false,
932 		.no_crc = false
933 	}
934 };
935 
936 struct docsis_test_data docsis_test_case_17 = {
937 	.key = {
938 		.data = {
939 			0x00, 0x00, 0x00, 0x00, 0xAA, 0xBB, 0xCC, 0xDD,
940 			0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55,
941 			0x66, 0x77, 0x88, 0x99, 0xAA, 0xBB, 0xCC, 0xDD,
942 			0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55
943 		},
944 		.len = 32
945 	},
946 	.iv = {
947 		.data = {
948 			0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11,
949 			0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
950 		},
951 		.len = 16
952 	},
953 	.plaintext = {
954 		.data = {
955 			/* DOCSIS header */
956 			0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
957 			/* Ethernet frame */
958 			0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05,
959 			0x04, 0x03, 0x02, 0x01, 0x08, 0x00, 0xAA, 0xAA,
960 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
961 			0xAA,
962 			/* CRC */
963 			0xFF, 0xFF, 0xFF, 0xFF
964 		},
965 		.len = 35,
966 		.cipher_offset = 18,
967 		.crc_offset = 6,
968 		.no_cipher = false,
969 		.no_crc = false
970 	},
971 	.ciphertext = {
972 		.data = {
973 			/* DOCSIS header */
974 			0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
975 			/* Ethernet frame */
976 			0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05,
977 			0x04, 0x03, 0x02, 0x01, 0xE1, 0x30, 0x38, 0xC8,
978 			0xC4, 0x59, 0x8D, 0x43, 0x9A, 0xBE, 0xBE, 0x73,
979 			0xC3,
980 			/*CRC */
981 			0x8C, 0xE1, 0x89, 0x8B
982 		},
983 		.len = 35,
984 		.cipher_offset = 18,
985 		.crc_offset = 6,
986 		.no_cipher = false,
987 		.no_crc = false
988 	}
989 };
990 
991 struct docsis_test_data docsis_test_case_18 = {
992 	.key = {
993 		.data = {
994 			0x00, 0x00, 0x00, 0x00, 0xAA, 0xBB, 0xCC, 0xDD,
995 			0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55,
996 			0x66, 0x77, 0x88, 0x99, 0xAA, 0xBB, 0xCC, 0xDD,
997 			0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55
998 		},
999 		.len = 32
1000 	},
1001 	.iv = {
1002 		.data = {
1003 			0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11,
1004 			0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
1005 		},
1006 		.len = 16
1007 	},
1008 	.plaintext = {
1009 		.data = {
1010 			/* DOCSIS header */
1011 			0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1012 			/* Ethernet frame */
1013 			0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05,
1014 			0x04, 0x03, 0x02, 0x01, 0x08, 0x00, 0xAA, 0xAA,
1015 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
1016 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
1017 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
1018 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
1019 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
1020 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
1021 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
1022 			/* CRC */
1023 			0xFF, 0xFF, 0xFF, 0xFF
1024 		},
1025 		.len = 82,
1026 		.cipher_offset = 18,
1027 		.crc_offset = 6,
1028 		.no_cipher = false,
1029 		.no_crc = false
1030 	},
1031 	.ciphertext = {
1032 		.data = {
1033 			/* DOCSIS header */
1034 			0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1035 			/* Ethernet frame */
1036 			0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05,
1037 			0x04, 0x03, 0x02, 0x01, 0xE9, 0x12, 0x3B, 0x12,
1038 			0x36, 0x56, 0x95, 0xA6, 0x97, 0xF1, 0x74, 0x68,
1039 			0xBA, 0x58, 0x77, 0xEA, 0x43, 0x11, 0x85, 0xD4,
1040 			0x7A, 0xF8, 0x1C, 0x11, 0x50, 0xD1, 0xF1, 0xBD,
1041 			0x15, 0x4D, 0x99, 0xB5, 0x39, 0x74, 0x84, 0xDF,
1042 			0xD4, 0x8B, 0xDC, 0xB7, 0x58, 0x1B, 0x22, 0xAB,
1043 			0xF3, 0x29, 0xC6, 0xCB, 0x26, 0x07, 0x36, 0x6B,
1044 			0x8C, 0xAC, 0x6E, 0x99, 0x37, 0x94, 0xDF, 0x31,
1045 			/* CRC */
1046 			0xA1, 0x7D, 0x70, 0xBB
1047 		},
1048 		.len = 82,
1049 		.cipher_offset = 18,
1050 		.crc_offset = 6,
1051 		.no_cipher = false,
1052 		.no_crc = false
1053 	}
1054 };
1055 
1056 struct docsis_test_data docsis_test_case_19 = {
1057 	.key = {
1058 		.data = {
1059 			0x00, 0x00, 0x00, 0x00, 0xAA, 0xBB, 0xCC, 0xDD,
1060 			0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55,
1061 			0x66, 0x77, 0x88, 0x99, 0xAA, 0xBB, 0xCC, 0xDD,
1062 			0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55
1063 		},
1064 		.len = 32
1065 	},
1066 	.iv = {
1067 		.data = {
1068 			0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11,
1069 			0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
1070 		},
1071 		.len = 16
1072 	},
1073 	.plaintext = {
1074 		.data = {
1075 			/* DOCSIS header */
1076 			0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1077 			/* Ethernet frame */
1078 			0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05,
1079 			0x04, 0x03, 0x02, 0x01, 0x08, 0x00, 0xAA, 0xAA,
1080 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
1081 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
1082 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
1083 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
1084 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
1085 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
1086 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
1087 			0xAA,
1088 			/* CRC */
1089 			0xFF, 0xFF, 0xFF, 0xFF
1090 		},
1091 		.len = 83,
1092 		.cipher_offset = 18,
1093 		.crc_offset = 6,
1094 		.no_cipher = false,
1095 		.no_crc = false
1096 	},
1097 	.ciphertext = {
1098 		.data = {
1099 			/* DOCSIS header */
1100 			0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1101 			/* Ethernet frame */
1102 			0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05,
1103 			0x04, 0x03, 0x02, 0x01, 0xE9, 0x12, 0x3B, 0x12,
1104 			0x36, 0x56, 0x95, 0xA6, 0x97, 0xF1, 0x74, 0x68,
1105 			0xBA, 0x58, 0x77, 0xEA, 0x43, 0x11, 0x85, 0xD4,
1106 			0x7A, 0xF8, 0x1C, 0x11, 0x50, 0xD1, 0xF1, 0xBD,
1107 			0x15, 0x4D, 0x99, 0xB5, 0x39, 0x74, 0x84, 0xDF,
1108 			0xD4, 0x8B, 0xDC, 0xB7, 0x58, 0x1B, 0x22, 0xAB,
1109 			0xF3, 0x29, 0xC6, 0xCB, 0x13, 0xED, 0x08, 0xF5,
1110 			0x1B, 0x4B, 0xD8, 0x79, 0x93, 0x26, 0x69, 0x03,
1111 			0x23,
1112 			/* CRC */
1113 			0xC8, 0x8E, 0x02, 0x3A
1114 		},
1115 		.len = 83,
1116 		.cipher_offset = 18,
1117 		.crc_offset = 6,
1118 		.no_cipher = false,
1119 		.no_crc = false
1120 	}
1121 };
1122 
1123 struct docsis_test_data docsis_test_case_20 = {
1124 	.key = {
1125 		.data = {
1126 			0x00, 0x00, 0x00, 0x00, 0xAA, 0xBB, 0xCC, 0xDD,
1127 			0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55,
1128 			0x66, 0x77, 0x88, 0x99, 0xAA, 0xBB, 0xCC, 0xDD,
1129 			0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55
1130 		},
1131 		.len = 32
1132 	},
1133 	.iv = {
1134 		.data = {
1135 			0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11,
1136 			0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
1137 		},
1138 		.len = 16
1139 	},
1140 	.plaintext = {
1141 		.data = {
1142 			/* DOCSIS header */
1143 			0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1144 			/* Ethernet frame */
1145 			0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05,
1146 			0x04, 0x03, 0x02, 0x01, 0x08, 0x00, 0xAA, 0xAA,
1147 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
1148 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
1149 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
1150 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
1151 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
1152 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
1153 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
1154 			0xAA,
1155 			/* CRC */
1156 			0xFF, 0xFF, 0xFF, 0xFF
1157 		},
1158 		.len = 83,
1159 		.cipher_offset = 40,
1160 		.crc_offset = 6,
1161 		.no_cipher = false,
1162 		.no_crc = false
1163 	},
1164 	.ciphertext = {
1165 		.data = {
1166 			/* DOCSIS header */
1167 			0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1168 			/* Ethernet frame */
1169 			0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05,
1170 			0x04, 0x03, 0x02, 0x01, 0x08, 0x00, 0xAA, 0xAA,
1171 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
1172 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
1173 			0xAA, 0xAA, 0x54, 0xB4, 0x55, 0x68, 0x06, 0xBF,
1174 			0x00, 0x8B, 0x5F, 0x2C, 0x10, 0x4A, 0xBF, 0x5A,
1175 			0xF2, 0x20, 0xD9, 0x77, 0x7F, 0x2D, 0x2B, 0x11,
1176 			0xAC, 0xAF, 0x21, 0x36, 0xD2, 0xD4, 0x80, 0xF2,
1177 			0x4F, 0x14, 0xA0, 0x3A, 0x66, 0xE5, 0xC5, 0xE2,
1178 			0x15,
1179 			/* CRC */
1180 			0x0C, 0x89, 0x76, 0x26
1181 		},
1182 		.len = 83,
1183 		.cipher_offset = 40,
1184 		.crc_offset = 6,
1185 		.no_cipher = false,
1186 		.no_crc = false
1187 	}
1188 };
1189 
1190 struct docsis_test_data docsis_test_case_21 = {
1191 	.key = {
1192 		.data = {
1193 			0x00, 0x00, 0x00, 0x00, 0xAA, 0xBB, 0xCC, 0xDD,
1194 			0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55,
1195 			0x66, 0x77, 0x88, 0x99, 0xAA, 0xBB, 0xCC, 0xDD,
1196 			0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55
1197 		},
1198 		.len = 32
1199 	},
1200 	.iv = {
1201 		.data = {
1202 			0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11,
1203 			0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
1204 		},
1205 		.len = 16
1206 	},
1207 	.plaintext = {
1208 		.data = {
1209 			/* DOCSIS header */
1210 			0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1211 			/* Ethernet frame */
1212 			0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05,
1213 			0x04, 0x03, 0x02, 0x01, 0x08, 0x00,
1214 			/* CRC */
1215 			0xFF, 0xFF, 0xFF, 0xFF
1216 		},
1217 		.len = 24,
1218 		.cipher_offset = 18,
1219 		.crc_offset = 6,
1220 		.no_cipher = false,
1221 		.no_crc = true
1222 	},
1223 	.ciphertext = {
1224 		.data = {
1225 			/* DOCSIS header */
1226 			0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1227 			/* Ethernet frame */
1228 			0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05,
1229 			0x04, 0x03, 0x02, 0x01, 0x6A, 0x86,
1230 			/* CRC */
1231 			0x70, 0x44, 0x0D, 0x8C
1232 		},
1233 		.len = 24,
1234 		.cipher_offset = 18,
1235 		.crc_offset = 6,
1236 		.no_cipher = false,
1237 		.no_crc = true
1238 	}
1239 };
1240 
1241 struct docsis_test_data docsis_test_case_22 = {
1242 	.key = {
1243 		.data = {
1244 			0x00, 0x00, 0x00, 0x00, 0xAA, 0xBB, 0xCC, 0xDD,
1245 			0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55,
1246 			0x66, 0x77, 0x88, 0x99, 0xAA, 0xBB, 0xCC, 0xDD,
1247 			0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55
1248 		},
1249 		.len = 32
1250 	},
1251 	.iv = {
1252 		.data = {
1253 			0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11,
1254 			0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
1255 		},
1256 		.len = 16
1257 	},
1258 	.plaintext = {
1259 		.data = {
1260 			/* DOCSIS header */
1261 			0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1262 			/* Ethernet frame */
1263 			0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05,
1264 			0x04, 0x03, 0x02, 0x01, 0x08, 0x00, 0xAA, 0xAA,
1265 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
1266 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
1267 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
1268 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
1269 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
1270 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
1271 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
1272 			0xAA,
1273 			/* CRC */
1274 			0xFF, 0xFF, 0xFF, 0xFF
1275 		},
1276 		.len = 83,
1277 		.cipher_offset = 40,
1278 		.crc_offset = 6,
1279 		.no_cipher = false,
1280 		.no_crc = true
1281 	},
1282 	.ciphertext = {
1283 		.data = {
1284 			/* DOCSIS header */
1285 			0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1286 			/* Ethernet frame */
1287 			0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05,
1288 			0x04, 0x03, 0x02, 0x01, 0x08, 0x00, 0xAA, 0xAA,
1289 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
1290 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
1291 			0xAA, 0xAA, 0x54, 0xB4, 0x55, 0x68, 0x06, 0xBF,
1292 			0x00, 0x8B, 0x5F, 0x2C, 0x10, 0x4A, 0xBF, 0x5A,
1293 			0xF2, 0x20, 0xD9, 0x77, 0x7F, 0x2D, 0x2B, 0x11,
1294 			0xAC, 0xAF, 0x21, 0x36, 0xD2, 0xD4, 0x80, 0xF2,
1295 			0x4F, 0x14, 0xA0, 0x3A, 0x66, 0xE5, 0xC5, 0xE2,
1296 			0x15,
1297 			/* CRC */
1298 			0x40, 0x16, 0x62, 0xE1
1299 		},
1300 		.len = 83,
1301 		.cipher_offset = 40,
1302 		.crc_offset = 6,
1303 		.no_cipher = false,
1304 		.no_crc = true
1305 	}
1306 };
1307 
1308 struct docsis_test_data docsis_test_case_23 = {
1309 	.key = {
1310 		.data = {
1311 			0x00, 0x00, 0x00, 0x00, 0xAA, 0xBB, 0xCC, 0xDD,
1312 			0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55,
1313 			0x66, 0x77, 0x88, 0x99, 0xAA, 0xBB, 0xCC, 0xDD,
1314 			0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55
1315 		},
1316 		.len = 32
1317 	},
1318 	.iv = {
1319 		.data = {
1320 			0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11,
1321 			0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
1322 		},
1323 		.len = 16
1324 	},
1325 	.plaintext = {
1326 		.data = {
1327 			/* DOCSIS header */
1328 			0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1329 			/* Ethernet frame */
1330 			0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05,
1331 			0x04, 0x03, 0x02, 0x01, 0x08, 0x00,
1332 			/* CRC */
1333 			0xFF, 0xFF, 0xFF, 0xFF
1334 		},
1335 		.len = 24,
1336 		.cipher_offset = 18,
1337 		.crc_offset = 6,
1338 		.no_cipher = true,
1339 		.no_crc = false
1340 	},
1341 	.ciphertext = {
1342 		.data = {
1343 			/* DOCSIS header */
1344 			0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1345 			/* Ethernet frame */
1346 			0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05,
1347 			0x04, 0x03, 0x02, 0x01, 0x08, 0x00,
1348 			/* CRC */
1349 			0x14, 0x08, 0xE8, 0x55
1350 		},
1351 		.len = 24,
1352 		.cipher_offset = 18,
1353 		.crc_offset = 6,
1354 		.no_cipher = true,
1355 		.no_crc = false
1356 	}
1357 };
1358 
1359 struct docsis_test_data docsis_test_case_24 = {
1360 	.key = {
1361 		.data = {
1362 			0x00, 0x00, 0x00, 0x00, 0xAA, 0xBB, 0xCC, 0xDD,
1363 			0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55,
1364 			0x66, 0x77, 0x88, 0x99, 0xAA, 0xBB, 0xCC, 0xDD,
1365 			0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55
1366 		},
1367 		.len = 32
1368 	},
1369 	.iv = {
1370 		.data = {
1371 			0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11,
1372 			0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
1373 		},
1374 		.len = 16
1375 	},
1376 	.plaintext = {
1377 		.data = {
1378 			/* DOCSIS header */
1379 			0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1380 			/* Ethernet frame */
1381 			0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05,
1382 			0x04, 0x03, 0x02, 0x01, 0x08, 0x00, 0xAA, 0xAA,
1383 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
1384 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
1385 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
1386 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
1387 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
1388 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
1389 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
1390 			0xAA,
1391 			/* CRC */
1392 			0xFF, 0xFF, 0xFF, 0xFF
1393 		},
1394 		.len = 83,
1395 		.cipher_offset = 40,
1396 		.crc_offset = 6,
1397 		.no_cipher = true,
1398 		.no_crc = false
1399 	},
1400 	.ciphertext = {
1401 		.data = {
1402 			/* DOCSIS header */
1403 			0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1404 			/* Ethernet frame */
1405 			0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05,
1406 			0x04, 0x03, 0x02, 0x01, 0x08, 0x00, 0xAA, 0xAA,
1407 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
1408 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
1409 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
1410 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
1411 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
1412 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
1413 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
1414 			0xAA,
1415 			/* CRC */
1416 			0xB3, 0x60, 0xEB, 0x38
1417 		},
1418 		.len = 83,
1419 		.cipher_offset = 40,
1420 		.crc_offset = 6,
1421 		.no_cipher = true,
1422 		.no_crc = false
1423 	}
1424 };
1425 
1426 struct docsis_test_data docsis_test_case_25 = {
1427 	.key = {
1428 		.data = {
1429 			0x00, 0x00, 0x00, 0x00, 0xAA, 0xBB, 0xCC, 0xDD,
1430 			0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55,
1431 			0x66, 0x77, 0x88, 0x99, 0xAA, 0xBB, 0xCC, 0xDD,
1432 			0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55
1433 		},
1434 		.len = 32
1435 	},
1436 	.iv = {
1437 		.data = {
1438 			0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11,
1439 			0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
1440 		},
1441 		.len = 16
1442 	},
1443 	.plaintext = {
1444 		.data = {
1445 			/* DOCSIS header */
1446 			0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1447 			/* Ethernet frame */
1448 			0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05,
1449 			0x04, 0x03, 0x02, 0x01, 0x08, 0x00,
1450 			/* CRC */
1451 			0xFF, 0xFF, 0xFF, 0xFF
1452 		},
1453 		.len = 24,
1454 		.cipher_offset = 18,
1455 		.crc_offset = 6,
1456 		.no_cipher = true,
1457 		.no_crc = true
1458 	},
1459 	.ciphertext = {
1460 		.data = {
1461 			/* DOCSIS header */
1462 			0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1463 			/* Ethernet frame */
1464 			0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05,
1465 			0x04, 0x03, 0x02, 0x01, 0x08, 0x00,
1466 			/* CRC */
1467 			0xFF, 0xFF, 0xFF, 0xFF
1468 		},
1469 		.len = 24,
1470 		.cipher_offset = 18,
1471 		.crc_offset = 6,
1472 		.no_cipher = true,
1473 		.no_crc = true
1474 	}
1475 };
1476 
1477 struct docsis_test_data docsis_test_case_26 = {
1478 	.key = {
1479 		.data = {
1480 			0x00, 0x00, 0x00, 0x00, 0xAA, 0xBB, 0xCC, 0xDD,
1481 			0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55,
1482 			0x66, 0x77, 0x88, 0x99, 0xAA, 0xBB, 0xCC, 0xDD,
1483 			0xEE, 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55
1484 		},
1485 		.len = 32
1486 	},
1487 	.iv = {
1488 		.data = {
1489 			0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11,
1490 			0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
1491 		},
1492 		.len = 16
1493 	},
1494 	.plaintext = {
1495 		.data = {
1496 			/* DOCSIS header */
1497 			0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1498 			/* Ethernet frame */
1499 			0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05,
1500 			0x04, 0x03, 0x02, 0x01, 0x08, 0x00, 0xAA, 0xAA,
1501 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
1502 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
1503 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
1504 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
1505 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
1506 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
1507 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
1508 			0xAA,
1509 			/* CRC */
1510 			0xFF, 0xFF, 0xFF, 0xFF
1511 		},
1512 		.len = 83,
1513 		.cipher_offset = 40,
1514 		.crc_offset = 6,
1515 		.no_cipher = true,
1516 		.no_crc = true
1517 	},
1518 	.ciphertext = {
1519 		.data = {
1520 			/* DOCSIS header */
1521 			0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1522 			/* Ethernet frame */
1523 			0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x05,
1524 			0x04, 0x03, 0x02, 0x01, 0x08, 0x00, 0xAA, 0xAA,
1525 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
1526 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
1527 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
1528 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
1529 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
1530 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
1531 			0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
1532 			0xAA,
1533 			/* CRC */
1534 			0xFF, 0xFF, 0xFF, 0xFF
1535 		},
1536 		.len = 83,
1537 		.cipher_offset = 40,
1538 		.crc_offset = 6,
1539 		.no_cipher = true,
1540 		.no_crc = true
1541 	}
1542 };
1543 
1544 #endif /* TEST_CRYPTODEV_SECURITY_DOCSIS_TEST_VECTORS_H_ */
1545