app/crypto-perf: allow auth generate followed by encryption
Allowing auth generation followed by encryption mode. --optype auth-then-cipher can take cipher-op as encrypt and auth-op as generate now. Signed-off-by: Tejasree Kondoj <ktejasree@marvell.com> Acked-by: Akhil Goyal <gakhil@marvell.com>
This commit is contained in:
parent
ead7d1911d
commit
9f3677d6ab
@ -458,6 +458,10 @@ cperf_set_ops_cipher_auth(struct rte_crypto_op **ops,
|
||||
} else
|
||||
sym_op->cipher.data.length = options->test_buffer_size;
|
||||
|
||||
if ((options->auth_op == RTE_CRYPTO_AUTH_OP_GENERATE) &&
|
||||
(options->op_type == CPERF_AUTH_THEN_CIPHER))
|
||||
sym_op->cipher.data.length += options->digest_sz;
|
||||
|
||||
if (options->cipher_algo == RTE_CRYPTO_CIPHER_SNOW3G_UEA2 ||
|
||||
options->cipher_algo == RTE_CRYPTO_CIPHER_KASUMI_F8 ||
|
||||
options->cipher_algo == RTE_CRYPTO_CIPHER_ZUC_EEA3)
|
||||
|
@ -1130,6 +1130,20 @@ check_docsis_buffer_length(struct cperf_options *options)
|
||||
}
|
||||
#endif
|
||||
|
||||
static bool
|
||||
is_valid_chained_op(struct cperf_options *options)
|
||||
{
|
||||
if (options->cipher_op == RTE_CRYPTO_CIPHER_OP_ENCRYPT &&
|
||||
options->auth_op == RTE_CRYPTO_AUTH_OP_GENERATE)
|
||||
return true;
|
||||
|
||||
if (options->cipher_op == RTE_CRYPTO_CIPHER_OP_DECRYPT &&
|
||||
options->auth_op == RTE_CRYPTO_AUTH_OP_VERIFY)
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
int
|
||||
cperf_options_check(struct cperf_options *options)
|
||||
{
|
||||
@ -1236,6 +1250,14 @@ cperf_options_check(struct cperf_options *options)
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (options->op_type == CPERF_CIPHER_THEN_AUTH ||
|
||||
options->op_type == CPERF_AUTH_THEN_CIPHER) {
|
||||
if (!is_valid_chained_op(options)) {
|
||||
RTE_LOG(ERR, USER1, "Invalid chained operation.\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
}
|
||||
|
||||
if (options->op_type == CPERF_CIPHER_THEN_AUTH) {
|
||||
if (options->cipher_op != RTE_CRYPTO_CIPHER_OP_ENCRYPT &&
|
||||
options->auth_op !=
|
||||
@ -1244,14 +1266,6 @@ cperf_options_check(struct cperf_options *options)
|
||||
" options: encrypt and generate.\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
} else if (options->op_type == CPERF_AUTH_THEN_CIPHER) {
|
||||
if (options->cipher_op != RTE_CRYPTO_CIPHER_OP_DECRYPT &&
|
||||
options->auth_op !=
|
||||
RTE_CRYPTO_AUTH_OP_VERIFY) {
|
||||
RTE_LOG(ERR, USER1, "Option auth then cipher must use"
|
||||
" options: decrypt and verify.\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
}
|
||||
|
||||
if (options->op_type == CPERF_CIPHER_ONLY ||
|
||||
|
Loading…
Reference in New Issue
Block a user