[dpdk-dev] [PATCH v2 3/3] test/crypto: add UDP encapsulation ports verification tests
Tejasree Kondoj
ktejasree at marvell.com
Wed Sep 29 05:25:14 CEST 2021
Adding UDP encapsulation ports verification test cases.
Signed-off-by: Tejasree Kondoj <ktejasree at marvell.com>
---
app/test/test_cryptodev.c | 17 +++++++++++++++++
app/test/test_cryptodev_security_ipsec.c | 11 +++++++++++
app/test/test_cryptodev_security_ipsec.h | 1 +
3 files changed, 29 insertions(+)
diff --git a/app/test/test_cryptodev.c b/app/test/test_cryptodev.c
index 665d19c0a4..5f0d023451 100644
--- a/app/test/test_cryptodev.c
+++ b/app/test/test_cryptodev.c
@@ -9262,6 +9262,19 @@ test_ipsec_proto_tunnel_dst_addr_verify(const void *data __rte_unused)
return test_ipsec_proto_all(&flags);
}
+static int
+test_ipsec_proto_udp_ports_verify(const void *data __rte_unused)
+{
+ struct ipsec_test_flags flags;
+
+ memset(&flags, 0, sizeof(flags));
+
+ flags.udp_encap = true;
+ flags.udp_ports_verify = true;
+
+ return test_ipsec_proto_all(&flags);
+}
+
static int
test_PDCP_PROTO_all(void)
{
@@ -14194,6 +14207,10 @@ static struct unit_test_suite ipsec_proto_testsuite = {
"UDP encapsulation",
ut_setup_security, ut_teardown,
test_ipsec_proto_udp_encap),
+ TEST_CASE_NAMED_ST(
+ "UDP encapsulation ports verification test",
+ ut_setup_security, ut_teardown,
+ test_ipsec_proto_udp_ports_verify),
TEST_CASE_NAMED_ST(
"SA expiry packets soft",
ut_setup_security, ut_teardown,
diff --git a/app/test/test_cryptodev_security_ipsec.c b/app/test/test_cryptodev_security_ipsec.c
index f040630655..764e77bbff 100644
--- a/app/test/test_cryptodev_security_ipsec.c
+++ b/app/test/test_cryptodev_security_ipsec.c
@@ -36,6 +36,14 @@ test_ipsec_sec_caps_verify(struct rte_security_ipsec_xform *ipsec_xform,
return -ENOTSUP;
}
+ if (ipsec_xform->options.udp_ports_verify == 1 &&
+ sec_cap->ipsec.options.udp_ports_verify == 0) {
+ if (!silent)
+ RTE_LOG(INFO, USER1, "UDP encapsulation ports "
+ "verification is not supported\n");
+ return -ENOTSUP;
+ }
+
if (ipsec_xform->options.copy_dscp == 1 &&
sec_cap->ipsec.options.copy_dscp == 0) {
if (!silent)
@@ -216,6 +224,9 @@ test_ipsec_td_update(struct ipsec_test_data td_inb[],
if (flags->udp_encap)
td_inb[i].ipsec_xform.options.udp_encap = 1;
+ if (flags->udp_ports_verify)
+ td_inb[i].ipsec_xform.options.udp_ports_verify = 1;
+
td_inb[i].ipsec_xform.options.tunnel_hdr_verify =
flags->tunnel_hdr_verify;
diff --git a/app/test/test_cryptodev_security_ipsec.h b/app/test/test_cryptodev_security_ipsec.h
index a65cb54eae..0416005520 100644
--- a/app/test/test_cryptodev_security_ipsec.h
+++ b/app/test/test_cryptodev_security_ipsec.h
@@ -55,6 +55,7 @@ struct ipsec_test_flags {
bool iv_gen;
uint32_t tunnel_hdr_verify;
bool udp_encap;
+ bool udp_ports_verify;
};
struct crypto_param {
--
2.27.0
More information about the dev
mailing list