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

Go to the source code of this file.

Data Structures

union  time_u64_t
 
struct  ip6_hop_by_hop_ioam_trace_main_t
 

Macros

#define foreach_ip6_hop_by_hop_ioam_trace_stats
 

Enumerations

enum  ip6_ioam_trace_stats_t { IP6_IOAM_TRACE_N_STATS }
 

Functions

static void ip6_ioam_trace_stats_increment_counter (u32 counter_index, u64 increment)
 
static u8format_ioam_data_list_element (u8 *s, va_list *args)
 
int ip6_ioam_trace_get_sizeof_handler (u32 *result)
 
int ip6_hop_by_hop_ioam_trace_rewrite_handler (u8 *rewrite_string, u8 *rewrite_size)
 
static void ip6_hbh_ioam_loopback_handler (vlib_buffer_t *b, ip6_header_t *ip, ioam_trace_option_t *trace)
 
int ip6_hbh_ioam_trace_data_list_handler (vlib_buffer_t *b, ip6_header_t *ip, ip6_hop_by_hop_option_t *opt)
 
u8ip6_hbh_ioam_trace_data_list_trace_handler (u8 *s, ip6_hop_by_hop_option_t *opt)
 
static clib_error_tip6_show_ioam_trace_cmd_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 
 VLIB_PLUGIN_REGISTER ()
 
static clib_error_tip6_hop_by_hop_ioam_trace_init (vlib_main_t *vm)
 
int ip6_trace_profile_cleanup (void)
 
int ip6_trace_profile_setup (void)
 

Variables

static f64 trace_tsp_mul [4] = { 1, 1e3, 1e6, 1e9 }
 
ip6_hop_by_hop_ioam_main_t ip6_hop_by_hop_ioam_main
 
ip6_main_t ip6_main
 
static char * ip6_hop_by_hop_ioam_trace_stats_strings []
 
ip6_hop_by_hop_ioam_trace_main_t ip6_hop_by_hop_ioam_trace_main
 
static vlib_cli_command_t ip6_show_ioam_trace_cmd
 (constructor) VLIB_CLI_COMMAND (ip6_show_ioam_trace_cmd) More...
 

Macro Definition Documentation

◆ foreach_ip6_hop_by_hop_ioam_trace_stats

#define foreach_ip6_hop_by_hop_ioam_trace_stats
Value:
_(PROCESSED, "Pkts with ip6 hop-by-hop trace options") \
_(PROFILE_MISS, "Pkts with ip6 hop-by-hop trace options but no profile set") \
_(UPDATED, "Pkts with trace updated") \
_(FULL, "Pkts with trace options but no space") \
_(LOOPBACK, "Pkts with trace options Loopback") \
_(LOOPBACK_REPLY, "Pkts with trace options Loopback Reply")

Definition at line 50 of file ip6_ioam_trace.c.

Enumeration Type Documentation

◆ ip6_ioam_trace_stats_t

Enumerator
IP6_IOAM_TRACE_N_STATS 

Definition at line 64 of file ip6_ioam_trace.c.

Function Documentation

◆ format_ioam_data_list_element()

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

Definition at line 95 of file ip6_ioam_trace.c.

+ Here is the caller graph for this function:

◆ ip6_hbh_ioam_loopback_handler()

static void ip6_hbh_ioam_loopback_handler ( vlib_buffer_t b,
ip6_header_t ip,
ioam_trace_option_t *  trace 
)
inlinestatic

Definition at line 210 of file ip6_ioam_trace.c.

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

◆ ip6_hbh_ioam_trace_data_list_handler()

int ip6_hbh_ioam_trace_data_list_handler ( vlib_buffer_t b,
ip6_header_t ip,
ip6_hop_by_hop_option_t opt 
)

Definition at line 255 of file ip6_ioam_trace.c.

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

◆ ip6_hbh_ioam_trace_data_list_trace_handler()

u8* ip6_hbh_ioam_trace_data_list_trace_handler ( u8 s,
ip6_hop_by_hop_option_t opt 
)

Definition at line 350 of file ip6_ioam_trace.c.

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

◆ ip6_hop_by_hop_ioam_trace_init()

static clib_error_t* ip6_hop_by_hop_ioam_trace_init ( vlib_main_t vm)
static

Definition at line 418 of file ip6_ioam_trace.c.

+ Here is the call graph for this function:

◆ ip6_hop_by_hop_ioam_trace_rewrite_handler()

int ip6_hop_by_hop_ioam_trace_rewrite_handler ( u8 rewrite_string,
u8 rewrite_size 
)

Definition at line 173 of file ip6_ioam_trace.c.

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

◆ ip6_ioam_trace_get_sizeof_handler()

int ip6_ioam_trace_get_sizeof_handler ( u32 result)

Definition at line 140 of file ip6_ioam_trace.c.

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

◆ ip6_ioam_trace_stats_increment_counter()

static void ip6_ioam_trace_stats_increment_counter ( u32  counter_index,
u64  increment 
)
inlinestatic

Definition at line 86 of file ip6_ioam_trace.c.

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

◆ ip6_show_ioam_trace_cmd_fn()

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

Definition at line 381 of file ip6_ioam_trace.c.

+ Here is the call graph for this function:

◆ ip6_trace_profile_cleanup()

int ip6_trace_profile_cleanup ( void  )

Definition at line 455 of file ip6_ioam_trace.c.

+ Here is the caller graph for this function:

◆ ip6_trace_profile_setup()

int ip6_trace_profile_setup ( void  )

Definition at line 467 of file ip6_ioam_trace.c.

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

◆ VLIB_PLUGIN_REGISTER()

VLIB_PLUGIN_REGISTER ( )

Variable Documentation

◆ ip6_hop_by_hop_ioam_main

ip6_hop_by_hop_ioam_main_t ip6_hop_by_hop_ioam_main

Definition at line 45 of file ip6_hop_by_hop.c.

◆ ip6_hop_by_hop_ioam_trace_main

ip6_hop_by_hop_ioam_trace_main_t ip6_hop_by_hop_ioam_trace_main

Definition at line 83 of file ip6_ioam_trace.c.

◆ ip6_hop_by_hop_ioam_trace_stats_strings

char* ip6_hop_by_hop_ioam_trace_stats_strings[]
static
Initial value:
= {
#define _(sym,string)
}
#define foreach_ip6_hop_by_hop_ioam_trace_stats

Definition at line 58 of file ip6_ioam_trace.c.

◆ ip6_main

ip6_main_t ip6_main

Definition at line 2785 of file ip6_forward.c.

◆ ip6_show_ioam_trace_cmd

vlib_cli_command_t ip6_show_ioam_trace_cmd
static
Initial value:
= {
.path = "show ioam trace",
.short_help = "iOAM trace statistics",
}
static clib_error_t * ip6_show_ioam_trace_cmd_fn(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)

(constructor) VLIB_CLI_COMMAND (ip6_show_ioam_trace_cmd)

Definition at line 403 of file ip6_ioam_trace.c.

◆ trace_tsp_mul

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

Definition at line 39 of file ip6_ioam_trace.c.