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

Go to the source code of this file.

Data Structures

struct  ip6_ll_show_ctx_t_
 
struct  count_routes_in_fib_at_prefix_length_arg_t
 

Typedefs

typedef struct ip6_ll_show_ctx_t_ ip6_ll_show_ctx_t
 

Functions

u32 ip6_ll_fib_get (u32 sw_if_index)
 For use in the data plane. More...
 
fib_node_index_t ip6_ll_table_lookup (const ip6_ll_prefix_t *prefix)
 Perfom a longest prefix match in the non-forwarding table. More...
 
fib_node_index_t ip6_ll_table_lookup_exact_match (const ip6_ll_prefix_t *prefix)
 Perfom an exact match in the non-forwarding table. More...
 
static void ip6_ll_fib_create (u32 sw_if_index)
 
static void ip6_ll_prefix_to_fib (const ip6_ll_prefix_t *ilp, fib_prefix_t *fp)
 
fib_node_index_t ip6_ll_table_entry_update (const ip6_ll_prefix_t *ilp, fib_route_path_flags_t flags)
 Update an entry in the table. More...
 
void ip6_ll_table_entry_delete (const ip6_ll_prefix_t *ilp)
 Delete a IP6 link-local entry. More...
 
static void ip6_ll_table_show_one (vlib_main_t *vm, ip6_ll_prefix_t *ilp, int detail)
 
static fib_table_walk_rc_t ip6_ll_table_show_walk (fib_node_index_t fib_entry_index, void *arg)
 
static void ip6_ll_table_show_all (vlib_main_t *vm, u32 fib_index)
 
static int count_routes_in_fib_at_prefix_length (clib_bihash_kv_24_8_t *kvp, void *arg)
 
static clib_error_tip6_ll_show_fib (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 
static clib_error_tip6_ll_module_init (vlib_main_t *vm)
 

Variables

static ip6_ll_table_t ip6_ll_table
 There's only one IP6 link local table. More...
 
static vlib_cli_command_t ip6_show_fib_command
 (constructor) VLIB_CLI_COMMAND (ip6_show_fib_command) More...
 

Typedef Documentation

◆ ip6_ll_show_ctx_t

Function Documentation

◆ count_routes_in_fib_at_prefix_length()

static int count_routes_in_fib_at_prefix_length ( clib_bihash_kv_24_8_t kvp,
void *  arg 
)
static

Definition at line 215 of file ip6_ll_table.c.

+ Here is the caller graph for this function:

◆ ip6_ll_fib_create()

static void ip6_ll_fib_create ( u32  sw_if_index)
static

Definition at line 50 of file ip6_ll_table.c.

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

◆ ip6_ll_fib_get()

u32 ip6_ll_fib_get ( u32  sw_if_index)

For use in the data plane.

Get the underlying ip6 FIB

Definition at line 28 of file ip6_ll_table.c.

+ Here is the caller graph for this function:

◆ ip6_ll_module_init()

static clib_error_t* ip6_ll_module_init ( vlib_main_t vm)
static

Definition at line 357 of file ip6_ll_table.c.

+ Here is the call graph for this function:

◆ ip6_ll_prefix_to_fib()

static void ip6_ll_prefix_to_fib ( const ip6_ll_prefix_t ilp,
fib_prefix_t fp 
)
static

Definition at line 97 of file ip6_ll_table.c.

+ Here is the caller graph for this function:

◆ ip6_ll_show_fib()

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

Definition at line 231 of file ip6_ll_table.c.

+ Here is the call graph for this function:

◆ ip6_ll_table_entry_delete()

void ip6_ll_table_entry_delete ( const ip6_ll_prefix_t prefix)

Delete a IP6 link-local entry.

Parameters
prefixThe prefix for the entry to remove

Definition at line 140 of file ip6_ll_table.c.

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

◆ ip6_ll_table_entry_update()

fib_node_index_t ip6_ll_table_entry_update ( const ip6_ll_prefix_t prefix,
fib_route_path_flags_t  flags 
)

Update an entry in the table.

The falgs determine if the entry is LOCAL, in which case it's a receive, or not, in which case the entry will link to an adjacency.

Parameters
prefixThe prefix for the entry to add
Returns
the index of the fib_entry_t that is created (or existed already).

Definition at line 106 of file ip6_ll_table.c.

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

◆ ip6_ll_table_lookup()

fib_node_index_t ip6_ll_table_lookup ( const ip6_ll_prefix_t prefix)

Perfom a longest prefix match in the non-forwarding table.

Parameters
prefixThe prefix to lookup
Returns
The index of the fib_entry_t for the best match, which may be the default route

Definition at line 36 of file ip6_ll_table.c.

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

◆ ip6_ll_table_lookup_exact_match()

fib_node_index_t ip6_ll_table_lookup_exact_match ( const ip6_ll_prefix_t prefix)

Perfom an exact match in the non-forwarding table.

Parameters
prefixThe prefix to lookup
Returns
The index of the fib_entry_t for the exact match, or INVALID is there is no match.

Definition at line 43 of file ip6_ll_table.c.

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

◆ ip6_ll_table_show_all()

static void ip6_ll_table_show_all ( vlib_main_t vm,
u32  fib_index 
)
static

Definition at line 188 of file ip6_ll_table.c.

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

◆ ip6_ll_table_show_one()

static void ip6_ll_table_show_one ( vlib_main_t vm,
ip6_ll_prefix_t ilp,
int  detail 
)
static

Definition at line 163 of file ip6_ll_table.c.

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

◆ ip6_ll_table_show_walk()

static fib_table_walk_rc_t ip6_ll_table_show_walk ( fib_node_index_t  fib_entry_index,
void *  arg 
)
static

Definition at line 178 of file ip6_ll_table.c.

+ Here is the caller graph for this function:

Variable Documentation

◆ ip6_ll_table

ip6_ll_table_t ip6_ll_table
static

There's only one IP6 link local table.

Definition at line 25 of file ip6_ll_table.c.

◆ ip6_show_fib_command

vlib_cli_command_t ip6_show_fib_command
static
Initial value:
= {
.path = "show ip6-ll",
.short_help = "show ip6-ll [summary] [interface] [<ip6-addr>[/<width>]] [detail]",
.function = ip6_ll_show_fib,
}

(constructor) VLIB_CLI_COMMAND (ip6_show_fib_command)

Definition at line 349 of file ip6_ll_table.c.

ip6_ll_show_fib
static clib_error_t * ip6_ll_show_fib(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
Definition: ip6_ll_table.c:231