FD.io VPP
v21.06-3-gbb25fbf28
Vector Packet Processing
|
Go to the source code of this file.
Data Structures | |
struct | mpls_fib_t_ |
Macros | |
#define | MPLS_FIB_DEFAULT_TABLE_ID 0 |
#define | MPLS_FIB_KEY_SIZE 21 |
Type exposure is to allow the DP fast/inlined access. More... | |
#define | MPLS_FIB_DB_SIZE (1 << (MPLS_FIB_KEY_SIZE-1)) |
#define | MPLS_FLOW_HASH_DEFAULT IP_FLOW_HASH_DEFAULT |
There are no options for controlling the MPLS flow hash, but since it mostly entails using IP data to create one, use that. More... | |
Typedefs | |
typedef struct mpls_fib_t_ | mpls_fib_t |
#define MPLS_FIB_DB_SIZE (1 << (MPLS_FIB_KEY_SIZE-1)) |
Definition at line 34 of file mpls_fib.h.
#define MPLS_FIB_DEFAULT_TABLE_ID 0 |
Definition at line 28 of file mpls_fib.h.
#define MPLS_FIB_KEY_SIZE 21 |
Type exposure is to allow the DP fast/inlined access.
Definition at line 33 of file mpls_fib.h.
#define MPLS_FLOW_HASH_DEFAULT IP_FLOW_HASH_DEFAULT |
There are no options for controlling the MPLS flow hash, but since it mostly entails using IP data to create one, use that.
Definition at line 40 of file mpls_fib.h.
typedef struct mpls_fib_t_ mpls_fib_t |
Definition at line 364 of file mpls_fib.c.
void mpls_fib_forwarding_table_reset | ( | mpls_fib_t * | mf, |
mpls_label_t | label, | ||
mpls_eos_bit_t | eos | ||
) |
Definition at line 338 of file mpls_fib.c.
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 316 of file mpls_fib.c.
|
inlinestatic |
u32 mpls_fib_table_create_and_lock | ( | fib_source_t | src | ) |
Definition at line 238 of file mpls_fib.c.
void mpls_fib_table_destroy | ( | u32 | fib_index | ) |
Definition at line 244 of file mpls_fib.c.
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 | ||
) |
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 299 of file mpls_fib.c.
void mpls_fib_table_entry_remove | ( | mpls_fib_t * | mf, |
mpls_label_t | label, | ||
mpls_eos_bit_t | eos | ||
) |
Definition at line 308 of file mpls_fib.c.
u32 mpls_fib_table_find_or_create_and_lock | ( | u32 | table_id, |
fib_source_t | src | ||
) |
Definition at line 224 of file mpls_fib.c.
|
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 122 of file mpls_fib.h.
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 284 of file mpls_fib.c.
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 350 of file mpls_fib.c.