test/crypto-perf: support SDAP for PDCP operations
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.singh@nxp.com> Acked-by: Akhil Goyal <gakhil@marvell.com>
This commit is contained in:
parent
abcee06c02
commit
23a95dfe96
@ -865,6 +865,7 @@ cperf_create_session(struct rte_mempool *sess_mp,
|
|||||||
.hfn = options->pdcp_ses_hfn_en ?
|
.hfn = options->pdcp_ses_hfn_en ?
|
||||||
PDCP_DEFAULT_HFN : 0,
|
PDCP_DEFAULT_HFN : 0,
|
||||||
.hfn_threshold = 0x70C0A,
|
.hfn_threshold = 0x70C0A,
|
||||||
|
.sdap_enabled = options->pdcp_sdap,
|
||||||
.hfn_ovrd = !(options->pdcp_ses_hfn_en),
|
.hfn_ovrd = !(options->pdcp_ses_hfn_en),
|
||||||
} },
|
} },
|
||||||
.crypto_xform = &cipher_xform
|
.crypto_xform = &cipher_xform
|
||||||
|
@ -14,6 +14,7 @@
|
|||||||
#define CPERF_PTEST_TYPE ("ptest")
|
#define CPERF_PTEST_TYPE ("ptest")
|
||||||
#define CPERF_MODEX_LEN ("modex-len")
|
#define CPERF_MODEX_LEN ("modex-len")
|
||||||
#define CPERF_SILENT ("silent")
|
#define CPERF_SILENT ("silent")
|
||||||
|
#define CPERF_ENABLE_SDAP ("enable-sdap")
|
||||||
|
|
||||||
#define CPERF_POOL_SIZE ("pool-sz")
|
#define CPERF_POOL_SIZE ("pool-sz")
|
||||||
#define CPERF_TOTAL_OPS ("total-ops")
|
#define CPERF_TOTAL_OPS ("total-ops")
|
||||||
@ -129,6 +130,7 @@ struct cperf_options {
|
|||||||
#ifdef RTE_LIB_SECURITY
|
#ifdef RTE_LIB_SECURITY
|
||||||
uint16_t pdcp_sn_sz;
|
uint16_t pdcp_sn_sz;
|
||||||
uint16_t pdcp_ses_hfn_en;
|
uint16_t pdcp_ses_hfn_en;
|
||||||
|
uint16_t pdcp_sdap;
|
||||||
enum rte_security_pdcp_domain pdcp_domain;
|
enum rte_security_pdcp_domain pdcp_domain;
|
||||||
uint16_t docsis_hdr_sz;
|
uint16_t docsis_hdr_sz;
|
||||||
#endif
|
#endif
|
||||||
|
@ -64,6 +64,7 @@ usage(char *progname)
|
|||||||
" --pdcp-sn-sz N: set PDCP SN size N <5/7/12/15/18>\n"
|
" --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-domain DOMAIN: set PDCP domain <control/user>\n"
|
||||||
" --pdcp-ses-hfn-en: enable session based fixed HFN\n"
|
" --pdcp-ses-hfn-en: enable session based fixed HFN\n"
|
||||||
|
" --enable-sdap: enable sdap\n"
|
||||||
" --docsis-hdr-sz: set DOCSIS header size\n"
|
" --docsis-hdr-sz: set DOCSIS header size\n"
|
||||||
#endif
|
#endif
|
||||||
" -h: prints this help\n",
|
" -h: prints this help\n",
|
||||||
@ -548,6 +549,15 @@ parse_silent(struct cperf_options *opts,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
parse_enable_sdap(struct cperf_options *opts,
|
||||||
|
const char *arg __rte_unused)
|
||||||
|
{
|
||||||
|
opts->pdcp_sdap = 1;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
parse_cipher_algo(struct cperf_options *opts, const char *arg)
|
parse_cipher_algo(struct cperf_options *opts, const char *arg)
|
||||||
{
|
{
|
||||||
@ -879,6 +889,7 @@ static struct option lgopts[] = {
|
|||||||
{ CPERF_PDCP_SN_SZ, required_argument, 0, 0 },
|
{ CPERF_PDCP_SN_SZ, required_argument, 0, 0 },
|
||||||
{ CPERF_PDCP_DOMAIN, required_argument, 0, 0 },
|
{ CPERF_PDCP_DOMAIN, required_argument, 0, 0 },
|
||||||
{ CPERF_PDCP_SES_HFN_EN, no_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 },
|
{ CPERF_DOCSIS_HDR_SZ, required_argument, 0, 0 },
|
||||||
#endif
|
#endif
|
||||||
{ CPERF_CSV, no_argument, 0, 0},
|
{ CPERF_CSV, no_argument, 0, 0},
|
||||||
@ -951,6 +962,7 @@ cperf_options_default(struct cperf_options *opts)
|
|||||||
opts->pdcp_sn_sz = 12;
|
opts->pdcp_sn_sz = 12;
|
||||||
opts->pdcp_domain = RTE_SECURITY_PDCP_MODE_CONTROL;
|
opts->pdcp_domain = RTE_SECURITY_PDCP_MODE_CONTROL;
|
||||||
opts->pdcp_ses_hfn_en = 0;
|
opts->pdcp_ses_hfn_en = 0;
|
||||||
|
opts->pdcp_sdap = 0;
|
||||||
opts->docsis_hdr_sz = 17;
|
opts->docsis_hdr_sz = 17;
|
||||||
#endif
|
#endif
|
||||||
opts->modex_data = (struct cperf_modex_test_data *)&modex_perf_data[0];
|
opts->modex_data = (struct cperf_modex_test_data *)&modex_perf_data[0];
|
||||||
@ -994,6 +1006,7 @@ cperf_opts_parse_long(int opt_idx, struct cperf_options *opts)
|
|||||||
{ CPERF_PDCP_SN_SZ, parse_pdcp_sn_sz },
|
{ CPERF_PDCP_SN_SZ, parse_pdcp_sn_sz },
|
||||||
{ CPERF_PDCP_DOMAIN, parse_pdcp_domain },
|
{ CPERF_PDCP_DOMAIN, parse_pdcp_domain },
|
||||||
{ CPERF_PDCP_SES_HFN_EN, parse_pdcp_ses_hfn_en },
|
{ CPERF_PDCP_SES_HFN_EN, parse_pdcp_ses_hfn_en },
|
||||||
|
{ CPERF_ENABLE_SDAP, parse_enable_sdap },
|
||||||
{ CPERF_DOCSIS_HDR_SZ, parse_docsis_hdr_sz },
|
{ CPERF_DOCSIS_HDR_SZ, parse_docsis_hdr_sz },
|
||||||
#endif
|
#endif
|
||||||
{ CPERF_CSV, parse_csv_friendly},
|
{ CPERF_CSV, parse_csv_friendly},
|
||||||
|
@ -332,6 +332,10 @@ The following are the application command-line options:
|
|||||||
|
|
||||||
Enable fixed session based HFN instead of per packet HFN.
|
Enable fixed session based HFN instead of per packet HFN.
|
||||||
|
|
||||||
|
* ``--enable-sdap``
|
||||||
|
|
||||||
|
Enable Service Data Adaptation Protocol.
|
||||||
|
|
||||||
* ``--modex-len <n>``
|
* ``--modex-len <n>``
|
||||||
|
|
||||||
Set modex length for asymmetric crypto perf test.
|
Set modex length for asymmetric crypto perf test.
|
||||||
|
Loading…
Reference in New Issue
Block a user