|
FD.io VPP
v21.10.1-2-g0a485f517
Vector Packet Processing
|
Go to the documentation of this file.
128 if (
src->u.mpls.fesm_label !=
label)
151 src->u.mpls.fesm_lfes[eos] =
166 return (&(
src->u.mpls.fesm_label));
173 return (
format(s,
" local-label:%d",
src->u.mpls.fesm_label));
@ FIB_PATH_LIST_FLAG_DROP
static void fib_entry_src_mpls_init(fib_entry_src_t *src)
Source initialisation Function.
#define DPO_INVALID
An initialiser for DPOs declared on the stack.
fib_node_index_t fib_table_entry_special_dpo_add(u32 fib_index, const fib_prefix_t *prefix, fib_source_t source, fib_entry_flag_t flags, const dpo_id_t *dpo)
Add a 'special' entry to the FIB that links to the DPO passed A special entry is an entry that the FI...
enum dpo_proto_t_ dpo_proto_t
Data path protocol.
@ FIB_FORW_CHAIN_TYPE_MPLS_EOS
Contribute an object that is to be used to forward end-of-stack MPLS packets.
Information related to the source of a FIB entry.
#define FIB_NODE_INDEX_INVALID
void fib_entry_src_mpls_register(void)
u32 mpls_fib_index_from_table_id(u32 table_id)
@ FIB_ENTRY_FLAG_EXCLUSIVE
@ FIB_SOURCE_BH_MPLS
associated label stored in private data
void fib_entry_contribute_forwarding(fib_node_index_t fib_entry_index, fib_forward_chain_type_t fct, dpo_id_t *dpo)
static u8 * fib_entry_src_mpls_format(fib_entry_src_t *src, u8 *s)
static void fib_entry_src_mpls_set_data(fib_entry_src_t *src, const fib_entry_t *entry, const void *data)
Virtual function table each FIB entry source will register.
static void fib_entry_src_mpls_add(fib_entry_src_t *src, const fib_entry_t *entry, fib_entry_flag_t flags, dpo_proto_t proto, const dpo_id_t *dpo)
enum fib_entry_flag_t_ fib_entry_flag_t
static void fib_entry_src_mpls_deinit(fib_entry_src_t *src)
Source deinitialisation Function.
u32 fib_table_find_or_create_and_lock(fib_protocol_t proto, u32 table_id, fib_source_t src)
Get the index of the FIB for a Table-ID.
@ FIB_ENTRY_SRC_FLAG_NONE
u32 fib_node_index_t
A typedef of a node index.
fib_node_index_t fib_entry_get_index(const fib_entry_t *fib_entry)
static void fib_entry_src_mpls_remove(fib_entry_src_t *src)
enum fib_protocol_t_ fib_protocol_t
Protocol Type.
dpo_proto_t fib_proto_to_dpo(fib_protocol_t fib_proto)
fib_node_index_t fib_path_list_create_special(dpo_proto_t nh_proto, fib_path_list_flags_t flags, const dpo_id_t *dpo)
@ FIB_FORW_CHAIN_TYPE_MPLS_NON_EOS
Contribute an object that is to be used to forward non-end-of-stack MPLS packets.
const static fib_entry_src_vft_t mpls_src_vft
description fragment has unexpected format
#define MPLS_FIB_DEFAULT_TABLE_ID
fib_protocol_t fp_proto
protocol type
@ FIB_SOURCE_SPECIAL
Special sources.
#define FOR_EACH_MPLS_EOS_BIT(_eos)
const dpo_id_t * drop_dpo_get(dpo_proto_t proto)
fib_entry_src_init_t fesv_init
const fib_prefix_t fe_prefix
The prefix of the route.
@ FIB_SOURCE_MPLS
MPLS label.
void fib_table_unlock(u32 fib_index, fib_protocol_t proto, fib_source_t source)
Take a reference counting lock on the table.
The identity of a DPO is a combination of its type and its instance number/index of objects of that t...
u32 mpls_label_t
A label value only, i.e.
void fib_entry_src_behaviour_register(fib_source_behaviour_t bh, const fib_entry_src_vft_t *vft)
void fib_table_entry_delete_index(fib_node_index_t fib_entry_index, fib_source_t source)
Delete a FIB entry.
static const void * fib_entry_src_mpls_get_data(fib_entry_src_t *src, const fib_entry_t *entry)
enum mpls_eos_bit_t_ mpls_eos_bit_t
#define MPLS_LABEL_INVALID
void dpo_reset(dpo_id_t *dpo)
reset a DPO ID The DPO will be unlocked.
Aggregate type for a prefix.
vl_api_wireguard_peer_flags_t flags