[PATCH] app/crypto-perf: Only run AEAD decrypt with valid test vector file.

Emma Finn emma.finn at intel.com
Mon Jul 28 10:06:21 CEST 2025


The test dummy vector data is incorrect for AEAD decryption, so we should
only run when passed a valid test vector file. This patch also moves the
check for correct test vector data to after the vector has been
populated by test vector file or dummy data.

Signed-off-by: Emma Finn <emma.finn at intel.com>
---
 app/test-crypto-perf/cperf_options_parsing.c | 19 +++++++++++++++++--
 app/test-crypto-perf/main.c                  | 12 ++++++------
 2 files changed, 23 insertions(+), 8 deletions(-)

diff --git a/app/test-crypto-perf/cperf_options_parsing.c b/app/test-crypto-perf/cperf_options_parsing.c
index 0e0dc4fd06..12623e4cfe 100644
--- a/app/test-crypto-perf/cperf_options_parsing.c
+++ b/app/test-crypto-perf/cperf_options_parsing.c
@@ -1482,11 +1482,26 @@ cperf_options_check(struct cperf_options *options)
 		}
 	}
 
-	if (options->test == CPERF_TEST_TYPE_THROUGHPUT &&
+	if ((options->test == CPERF_TEST_TYPE_THROUGHPUT ||
+	    options->test == CPERF_TEST_TYPE_LATENCY) &&
 	    (options->aead_op == RTE_CRYPTO_AEAD_OP_DECRYPT ||
 	     options->auth_op == RTE_CRYPTO_AUTH_OP_VERIFY) &&
 	    !options->out_of_place) {
-		RTE_LOG(ERR, USER1, "Only out-of-place is allowed in throughput decryption.\n");
+		RTE_LOG(ERR, USER1, "Only out-of-place is allowed in throughput and"
+			    " latency decryption.\n");
+		return -EINVAL;
+	}
+
+	if ((options->test == CPERF_TEST_TYPE_THROUGHPUT ||
+		 options->test == CPERF_TEST_TYPE_LATENCY) &&
+	    (options->aead_op == RTE_CRYPTO_AEAD_OP_DECRYPT ||
+	     options->auth_op == RTE_CRYPTO_AUTH_OP_VERIFY) &&
+		 options->test_name == NULL &&
+		 options->test_file == NULL) {
+		RTE_LOG(ERR, USER1, "Define path to the file with test"
+				" vectors.\n");
+		RTE_LOG(ERR, USER1, "Define test name to get the correct digest"
+				" from the test vectors.\n");
 		return -EINVAL;
 	}
 
diff --git a/app/test-crypto-perf/main.c b/app/test-crypto-perf/main.c
index 2e38c0011d..ef3c71b492 100644
--- a/app/test-crypto-perf/main.c
+++ b/app/test-crypto-perf/main.c
@@ -731,12 +731,6 @@ main(int argc, char **argv)
 					" specified file\n");
 			goto err;
 		}
-
-		if (cperf_check_test_vector(&opts, t_vec)) {
-			RTE_LOG(ERR, USER1, "Incomplete necessary test vectors"
-					"\n");
-			goto err;
-		}
 	} else {
 		t_vec = cperf_test_vector_get_dummy(&opts);
 		if (t_vec == NULL) {
@@ -746,6 +740,12 @@ main(int argc, char **argv)
 			goto err;
 		}
 	}
+	/* Add check for test vector data after dummy and file option. */
+	if (cperf_check_test_vector(&opts, t_vec)) {
+		RTE_LOG(ERR, USER1, "Incomplete necessary test vectors"
+				"\n");
+		goto err;
+	}
 
 	ret = cperf_get_op_functions(&opts, &op_fns);
 	if (ret) {
-- 
2.34.1



More information about the dev mailing list