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
|
} else
|
||||||
sym_op->cipher.data.length = options->test_buffer_size;
|
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 ||
|
if (options->cipher_algo == RTE_CRYPTO_CIPHER_SNOW3G_UEA2 ||
|
||||||
options->cipher_algo == RTE_CRYPTO_CIPHER_KASUMI_F8 ||
|
options->cipher_algo == RTE_CRYPTO_CIPHER_KASUMI_F8 ||
|
||||||
options->cipher_algo == RTE_CRYPTO_CIPHER_ZUC_EEA3)
|
options->cipher_algo == RTE_CRYPTO_CIPHER_ZUC_EEA3)
|
||||||
|
@ -1130,6 +1130,20 @@ check_docsis_buffer_length(struct cperf_options *options)
|
|||||||
}
|
}
|
||||||
#endif
|
#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
|
int
|
||||||
cperf_options_check(struct cperf_options *options)
|
cperf_options_check(struct cperf_options *options)
|
||||||
{
|
{
|
||||||
@ -1236,6 +1250,14 @@ cperf_options_check(struct cperf_options *options)
|
|||||||
return -EINVAL;
|
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->op_type == CPERF_CIPHER_THEN_AUTH) {
|
||||||
if (options->cipher_op != RTE_CRYPTO_CIPHER_OP_ENCRYPT &&
|
if (options->cipher_op != RTE_CRYPTO_CIPHER_OP_ENCRYPT &&
|
||||||
options->auth_op !=
|
options->auth_op !=
|
||||||
@ -1244,14 +1266,6 @@ cperf_options_check(struct cperf_options *options)
|
|||||||
" options: encrypt and generate.\n");
|
" options: encrypt and generate.\n");
|
||||||
return -EINVAL;
|
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 ||
|
if (options->op_type == CPERF_CIPHER_ONLY ||
|
||||||
|
Loading…
Reference in New Issue
Block a user