From af86a48733c548931f8983984328b906f7e7aef8 Mon Sep 17 00:00:00 2001 From: eyal bari Date: Tue, 17 Apr 2018 11:20:27 +0300 Subject: vxlan:offload RX flow ip4 vxlan cli/api (using flow infra) to create flows and enable them on different hardware (currently tested with i40e) to offload a vxlan tunnel onto hw: set flow-offload vxlan hw TwentyFiveGigabitEthernet3/0/0 rx vxlan_tunnel1 to remove offload: set flow-offload vxlan hw TwentyFiveGigabitEthernet3/0/0 rx vxlan_tunnel1 del TODO:ipv6 handling Change-Id: I70e61f792ef8e3f007d03d7df70e97ea4725b101 Signed-off-by: Eyal Bari --- src/vnet/vxlan/vxlan.h | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/vnet/vxlan/vxlan.h') diff --git a/src/vnet/vxlan/vxlan.h b/src/vnet/vxlan/vxlan.h index 3c74bfd4e8e..0f226aa3e72 100644 --- a/src/vnet/vxlan/vxlan.h +++ b/src/vnet/vxlan/vxlan.h @@ -112,6 +112,7 @@ typedef struct { */ u32 sibling_index; + u32 flow_index; /* infra flow index */ u32 dev_instance; /* Real device instance in tunnel vector */ u32 user_instance; /* Instance name being shown to user */ @@ -161,6 +162,7 @@ typedef struct { /* Record used instances */ uword *instance_used; + u32 flow_id_start; } vxlan_main_t; extern vxlan_main_t vxlan_main; @@ -169,6 +171,7 @@ extern vlib_node_registration_t vxlan4_input_node; extern vlib_node_registration_t vxlan6_input_node; extern vlib_node_registration_t vxlan4_encap_node; extern vlib_node_registration_t vxlan6_encap_node; +extern vlib_node_registration_t vxlan4_flow_input_node; u8 * format_vxlan_encap_trace (u8 * s, va_list * args); @@ -191,6 +194,11 @@ int vnet_vxlan_add_del_tunnel void vnet_int_vxlan_bypass_mode (u32 sw_if_index, u8 is_ip6, u8 is_enable); + +int vnet_vxlan_add_del_rx_flow +(u32 hw_if_index, u32 t_imdex, int is_add); + +u32 vnet_vxlan_get_tunnel_index (u32 sw_if_index); #endif /* included_vnet_vxlan_h */ /* -- cgit 1.2.3-korg