FD.io VPP  v19.04.4-rc0-5-ge88582fac
Vector Packet Processing
ip6_fib.h File Reference
+ Include dependency graph for ip6_fib.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

fib_node_index_t ip6_fib_table_lookup (u32 fib_index, const ip6_address_t *addr, u32 len)
 
fib_node_index_t ip6_fib_table_lookup_exact_match (u32 fib_index, const ip6_address_t *addr, u32 len)
 
void ip6_fib_table_entry_remove (u32 fib_index, const ip6_address_t *addr, u32 len)
 
void ip6_fib_table_entry_insert (u32 fib_index, const ip6_address_t *addr, u32 len, fib_node_index_t fib_entry_index)
 
void ip6_fib_table_destroy (u32 fib_index)
 
void ip6_fib_table_fwding_dpo_update (u32 fib_index, const ip6_address_t *addr, u32 len, const dpo_id_t *dpo)
 
void ip6_fib_table_fwding_dpo_remove (u32 fib_index, const ip6_address_t *addr, u32 len, const dpo_id_t *dpo)
 
u32 ip6_fib_table_fwding_lookup_with_if_index (ip6_main_t *im, u32 sw_if_index, const ip6_address_t *dst)
 
void ip6_fib_table_walk (u32 fib_index, fib_table_walk_fn_t fn, void *ctx)
 Walk all entries in a FIB table N.B: This is NOT safe to deletes. More...
 
static u32 ip6_fib_table_fwding_lookup (ip6_main_t *im, u32 fib_index, const ip6_address_t *dst)
 
void ip6_fib_table_sub_tree_walk (u32 fib_index, const fib_prefix_t *root, fib_table_walk_fn_t fn, void *ctx)
 Walk all entries in a sub-tree of the FIB table N.B: This is NOT safe to deletes. More...
 
static u32 ip6_src_lookup_for_packet (ip6_main_t *im, vlib_buffer_t *b, ip6_header_t *i)
 return the DPO that the LB stacks on. More...
 
u32 ip6_fib_table_find_or_create_and_lock (u32 table_id, fib_source_t src)
 Get or create an IPv6 fib. More...
 
u32 ip6_fib_table_create_and_lock (fib_source_t src, fib_table_flags_t flags, u8 *desc)
 
u8format_ip6_fib_table_memory (u8 *s, va_list *args)
 
static ip6_fib_tip6_fib_get (fib_node_index_t index)
 
static u32 ip6_fib_index_from_table_id (u32 table_id)
 
u32 ip6_fib_table_get_index_for_sw_if_index (u32 sw_if_index)
 

Function Documentation

◆ format_ip6_fib_table_memory()

u8* format_ip6_fib_table_memory ( u8 s,
va_list *  args 
)

Definition at line 572 of file ip6_fib.c.

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

◆ ip6_fib_get()

static ip6_fib_t* ip6_fib_get ( fib_node_index_t  index)
inlinestatic

Definition at line 166 of file ip6_fib.h.

◆ ip6_fib_index_from_table_id()

static u32 ip6_fib_index_from_table_id ( u32  table_id)
inlinestatic

Definition at line 173 of file ip6_fib.h.

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

◆ ip6_fib_table_create_and_lock()

u32 ip6_fib_table_create_and_lock ( fib_source_t  src,
fib_table_flags_t  flags,
u8 desc 
)

Definition at line 113 of file ip6_fib.c.

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

◆ ip6_fib_table_destroy()

void ip6_fib_table_destroy ( u32  fib_index)

Definition at line 121 of file ip6_fib.c.

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

◆ ip6_fib_table_entry_insert()

void ip6_fib_table_entry_insert ( u32  fib_index,
const ip6_address_t addr,
u32  len,
fib_node_index_t  fib_entry_index 
)

Definition at line 288 of file ip6_fib.c.

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

◆ ip6_fib_table_entry_remove()

void ip6_fib_table_entry_remove ( u32  fib_index,
const ip6_address_t addr,
u32  len 
)

Definition at line 257 of file ip6_fib.c.

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

◆ ip6_fib_table_find_or_create_and_lock()

u32 ip6_fib_table_find_or_create_and_lock ( u32  table_id,
fib_source_t  src 
)

Get or create an IPv6 fib.

Get or create an IPv4 fib with the provided table ID.

Parameters
imip4_main pointer.
table_idWhen set to ~0, an arbitrary and unused fib ID is picked and can be retrieved with ret->table_id. Otherwise, the fib ID to be used to retrieve or create the desired fib.
Returns
A pointer to the retrieved or created fib.

Definition at line 96 of file ip6_fib.c.

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

◆ ip6_fib_table_fwding_dpo_remove()

void ip6_fib_table_fwding_dpo_remove ( u32  fib_index,
const ip6_address_t addr,
u32  len,
const dpo_id_t dpo 
)

Definition at line 370 of file ip6_fib.c.

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

◆ ip6_fib_table_fwding_dpo_update()

void ip6_fib_table_fwding_dpo_update ( u32  fib_index,
const ip6_address_t addr,
u32  len,
const dpo_id_t dpo 
)

Definition at line 340 of file ip6_fib.c.

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

◆ ip6_fib_table_fwding_lookup()

static u32 ip6_fib_table_fwding_lookup ( ip6_main_t im,
u32  fib_index,
const ip6_address_t dst 
)
inlinestatic

Definition at line 67 of file ip6_fib.h.

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

◆ ip6_fib_table_fwding_lookup_with_if_index()

u32 ip6_fib_table_fwding_lookup_with_if_index ( ip6_main_t im,
u32  sw_if_index,
const ip6_address_t dst 
)

Definition at line 317 of file ip6_fib.c.

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

◆ ip6_fib_table_get_index_for_sw_if_index()

u32 ip6_fib_table_get_index_for_sw_if_index ( u32  sw_if_index)

Definition at line 326 of file ip6_fib.c.

+ Here is the caller graph for this function:

◆ ip6_fib_table_lookup()

fib_node_index_t ip6_fib_table_lookup ( u32  fib_index,
const ip6_address_t addr,
u32  len 
)

Definition at line 172 of file ip6_fib.c.

+ Here is the caller graph for this function:

◆ ip6_fib_table_lookup_exact_match()

fib_node_index_t ip6_fib_table_lookup_exact_match ( u32  fib_index,
const ip6_address_t addr,
u32  len 
)

Definition at line 218 of file ip6_fib.c.

+ Here is the caller graph for this function:

◆ ip6_fib_table_sub_tree_walk()

void ip6_fib_table_sub_tree_walk ( u32  fib_index,
const fib_prefix_t root,
fib_table_walk_fn_t  fn,
void *  ctx 
)

Walk all entries in a sub-tree of the FIB table N.B: This is NOT safe to deletes.

If you need to delete walk the whole table and store elements in a vector, then delete the elements

Definition at line 500 of file ip6_fib.c.

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

◆ ip6_fib_table_walk()

void ip6_fib_table_walk ( u32  fib_index,
fib_table_walk_fn_t  fn,
void *  ctx 
)

Walk all entries in a FIB table N.B: This is NOT safe to deletes.

If you need to delete walk the whole table and store elements in a vector, then delete the elements

Definition at line 477 of file ip6_fib.c.

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

◆ ip6_src_lookup_for_packet()

static u32 ip6_src_lookup_for_packet ( ip6_main_t im,
vlib_buffer_t b,
ip6_header_t i 
)
inlinestatic

return the DPO that the LB stacks on.

Definition at line 119 of file ip6_fib.h.

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