X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fvxlan%2Fvxlan.c;h=2b8525113254abf1f84fb26ef55c0aba41a2e438;hb=5fb2278cb8badbbfe727acbdcaeda008a7fd2833;hp=def306a7846ef02adafa13b49212d8766957502d;hpb=097fa66b986f06281f603767d321ab13ab6c88c3;p=vpp.git diff --git a/src/vnet/vxlan/vxlan.c b/src/vnet/vxlan/vxlan.c index def306a7846..2b852511325 100644 --- a/src/vnet/vxlan/vxlan.c +++ b/src/vnet/vxlan/vxlan.c @@ -16,6 +16,7 @@ #include #include #include +#include #include #include #include @@ -513,11 +514,11 @@ int vnet_vxlan_add_del_tunnel * re-stack accordingly */ vtep_addr_ref (&t->src); - t->fib_entry_index = fib_table_entry_special_add - (t->encap_fib_index, &tun_dst_pfx, FIB_SOURCE_RR, - FIB_ENTRY_FLAG_NONE); - t->sibling_index = fib_entry_child_add - (t->fib_entry_index, FIB_NODE_TYPE_VXLAN_TUNNEL, dev_instance); + t->fib_entry_index = fib_entry_track (t->encap_fib_index, + &tun_dst_pfx, + FIB_NODE_TYPE_VXLAN_TUNNEL, + dev_instance, + &t->sibling_index); vxlan_tunnel_restack_dpo (t); } else @@ -619,8 +620,7 @@ int vnet_vxlan_add_del_tunnel vnet_flow_del (vnm, t->flow_index); vtep_addr_unref (&t->src); - fib_entry_child_remove (t->fib_entry_index, t->sibling_index); - fib_table_entry_delete_index (t->fib_entry_index, FIB_SOURCE_RR); + fib_entry_untrack (t->fib_entry_index, t->sibling_index); } else if (vtep_addr_unref (&t->dst) == 0) { @@ -1117,7 +1117,7 @@ set_ip6_vxlan_bypass (vlib_main_t * vm, VLIB_CLI_COMMAND (set_interface_ip6_vxlan_bypass_command, static) = { .path = "set interface ip6 vxlan-bypass", .function = set_ip6_vxlan_bypass, - .short_help = "set interface ip vxlan-bypass [del]", + .short_help = "set interface ip6 vxlan-bypass [del]", }; /* *INDENT-ON* */ @@ -1134,9 +1134,11 @@ vnet_vxlan_add_del_rx_flow (u32 hw_if_index, u32 t_index, int is_add) vxlan_main_t *vxm = &vxlan_main; vnet_flow_t flow = { .actions = - VNET_FLOW_ACTION_REDIRECT_TO_NODE | VNET_FLOW_ACTION_MARK, + VNET_FLOW_ACTION_REDIRECT_TO_NODE | VNET_FLOW_ACTION_MARK | + VNET_FLOW_ACTION_BUFFER_ADVANCE, .mark_flow_id = t->dev_instance + vxm->flow_id_start, .redirect_node_index = vxlan4_flow_input_node.index, + .buffer_advance = sizeof (ethernet_header_t), .type = VNET_FLOW_TYPE_IP4_VXLAN, .ip4_vxlan = { .src_addr = t->dst.ip4,