FD.io VPP  v19.01.2-3-gf61a1a8
Vector Packet Processing
vxlan_gbp.h File Reference
+ Include dependency graph for vxlan_gbp.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  vxlan_gbp_tunnel_t
 
struct  vxlan_gbp_main_t
 
struct  vnet_vxlan_gbp_tunnel_add_del_args_t
 

Macros

#define foreach_vxlan_gbp_input_next
 
#define vxlan_gbp_error(n, s)   VXLAN_GBP_ERROR_##n,
 

Typedefs

typedef clib_bihash_kv_16_8_t vxlan4_gbp_tunnel_key_t
 
typedef clib_bihash_kv_24_8_t vxlan6_gbp_tunnel_key_t
 
typedef enum vxlan_gbp_tunnel_mode_t_ vxlan_gbp_tunnel_mode_t
 
typedef vxlan_gbp_input_next_t(* vxlan_bgp_no_tunnel_t) (vlib_buffer_t *b, u32 thread_index, u8 is_ip6)
 Call back function packets that do not match a configured tunnel. More...
 

Enumerations

enum  vxlan_gbp_tunnel_mode_t_ { VXLAN_GBP_TUNNEL_MODE_L2, VXLAN_GBP_TUNNEL_MODE_L3 }
 
enum  vxlan_gbp_input_next_t { VXLAN_GBP_INPUT_N_NEXT }
 
enum  vxlan_gbp_input_error_t { VXLAN_GBP_N_ERROR }
 

Functions

typedef CLIB_PACKED (struct{ip4_header_t ip4;udp_header_t udp;vxlan_gbp_header_t vxlan_gbp;}) ip4_vxlan_gbp_header_t
 
typedef CLIB_PACKED (struct{ip6_header_t ip6;udp_header_t udp;vxlan_gbp_header_t vxlan_gbp;}) ip6_vxlan_gbp_header_t
 
u8format_vxlan_gbp_tunnel_mode (u8 *s, va_list *args)
 
void vxlan_gbp_register_udp_ports (void)
 
void vxlan_gbp_unregister_udp_ports (void)
 
u8format_vxlan_gbp_encap_trace (u8 *s, va_list *args)
 
int vnet_vxlan_gbp_tunnel_add_del (vnet_vxlan_gbp_tunnel_add_del_args_t *a, u32 *sw_if_indexp)
 
int vnet_vxlan_gbp_tunnel_del (u32 sw_if_indexp)
 
void vnet_int_vxlan_gbp_bypass_mode (u32 sw_if_index, u8 is_ip6, u8 is_enable)
 
u32 vnet_vxlan_gbp_get_tunnel_index (u32 sw_if_index)
 

Variables

vxlan_gbp_main_t vxlan_gbp_main
 
vlib_node_registration_t vxlan4_gbp_input_node
 (constructor) VLIB_REGISTER_NODE (vxlan4_gbp_input_node) More...
 
vlib_node_registration_t vxlan6_gbp_input_node
 (constructor) VLIB_REGISTER_NODE (vxlan6_gbp_input_node) More...
 
vlib_node_registration_t vxlan4_gbp_encap_node
 (constructor) VLIB_REGISTER_NODE (vxlan4_gbp_encap_node) More...
 
vlib_node_registration_t vxlan6_gbp_encap_node
 (constructor) VLIB_REGISTER_NODE (vxlan6_gbp_encap_node) More...
 

Macro Definition Documentation

#define foreach_vxlan_gbp_input_next
Value:
_(DROP, "error-drop") \
_(NO_TUNNEL, "error-punt") \
_(L2_INPUT, "l2-input") \
_(IP4_INPUT, "ip4-input") \
_(IP6_INPUT, "ip6-input")
DROP
Definition: error.def:41

Definition at line 133 of file vxlan_gbp.h.

#define vxlan_gbp_error (   n,
 
)    VXLAN_GBP_ERROR_##n,

Definition at line 150 of file vxlan_gbp.h.

Typedef Documentation

Definition at line 53 of file vxlan_gbp.h.

Definition at line 60 of file vxlan_gbp.h.

typedef vxlan_gbp_input_next_t(* vxlan_bgp_no_tunnel_t) (vlib_buffer_t *b, u32 thread_index, u8 is_ip6)

Call back function packets that do not match a configured tunnel.

Definition at line 159 of file vxlan_gbp.h.

Enumeration Type Documentation

Enumerator
VXLAN_GBP_N_ERROR 

Definition at line 148 of file vxlan_gbp.h.

Enumerator
VXLAN_GBP_INPUT_N_NEXT 

Definition at line 140 of file vxlan_gbp.h.

Enumerator
VXLAN_GBP_TUNNEL_MODE_L2 
VXLAN_GBP_TUNNEL_MODE_L3 

Definition at line 62 of file vxlan_gbp.h.

Function Documentation

typedef CLIB_PACKED ( struct{ip4_header_t ip4;udp_header_t udp;vxlan_gbp_header_t vxlan_gbp;}  )
typedef CLIB_PACKED ( struct{ip6_header_t ip6;udp_header_t udp;vxlan_gbp_header_t vxlan_gbp;}  )
u8* format_vxlan_gbp_encap_trace ( u8 s,
va_list *  args 
)

Definition at line 57 of file encap.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u8* format_vxlan_gbp_tunnel_mode ( u8 s,
va_list *  args 
)

Definition at line 36 of file vxlan_gbp.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void vnet_int_vxlan_gbp_bypass_mode ( u32  sw_if_index,
u8  is_ip6,
u8  is_enable 
)

Definition at line 969 of file vxlan_gbp.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u32 vnet_vxlan_gbp_get_tunnel_index ( u32  sw_if_index)
int vnet_vxlan_gbp_tunnel_add_del ( vnet_vxlan_gbp_tunnel_add_del_args_t a,
u32 sw_if_indexp 
)

Definition at line 383 of file vxlan_gbp.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int vnet_vxlan_gbp_tunnel_del ( u32  sw_if_indexp)

Definition at line 664 of file vxlan_gbp.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void vxlan_gbp_register_udp_ports ( void  )
inline

Definition at line 347 of file vxlan_gbp.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void vxlan_gbp_unregister_udp_ports ( void  )
inline

Definition at line 365 of file vxlan_gbp.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Variable Documentation

vlib_node_registration_t vxlan4_gbp_encap_node

(constructor) VLIB_REGISTER_NODE (vxlan4_gbp_encap_node)

Definition at line 511 of file encap.c.

vlib_node_registration_t vxlan4_gbp_input_node

(constructor) VLIB_REGISTER_NODE (vxlan4_gbp_input_node)

Definition at line 22 of file decap.c.

vlib_node_registration_t vxlan6_gbp_encap_node

(constructor) VLIB_REGISTER_NODE (vxlan6_gbp_encap_node)

Definition at line 528 of file encap.c.

vlib_node_registration_t vxlan6_gbp_input_node

(constructor) VLIB_REGISTER_NODE (vxlan6_gbp_input_node)

Definition at line 23 of file decap.c.

vxlan_gbp_main_t vxlan_gbp_main

Definition at line 33 of file vxlan_gbp.c.