3f3fc3308b
As per current design, rte_security_session_create() unnecessarily use 2 mempool objects for a single session. To address this, the API will now take only 1 mempool object instead of 2. With this change, the library layer will get the object from mempool and session priv data is stored contiguously in the same mempool object. User need to ensure that the mempool created in application is big enough for session private data as well. This can be ensured if the pool is created after getting size of session priv data using API rte_security_session_get_size(). Since set and get pkt metadata for security sessions are now made inline for Inline crypto/proto mode, a new member fast_mdata is added to the rte_security_session. To access opaque data and fast_mdata will be accessed via inline APIs which can do pointer manipulations inside library from session_private_data pointer coming from application. Signed-off-by: Akhil Goyal <gakhil@marvell.com> Tested-by: Gagandeep Singh <g.singh@nxp.com> Tested-by: David Coyle <david.coyle@intel.com> Tested-by: Kevin O'Sullivan <kevin.osullivan@intel.com>
34 lines
665 B
C
34 lines
665 B
C
/* SPDX-License-Identifier: BSD-3-Clause
|
|
* Copyright(c) 2016-2017 Intel Corporation
|
|
*/
|
|
|
|
#ifndef _CPERF_THROUGHPUT_
|
|
#define _CPERF_THROUGHPUT_
|
|
|
|
#include <stdint.h>
|
|
|
|
#include <rte_mbuf.h>
|
|
|
|
#include "cperf.h"
|
|
#include "cperf_ops.h"
|
|
#include "cperf_options.h"
|
|
#include "cperf_test_vectors.h"
|
|
|
|
|
|
void *
|
|
cperf_throughput_test_constructor(
|
|
struct rte_mempool *sess_mp,
|
|
uint8_t dev_id,
|
|
uint16_t qp_id,
|
|
const struct cperf_options *options,
|
|
const struct cperf_test_vector *test_vector,
|
|
const struct cperf_op_fns *ops_fn);
|
|
|
|
int
|
|
cperf_throughput_test_runner(void *test_ctx);
|
|
|
|
void
|
|
cperf_throughput_test_destructor(void *test_ctx);
|
|
|
|
#endif /* _CPERF_THROUGHPUT_ */
|