FD.io VPP  v21.06-3-gbb25fbf28
Vector Packet Processing
trace.c File Reference
+ Include dependency graph for trace.c:

Go to the source code of this file.

Functions

void vlib_trace_frame_buffers_only (vlib_main_t *vm, vlib_node_runtime_t *node, u32 *buffers, uword n_buffers, uword next_buffer_stride, uword n_buffer_data_bytes_in_trace)
 
void clear_trace_buffer (void)
 
u8format_vlib_trace (u8 *s, va_list *va)
 
int trace_time_cmp (void *a1, void *a2)
 
u32 filter_accept (vlib_trace_main_t *tm, vlib_trace_header_t *h)
 
void trace_apply_filter (vlib_main_t *vm)
 
static clib_error_tcli_show_trace_buffer (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 
int vlib_enable_disable_pkt_trace_filter (int enable)
 Enable / disable packet trace filter. More...
 
void vlib_trace_stop_and_clear (void)
 
void trace_update_capture_options (u32 add, u32 node_index, u32 filter, u8 verbose)
 
static clib_error_tcli_add_trace_buffer (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 
void trace_filter_set (u32 node_index, u32 flag, u32 count)
 
static clib_error_tcli_filter_trace (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 
static clib_error_tcli_clear_trace_buffer (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 
void vlib_trace_cli_reference (void)
 
int vnet_is_packet_traced (vlib_buffer_t *b, u32 classify_table_index, int func)
 
void * vlib_add_trace (vlib_main_t *vm, vlib_node_runtime_t *r, vlib_buffer_t *b, u32 n_data_bytes)
 

Variables

u8vnet_trace_placeholder
 
static vlib_cli_command_t trace_cli_command
 (constructor) VLIB_CLI_COMMAND (trace_cli_command) More...
 
static vlib_cli_command_t show_trace_cli
 (constructor) VLIB_CLI_COMMAND (show_trace_cli) More...
 
static vlib_cli_command_t add_trace_cli
 (constructor) VLIB_CLI_COMMAND (add_trace_cli) More...
 
static vlib_cli_command_t filter_trace_cli
 (constructor) VLIB_CLI_COMMAND (filter_trace_cli) More...
 
static vlib_cli_command_t clear_trace_cli
 (constructor) VLIB_CLI_COMMAND (clear_trace_cli) More...
 

Function Documentation

◆ clear_trace_buffer()

void clear_trace_buffer ( void  )

Definition at line 115 of file trace.c.

+ Here is the caller graph for this function:

◆ cli_add_trace_buffer()

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

Definition at line 421 of file trace.c.

+ Here is the call graph for this function:

◆ cli_clear_trace_buffer()

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

Definition at line 594 of file trace.c.

+ Here is the call graph for this function:

◆ cli_filter_trace()

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

Definition at line 550 of file trace.c.

+ Here is the call graph for this function:

◆ cli_show_trace_buffer()

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

Definition at line 283 of file trace.c.

+ Here is the call graph for this function:

◆ filter_accept()

u32 filter_accept ( vlib_trace_main_t tm,
vlib_trace_header_t h 
)

Definition at line 196 of file trace.c.

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

◆ format_vlib_trace()

u8* format_vlib_trace ( u8 s,
va_list *  va 
)

Definition at line 140 of file trace.c.

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

◆ trace_apply_filter()

void trace_apply_filter ( vlib_main_t vm)

Definition at line 240 of file trace.c.

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

◆ trace_filter_set()

void trace_filter_set ( u32  node_index,
u32  flag,
u32  count 
)

Definition at line 528 of file trace.c.

+ Here is the caller graph for this function:

◆ trace_time_cmp()

int trace_time_cmp ( void *  a1,
void *  a2 
)

Definition at line 184 of file trace.c.

+ Here is the caller graph for this function:

◆ trace_update_capture_options()

void trace_update_capture_options ( u32  add,
u32  node_index,
u32  filter,
u8  verbose 
)

Definition at line 385 of file trace.c.

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

◆ vlib_add_trace()

void* vlib_add_trace ( vlib_main_t vm,
vlib_node_runtime_t r,
vlib_buffer_t b,
u32  n_data_bytes 
)

Definition at line 628 of file trace.c.

+ Here is the call graph for this function:

◆ vlib_enable_disable_pkt_trace_filter()

int vlib_enable_disable_pkt_trace_filter ( int  enable)

Enable / disable packet trace filter.

Definition at line 371 of file trace.c.

+ Here is the caller graph for this function:

◆ vlib_trace_cli_reference()

void vlib_trace_cli_reference ( void  )

Definition at line 611 of file trace.c.

◆ vlib_trace_frame_buffers_only()

void vlib_trace_frame_buffers_only ( vlib_main_t vm,
vlib_node_runtime_t node,
u32 buffers,
uword  n_buffers,
uword  next_buffer_stride,
uword  n_buffer_data_bytes_in_trace 
)

Definition at line 48 of file trace.c.

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

◆ vlib_trace_stop_and_clear()

void vlib_trace_stop_and_clear ( void  )

Definition at line 377 of file trace.c.

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

◆ vnet_is_packet_traced()

int vnet_is_packet_traced ( vlib_buffer_t b,
u32  classify_table_index,
int  func 
)

Definition at line 621 of file trace.c.

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

Variable Documentation

◆ add_trace_cli

vlib_cli_command_t add_trace_cli
static
Initial value:
= {
.path = "trace add",
.short_help = "trace add <input-graph-node> <add'l-pkts-for-node-> [filter] [verbose]",
.function = cli_add_trace_buffer,
}

(constructor) VLIB_CLI_COMMAND (add_trace_cli)

Definition at line 482 of file trace.c.

◆ clear_trace_cli

vlib_cli_command_t clear_trace_cli
static
Initial value:
= {
.path = "clear trace",
.short_help = "Clear trace buffer and free memory",
}

(constructor) VLIB_CLI_COMMAND (clear_trace_cli)

Definition at line 602 of file trace.c.

◆ filter_trace_cli

vlib_cli_command_t filter_trace_cli
static
Initial value:
= {
.path = "trace filter",
.short_help = "trace filter none | [include|exclude] NODE COUNT",
.function = cli_filter_trace,
}

(constructor) VLIB_CLI_COMMAND (filter_trace_cli)

Definition at line 586 of file trace.c.

◆ show_trace_cli

vlib_cli_command_t show_trace_cli
static
Initial value:
= {
.path = "show trace",
.short_help = "Show trace buffer [max COUNT]",
.function = cli_show_trace_buffer,
}

(constructor) VLIB_CLI_COMMAND (show_trace_cli)

Definition at line 361 of file trace.c.

◆ trace_cli_command

vlib_cli_command_t trace_cli_command
static
Initial value:
= {
.path = "trace",
.short_help = "Packet tracer commands",
}

(constructor) VLIB_CLI_COMMAND (trace_cli_command)

Definition at line 177 of file trace.c.

◆ vnet_trace_placeholder

u8* vnet_trace_placeholder

Definition at line 44 of file trace.c.

cli_show_trace_buffer
static clib_error_t * cli_show_trace_buffer(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
Definition: trace.c:283
cli_add_trace_buffer
static clib_error_t * cli_add_trace_buffer(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
Definition: trace.c:421
cli_clear_trace_buffer
static clib_error_t * cli_clear_trace_buffer(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
Definition: trace.c:594
cli_filter_trace
static clib_error_t * cli_filter_trace(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
Definition: trace.c:550