@@ -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
@@ -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
@@ -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;
+}
+
static int
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_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},
@@ -951,6 +962,7 @@ cperf_options_default(struct cperf_options *opts)
opts->pdcp_sn_sz = 12;
opts->pdcp_domain = RTE_SECURITY_PDCP_MODE_CONTROL;
opts->pdcp_ses_hfn_en = 0;
+ opts->pdcp_sdap = 0;
opts->docsis_hdr_sz = 17;
#endif
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_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},
@@ -332,6 +332,10 @@ The following are the application command-line options:
Enable fixed session based HFN instead of per packet HFN.
+* ``--enable-sdap``
+
+ Enable Service Data Adaptation Protocol.
+
* ``--modex-len <n>``
Set modex length for asymmetric crypto perf test.