FD.io VPP  v18.01-8-g0eacf49
Vector Packet Processing
fib_urpf_list.c File Reference
+ Include dependency graph for fib_urpf_list.c:

Go to the source code of this file.

Functions

u8format_fib_urpf_list (u8 *s, va_list *args)
 
index_t fib_urpf_list_alloc_and_lock (void)
 
void fib_urpf_list_unlock (index_t ui)
 
void fib_urpf_list_lock (index_t ui)
 
void fib_urpf_list_append (index_t ui, u32 sw_if_index)
 Append another interface to the list. More...
 
void fib_urpf_list_combine (index_t ui1, index_t ui2)
 Combine to interface lists. More...
 
static int fib_urpf_itf_cmp_for_sort (void *v1, void *v2)
 Sort the interface indicies. More...
 
void fib_urpf_list_bake (index_t ui)
 Convert the uRPF list from the itf set obtained during the walk to a unique list. More...
 
void fib_urpf_list_show_mem (void)
 
static clib_error_tshow_fib_urpf_list_command (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 

Variables

fib_urpf_list_tfib_urpf_list_pool
 pool of all fib_urpf_list More...
 
static vlib_cli_command_t show_fib_urpf_list
 (constructor) VLIB_CLI_COMMAND (show_fib_urpf_list) More...
 

Function Documentation

static int fib_urpf_itf_cmp_for_sort ( void *  v1,
void *  v2 
)
static

Sort the interface indicies.

The sort is the first step in obtaining a unique list, so the order, w.r.t. next-hop, interface,etc is not important. So a sort based on the index is all we need.

Definition at line 132 of file fib_urpf_list.c.

+ Here is the caller graph for this function:

index_t fib_urpf_list_alloc_and_lock ( void  )

Definition at line 55 of file fib_urpf_list.c.

+ Here is the caller graph for this function:

void fib_urpf_list_append ( index_t  ui,
u32  sw_if_index 
)

Append another interface to the list.

Definition at line 100 of file fib_urpf_list.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void fib_urpf_list_bake ( index_t  ui)

Convert the uRPF list from the itf set obtained during the walk to a unique list.

Definition at line 145 of file fib_urpf_list.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void fib_urpf_list_combine ( index_t  ui1,
index_t  ui2 
)

Combine to interface lists.

Definition at line 114 of file fib_urpf_list.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void fib_urpf_list_lock ( index_t  ui)

Definition at line 87 of file fib_urpf_list.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void fib_urpf_list_show_mem ( void  )

Definition at line 202 of file fib_urpf_list.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void fib_urpf_list_unlock ( index_t  ui)

Definition at line 68 of file fib_urpf_list.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u8* format_fib_urpf_list ( u8 s,
va_list *  args 
)

Definition at line 25 of file fib_urpf_list.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 211 of file fib_urpf_list.c.

+ Here is the call graph for this function:

Variable Documentation

fib_urpf_list_t* fib_urpf_list_pool

pool of all fib_urpf_list

Definition at line 22 of file fib_urpf_list.c.

vlib_cli_command_t show_fib_urpf_list
static
Initial value:
= {
.path = "show fib uRPF",
.short_help = "show fib uRPF",
}
static clib_error_t * show_fib_urpf_list_command(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)

(constructor) VLIB_CLI_COMMAND (show_fib_urpf_list)

Definition at line 263 of file fib_urpf_list.c.