X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=app%2Ftest-crypto-perf%2Fcperf_options.h;h=f5bf03c810709481b657c5b6d4d483aed879a04e;hb=35b2d13fd6fdcbd191f2a30d74648faeb1186c65;hp=96b751111b9d29cf581b01a56f35ed604106f33e;hpb=f8be1786b1b8de697f68e9ffe2addff864783b06;p=dpdk.git diff --git a/app/test-crypto-perf/cperf_options.h b/app/test-crypto-perf/cperf_options.h index 96b751111b..f5bf03c810 100644 --- a/app/test-crypto-perf/cperf_options.h +++ b/app/test-crypto-perf/cperf_options.h @@ -1,8 +1,12 @@ +/* SPDX-License-Identifier: BSD-3-Clause + * Copyright(c) 2018 Intel Corporation + */ #ifndef _CPERF_OPTIONS_ #define _CPERF_OPTIONS_ #include +#include #define CPERF_PTEST_TYPE ("ptest") #define CPERF_SILENT ("silent") @@ -11,13 +15,14 @@ #define CPERF_TOTAL_OPS ("total-ops") #define CPERF_BURST_SIZE ("burst-sz") #define CPERF_BUFFER_SIZE ("buffer-sz") -#define CPERF_SEGMENTS_NB ("segments-nb") +#define CPERF_SEGMENT_SIZE ("segment-sz") +#define CPERF_DESC_NB ("desc-nb") +#define CPERF_IMIX ("imix") #define CPERF_DEVTYPE ("devtype") #define CPERF_OPTYPE ("optype") #define CPERF_SESSIONLESS ("sessionless") #define CPERF_OUT_OF_PLACE ("out-of-place") -#define CPERF_VERIFY ("verify") #define CPERF_TEST_FILE ("test-file") #define CPERF_TEST_NAME ("test-name") @@ -29,15 +34,28 @@ #define CPERF_AUTH_ALGO ("auth-algo") #define CPERF_AUTH_OP ("auth-op") #define CPERF_AUTH_KEY_SZ ("auth-key-sz") -#define CPERF_AUTH_DIGEST_SZ ("auth-digest-sz") -#define CPERF_AUTH_AAD_SZ ("auth-aad-sz") +#define CPERF_AUTH_IV_SZ ("auth-iv-sz") + +#define CPERF_AEAD_ALGO ("aead-algo") +#define CPERF_AEAD_OP ("aead-op") +#define CPERF_AEAD_KEY_SZ ("aead-key-sz") +#define CPERF_AEAD_IV_SZ ("aead-iv-sz") +#define CPERF_AEAD_AAD_SZ ("aead-aad-sz") + +#define CPERF_DIGEST_SZ ("digest-sz") + #define CPERF_CSV ("csv-friendly") +/* benchmark-specific options */ +#define CPERF_PMDCC_DELAY_MS ("pmd-cyclecount-delay-ms") + +#define MAX_LIST 32 enum cperf_perf_test_type { CPERF_TEST_TYPE_THROUGHPUT, - CPERF_TEST_TYPE_CYCLECOUNT, - CPERF_TEST_TYPE_LATENCY + CPERF_TEST_TYPE_LATENCY, + CPERF_TEST_TYPE_VERIFY, + CPERF_TEST_TYPE_PMDCC }; @@ -58,22 +76,19 @@ struct cperf_options { uint32_t pool_sz; uint32_t total_ops; - uint32_t burst_sz; - uint32_t buffer_sz; - uint32_t segments_nb; - - char device_type[RTE_CRYPTODEV_NAME_LEN]; - enum cperf_op_type op_type; + uint32_t headroom_sz; + uint32_t tailroom_sz; + uint32_t segment_sz; + uint32_t test_buffer_size; + uint32_t *imix_buffer_sizes; + uint32_t nb_descriptors; + uint16_t nb_qps; uint32_t sessionless:1; uint32_t out_of_place:1; - uint32_t verify:1; uint32_t silent:1; uint32_t csv:1; - char *test_file; - char *test_name; - enum rte_crypto_cipher_algorithm cipher_algo; enum rte_crypto_cipher_operation cipher_op; @@ -84,8 +99,39 @@ struct cperf_options { enum rte_crypto_auth_operation auth_op; uint16_t auth_key_sz; - uint16_t auth_digest_sz; - uint16_t auth_aad_sz; + uint16_t auth_iv_sz; + + enum rte_crypto_aead_algorithm aead_algo; + enum rte_crypto_aead_operation aead_op; + + uint16_t aead_key_sz; + uint16_t aead_iv_sz; + uint16_t aead_aad_sz; + + uint16_t digest_sz; + + char device_type[RTE_CRYPTODEV_NAME_MAX_LEN]; + enum cperf_op_type op_type; + + char *test_file; + char *test_name; + + uint32_t buffer_size_list[MAX_LIST]; + uint8_t buffer_size_count; + uint32_t max_buffer_size; + uint32_t min_buffer_size; + uint32_t inc_buffer_size; + + uint32_t burst_size_list[MAX_LIST]; + uint8_t burst_size_count; + uint32_t max_burst_size; + uint32_t min_burst_size; + uint32_t inc_burst_size; + + /* pmd-cyclecount specific options */ + uint32_t pmdcc_delay; + uint32_t imix_distribution_list[MAX_LIST]; + uint8_t imix_distribution_count; }; void