FD.io VPP  v20.05.1-5-g09f167997
Vector Packet Processing
vxlan_gpe_ioam.h File Reference
+ Include dependency graph for vxlan_gpe_ioam.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  vxlan_gpe_sw_interface_
 
struct  vxlan_gpe_dest_tunnels_
 
struct  vxlan_gpe_ioam_main_
 
struct  ioam_trace_t
 

Macros

#define PPC_NONE   0
 
#define PPC_ENCAP   1
 
#define PPC_DECAP   2
 
#define TSP_SECONDS   0
 
#define TSP_MILLISECONDS   1
 
#define TSP_MICROSECONDS   2
 
#define TSP_NANOSECONDS   3
 

Typedefs

typedef struct vxlan_gpe_sw_interface_ vxlan_gpe_ioam_sw_interface_t
 
typedef struct vxlan_gpe_dest_tunnels_ vxlan_gpe_ioam_dest_tunnels_t
 
typedef struct vxlan_gpe_ioam_main_ vxlan_gpe_ioam_main_t
 

Enumerations

enum  vxlan_gpe_decap_ioam_v4_next_t { VXLAN_GPE_DECAP_IOAM_V4_NEXT_POP, VXLAN_GPE_DECAP_IOAM_V4_NEXT_DROP, VXLAN_GPE_DECAP_IOAM_V4_N_NEXT }
 

Functions

clib_error_tvxlan_gpe_ioam_enable (int has_trace_option, int has_pot_option, int has_ppc_option)
 
clib_error_tvxlan_gpe_ioam_disable (int has_trace_option, int has_pot_option, int has_ppc_option)
 
clib_error_tvxlan_gpe_ioam_set (vxlan_gpe_tunnel_t *t, int has_trace_option, int has_pot_option, int has_ppc_option, u8 ipv6_set)
 
clib_error_tvxlan_gpe_ioam_clear (vxlan_gpe_tunnel_t *t, int has_trace_option, int has_pot_option, int has_ppc_option, u8 ipv6_set)
 
int vxlan_gpe_ioam_add_register_option (u8 option, u8 size, int rewrite_options(u8 *rewrite_string, u8 *rewrite_size))
 
int vxlan_gpe_add_unregister_option (u8 option)
 
int vxlan_gpe_ioam_register_option (u8 option, int options(vlib_buffer_t *b, vxlan_gpe_ioam_option_t *opt, u8 is_ipv4, u8 use_adj), u8 *trace(u8 *s, vxlan_gpe_ioam_option_t *opt))
 
int vxlan_gpe_ioam_unregister_option (u8 option)
 
int vxlan_gpe_trace_profile_setup (void)
 
int vxlan_gpe_trace_profile_cleanup (void)
 
void vxlan_gpe_ioam_interface_init (void)
 
int vxlan_gpe_enable_disable_ioam_for_dest (vlib_main_t *vm, ip46_address_t dst_addr, u32 outer_fib_index, u8 is_ipv4, u8 is_add)
 
int vxlan_gpe_ioam_disable_for_dest (vlib_main_t *vm, ip46_address_t dst_addr, u32 outer_fib_index, u8 ipv4_set)
 

Variables

vxlan_gpe_ioam_main_t vxlan_gpe_ioam_main
 
vlib_node_registration_t vxlan_gpe_encap_ioam_v4_node
 (constructor) VLIB_REGISTER_NODE (vxlan_gpe_encap_ioam_v4_node) More...
 
vlib_node_registration_t vxlan_gpe_decap_ioam_v4_node
 (constructor) VLIB_REGISTER_NODE (vxlan_gpe_decap_ioam_v4_node) More...
 
vlib_node_registration_t vxlan_gpe_transit_ioam_v4_node
 

Macro Definition Documentation

◆ PPC_DECAP

#define PPC_DECAP   2

Definition at line 58 of file vxlan_gpe_ioam.h.

◆ PPC_ENCAP

#define PPC_ENCAP   1

Definition at line 57 of file vxlan_gpe_ioam.h.

◆ PPC_NONE

#define PPC_NONE   0

Definition at line 56 of file vxlan_gpe_ioam.h.

◆ TSP_MICROSECONDS

#define TSP_MICROSECONDS   2

Definition at line 63 of file vxlan_gpe_ioam.h.

◆ TSP_MILLISECONDS

#define TSP_MILLISECONDS   1

Definition at line 62 of file vxlan_gpe_ioam.h.

◆ TSP_NANOSECONDS

#define TSP_NANOSECONDS   3

Definition at line 64 of file vxlan_gpe_ioam.h.

◆ TSP_SECONDS

#define TSP_SECONDS   0

Definition at line 61 of file vxlan_gpe_ioam.h.

Typedef Documentation

◆ vxlan_gpe_ioam_dest_tunnels_t

◆ vxlan_gpe_ioam_main_t

◆ vxlan_gpe_ioam_sw_interface_t

Enumeration Type Documentation

