FD.io VPP  v19.08.3-2-gbabecb413
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)
 
static u32 vxlan_gbp_tunnel_by_sw_if_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

◆ foreach_vxlan_gbp_input_next

#define foreach_vxlan_gbp_input_next
Value:
_(DROP, "error-drop") \
_(PUNT, "punt-dispatch") \
_(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.

◆ vxlan_gbp_error

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

Definition at line 150 of file vxlan_gbp.h.

Typedef Documentation

◆ vxlan4_gbp_tunnel_key_t

Definition at line 53 of file vxlan_gbp.h.

◆ vxlan6_gbp_tunnel_key_t

Definition at line 60 of file vxlan_gbp.h.

◆ vxlan_bgp_no_tunnel_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.

Definition at line 159 of file vxlan_gbp.h.

◆ vxlan_gbp_tunnel_mode_t

Enumeration Type Documentation

◆ vxlan_gbp_input_error_t

Enumerator
VXLAN_GBP_N_ERROR 

Definition at line 148 of file vxlan_gbp.h.

◆ vxlan_gbp_input_next_t

Enumerator
VXLAN_GBP_INPUT_N_NEXT 

Definition at line 140 of file vxlan_gbp.h.

◆ vxlan_gbp_tunnel_mode_t_

Enumerator
VXLAN_GBP_TUNNEL_MODE_L2 
VXLAN_GBP_TUNNEL_MODE_L3 

Definition at line 62 of file vxlan_gbp.h.

Function Documentation

◆ CLIB_PACKED() [1/2]

typedef CLIB_PACKED ( struct { ip4_header_t ip4;udp_header_t udp;vxlan_gbp_header_t vxlan_gbp;}  )

◆ CLIB_PACKED() [2/2]

typedef CLIB_PACKED ( struct { ip6_header_t ip6;udp_header_t udp;vxlan_gbp_header_t vxlan_gbp;}  )

◆ format_vxlan_gbp_encap_trace()

u8* format_vxlan_gbp_encap_trace ( u8 s,
va_list *  args 
)

Definition at line 58 of file encap.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ format_vxlan_gbp_tunnel_mode()

u8* format_vxlan_gbp_tunnel_mode ( u8 s,
va_list *  args 
)

Definition at line 37 of file vxlan_gbp.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ vnet_int_vxlan_gbp_bypass_mode()

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

Definition at line 970 of file vxlan_gbp.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ vnet_vxlan_gbp_tunnel_add_del()

int vnet_vxlan_gbp_tunnel_add_del ( vnet_vxlan_gbp_tunnel_add_del_args_t a,
u32 sw_if_indexp 
)

Definition at line 384 of file vxlan_gbp.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ vnet_vxlan_gbp_tunnel_del()

int vnet_vxlan_gbp_tunnel_del ( u32  sw_if_indexp)

Definition at line 665 of file vxlan_gbp.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ vxlan_gbp_register_udp_ports()

void vxlan_gbp_register_udp_ports ( void  )
inline

Definition at line 348 of file vxlan_gbp.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ vxlan_gbp_tunnel_by_sw_if_index()

static u32 vxlan_gbp_tunnel_by_sw_if_index ( u32  sw_if_index)
inlinestatic

Definition at line 230 of file vxlan_gbp.h.

+ Here is the caller graph for this function:

◆ vxlan_gbp_unregister_udp_ports()

void vxlan_gbp_unregister_udp_ports ( void  )
inline

Definition at line 366 of file vxlan_gbp.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Variable Documentation

◆ vxlan4_gbp_encap_node

vlib_node_registration_t vxlan4_gbp_encap_node

(constructor) VLIB_REGISTER_NODE (vxlan4_gbp_encap_node)

Definition at line 512 of file encap.c.

◆ vxlan4_gbp_input_node

vlib_node_registration_t vxlan4_gbp_input_node

(constructor) VLIB_REGISTER_NODE (vxlan4_gbp_input_node)

Definition at line 541 of file decap.c.

◆ vxlan6_gbp_encap_node

vlib_node_registration_t vxlan6_gbp_encap_node

(constructor) VLIB_REGISTER_NODE (vxlan6_gbp_encap_node)

Definition at line 526 of file encap.c.

◆ vxlan6_gbp_input_node

vlib_node_registration_t vxlan6_gbp_input_node

(constructor) VLIB_REGISTER_NODE (vxlan6_gbp_input_node)

Definition at line 556 of file decap.c.

◆ vxlan_gbp_main

vxlan_gbp_main_t vxlan_gbp_main

Definition at line 34 of file vxlan_gbp.c.