Add a command line option "--enable-sdap" to enable Service Data Adaptation Protocol.
example command: ./dpdk-test-crypto-perf -c 0xc --log-level=8 -- --devtype crypto_dpaa2_sec --optype pdcp --cipher-algo aes-ctr --cipher-op encrypt --auth-algo zuc-eia3 --auth-op generate --auth-key-sz 16 --ptest throughput --total-ops 100000 --burst-sz 64 --buffer-sz 64,390,1512 --pool-sz 4096 --silent --pdcp-sn-sz 12 --pdcp-domain control --enable-sdap Signed-off-by: Gagandeep Singh <g.si...@nxp.com> --- app/test-crypto-perf/cperf_ops.c | 1 + app/test-crypto-perf/cperf_options.h | 2 ++ app/test-crypto-perf/cperf_options_parsing.c | 12 ++++++++++++ 3 files changed, 15 insertions(+) diff --git a/app/test-crypto-perf/cperf_ops.c b/app/test-crypto-perf/cperf_ops.c index 8baee12e45..67a7a0ac4f 100644 --- a/app/test-crypto-perf/cperf_ops.c +++ b/app/test-crypto-perf/cperf_ops.c @@ -860,6 +860,7 @@ cperf_create_session(struct rte_mempool *sess_mp, .hfn = options->pdcp_ses_hfn_en ? PDCP_DEFAULT_HFN : 0, .hfn_threshold = 0x70C0A, + .sdap_enabled = options->pdcp_sdap, .hfn_ovrd = !(options->pdcp_ses_hfn_en), } }, .crypto_xform = &cipher_xform diff --git a/app/test-crypto-perf/cperf_options.h b/app/test-crypto-perf/cperf_options.h index 031b238b20..fffa6a2162 100644 --- a/app/test-crypto-perf/cperf_options.h +++ b/app/test-crypto-perf/cperf_options.h @@ -13,6 +13,7 @@ #define CPERF_PTEST_TYPE ("ptest") #define CPERF_SILENT ("silent") +#define CPERF_ENABLE_SDAP ("enable-sdap") #define CPERF_POOL_SIZE ("pool-sz") #define CPERF_TOTAL_OPS ("total-ops") @@ -128,6 +129,7 @@ struct cperf_options { #ifdef RTE_LIB_SECURITY uint16_t pdcp_sn_sz; uint16_t pdcp_ses_hfn_en; + uint16_t pdcp_sdap; enum rte_security_pdcp_domain pdcp_domain; uint16_t docsis_hdr_sz; #endif diff --git a/app/test-crypto-perf/cperf_options_parsing.c b/app/test-crypto-perf/cperf_options_parsing.c index 59a9dc596a..48cd1b5ba2 100644 --- a/app/test-crypto-perf/cperf_options_parsing.c +++ b/app/test-crypto-perf/cperf_options_parsing.c @@ -61,6 +61,7 @@ usage(char *progname) " --pdcp-sn-sz N: set PDCP SN size N <5/7/12/15/18>\n" " --pdcp-domain DOMAIN: set PDCP domain <control/user>\n" " --pdcp-ses-hfn-en: enable session based fixed HFN\n" + " --enable-sdap: enable sdap\n" " --docsis-hdr-sz: set DOCSIS header size\n" #endif " -h: prints this help\n", @@ -535,6 +536,15 @@ parse_silent(struct cperf_options *opts, return 0; } +static int +parse_enable_sdap(struct cperf_options *opts, + const char *arg __rte_unused) +{ + opts->pdcp_sdap = 1; + + return 0; +} + static int parse_cipher_algo(struct cperf_options *opts, const char *arg) { @@ -865,6 +875,7 @@ static struct option lgopts[] = { { CPERF_PDCP_SN_SZ, required_argument, 0, 0 }, { CPERF_PDCP_DOMAIN, required_argument, 0, 0 }, { CPERF_PDCP_SES_HFN_EN, no_argument, 0, 0 }, + { CPERF_ENABLE_SDAP, no_argument, 0, 0 }, { CPERF_DOCSIS_HDR_SZ, required_argument, 0, 0 }, #endif { CPERF_CSV, no_argument, 0, 0}, @@ -978,6 +989,7 @@ cperf_opts_parse_long(int opt_idx, struct cperf_options *opts) { CPERF_PDCP_SN_SZ, parse_pdcp_sn_sz }, { CPERF_PDCP_DOMAIN, parse_pdcp_domain }, { CPERF_PDCP_SES_HFN_EN, parse_pdcp_ses_hfn_en }, + { CPERF_ENABLE_SDAP, parse_enable_sdap }, { CPERF_DOCSIS_HDR_SZ, parse_docsis_hdr_sz }, #endif { CPERF_CSV, parse_csv_friendly}, -- 2.25.1