app/crypto-perf: avoid wrong operation type for AEAD algos
When somebody use bad --optype with aead algorithms segmentation fault could happen. Fixes: f8be1786b1b8 ("app/crypto-perf: introduce performance test application") Signed-off-by: Daniel Mrzyglod <danielx.t.mrzyglod@intel.com> Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
This commit is contained in:
parent
5d75fb09d3
commit
5e66937631
@ -643,6 +643,17 @@ cperf_options_check(struct cperf_options *options)
|
||||
}
|
||||
}
|
||||
|
||||
if (options->cipher_algo == RTE_CRYPTO_CIPHER_AES_GCM ||
|
||||
options->cipher_algo == RTE_CRYPTO_CIPHER_AES_CCM ||
|
||||
options->auth_algo == RTE_CRYPTO_AUTH_AES_GCM ||
|
||||
options->auth_algo == RTE_CRYPTO_AUTH_AES_CCM ||
|
||||
options->auth_algo == RTE_CRYPTO_AUTH_AES_GMAC) {
|
||||
if (options->op_type != CPERF_AEAD) {
|
||||
RTE_LOG(ERR, USER1, "Use --optype aead\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -118,7 +118,8 @@ cperf_verify_devices_capabilities(struct cperf_options *opts,
|
||||
|
||||
if (opts->op_type == CPERF_AUTH_ONLY ||
|
||||
opts->op_type == CPERF_CIPHER_THEN_AUTH ||
|
||||
opts->op_type == CPERF_AUTH_THEN_CIPHER) {
|
||||
opts->op_type == CPERF_AUTH_THEN_CIPHER ||
|
||||
opts->op_type == CPERF_AEAD) {
|
||||
|
||||
cap_idx.type = RTE_CRYPTO_SYM_XFORM_AUTH;
|
||||
cap_idx.algo.auth = opts->auth_algo;
|
||||
@ -139,7 +140,8 @@ cperf_verify_devices_capabilities(struct cperf_options *opts,
|
||||
|
||||
if (opts->op_type == CPERF_CIPHER_ONLY ||
|
||||
opts->op_type == CPERF_CIPHER_THEN_AUTH ||
|
||||
opts->op_type == CPERF_AUTH_THEN_CIPHER) {
|
||||
opts->op_type == CPERF_AUTH_THEN_CIPHER ||
|
||||
opts->op_type == CPERF_AEAD) {
|
||||
|
||||
cap_idx.type = RTE_CRYPTO_SYM_XFORM_CIPHER;
|
||||
cap_idx.algo.cipher = opts->cipher_algo;
|
||||
|
@ -181,6 +181,8 @@ The following are the appication command-line options:
|
||||
auth-then-cipher
|
||||
aead
|
||||
|
||||
For GCM/CCM algorithms you should use aead flag.
|
||||
|
||||
* ``--sessionless``
|
||||
|
||||
Enable session-less crypto operations mode.
|
||||
|
Loading…
x
Reference in New Issue
Block a user