[dpdk-dev] [PATCH 2/2] examples/ipsec-secgw: add UDP encapsulation for inline protocol
Srujana Challa
schalla at marvell.com
Tue Jul 13 09:42:18 CEST 2021
Adds support to allow udp-encap option for
RTE_SECURITY_ACTION_TYPE_INLINE_PROTOCOL mode also.
Signed-off-by: Srujana Challa <schalla at marvell.com>
---
examples/ipsec-secgw/sa.c | 31 ++++++++++++++++++-------------
1 file changed, 18 insertions(+), 13 deletions(-)
diff --git a/examples/ipsec-secgw/sa.c b/examples/ipsec-secgw/sa.c
index 7bb9ef36c2..17a28556c9 100644
--- a/examples/ipsec-secgw/sa.c
+++ b/examples/ipsec-secgw/sa.c
@@ -759,20 +759,25 @@ parse_sa_tokens(char **tokens, uint32_t n_tokens,
continue;
}
if (strcmp(tokens[ti], "udp-encap") == 0) {
- APP_CHECK(ips->type ==
- RTE_SECURITY_ACTION_TYPE_LOOKASIDE_PROTOCOL,
- status, "UDP encapsulation is allowed if the "
- "session is of type lookaside-protocol-offload "
- "only.");
- if (status->status < 0)
- return;
- APP_CHECK_PRESENCE(udp_encap_p, tokens[ti], status);
- if (status->status < 0)
- return;
+ switch (ips->type) {
+ case RTE_SECURITY_ACTION_TYPE_LOOKASIDE_PROTOCOL:
+ case RTE_SECURITY_ACTION_TYPE_INLINE_PROTOCOL:
+ APP_CHECK_PRESENCE(udp_encap_p, tokens[ti],
+ status);
+ if (status->status < 0)
+ return;
- rule->udp_encap = 1;
- app_sa_prm.udp_encap = 1;
- udp_encap_p = 1;
+ rule->udp_encap = 1;
+ app_sa_prm.udp_encap = 1;
+ udp_encap_p = 1;
+ break;
+ default:
+ APP_CHECK(0, status,
+ "UDP encapsulation not supported for "
+ "security session type %d",
+ ips->type);
+ return;
+ }
continue;
}
--
2.29.0
More information about the dev
mailing list