summaryrefslogtreecommitdiffstats
path: root/app/test-crypto-perf/cperf_ops.h
blob: 29e109f2a32b79e43024f631bbc10d2e8ab8a631 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
/* SPDX-License-Identifier: BSD-3-Clause
 * Copyright(c) 2016-2017 Intel Corporation
 */

#ifndef _CPERF_OPS_
#define _CPERF_OPS_

#include <rte_crypto.h>

#include "cperf.h"
#include "cperf_options.h"
#include "cperf_test_vectors.h"


typedef struct rte_cryptodev_sym_session *(*cperf_sessions_create_t)(
		struct rte_mempool *sess_mp,
		uint8_t dev_id, const struct cperf_options *options,
		const struct cperf_test_vector *test_vector,
		uint16_t iv_offset);

typedef int (*cperf_populate_ops_t)(struct rte_crypto_op **ops,
		uint32_t src_buf_offset, uint32_t dst_buf_offset,
		uint16_t nb_ops, struct rte_cryptodev_sym_session *sess,
		const struct cperf_options *options,
		const struct cperf_test_vector *test_vector,
		uint16_t iv_offset, uint32_t *imix_idx);

struct cperf_op_fns {
	cperf_sessions_create_t sess_create;
	cperf_populate_ops_t populate_ops;
};

int
cperf_get_op_functions(const struct cperf_options *options,
		struct cperf_op_fns *op_fns);

#endif /* _CPERF_OPS_ */