FD.io VPP  v21.01.1
Vector Packet Processing
vxlan_gpe_ioam_trace.c File Reference
+ Include dependency graph for vxlan_gpe_ioam_trace.c:

Go to the source code of this file.

Data Structures

union  time_u64_t
 
struct  vxlan_gpe_ioam_trace_main_t
 

Macros

#define foreach_vxlan_gpe_ioam_trace_stats
 

Enumerations

enum  vxlan_gpe_ioam_trace_stats_t { VXLAN_GPE_IOAM_TRACE_N_STATS }
 

Functions

typedef CLIB_PACKED (struct { vxlan_gpe_ioam_option_t hdr;u8 ioam_trace_type;u8 data_list_elts_left;u32 elts[0];})
 
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)
 
static void vxlan_gpe_ioam_trace_stats_increment_counter (u32 counter_index, u64 increment)
 
static u8format_ioam_data_list_element (u8 *s, va_list *args)
 
int vxlan_gpe_ioam_trace_rewrite_handler (u8 *rewrite_string, u8 *rewrite_size)
 
int vxlan_gpe_ioam_trace_data_list_handler (vlib_buffer_t *b, vxlan_gpe_ioam_option_t *opt, u8 is_ipv4, u8 use_adj)
 
u8vxlan_gpe_ioam_trace_data_list_trace_handler (u8 *s, vxlan_gpe_ioam_option_t *opt)
 
static clib_error_tvxlan_gpe_show_ioam_trace_cmd_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 
static clib_error_tvxlan_gpe_ioam_trace_init (vlib_main_t *vm)
 
int vxlan_gpe_trace_profile_cleanup (void)
 
static int vxlan_gpe_ioam_trace_get_sizeof_handler (u32 *result)
 
int vxlan_gpe_trace_profile_setup (void)
 

Variables

static f64 trace_tsp_mul [4] = { 1, 1e3, 1e6, 1e9 }
 
vxlan_gpe_ioam_trace_main_t vxlan_gpe_ioam_trace_main
 
static vlib_cli_command_t vxlan_gpe_show_ioam_trace_cmd
 (constructor) VLIB_CLI_COMMAND (vxlan_gpe_show_ioam_trace_cmd) More...
 

Macro Definition Documentation

◆ foreach_vxlan_gpe_ioam_trace_stats

#define foreach_vxlan_gpe_ioam_trace_stats
Value:
_(SUCCESS, "Pkts updated with TRACE records") \
_(FAILED, "Errors in TRACE due to lack of TRACE records")

Enumeration Type Documentation

◆ vxlan_gpe_ioam_trace_stats_t

Enumerator
VXLAN_GPE_IOAM_TRACE_N_STATS 

Definition at line 62 of file vxlan_gpe_ioam_trace.c.

Function Documentation

◆ CLIB_PACKED()

typedef CLIB_PACKED ( struct { vxlan_gpe_ioam_option_t hdr;u8 ioam_trace_type;u8 data_list_elts_left;u32 elts[0];}  )

Definition at line 43 of file vxlan_gpe_ioam_trace.c.

◆ format_ioam_data_list_element()

static u8* format_ioam_data_list_element ( u8 s,
va_list *  args 
)
static

Definition at line 171 of file vxlan_gpe_ioam_trace.c.

+ Here is the caller graph for this function:

◆ vxlan_gpe_add_unregister_option()

int vxlan_gpe_add_unregister_option ( u8  option)

Definition at line 104 of file vxlan_gpe_ioam_trace.c.

◆ 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 84 of file vxlan_gpe_ioam_trace.c.

+ 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 121 of file vxlan_gpe_ioam_trace.c.

+ Here is the caller graph for this function:

◆ vxlan_gpe_ioam_trace_data_list_handler()

int vxlan_gpe_ioam_trace_data_list_handler ( vlib_buffer_t b,
vxlan_gpe_ioam_option_t opt,
u8  is_ipv4,
u8  use_adj 
)

Definition at line 252 of file vxlan_gpe_ioam_trace.c.

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

◆ vxlan_gpe_ioam_trace_data_list_trace_handler()

u8* vxlan_gpe_ioam_trace_data_list_trace_handler ( u8 s,
vxlan_gpe_ioam_option_t opt 
)

Definition at line 376 of file vxlan_gpe_ioam_trace.c.

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

◆ vxlan_gpe_ioam_trace_get_sizeof_handler()

static int vxlan_gpe_ioam_trace_get_sizeof_handler ( u32 result)
static

Definition at line 483 of file vxlan_gpe_ioam_trace.c.

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

◆ vxlan_gpe_ioam_trace_init()

static clib_error_t* vxlan_gpe_ioam_trace_init ( vlib_main_t vm)
static

Definition at line 435 of file vxlan_gpe_ioam_trace.c.

+ Here is the call graph for this function:

◆ vxlan_gpe_ioam_trace_rewrite_handler()

int vxlan_gpe_ioam_trace_rewrite_handler ( u8 rewrite_string,
u8 rewrite_size 
)

Definition at line 217 of file vxlan_gpe_ioam_trace.c.

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

◆ vxlan_gpe_ioam_trace_stats_increment_counter()

static void vxlan_gpe_ioam_trace_stats_increment_counter ( u32  counter_index,
u64  increment 
)
inlinestatic

Definition at line 161 of file vxlan_gpe_ioam_trace.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 143 of file vxlan_gpe_ioam_trace.c.

◆ vxlan_gpe_show_ioam_trace_cmd_fn()

static clib_error_t* vxlan_gpe_show_ioam_trace_cmd_fn ( vlib_main_t vm,
unformat_input_t input,
vlib_cli_command_t cmd 
)
static

Definition at line 405 of file vxlan_gpe_ioam_trace.c.

+ Here is the call graph for this function:

◆ vxlan_gpe_trace_profile_cleanup()

int vxlan_gpe_trace_profile_cleanup ( void  )

Definition at line 472 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 515 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

◆ trace_tsp_mul

f64 trace_tsp_mul[4] = { 1, 1e3, 1e6, 1e9 }
static

Definition at line 33 of file vxlan_gpe_ioam_trace.c.

◆ vxlan_gpe_ioam_trace_main

vxlan_gpe_ioam_trace_main_t vxlan_gpe_ioam_trace_main

Definition at line 81 of file vxlan_gpe_ioam_trace.c.

◆ vxlan_gpe_show_ioam_trace_cmd

vlib_cli_command_t vxlan_gpe_show_ioam_trace_cmd
static
Initial value:
= {
.path = "show ioam vxlan-gpe trace",
.short_help = "iOAM trace statistics",
}
static clib_error_t * vxlan_gpe_show_ioam_trace_cmd_fn(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)

(constructor) VLIB_CLI_COMMAND (vxlan_gpe_show_ioam_trace_cmd)

Definition at line 426 of file vxlan_gpe_ioam_trace.c.