FD.io VPP  v19.01.1-17-ge106252
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

#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

Enumerator
VXLAN_GPE_IOAM_TRACE_N_STATS 

Definition at line 63 of file vxlan_gpe_ioam_trace.c.

Function Documentation

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

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

Definition at line 172 of file vxlan_gpe_ioam_trace.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int vxlan_gpe_add_unregister_option ( u8  option)

Definition at line 105 of file vxlan_gpe_ioam_trace.c.

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:

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:

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u8* vxlan_gpe_ioam_trace_data_list_trace_handler ( u8 s,
vxlan_gpe_ioam_option_t opt 
)

Definition at line 377 of file vxlan_gpe_ioam_trace.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static int vxlan_gpe_ioam_trace_get_sizeof_handler ( u32 result)
static

Definition at line 487 of file vxlan_gpe_ioam_trace.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static clib_error_t* vxlan_gpe_ioam_trace_init ( vlib_main_t vm)
static

Definition at line 436 of file vxlan_gpe_ioam_trace.c.

+ Here is the call graph for this function:

int vxlan_gpe_ioam_trace_rewrite_handler ( u8 rewrite_string,
u8 rewrite_size 
)

Definition at line 218 of file vxlan_gpe_ioam_trace.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void vxlan_gpe_ioam_trace_stats_increment_counter ( u32  counter_index,
u64  increment 
)
inlinestatic

Definition at line 162 of file vxlan_gpe_ioam_trace.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int vxlan_gpe_ioam_unregister_option ( u8  option)

Definition at line 144 of file vxlan_gpe_ioam_trace.c.

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

+ Here is the call graph for this function:

int vxlan_gpe_trace_profile_cleanup ( void  )

Definition at line 476 of file vxlan_gpe_ioam_trace.c.

+ Here is the caller graph for this function:

int vxlan_gpe_trace_profile_setup ( void  )

Definition at line 519 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

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

Definition at line 34 of file vxlan_gpe_ioam_trace.c.

vxlan_gpe_ioam_trace_main_t vxlan_gpe_ioam_trace_main

Definition at line 82 of file vxlan_gpe_ioam_trace.c.

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