FD.io VPP  v19.08-27-gf4dcae4
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 void count_routes_in_fib_at_prefix_length (BVT(clib_bihash_kv)*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

Function Documentation

static void count_routes_in_fib_at_prefix_length ( BVT(clib_bihash_kv)*  kvp,
void *  arg 
)
static

Definition at line 214 of file ip6_ll_table.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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:

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:

static clib_error_t* ip6_ll_module_init ( vlib_main_t vm)
static

Definition at line 355 of file ip6_ll_table.c.

+ Here is the call graph for this function:

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:

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 228 of file ip6_ll_table.c.

+ Here is the call graph for this function:

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 139 of file ip6_ll_table.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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 105 of file ip6_ll_table.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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:

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:

static void ip6_ll_table_show_all ( vlib_main_t vm,
u32  fib_index 
)
static

Definition at line 187 of file ip6_ll_table.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 162 of file ip6_ll_table.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 177 of file ip6_ll_table.c.

+ Here is the caller graph for this function:

Variable Documentation

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.

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,
}
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:228

(constructor) VLIB_CLI_COMMAND (ip6_show_fib_command)

Definition at line 347 of file ip6_ll_table.c.