X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=app%2Ftest-crypto-perf%2Fcperf_options.h;h=256fabb072a62031999121c7dec11679758ecbac;hb=7eec575a223daf436ee68a91642ffb7ed8cdbd49;hp=24699ed7eba8b2d2d127aef7143ca8fa8c24813d;hpb=f6cefe253cc814a01575b1f1604afac8c81453ed;p=dpdk.git diff --git a/app/test-crypto-perf/cperf_options.h b/app/test-crypto-perf/cperf_options.h index 24699ed7eb..256fabb072 100644 --- a/app/test-crypto-perf/cperf_options.h +++ b/app/test-crypto-perf/cperf_options.h @@ -1,8 +1,15 @@ +/* SPDX-License-Identifier: BSD-3-Clause + * Copyright(c) 2018 Intel Corporation + */ #ifndef _CPERF_OPTIONS_ #define _CPERF_OPTIONS_ #include +#include +#ifdef RTE_LIBRTE_SECURITY +#include +#endif #define CPERF_PTEST_TYPE ("ptest") #define CPERF_SILENT ("silent") @@ -11,7 +18,9 @@ #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") @@ -28,16 +37,36 @@ #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") + +#ifdef RTE_LIBRTE_SECURITY +#define CPERF_PDCP_SN_SZ ("pdcp-sn-sz") +#define CPERF_PDCP_DOMAIN ("pdcp-domain") +#define CPERF_PDCP_SES_HFN_EN ("pdcp-ses-hfn-en") +#define PDCP_DEFAULT_HFN 0x1 +#define CPERF_DOCSIS_HDR_SZ ("docsis-hdr-sz") +#endif + #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_LATENCY, - CPERF_TEST_TYPE_VERIFY + CPERF_TEST_TYPE_VERIFY, + CPERF_TEST_TYPE_PMDCC }; @@ -48,7 +77,9 @@ enum cperf_op_type { CPERF_AUTH_ONLY, CPERF_CIPHER_THEN_AUTH, CPERF_AUTH_THEN_CIPHER, - CPERF_AEAD + CPERF_AEAD, + CPERF_PDCP, + CPERF_DOCSIS }; extern const char *cperf_op_type_strs[]; @@ -58,20 +89,19 @@ struct cperf_options { uint32_t pool_sz; uint32_t total_ops; + uint32_t headroom_sz; + uint32_t tailroom_sz; + uint32_t segment_sz; uint32_t test_buffer_size; - uint32_t segments_nb; - - char device_type[RTE_CRYPTODEV_NAME_LEN]; - enum cperf_op_type op_type; + 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 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; @@ -82,8 +112,28 @@ 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; + +#ifdef RTE_LIBRTE_SECURITY + uint16_t pdcp_sn_sz; + uint16_t pdcp_ses_hfn_en; + enum rte_security_pdcp_domain pdcp_domain; + uint16_t docsis_hdr_sz; +#endif + 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; @@ -97,6 +147,10 @@ struct cperf_options { 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