FD.io VPP  v20.01-48-g3e0dafb74
Vector Packet Processing
geneve.h File Reference
+ Include dependency graph for geneve.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  geneve_encap_trace_t
 
struct  geneve_tunnel_t
 
struct  geneve_main_t
 
struct  vnet_geneve_add_del_tunnel_args_t
 

Macros

#define SUPPORT_OPTIONS_HEADER   0
 
#define foreach_geneve_input_next
 
#define geneve_error(n, s)   GENEVE_ERROR_##n,
 

Enumerations

enum  geneve_input_next_t { GENEVE_INPUT_N_NEXT }
 
enum  geneve_input_error_t { GENEVE_N_ERROR }
 

Functions

typedef CLIB_PACKED (struct { ip4_header_t ip4;udp_header_t udp;geneve_header_t geneve;}) ip4_geneve_header_t
 
typedef CLIB_PACKED (struct { ip6_header_t ip6;udp_header_t udp;geneve_header_t geneve;}) ip6_geneve_header_t
 
typedef CLIB_PACKED (struct { union { struct { u32 remote;u32 vni;};u64 as_u64;};}) geneve4_tunnel_key_t
 
typedef CLIB_PACKED (struct { ip6_address_t remote;u32 vni;}) geneve6_tunnel_key_t
 
u8format_geneve_encap_trace (u8 *s, va_list *args)
 
int vnet_geneve_add_del_tunnel (vnet_geneve_add_del_tunnel_args_t *a, u32 *sw_if_indexp)
 
void vnet_int_geneve_bypass_mode (u32 sw_if_index, u8 is_ip6, u8 is_enable)
 

Variables

geneve_main_t geneve_main
 
vlib_node_registration_t geneve4_input_node
 (constructor) VLIB_REGISTER_NODE (geneve4_input_node) More...
 
vlib_node_registration_t geneve6_input_node
 (constructor) VLIB_REGISTER_NODE (geneve6_input_node) More...
 
vlib_node_registration_t geneve4_encap_node
 (constructor) VLIB_REGISTER_NODE (geneve4_encap_node) More...
 
vlib_node_registration_t geneve6_encap_node
 (constructor) VLIB_REGISTER_NODE (geneve6_encap_node) More...
 

Macro Definition Documentation

◆ foreach_geneve_input_next

#define foreach_geneve_input_next
Value:
_(DROP, "error-drop") \
_(L2_INPUT, "l2-input")
DROP
Definition: error.def:41

Definition at line 139 of file geneve.h.

◆ geneve_error

#define geneve_error (   n,
 
)    GENEVE_ERROR_##n,

Definition at line 153 of file geneve.h.

◆ SUPPORT_OPTIONS_HEADER

#define SUPPORT_OPTIONS_HEADER   0

Definition at line 33 of file geneve.h.

Enumeration Type Documentation

◆ geneve_input_error_t

Enumerator
GENEVE_N_ERROR 

Definition at line 151 of file geneve.h.

◆ geneve_input_next_t

Enumerator
GENEVE_INPUT_N_NEXT 

Definition at line 143 of file geneve.h.

Function Documentation

◆ CLIB_PACKED() [1/4]

typedef CLIB_PACKED ( struct { ip4_header_t ip4;udp_header_t udp;geneve_header_t geneve;}  )

◆ CLIB_PACKED() [2/4]

typedef CLIB_PACKED ( struct { ip6_header_t ip6;udp_header_t udp;geneve_header_t geneve;}  )

◆ CLIB_PACKED() [3/4]

typedef CLIB_PACKED ( struct { union { struct { u32 remote;u32 vni;};u64 as_u64;};}  )

◆ CLIB_PACKED() [4/4]

typedef CLIB_PACKED ( struct { ip6_address_t remote;u32 vni;}  )

◆ format_geneve_encap_trace()

u8* format_geneve_encap_trace ( u8 s,
va_list *  args 
)

Definition at line 42 of file geneve.c.

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

◆ vnet_geneve_add_del_tunnel()

int vnet_geneve_add_del_tunnel ( vnet_geneve_add_del_tunnel_args_t a,
u32 sw_if_indexp 
)

Definition at line 369 of file geneve.c.

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

◆ vnet_int_geneve_bypass_mode()

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

Definition at line 939 of file geneve.c.

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

Variable Documentation

◆ geneve4_encap_node

vlib_node_registration_t geneve4_encap_node

(constructor) VLIB_REGISTER_NODE (geneve4_encap_node)

Definition at line 545 of file encap.c.

◆ geneve4_input_node

vlib_node_registration_t geneve4_input_node

(constructor) VLIB_REGISTER_NODE (geneve4_input_node)

Definition at line 816 of file decap.c.

◆ geneve6_encap_node

vlib_node_registration_t geneve6_encap_node

(constructor) VLIB_REGISTER_NODE (geneve6_encap_node)

Definition at line 558 of file encap.c.

◆ geneve6_input_node

vlib_node_registration_t geneve6_input_node

(constructor) VLIB_REGISTER_NODE (geneve6_input_node)

Definition at line 834 of file decap.c.

◆ geneve_main

geneve_main_t geneve_main

Definition at line 39 of file geneve.c.