FD.io VPP  v19.08.3-2-gbabecb413
Vector Packet Processing
nsh_md2_ioam_trace.c File Reference
+ Include dependency graph for nsh_md2_ioam_trace.c:

Go to the source code of this file.

Data Structures

union  time_u64_t
 
struct  nsh_md2_ioam_trace_main_t
 

Macros

#define NSH_MD2_IOAM_TRACE_SIZE_DUMMY   20
 
#define foreach_nsh_md2_ioam_trace_stats
 

Enumerations

enum  nsh_md2_ioam_trace_stats_t { NSH_MD2_IOAM_TRACE_N_STATS }
 

Functions

typedef CLIB_PACKED (struct { u16 class;u8 type;u8 length;u8 data_list_elts_left;u16 ioam_trace_type;u8 reserve;u32 elts[0];})
 
static trace_profilensh_trace_profile_find (void)
 
static void nsh_md2_ioam_trace_stats_increment_counter (u32 counter_index, u64 increment)
 
static u8format_ioam_data_list_element (u8 *s, va_list *args)
 
int nsh_md2_ioam_trace_rewrite_handler (u8 *rewrite_string, u8 *rewrite_size)
 
int nsh_md2_ioam_trace_data_list_handler (vlib_buffer_t *b, nsh_tlv_header_t *opt)
 
u8nsh_md2_ioam_trace_data_list_trace_handler (u8 *s, nsh_tlv_header_t *opt)
 
int nsh_md2_ioam_trace_swap_handler (vlib_buffer_t *b, nsh_tlv_header_t *old_opt, nsh_tlv_header_t *new_opt)
 
static clib_error_tnsh_md2_ioam_show_ioam_trace_cmd_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 
int nsh_md2_ioam_trace_pop_handler (vlib_buffer_t *b, nsh_tlv_header_t *opt)
 
static clib_error_tnsh_md2_ioam_trace_init (vlib_main_t *vm)
 
int nsh_md2_ioam_trace_profile_cleanup (void)
 
static int nsh_md2_ioam_trace_get_sizeof_handler (u32 *result)
 
int nsh_md2_ioam_trace_profile_setup (void)
 

Variables

static f64 trace_tsp_mul [4] = { 1, 1e3, 1e6, 1e9 }
 
nsh_md2_ioam_trace_main_t nsh_md2_ioam_trace_main
 
u8nsh_trace_main
 
static vlib_cli_command_t nsh_md2_ioam_show_ioam_trace_cmd
 (constructor) VLIB_CLI_COMMAND (nsh_md2_ioam_show_ioam_trace_cmd) More...
 

Macro Definition Documentation

◆ foreach_nsh_md2_ioam_trace_stats

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

◆ NSH_MD2_IOAM_TRACE_SIZE_DUMMY

#define NSH_MD2_IOAM_TRACE_SIZE_DUMMY   20

Definition at line 33 of file nsh_md2_ioam_trace.c.

Enumeration Type Documentation

◆ nsh_md2_ioam_trace_stats_t

Enumerator
NSH_MD2_IOAM_TRACE_N_STATS 

Definition at line 65 of file nsh_md2_ioam_trace.c.

Function Documentation

◆ CLIB_PACKED()

typedef CLIB_PACKED ( struct { u16 class;u8 type;u8 length;u8 data_list_elts_left;u16 ioam_trace_type;u8 reserve;u32 elts[0];}  )

Definition at line 43 of file nsh_md2_ioam_trace.c.

◆ format_ioam_data_list_element()

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

Definition at line 110 of file nsh_md2_ioam_trace.c.

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

◆ nsh_md2_ioam_show_ioam_trace_cmd_fn()

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

Definition at line 317 of file nsh_md2_ioam_trace.c.

+ Here is the call graph for this function:

◆ nsh_md2_ioam_trace_data_list_handler()

int nsh_md2_ioam_trace_data_list_handler ( vlib_buffer_t b,
nsh_tlv_header_t *  opt 
)

Definition at line 193 of file nsh_md2_ioam_trace.c.

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

◆ nsh_md2_ioam_trace_data_list_trace_handler()

u8* nsh_md2_ioam_trace_data_list_trace_handler ( u8 s,
nsh_tlv_header_t *  opt 
)

Definition at line 279 of file nsh_md2_ioam_trace.c.

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

◆ nsh_md2_ioam_trace_get_sizeof_handler()

static int nsh_md2_ioam_trace_get_sizeof_handler ( u32 result)
static

Definition at line 399 of file nsh_md2_ioam_trace.c.

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

◆ nsh_md2_ioam_trace_init()

static clib_error_t* nsh_md2_ioam_trace_init ( vlib_main_t vm)
static

Definition at line 353 of file nsh_md2_ioam_trace.c.

+ Here is the call graph for this function:

◆ nsh_md2_ioam_trace_pop_handler()

int nsh_md2_ioam_trace_pop_handler ( vlib_buffer_t b,
nsh_tlv_header_t *  opt 
)

Definition at line 347 of file nsh_md2_ioam_trace.c.

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

◆ nsh_md2_ioam_trace_profile_cleanup()

int nsh_md2_ioam_trace_profile_cleanup ( void  )

Definition at line 388 of file nsh_md2_ioam_trace.c.

+ Here is the caller graph for this function:

◆ nsh_md2_ioam_trace_profile_setup()

int nsh_md2_ioam_trace_profile_setup ( void  )

Definition at line 431 of file nsh_md2_ioam_trace.c.

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

◆ nsh_md2_ioam_trace_rewrite_handler()

int nsh_md2_ioam_trace_rewrite_handler ( u8 rewrite_string,
u8 rewrite_size 
)

Definition at line 156 of file nsh_md2_ioam_trace.c.

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

◆ nsh_md2_ioam_trace_stats_increment_counter()

static void nsh_md2_ioam_trace_stats_increment_counter ( u32  counter_index,
u64  increment 
)
inlinestatic

Definition at line 101 of file nsh_md2_ioam_trace.c.

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

◆ nsh_md2_ioam_trace_swap_handler()

int nsh_md2_ioam_trace_swap_handler ( vlib_buffer_t b,
nsh_tlv_header_t *  old_opt,
nsh_tlv_header_t *  new_opt 
)

Definition at line 306 of file nsh_md2_ioam_trace.c.

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

◆ nsh_trace_profile_find()

static trace_profile* nsh_trace_profile_find ( void  )
inlinestatic

Definition at line 92 of file nsh_md2_ioam_trace.c.

+ Here is the caller graph for this function:

Variable Documentation

◆ nsh_md2_ioam_show_ioam_trace_cmd

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

(constructor) VLIB_CLI_COMMAND (nsh_md2_ioam_show_ioam_trace_cmd)

Definition at line 338 of file nsh_md2_ioam_trace.c.

◆ nsh_md2_ioam_trace_main

nsh_md2_ioam_trace_main_t nsh_md2_ioam_trace_main

Definition at line 84 of file nsh_md2_ioam_trace.c.

◆ nsh_trace_main

u8* nsh_trace_main

Definition at line 46 of file nsh_md2_ioam_api.c.

◆ trace_tsp_mul

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

Definition at line 31 of file nsh_md2_ioam_trace.c.