summaryrefslogtreecommitdiffstats
path: root/vnet/vnet/ipsec-gre/ipsec_gre.c
diff options
context:
space:
mode:
authorMatus Fabian <matfabia@cisco.com>2016-10-07 03:29:09 -0700
committerDamjan Marion <dmarion.lists@gmail.com>2016-10-07 11:39:21 +0000
commit025943b9d0629e69343e28a478b3fa2e6d23fa16 (patch)
tree7818b61618e1e174a6d250feee4860b2166a9af3 /vnet/vnet/ipsec-gre/ipsec_gre.c
parentf0ccbb02fd48325c3ccab66993b277f95bdbe2c1 (diff)
VPP-464: Fix IPSec-GRE tunnel input with FIB 2.0
Change-Id: Ic29592d39f1d672cb6e7e32b4af6123683e022a7 Signed-off-by: Matus Fabian <matfabia@cisco.com>
Diffstat (limited to 'vnet/vnet/ipsec-gre/ipsec_gre.c')
-rw-r--r--vnet/vnet/ipsec-gre/ipsec_gre.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/vnet/vnet/ipsec-gre/ipsec_gre.c b/vnet/vnet/ipsec-gre/ipsec_gre.c
index cf0f391fede..9fd8a304d5f 100644
--- a/vnet/vnet/ipsec-gre/ipsec_gre.c
+++ b/vnet/vnet/ipsec-gre/ipsec_gre.c
@@ -206,6 +206,11 @@ ipsec_gre_interface_tx (vlib_main_t * vm,
ip0->checksum = ip4_header_checksum (ip0);
ip1->checksum = ip4_header_checksum (ip1);
+ vnet_buffer (b0)->sw_if_index[VLIB_RX] =
+ vnet_buffer (b0)->sw_if_index[VLIB_TX];
+ vnet_buffer (b1)->sw_if_index[VLIB_RX] =
+ vnet_buffer (b1)->sw_if_index[VLIB_TX];
+
vnet_buffer (b0)->output_features.ipsec_sad_index = t->local_sa;
vnet_buffer (b1)->output_features.ipsec_sad_index = t->local_sa;
@@ -281,6 +286,8 @@ ipsec_gre_interface_tx (vlib_main_t * vm,
ip0->dst_address.as_u32 = t->tunnel_dst.as_u32;
ip0->checksum = ip4_header_checksum (ip0);
+ vnet_buffer (b0)->sw_if_index[VLIB_RX] =
+ vnet_buffer (b0)->sw_if_index[VLIB_TX];
vnet_buffer (b0)->output_features.ipsec_sad_index = t->local_sa;
vnet_buffer (b0)->sw_if_index[VLIB_TX] = (u32) ~ 0;