vxlan geneve gtpu: fix short help
[vpp.git] / src / vnet / vxlan / vxlan.c
index def306a..2b85251 100644 (file)
@@ -16,6 +16,7 @@
 #include <vnet/ip/format.h>
 #include <vnet/fib/fib_entry.h>
 #include <vnet/fib/fib_table.h>
+#include <vnet/fib/fib_entry_track.h>
 #include <vnet/mfib/mfib_table.h>
 #include <vnet/adj/adj_mcast.h>
 #include <vnet/adj/rewrite.h>
@@ -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 <interface> [del]",
+  .short_help = "set interface ip6 vxlan-bypass <interface> [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,