diff options
author | 2019-08-06 08:43:50 -0500 | |
---|---|---|
committer | 2019-09-19 18:16:47 +0000 | |
commit | 2dde5a47824a5c3949efa9a9e5354b65aa84d3c2 (patch) | |
tree | 1781a32fe9ef8338b0820bf0f60d1f417c307c7c /src/plugins/dpdk/ipsec/esp_decrypt.c | |
parent | 1ffabcb3df911f5f115a1c6dd51bdb5fdd3ac52c (diff) |
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 <mgsmith@netgate.com>
(cherry picked from commit 5025d40a1134272ab57c3c3f10311e31a65cd63c)
Diffstat (limited to 'src/plugins/dpdk/ipsec/esp_decrypt.c')
-rw-r--r-- | src/plugins/dpdk/ipsec/esp_decrypt.c | 3 |
1 files changed, 1 insertions, 2 deletions
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 { |