FD.io VPP  v17.04.2-2-ga8f93f8
Vector Packet Processing
mpls_fib.h File Reference
+ Include dependency graph for mpls_fib.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

static mpls_fib_tmpls_fib_get (fib_node_index_t index)
 
u32 mpls_fib_table_find_or_create_and_lock (u32 table_id)
 
u32 mpls_fib_table_create_and_lock (void)
 
u32 mpls_fib_index_from_table_id (u32 table_id)
 
u8format_mpls_fib_table_name (u8 *s, va_list *args)
 
fib_node_index_t mpls_fib_table_entry_add_from_ip_fib_entry (u32 table_id, mpls_label_t label, mpls_eos_bit_t eos, fib_node_index_t fib_entry_index)
 
fib_node_index_t mpls_fib_table_lookup (const mpls_fib_t *mf, mpls_label_t label, mpls_eos_bit_t eos)
 
void mpls_fib_table_entry_remove (mpls_fib_t *mf, mpls_label_t label, mpls_eos_bit_t eos)
 
void mpls_fib_table_entry_insert (mpls_fib_t *mf, mpls_label_t label, mpls_eos_bit_t eos, fib_node_index_t fei)
 
void mpls_fib_table_destroy (mpls_fib_t *mf)
 
void mpls_fib_forwarding_table_update (mpls_fib_t *mf, mpls_label_t label, mpls_eos_bit_t eos, const dpo_id_t *dpo)
 
void mpls_fib_forwarding_table_reset (mpls_fib_t *mf, mpls_label_t label, mpls_eos_bit_t eos)
 
void mpls_fib_table_walk (mpls_fib_t *fib, 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 index_t mpls_fib_table_forwarding_lookup (u32 mpls_fib_index, const mpls_unicast_header_t *hdr)
 Lookup a label and EOS bit in the MPLS_FIB table to retrieve the load-balance index to be used for packet forwarding. More...
 
static u32 mpls_fib_table_get_index_for_sw_if_index (u32 sw_if_index)
 
flow_hash_config_t mpls_fib_table_get_flow_hash_config (u32 fib_index)
 

Function Documentation

u8* format_mpls_fib_table_name ( u8 s,
va_list *  args 
)

+ Here is the caller graph for this function:

void mpls_fib_forwarding_table_reset ( mpls_fib_t mf,
mpls_label_t  label,
mpls_eos_bit_t  eos 
)

Definition at line 328 of file mpls_fib.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void mpls_fib_forwarding_table_update ( mpls_fib_t mf,
mpls_label_t  label,
mpls_eos_bit_t  eos,
const dpo_id_t dpo 
)

Definition at line 313 of file mpls_fib.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static mpls_fib_t* mpls_fib_get ( fib_node_index_t  index)
inlinestatic

Definition at line 29 of file mpls_fib.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u32 mpls_fib_index_from_table_id ( u32  table_id)

Definition at line 78 of file mpls_fib.c.

+ Here is the caller graph for this function:

u32 mpls_fib_table_create_and_lock ( void  )

Definition at line 238 of file mpls_fib.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void mpls_fib_table_destroy ( mpls_fib_t mf)

Definition at line 244 of file mpls_fib.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

fib_node_index_t mpls_fib_table_entry_add_from_ip_fib_entry ( u32  table_id,
mpls_label_t  label,
mpls_eos_bit_t  eos,
fib_node_index_t  fib_entry_index 
)

+ Here is the caller graph for this function:

void mpls_fib_table_entry_insert ( mpls_fib_t mf,
mpls_label_t  label,
mpls_eos_bit_t  eos,
fib_node_index_t  fei 
)

Definition at line 296 of file mpls_fib.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void mpls_fib_table_entry_remove ( mpls_fib_t mf,
mpls_label_t  label,
mpls_eos_bit_t  eos 
)

Definition at line 305 of file mpls_fib.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u32 mpls_fib_table_find_or_create_and_lock ( u32  table_id)

Definition at line 225 of file mpls_fib.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static index_t mpls_fib_table_forwarding_lookup ( u32  mpls_fib_index,
const mpls_unicast_header_t hdr 
)
inlinestatic

Lookup a label and EOS bit in the MPLS_FIB table to retrieve the load-balance index to be used for packet forwarding.

Definition at line 86 of file mpls_fib.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

flow_hash_config_t mpls_fib_table_get_flow_hash_config ( u32  fib_index)

Definition at line 340 of file mpls_fib.c.

+ Here is the caller graph for this function:

static u32 mpls_fib_table_get_index_for_sw_if_index ( u32  sw_if_index)
inlinestatic

Definition at line 102 of file mpls_fib.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

fib_node_index_t mpls_fib_table_lookup ( const mpls_fib_t mf,
mpls_label_t  label,
mpls_eos_bit_t  eos 
)

Definition at line 281 of file mpls_fib.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void mpls_fib_table_walk ( mpls_fib_t fib,
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 347 of file mpls_fib.c.

+ Here is the caller graph for this function: