From 5025d40a1134272ab57c3c3f10311e31a65cd63c Mon Sep 17 00:00:00 2001 From: Matthew G Smith Date: Tue, 6 Aug 2019 08:43:50 -0500 Subject: dpdk: ipsec tunnel support for ip6-in-ip4 Type: feature If an attempt was made to send an IPv6 packet over an IPv4 tunnel, the DPDK esp_encrypt did not complete setting up the crypto operation for a buffer, but still queued the crypto operations that were allocated. This results in a SEGV when attempting to dequeue them in dpdk-crypto-input. Allow IPv6 packets to be sent over a v4 tunnel when using the DPDK plugin esp crypto nodes. Change-Id: Ic9a4cd69b7fc06a17ab2f64ae806ec2ceacfef27 Signed-off-by: Matthew Smith --- src/plugins/dpdk/ipsec/esp_decrypt.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'src/plugins/dpdk/ipsec/esp_decrypt.c') diff --git a/src/plugins/dpdk/ipsec/esp_decrypt.c b/src/plugins/dpdk/ipsec/esp_decrypt.c index a82f63e6e5b..afbab963009 100644 --- a/src/plugins/dpdk/ipsec/esp_decrypt.c +++ b/src/plugins/dpdk/ipsec/esp_decrypt.c @@ -587,8 +587,7 @@ dpdk_esp_decrypt_post_inline (vlib_main_t * vm, { if (f0->next_header == IP_PROTOCOL_IP_IN_IP) next0 = ESP_DECRYPT_NEXT_IP4_INPUT; - else if (ipsec_sa_is_set_IS_TUNNEL_V6 (sa0) - && f0->next_header == IP_PROTOCOL_IPV6) + else if (f0->next_header == IP_PROTOCOL_IPV6) next0 = ESP_DECRYPT_NEXT_IP6_INPUT; else { -- cgit 1.2.3-korg