diff options
Diffstat (limited to 'src/vnet/ipip')
-rw-r--r-- | src/vnet/ipip/ipip.c | 6 | ||||
-rw-r--r-- | src/vnet/ipip/sixrd.c | 3 |
2 files changed, 6 insertions, 3 deletions
diff --git a/src/vnet/ipip/ipip.c b/src/vnet/ipip/ipip.c index 5dbe85a1c5b..2ac234eb7ca 100644 --- a/src/vnet/ipip/ipip.c +++ b/src/vnet/ipip/ipip.c @@ -348,9 +348,6 @@ ipip_update_adj (vnet_main_t * vnm, u32 sw_if_index, adj_index_t ai) if (!(t->flags & TUNNEL_ENCAP_DECAP_FLAG_ENCAP_INNER_HASH)) af |= ADJ_FLAG_MIDCHAIN_IP_STACK; - if (VNET_LINK_ETHERNET == adj_get_link_type (ai)) - af |= ADJ_FLAG_MIDCHAIN_NO_COUNT; - fixup = ipip_get_fixup (t, adj_get_link_type (ai), &af); adj_nbr_midchain_update_rewrite (ai, fixup, @@ -795,6 +792,8 @@ ipip_add_tunnel (ipip_transport_t transport, /* Standard default ipip MTU. */ vnet_sw_interface_set_mtu (vnm, sw_if_index, 9000); + vnet_set_interface_l3_output_node (gm->vlib_main, sw_if_index, + (u8 *) "tunnel-output"); t->tunnel_src = *src; t->tunnel_dst = *dst; @@ -840,6 +839,7 @@ ipip_del_tunnel (u32 sw_if_index) teib_walk_itf (t->sw_if_index, ipip_tunnel_delete_teib_walk, t); vnet_sw_interface_set_flags (vnm, sw_if_index, 0 /* down */ ); + vnet_reset_interface_l3_output_node (gm->vlib_main, t->sw_if_index); gm->tunnel_index_by_sw_if_index[sw_if_index] = ~0; vnet_delete_hw_interface (vnm, t->hw_if_index); hash_unset (gm->instance_used, t->user_instance); diff --git a/src/vnet/ipip/sixrd.c b/src/vnet/ipip/sixrd.c index 492b4f83260..c6c855df6e3 100644 --- a/src/vnet/ipip/sixrd.c +++ b/src/vnet/ipip/sixrd.c @@ -325,6 +325,8 @@ sixrd_add_tunnel (ip6_address_t * ip6_prefix, u8 ip6_prefix_len, t->user_instance = t_idx; vnet_sw_interface_set_mtu (vnet_get_main (), t->sw_if_index, 1480); + vnet_set_interface_l3_output_node (gm->vlib_main, hi->sw_if_index, + (u8 *) "tunnel-output"); ipip_tunnel_db_add (t, &key); @@ -403,6 +405,7 @@ sixrd_del_tunnel (u32 sw_if_index) vnet_sw_interface_set_flags (vnet_get_main (), t->sw_if_index, 0 /* down */ ); + vnet_reset_interface_l3_output_node (gm->vlib_main, t->sw_if_index); ip6_sw_interface_enable_disable (t->sw_if_index, false); gm->tunnel_index_by_sw_if_index[t->sw_if_index] = ~0; |