xref: /dpdk/app/test-crypto-perf/cperf_test_vectors.h (revision c9902a15bd005b6d4fe072cf7b60fe4ee679155f)
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(c) 2016-2017 Intel Corporation
3  */
4 
5 #ifndef _CPERF_TEST_VECTRORS_
6 #define _CPERF_TEST_VECTRORS_
7 
8 #include "cperf_options.h"
9 
10 struct cperf_test_vector {
11 	struct {
12 		uint8_t *data;
13 		uint32_t length;
14 	} plaintext;
15 
16 	struct {
17 		uint8_t *data;
18 		uint16_t length;
19 	} cipher_key;
20 
21 	struct {
22 		uint8_t *data;
23 		uint16_t length;
24 	} auth_key;
25 
26 	struct {
27 		uint8_t *data;
28 		uint16_t length;
29 	} aead_key;
30 
31 	struct {
32 		uint8_t *data;
33 		uint16_t length;
34 	} cipher_iv;
35 
36 	struct {
37 		uint8_t *data;
38 		uint16_t length;
39 	} auth_iv;
40 
41 	struct {
42 		uint8_t *data;
43 		uint16_t length;
44 	} aead_iv;
45 
46 	struct {
47 		uint8_t *data;
48 		uint32_t length;
49 	} ciphertext;
50 
51 	struct {
52 		uint8_t *data;
53 		rte_iova_t phys_addr;
54 		uint16_t length;
55 	} aad;
56 
57 	struct {
58 		uint8_t *data;
59 		rte_iova_t phys_addr;
60 		uint16_t length;
61 	} digest;
62 
63 	struct {
64 		uint32_t auth_offset;
65 		uint32_t auth_length;
66 		uint32_t cipher_offset;
67 		uint32_t cipher_length;
68 		uint32_t aead_offset;
69 		uint32_t aead_length;
70 	} data;
71 
72 	struct {
73 		uint8_t *mod;
74 		uint8_t *exp;
75 		uint32_t mlen;
76 		uint32_t elen;
77 	} modex;
78 };
79 
80 struct cperf_test_vector*
81 cperf_test_vector_get_dummy(struct cperf_options *options);
82 
83 extern uint8_t ciphertext[2048];
84 
85 extern uint8_t cipher_key[];
86 extern uint8_t auth_key[];
87 
88 extern uint8_t iv[];
89 extern uint8_t aad[];
90 
91 extern uint8_t digest[2048];
92 
93 extern uint8_t perf_base[20];
94 extern uint8_t perf_mod_p[129];
95 extern uint8_t perf_mod_e[3];
96 
97 #endif
98