28dde5da50
Added support for lookaside IPsec protocol offload. Supported cases: -AEAD -Cipher+auth Command used for testing: ./dpdk-test-crypto-perf -c 0xf -- --devtype crypto_octeontx2 --ptest throughput --optype ipsec --cipher-algo aes-cbc --pool-sz 16384 --cipher-op encrypt --cipher-key-sz 16 --cipher-iv-sz 16 --auth-algo sha1-hmac --auth-op generate --digest-sz 16 --total-ops 10000000 --burst-sz 32 --buffer-sz 64,128,256,512,1024,1280,2048 ./dpdk-test-crypto-perf -c 0xf -- --devtype crypto_octeontx2 --ptest throughput --optype ipsec --aead-algo aes-gcm --pool-sz 16384 --aead-op encrypt --aead-key-sz 32 --aead-iv-sz 12 --aead-aad-sz 16 --digest-sz 16 --total-ops 10000000 --burst-sz 32 --buffer-sz 64,128,256,512,1024,1280,2048 Signed-off-by: Akhil Goyal <gakhil@marvell.com> Signed-off-by: Archana Muniganti <marchana@marvell.com>
39 lines
1.0 KiB
C
39 lines
1.0 KiB
C
/* 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, struct rte_mempool *sess_priv_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,
|
|
uint64_t *tsc_start);
|
|
|
|
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_ */
|