git.droids-corp.org
/
dpdk.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
bus/pci: fix use after free on unplug
[dpdk.git]
/
app
/
test-crypto-perf
/
cperf_options_parsing.c
diff --git
a/app/test-crypto-perf/cperf_options_parsing.c
b/app/test-crypto-perf/cperf_options_parsing.c
index
20577a1
..
c244f81
100644
(file)
--- a/
app/test-crypto-perf/cperf_options_parsing.c
+++ b/
app/test-crypto-perf/cperf_options_parsing.c
@@
-24,7
+24,7
@@
usage(char *progname)
{
printf("%s [EAL options] --\n"
" --silent: disable options dump\n"
{
printf("%s [EAL options] --\n"
" --silent: disable options dump\n"
- " --ptest throughput / latency / verify / pmd-cycleount :"
+ " --ptest throughput / latency / verify / pmd-cycle
c
ount :"
" set test type\n"
" --pool_sz N: set the number of crypto ops/mbufs allocated\n"
" --total-ops N: set the number of total operations performed\n"
" set test type\n"
" --pool_sz N: set the number of crypto ops/mbufs allocated\n"
" --total-ops N: set the number of total operations performed\n"
@@
-57,7
+57,10
@@
usage(char *progname)
" --pmd-cyclecount-delay-ms N: set delay between enqueue\n"
" and dequeue in pmd-cyclecount benchmarking mode\n"
" --csv-friendly: enable test result output CSV friendly\n"
" --pmd-cyclecount-delay-ms N: set delay between enqueue\n"
" and dequeue in pmd-cyclecount benchmarking mode\n"
" --csv-friendly: enable test result output CSV friendly\n"
-#ifdef RTE_LIBRTE_SECURITY
+#ifdef RTE_LIB_SECURITY
+ " --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"
" --docsis-hdr-sz: set DOCSIS header size\n"
#endif
" -h: prints this help\n",
" --docsis-hdr-sz: set DOCSIS header size\n"
#endif
" -h: prints this help\n",
@@
-454,6
+457,14
@@
parse_op_type(struct cperf_options *opts, const char *arg)
{
cperf_op_type_strs[CPERF_DOCSIS],
CPERF_DOCSIS
{
cperf_op_type_strs[CPERF_DOCSIS],
CPERF_DOCSIS
+ },
+ {
+ cperf_op_type_strs[CPERF_IPSEC],
+ CPERF_IPSEC
+ },
+ {
+ cperf_op_type_strs[CPERF_ASYM_MODEX],
+ CPERF_ASYM_MODEX
}
};
}
};
@@
-503,6
+514,12
@@
parse_test_name(struct cperf_options *opts,
{
char *test_name = (char *) rte_zmalloc(NULL,
sizeof(char) * (strlen(arg) + 3), 0);
{
char *test_name = (char *) rte_zmalloc(NULL,
sizeof(char) * (strlen(arg) + 3), 0);
+ if (test_name == NULL) {
+ RTE_LOG(ERR, USER1, "Failed to rte zmalloc with size: %zu\n",
+ strlen(arg) + 3);
+ return -1;
+ }
+
snprintf(test_name, strlen(arg) + 3, "[%s]", arg);
opts->test_name = test_name;
snprintf(test_name, strlen(arg) + 3, "[%s]", arg);
opts->test_name = test_name;
@@
-628,7
+645,7
@@
parse_digest_sz(struct cperf_options *opts, const char *arg)
return parse_uint16_t(&opts->digest_sz, arg);
}
return parse_uint16_t(&opts->digest_sz, arg);
}
-#ifdef RTE_LIB
RTE
_SECURITY
+#ifdef RTE_LIB_SECURITY
static int
parse_pdcp_sn_sz(struct cperf_options *opts, const char *arg)
{
static int
parse_pdcp_sn_sz(struct cperf_options *opts, const char *arg)
{
@@
-653,7
+670,8
@@
parse_pdcp_sn_sz(struct cperf_options *opts, const char *arg)
const char *cperf_pdcp_domain_strs[] = {
[RTE_SECURITY_PDCP_MODE_CONTROL] = "control",
const char *cperf_pdcp_domain_strs[] = {
[RTE_SECURITY_PDCP_MODE_CONTROL] = "control",
- [RTE_SECURITY_PDCP_MODE_DATA] = "data"
+ [RTE_SECURITY_PDCP_MODE_DATA] = "data",
+ [RTE_SECURITY_PDCP_MODE_SHORT_MAC] = "short_mac"
};
static int
};
static int
@@
-668,6
+686,11
@@
parse_pdcp_domain(struct cperf_options *opts, const char *arg)
cperf_pdcp_domain_strs
[RTE_SECURITY_PDCP_MODE_DATA],
RTE_SECURITY_PDCP_MODE_DATA
cperf_pdcp_domain_strs
[RTE_SECURITY_PDCP_MODE_DATA],
RTE_SECURITY_PDCP_MODE_DATA
+ },
+ {
+ cperf_pdcp_domain_strs
+ [RTE_SECURITY_PDCP_MODE_SHORT_MAC],
+ RTE_SECURITY_PDCP_MODE_SHORT_MAC
}
};
}
};
@@
-684,6
+707,13
@@
parse_pdcp_domain(struct cperf_options *opts, const char *arg)
return 0;
}
return 0;
}
+static int
+parse_pdcp_ses_hfn_en(struct cperf_options *opts, const char *arg __rte_unused)
+{
+ opts->pdcp_ses_hfn_en = 1;
+ return 0;
+}
+
static int
parse_docsis_hdr_sz(struct cperf_options *opts, const char *arg)
{
static int
parse_docsis_hdr_sz(struct cperf_options *opts, const char *arg)
{
@@
-831,9
+861,10
@@
static struct option lgopts[] = {
{ CPERF_DIGEST_SZ, required_argument, 0, 0 },
{ CPERF_DIGEST_SZ, required_argument, 0, 0 },
-#ifdef RTE_LIB
RTE
_SECURITY
+#ifdef RTE_LIB_SECURITY
{ CPERF_PDCP_SN_SZ, required_argument, 0, 0 },
{ CPERF_PDCP_DOMAIN, required_argument, 0, 0 },
{ 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_DOCSIS_HDR_SZ, required_argument, 0, 0 },
#endif
{ CPERF_CSV, no_argument, 0, 0},
{ CPERF_DOCSIS_HDR_SZ, required_argument, 0, 0 },
#endif
{ CPERF_CSV, no_argument, 0, 0},
@@
-902,9
+933,10
@@
cperf_options_default(struct cperf_options *opts)
opts->digest_sz = 12;
opts->pmdcc_delay = 0;
opts->digest_sz = 12;
opts->pmdcc_delay = 0;
-#ifdef RTE_LIB
RTE
_SECURITY
+#ifdef RTE_LIB_SECURITY
opts->pdcp_sn_sz = 12;
opts->pdcp_domain = RTE_SECURITY_PDCP_MODE_CONTROL;
opts->pdcp_sn_sz = 12;
opts->pdcp_domain = RTE_SECURITY_PDCP_MODE_CONTROL;
+ opts->pdcp_ses_hfn_en = 0;
opts->docsis_hdr_sz = 17;
#endif
}
opts->docsis_hdr_sz = 17;
#endif
}
@@
-942,9
+974,10
@@
cperf_opts_parse_long(int opt_idx, struct cperf_options *opts)
{ CPERF_AEAD_IV_SZ, parse_aead_iv_sz },
{ CPERF_AEAD_AAD_SZ, parse_aead_aad_sz },
{ CPERF_DIGEST_SZ, parse_digest_sz },
{ CPERF_AEAD_IV_SZ, parse_aead_iv_sz },
{ CPERF_AEAD_AAD_SZ, parse_aead_aad_sz },
{ CPERF_DIGEST_SZ, parse_digest_sz },
-#ifdef RTE_LIB
RTE
_SECURITY
+#ifdef RTE_LIB_SECURITY
{ CPERF_PDCP_SN_SZ, parse_pdcp_sn_sz },
{ CPERF_PDCP_DOMAIN, parse_pdcp_domain },
{ 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_DOCSIS_HDR_SZ, parse_docsis_hdr_sz },
#endif
{ CPERF_CSV, parse_csv_friendly},
{ CPERF_DOCSIS_HDR_SZ, parse_docsis_hdr_sz },
#endif
{ CPERF_CSV, parse_csv_friendly},
@@
-970,7
+1003,7
@@
cperf_options_parse(struct cperf_options *options, int argc, char **argv)
switch (opt) {
case 'h':
usage(argv[0]);
switch (opt) {
case 'h':
usage(argv[0]);
-
rte_exit(EXIT_SUCCESS, "Displayed help\n"
);
+
exit(EXIT_SUCCESS
);
break;
/* long options */
case 0:
break;
/* long options */
case 0:
@@
-1048,7
+1081,7
@@
check_cipher_buffer_length(struct cperf_options *options)
return 0;
}
return 0;
}
-#ifdef RTE_LIB
RTE
_SECURITY
+#ifdef RTE_LIB_SECURITY
static int
check_docsis_buffer_length(struct cperf_options *options)
{
static int
check_docsis_buffer_length(struct cperf_options *options)
{
@@
-1202,7
+1235,7
@@
cperf_options_check(struct cperf_options *options)
return -EINVAL;
}
return -EINVAL;
}
-#ifdef RTE_LIB
RTE
_SECURITY
+#ifdef RTE_LIB_SECURITY
if (options->op_type == CPERF_DOCSIS) {
if (check_docsis_buffer_length(options) < 0)
return -EINVAL;
if (options->op_type == CPERF_DOCSIS) {
if (check_docsis_buffer_length(options) < 0)
return -EINVAL;
@@
-1295,7
+1328,7
@@
cperf_options_dump(struct cperf_options *opts)
printf("#\n");
}
printf("#\n");
}
-#ifdef RTE_LIB
RTE
_SECURITY
+#ifdef RTE_LIB_SECURITY
if (opts->op_type == CPERF_DOCSIS) {
printf("# docsis header size: %u\n", opts->docsis_hdr_sz);
printf("#\n");
if (opts->op_type == CPERF_DOCSIS) {
printf("# docsis header size: %u\n", opts->docsis_hdr_sz);
printf("#\n");