◆ vxlan_gpe_decap_ioam_v4_next_t

Enumerator
VXLAN_GPE_DECAP_IOAM_V4_NEXT_POP 
VXLAN_GPE_DECAP_IOAM_V4_NEXT_DROP 
VXLAN_GPE_DECAP_IOAM_V4_N_NEXT 

Definition at line 168 of file vxlan_gpe_ioam.h.

Function Documentation

◆ vxlan_gpe_add_unregister_option()

int vxlan_gpe_add_unregister_option ( u8  option)

Definition at line 105 of file vxlan_gpe_ioam_trace.c.

◆ vxlan_gpe_enable_disable_ioam_for_dest()

int vxlan_gpe_enable_disable_ioam_for_dest ( vlib_main_t vm,
ip46_address_t  dst_addr,
u32  outer_fib_index,
u8  is_ipv4,
u8  is_add 
)

Definition at line 203 of file vxlan_gpe_ioam.c.

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

◆ vxlan_gpe_ioam_add_register_option()

int vxlan_gpe_ioam_add_register_option ( u8  option,
u8  size,
int   rewrite_optionsu8 *rewrite_string, u8 *rewrite_size 
)

Definition at line 85 of file vxlan_gpe_ioam_trace.c.

+ Here is the caller graph for this function:

◆ vxlan_gpe_ioam_clear()

clib_error_t* vxlan_gpe_ioam_clear ( vxlan_gpe_tunnel_t t,
int  has_trace_option,
int  has_pot_option,
int  has_ppc_option,
u8  ipv6_set 
)

Definition at line 126 of file vxlan_gpe_ioam.c.

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

◆ vxlan_gpe_ioam_disable()

clib_error_t* vxlan_gpe_ioam_disable ( int  has_trace_option,
int  has_pot_option,
int  has_ppc_option 
)

Definition at line 544 of file vxlan_gpe_ioam.c.

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

◆ vxlan_gpe_ioam_disable_for_dest()

int vxlan_gpe_ioam_disable_for_dest ( vlib_main_t vm,
ip46_address_t  dst_addr,
u32  outer_fib_index,
u8  ipv4_set 
)

Definition at line 609 of file vxlan_gpe_ioam.c.

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

◆ vxlan_gpe_ioam_enable()

clib_error_t* vxlan_gpe_ioam_enable ( int  has_trace_option,
int  has_pot_option,
int  has_ppc_option 
)

Definition at line 528 of file vxlan_gpe_ioam.c.

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

◆ vxlan_gpe_ioam_interface_init()

void vxlan_gpe_ioam_interface_init ( void  )

Definition at line 757 of file vxlan_gpe_ioam.c.

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

◆ vxlan_gpe_ioam_register_option()

int vxlan_gpe_ioam_register_option ( u8  option,
int   optionsvlib_buffer_t *b, vxlan_gpe_ioam_option_t *opt, u8 is_ipv4, u8 use_adj,
u8 traceu8 *s, vxlan_gpe_ioam_option_t *opt 
)

Definition at line 122 of file vxlan_gpe_ioam_trace.c.

+ Here is the caller graph for this function:

◆ vxlan_gpe_ioam_set()

clib_error_t* vxlan_gpe_ioam_set ( vxlan_gpe_tunnel_t t,
int  has_trace_option,
int  has_pot_option,
int  has_ppc_option,
u8  ipv6_set 
)

Definition at line 148 of file vxlan_gpe_ioam.c.

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

◆ vxlan_gpe_ioam_unregister_option()

int vxlan_gpe_ioam_unregister_option ( u8  option)

Definition at line 144 of file vxlan_gpe_ioam_trace.c.

◆ vxlan_gpe_trace_profile_cleanup()

int vxlan_gpe_trace_profile_cleanup ( void  )

Definition at line 473 of file vxlan_gpe_ioam_trace.c.

+ Here is the caller graph for this function:

◆ vxlan_gpe_trace_profile_setup()

int vxlan_gpe_trace_profile_setup ( void  )

Definition at line 516 of file vxlan_gpe_ioam_trace.c.

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

Variable Documentation

◆ vxlan_gpe_decap_ioam_v4_node

vlib_node_registration_t vxlan_gpe_decap_ioam_v4_node

(constructor) VLIB_REGISTER_NODE (vxlan_gpe_decap_ioam_v4_node)

Definition at line 197 of file ioam_decap.c.

◆ vxlan_gpe_encap_ioam_v4_node

vlib_node_registration_t vxlan_gpe_encap_ioam_v4_node

(constructor) VLIB_REGISTER_NODE (vxlan_gpe_encap_ioam_v4_node)

Definition at line 168 of file ioam_encap.c.

◆ vxlan_gpe_ioam_main

vxlan_gpe_ioam_main_t vxlan_gpe_ioam_main

Definition at line 23 of file vxlan_gpe_ioam.c.

◆ vxlan_gpe_transit_ioam_v4_node

vlib_node_registration_t vxlan_gpe_transit_ioam_v4_node