Add data walkthrough test for DTLS 1.2
Signed-off-by: Aakash Sasidharan <asasidharan@marvell.com>
---
app/test/test_cryptodev.c | 17 +++++++++++++++++
app/test/test_cryptodev_security_tls_record.c | 5 ++++-
2 files changed, 21 insertions(+), 1 deletion(-)
@@ -12061,6 +12061,19 @@ test_tls_1_2_record_proto_sgl(void)
return test_tls_record_proto_all(&flags);
}
+static int
+test_dtls_1_2_record_proto_data_walkthrough(void)
+{
+ struct tls_record_test_flags flags;
+
+ memset(&flags, 0, sizeof(flags));
+
+ flags.data_walkthrough = true;
+ flags.tls_version = RTE_SECURITY_VERSION_DTLS_1_2;
+
+ return test_tls_record_proto_all(&flags);
+}
+
static int
test_dtls_1_2_record_proto_display_list(void)
{
@@ -17255,6 +17268,10 @@ static struct unit_test_suite dtls12_record_proto_testsuite = {
"Combined test alg list",
ut_setup_security, ut_teardown,
test_dtls_1_2_record_proto_display_list),
+ TEST_CASE_NAMED_ST(
+ "Data walkthrough combined test alg list",
+ ut_setup_security, ut_teardown,
+ test_dtls_1_2_record_proto_data_walkthrough),
TEST_CASE_NAMED_ST(
"Multi-segmented mode",
ut_setup_security, ut_teardown,
@@ -143,7 +143,10 @@ test_tls_record_td_prepare(const struct crypto_param *param1, const struct crypt
break;
case RTE_SECURITY_VERSION_DTLS_1_2:
hdr_len = sizeof(struct rte_dtls_hdr);
- min_padding = 0;
+ if (td->aead)
+ min_padding = 0;
+ else
+ min_padding = 1;
break;
default:
hdr_len = 0;