numam-dpdk/app/test-crypto-perf/cperf_test_vector_parsing.h

46 lines
995 B
C
Raw Normal View History

/* SPDX-License-Identifier: BSD-3-Clause
* Copyright(c) 2016-2017 Intel Corporation
app/crypto-perf: introduce performance test application This patchset introduce new application which allows measuring performance parameters of PMDs available in crypto tree. The goal of this application is to replace existing performance tests in app/test. Parameters available are: throughput (--ptest throughput) and latency (--ptest latency). User can use multiply cores to run tests on but only one type of crypto PMD can be measured during single application execution. Cipher parameters, type of device, type of operation and chain mode have to be specified in the command line as application parameters. These parameters are checked using device capabilities structure. Couple of new library functions in librte_cryptodev are introduced for application use. To build the application a CONFIG_RTE_APP_CRYPTO_PERF flag has to be set (it is set by default). Example of usage: -c 0xc0 --vdev crypto_aesni_mb_pmd -w 0000:00:00.0 -- --ptest throughput --devtype crypto_aesni_mb --optype cipher-then-auth --cipher-algo aes-cbc --cipher-op encrypt --cipher-key-sz 16 --auth-algo sha1-hmac --auth-op generate --auth-key-sz 64 --auth-digest-sz 12 --total-ops 10000000 --burst-sz 32 --buffer-sz 64 Signed-off-by: Declan Doherty <declan.doherty@intel.com> Signed-off-by: Slawomir Mrozowicz <slawomirx.mrozowicz@intel.com> Signed-off-by: Piotr Azarewicz <piotrx.t.azarewicz@intel.com> Signed-off-by: Marcin Kerlin <marcinx.kerlin@intel.com> Signed-off-by: Michal Kobylinski <michalx.kobylinski@intel.com>
2017-01-25 16:27:33 +00:00
*/
#ifndef APP_CRYPTO_PERF_CPERF_TEST_VECTOR_PARSING_H_
#define APP_CRYPTO_PERF_CPERF_TEST_VECTOR_PARSING_H_
#define CPERF_VALUE_DELIMITER ","
#define CPERF_ENTRY_DELIMITER "="
/**
* Frees the allocated memory for test vector
*
* @param vector
* Destination vector test to release
* @param opts
* Test options
* @return
* 0 on success, (-1) on error.
*/
int
free_test_vector(struct cperf_test_vector *vector, struct cperf_options *opts);
/**
* Displays data in test vector
*
* @param vector
* Vector to display
*/
void
show_test_vector(struct cperf_test_vector *test_vector);
/**
* Completes test vector with data from file
*
* @param opts
* Test options
* @return
* NULL on error.
* Test vector pointer on successful.
*/
struct cperf_test_vector*
cperf_test_vector_get_from_file(struct cperf_options *opts);
#endif /* APP_CRYPTO_PERF_CPERF_TEST_VECTOR_PARSING_H_ */