> 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 ++++++++++++
>  doc/guides/tools/cryptoperf.rst              |  4 ++++
>  4 files changed, 19 insertions(+)
> 
> diff --git a/app/test-crypto-perf/cperf_ops.c 
> b/app/test-crypto-perf/cperf_ops.c
> index cbefce8d6c..4295656a0b 100644
> --- a/app/test-crypto-perf/cperf_ops.c
> +++ b/app/test-crypto-perf/cperf_ops.c
> @@ -861,6 +861,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 09caefde22..613d6d31e2 100644
> --- a/app/test-crypto-perf/cperf_options.h
> +++ b/app/test-crypto-perf/cperf_options.h
> @@ -14,6 +14,7 @@
>  #define CPERF_PTEST_TYPE     ("ptest")
>  #define CPERF_MODEX_LEN              ("modex-len")
>  #define CPERF_SILENT         ("silent")
> +#define CPERF_ENABLE_SDAP    ("enable-sdap")
> 
>  #define CPERF_POOL_SIZE              ("pool-sz")
>  #define CPERF_TOTAL_OPS              ("total-ops")
> @@ -129,6 +130,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 09c98121c8..28680347f1 100644
> --- a/app/test-crypto-perf/cperf_options_parsing.c
> +++ b/app/test-crypto-perf/cperf_options_parsing.c
> @@ -64,6 +64,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",
> @@ -548,6 +549,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;
> +}

You should also set a default value of this flag.

Reply via email to