FD.io VPP  v19.04.4-rc0-5-ge88582fac
Vector Packet Processing
mfib_entry.c File Reference
+ Include dependency graph for mfib_entry.c:

Go to the source code of this file.

Data Structures

struct  mfib_entry_collect_forwarding_ctx_t_
 

Typedefs

typedef struct mfib_entry_collect_forwarding_ctx_t_ mfib_entry_collect_forwarding_ctx_t
 

Functions

static fib_node_tmfib_entry_get_node (fib_node_index_t index)
 
static fib_protocol_t mfib_entry_get_proto (const mfib_entry_t *mfib_entry)
 
fib_forward_chain_type_t mfib_entry_get_default_chain_type (const mfib_entry_t *mfib_entry)
 
static u8format_mfib_entry_dpo (u8 *s, va_list *args)
 
static mfib_path_ext_tmfib_entry_path_ext_get (index_t mi)
 
static u8format_mfib_entry_path_ext (u8 *s, va_list *args)
 
u8format_mfib_entry (u8 *s, va_list *args)
 
static mfib_entry_tmfib_entry_from_fib_node (fib_node_t *node)
 
static int mfib_entry_src_cmp_for_sort (void *v1, void *v2)
 
static void mfib_entry_src_init (mfib_entry_t *mfib_entry, mfib_source_t source)
 
static mfib_entry_src_tmfib_entry_src_find (const mfib_entry_t *mfib_entry, mfib_source_t source, u32 *index)
 
static mfib_entry_src_tmfib_entry_src_find_or_create (mfib_entry_t *mfib_entry, mfib_source_t source)
 
static mfib_entry_src_tmfib_entry_src_update (mfib_entry_t *mfib_entry, mfib_source_t source, fib_rpf_id_t rpf_id, mfib_entry_flags_t entry_flags)
 
static mfib_entry_src_tmfib_entry_src_update_and_lock (mfib_entry_t *mfib_entry, mfib_source_t source, fib_rpf_id_t rpf_id, mfib_entry_flags_t entry_flags)
 
mfib_entry_src_tmfib_entry_get_best_src (const mfib_entry_t *mfib_entry)
 
static mfib_source_t mfib_entry_get_best_source (const mfib_entry_t *mfib_entry)
 
int mfib_entry_is_sourced (fib_node_index_t mfib_entry_index, mfib_source_t source)
 
int mfib_entry_is_host (fib_node_index_t mfib_entry_index)
 
static void mfib_entry_src_flush (mfib_entry_src_t *msrc)
 
static void mfib_entry_src_remove (mfib_entry_t *mfib_entry, mfib_source_t source)
 
u32 mfib_entry_child_add (fib_node_index_t mfib_entry_index, fib_node_type_t child_type, fib_node_index_t child_index)
 
void mfib_entry_child_remove (fib_node_index_t mfib_entry_index, u32 sibling_index)
 
static mfib_entry_tmfib_entry_alloc (u32 fib_index, const mfib_prefix_t *prefix, fib_node_index_t *mfib_entry_index)
 
static mfib_path_ext_tmfib_entry_path_ext_find (mfib_path_ext_t *exts, fib_node_index_t path_index)
 
static mfib_path_ext_tmfib_path_ext_add (mfib_entry_src_t *msrc, fib_node_index_t path_index, mfib_itf_flags_t mfi_flags)
 
static void mfib_path_ext_remove (mfib_entry_src_t *msrc, fib_node_index_t path_index)
 
static fib_path_list_walk_rc_t mfib_entry_src_collect_forwarding (fib_node_index_t pl_index, fib_node_index_t path_index, void *arg)
 
static void mfib_entry_stack (mfib_entry_t *mfib_entry, mfib_entry_src_t *msrc)
 
static fib_node_index_t mfib_entry_src_path_add (mfib_entry_src_t *msrc, const fib_route_path_t *rpath)
 
static fib_node_index_t mfib_entry_src_path_remove (mfib_entry_src_t *msrc, const fib_route_path_t *rpath)
 
static void mfib_entry_recalculate_forwarding (mfib_entry_t *mfib_entry, mfib_source_t old_best)
 
fib_node_index_t mfib_entry_create (u32 fib_index, mfib_source_t source, const mfib_prefix_t *prefix, fib_rpf_id_t rpf_id, mfib_entry_flags_t entry_flags, index_t repi)
 
static int mfib_entry_ok_for_delete (mfib_entry_t *mfib_entry)
 
static int mfib_entry_src_ok_for_delete (const mfib_entry_src_t *msrc)
 
static void mfib_entry_update_i (mfib_entry_t *mfib_entry, mfib_entry_src_t *msrc, mfib_source_t current_best, index_t repi)
 
int mfib_entry_special_add (fib_node_index_t mfib_entry_index, mfib_source_t source, mfib_entry_flags_t entry_flags, fib_rpf_id_t rpf_id, index_t repi)
 
int mfib_entry_update (fib_node_index_t mfib_entry_index, mfib_source_t source, mfib_entry_flags_t entry_flags, fib_rpf_id_t rpf_id, index_t repi)
 
static void mfib_entry_itf_add (mfib_entry_src_t *msrc, u32 sw_if_index, index_t mi)
 
static void mfib_entry_itf_remove (mfib_entry_src_t *msrc, u32 sw_if_index)
 
void mfib_entry_path_update (fib_node_index_t mfib_entry_index, mfib_source_t source, const fib_route_path_t *rpath, mfib_itf_flags_t itf_flags)
 
int mfib_entry_path_remove (fib_node_index_t mfib_entry_index, mfib_source_t source, const fib_route_path_t *rpath)
 
int mfib_entry_delete (fib_node_index_t mfib_entry_index, mfib_source_t source)
 mfib_entry_delete More...
 
static int fib_ip4_address_compare (ip4_address_t *a1, ip4_address_t *a2)
 
static int fib_ip6_address_compare (ip6_address_t *a1, ip6_address_t *a2)
 
static int mfib_entry_cmp (fib_node_index_t mfib_entry_index1, fib_node_index_t mfib_entry_index2)
 
int mfib_entry_cmp_for_sort (void *i1, void *i2)
 
static void mfib_entry_last_lock_gone (fib_node_t *node)
 
u32 mfib_entry_get_stats_index (fib_node_index_t fib_entry_index)
 
static fib_node_back_walk_rc_t mfib_entry_back_walk_notify (fib_node_t *node, fib_node_back_walk_ctx_t *ctx)
 
static void mfib_entry_show_memory (void)
 
void mfib_entry_lock (fib_node_index_t mfib_entry_index)
 
void mfib_entry_unlock (fib_node_index_t mfib_entry_index)
 
static void mfib_entry_dpo_lock (dpo_id_t *dpo)
 
static void mfib_entry_dpo_unlock (dpo_id_t *dpo)
 
void mfib_entry_module_init (void)
 
void mfib_entry_encode (fib_node_index_t mfib_entry_index, fib_route_path_encode_t **api_rpaths)
 
const mfib_prefix_tmfib_entry_get_prefix (fib_node_index_t mfib_entry_index)
 
u32 mfib_entry_get_fib_index (fib_node_index_t mfib_entry_index)
 
const dpo_id_tmfib_entry_contribute_ip_forwarding (fib_node_index_t mfib_entry_index)
 
void mfib_entry_contribute_forwarding (fib_node_index_t mfib_entry_index, fib_forward_chain_type_t type, mfib_entry_fwd_flags_t flags, dpo_id_t *dpo)
 
void mfib_entry_cover_changed (fib_node_index_t mfib_entry_index)
 
void mfib_entry_cover_updated (fib_node_index_t mfib_entry_index)
 
u32 mfib_entry_pool_size (void)
 
static clib_error_tshow_mfib_entry_command (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 

Variables

vlib_log_class_t mfib_entry_logger
 the logger More...
 
static mfib_path_ext_tmfib_path_ext_pool
 Pool of path extensions. More...
 
static const char * mfib_source_names [] = MFIB_SOURCE_NAMES
 String names for each source. More...
 
mfib_entry_tmfib_entry_pool
 
static const fib_node_vft_t mfib_entry_vft
 
static const dpo_vft_t mfib_entry_dpo_vft
 
static const char *const mfib_entry_ip4_nodes []
 
static const char *const mfib_entry_ip6_nodes []
 
static const char *const *const mfib_entry_nodes [DPO_PROTO_NUM]
 
static vlib_cli_command_t show_mfib_entry
 (constructor) VLIB_CLI_COMMAND (show_mfib_entry) More...
 

Typedef Documentation

◆ mfib_entry_collect_forwarding_ctx_t

Function Documentation

◆ fib_ip4_address_compare()

static int fib_ip4_address_compare ( ip4_address_t a1,
ip4_address_t a2 
)
static

Definition at line 1112 of file mfib_entry.c.

+ Here is the caller graph for this function:

◆ fib_ip6_address_compare()

static int fib_ip6_address_compare ( ip6_address_t a1,
ip6_address_t a2 
)
static

Definition at line 1126 of file mfib_entry.c.

+ Here is the caller graph for this function:

◆ format_mfib_entry()

u8* format_mfib_entry ( u8 s,
va_list *  args 
)

Definition at line 105 of file mfib_entry.c.

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

◆ format_mfib_entry_dpo()

static u8* format_mfib_entry_dpo ( u8 s,
va_list *  args 
)
static

Definition at line 76 of file mfib_entry.c.

+ Here is the call graph for this function:

◆ format_mfib_entry_path_ext()

static u8* format_mfib_entry_path_ext ( u8 s,
va_list *  args 
)
static

Definition at line 93 of file mfib_entry.c.

+ Here is the call graph for this function:

◆ mfib_entry_alloc()

static mfib_entry_t* mfib_entry_alloc ( u32  fib_index,
const mfib_prefix_t prefix,
fib_node_index_t mfib_entry_index 
)
static

Definition at line 405 of file mfib_entry.c.

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

◆ mfib_entry_back_walk_notify()

static fib_node_back_walk_rc_t mfib_entry_back_walk_notify ( fib_node_t node,
fib_node_back_walk_ctx_t ctx 
)
static

Definition at line 1232 of file mfib_entry.c.

+ Here is the call graph for this function:

◆ mfib_entry_child_add()

u32 mfib_entry_child_add ( fib_node_index_t  mfib_entry_index,
fib_node_type_t  child_type,
fib_node_index_t  child_index 
)

Definition at line 385 of file mfib_entry.c.

+ Here is the call graph for this function:

◆ mfib_entry_child_remove()

void mfib_entry_child_remove ( fib_node_index_t  mfib_entry_index,
u32  sibling_index 
)

Definition at line 396 of file mfib_entry.c.

+ Here is the call graph for this function:

◆ mfib_entry_cmp()

static int mfib_entry_cmp ( fib_node_index_t  mfib_entry_index1,
fib_node_index_t  mfib_entry_index2 
)
static

Definition at line 1141 of file mfib_entry.c.

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

◆ mfib_entry_cmp_for_sort()

int mfib_entry_cmp_for_sort ( void *  i1,
void *  i2 
)

Definition at line 1185 of file mfib_entry.c.

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

◆ mfib_entry_contribute_forwarding()

void mfib_entry_contribute_forwarding ( fib_node_index_t  mfib_entry_index,
fib_forward_chain_type_t  type,
mfib_entry_fwd_flags_t  flags,
dpo_id_t dpo 
)

Definition at line 1387 of file mfib_entry.c.

+ Here is the call graph for this function:

◆ mfib_entry_contribute_ip_forwarding()

const dpo_id_t* mfib_entry_contribute_ip_forwarding ( fib_node_index_t  mfib_entry_index)

Definition at line 1377 of file mfib_entry.c.

+ Here is the call graph for this function:

◆ mfib_entry_cover_changed()

void mfib_entry_cover_changed ( fib_node_index_t  mfib_entry_index)

Definition at line 1437 of file mfib_entry.c.

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

◆ mfib_entry_cover_updated()

void mfib_entry_cover_updated ( fib_node_index_t  mfib_entry_index)

Definition at line 1462 of file mfib_entry.c.

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

◆ mfib_entry_create()

fib_node_index_t mfib_entry_create ( u32  fib_index,
mfib_source_t  source,
const mfib_prefix_t prefix,
fib_rpf_id_t  rpf_id,
mfib_entry_flags_t  entry_flags,
index_t  repi 
)

Definition at line 763 of file mfib_entry.c.

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

◆ mfib_entry_delete()

int mfib_entry_delete ( fib_node_index_t  mfib_entry_index,
mfib_source_t  source 
)

mfib_entry_delete

The source is withdrawing all the paths it provided

Definition at line 1096 of file mfib_entry.c.

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

◆ mfib_entry_dpo_lock()

static void mfib_entry_dpo_lock ( dpo_id_t dpo)
static

Definition at line 1284 of file mfib_entry.c.

◆ mfib_entry_dpo_unlock()

static void mfib_entry_dpo_unlock ( dpo_id_t dpo)
static

Definition at line 1288 of file mfib_entry.c.

◆ mfib_entry_encode()

void mfib_entry_encode ( fib_node_index_t  mfib_entry_index,
fib_route_path_encode_t **  api_rpaths 
)

Definition at line 1325 of file mfib_entry.c.

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

◆ mfib_entry_from_fib_node()

static mfib_entry_t* mfib_entry_from_fib_node ( fib_node_t node)
static

Definition at line 182 of file mfib_entry.c.

+ Here is the caller graph for this function:

◆ mfib_entry_get_best_source()

static mfib_source_t mfib_entry_get_best_source ( const mfib_entry_t mfib_entry)
static

Definition at line 314 of file mfib_entry.c.

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

◆ mfib_entry_get_best_src()

mfib_entry_src_t* mfib_entry_get_best_src ( const mfib_entry_t mfib_entry)

Definition at line 294 of file mfib_entry.c.

+ Here is the caller graph for this function:

◆ mfib_entry_get_default_chain_type()

fib_forward_chain_type_t mfib_entry_get_default_chain_type ( const mfib_entry_t mfib_entry)

Definition at line 60 of file mfib_entry.c.

+ Here is the caller graph for this function:

◆ mfib_entry_get_fib_index()

u32 mfib_entry_get_fib_index ( fib_node_index_t  mfib_entry_index)

Definition at line 1367 of file mfib_entry.c.

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

◆ mfib_entry_get_node()

static fib_node_t* mfib_entry_get_node ( fib_node_index_t  index)
static

Definition at line 48 of file mfib_entry.c.

+ Here is the call graph for this function:

◆ mfib_entry_get_prefix()

const mfib_prefix_t* mfib_entry_get_prefix ( fib_node_index_t  mfib_entry_index)

Definition at line 1357 of file mfib_entry.c.

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

◆ mfib_entry_get_proto()

static fib_protocol_t mfib_entry_get_proto ( const mfib_entry_t mfib_entry)
static

Definition at line 54 of file mfib_entry.c.

+ Here is the caller graph for this function:

◆ mfib_entry_get_stats_index()

u32 mfib_entry_get_stats_index ( fib_node_index_t  fib_entry_index)

Definition at line 1217 of file mfib_entry.c.

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

◆ mfib_entry_is_host()

int mfib_entry_is_host ( fib_node_index_t  mfib_entry_index)

Definition at line 335 of file mfib_entry.c.

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

◆ mfib_entry_is_sourced()

int mfib_entry_is_sourced ( fib_node_index_t  mfib_entry_index,
mfib_source_t  source 
)

Definition at line 324 of file mfib_entry.c.

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

◆ mfib_entry_itf_add()

static void mfib_entry_itf_add ( mfib_entry_src_t msrc,
u32  sw_if_index,
index_t  mi 
)
static

Definition at line 914 of file mfib_entry.c.

+ Here is the caller graph for this function:

◆ mfib_entry_itf_remove()

static void mfib_entry_itf_remove ( mfib_entry_src_t msrc,
u32  sw_if_index 
)
static

Definition at line 922 of file mfib_entry.c.

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

◆ mfib_entry_last_lock_gone()

static void mfib_entry_last_lock_gone ( fib_node_t node)
static

Definition at line 1194 of file mfib_entry.c.

+ Here is the call graph for this function:

◆ mfib_entry_lock()

void mfib_entry_lock ( fib_node_index_t  mfib_entry_index)

Definition at line 1264 of file mfib_entry.c.

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

◆ mfib_entry_module_init()

void mfib_entry_module_init ( void  )

Definition at line 1317 of file mfib_entry.c.

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

◆ mfib_entry_ok_for_delete()

static int mfib_entry_ok_for_delete ( mfib_entry_t mfib_entry)
static

Definition at line 812 of file mfib_entry.c.

+ Here is the caller graph for this function:

◆ mfib_entry_path_ext_find()

static mfib_path_ext_t* mfib_entry_path_ext_find ( mfib_path_ext_t exts,
fib_node_index_t  path_index 
)
inlinestatic

Definition at line 438 of file mfib_entry.c.

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

◆ mfib_entry_path_ext_get()

static mfib_path_ext_t* mfib_entry_path_ext_get ( index_t  mi)
inlinestatic

Definition at line 87 of file mfib_entry.c.

+ Here is the caller graph for this function:

◆ mfib_entry_path_remove()

int mfib_entry_path_remove ( fib_node_index_t  mfib_entry_index,
mfib_source_t  source,
const fib_route_path_t rpath 
)

Definition at line 1022 of file mfib_entry.c.

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

◆ mfib_entry_path_update()

void mfib_entry_path_update ( fib_node_index_t  mfib_entry_index,
mfib_source_t  source,
const fib_route_path_t rpath,
mfib_itf_flags_t  itf_flags 
)

Definition at line 935 of file mfib_entry.c.

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

◆ mfib_entry_pool_size()

u32 mfib_entry_pool_size ( void  )

Definition at line 1481 of file mfib_entry.c.

+ Here is the call graph for this function:

◆ mfib_entry_recalculate_forwarding()

static void mfib_entry_recalculate_forwarding ( mfib_entry_t mfib_entry,
mfib_source_t  old_best 
)
static

Definition at line 729 of file mfib_entry.c.

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

◆ mfib_entry_show_memory()

static void mfib_entry_show_memory ( void  )
static

Definition at line 1245 of file mfib_entry.c.

+ Here is the call graph for this function:

◆ mfib_entry_special_add()

int mfib_entry_special_add ( fib_node_index_t  mfib_entry_index,
mfib_source_t  source,
mfib_entry_flags_t  entry_flags,
fib_rpf_id_t  rpf_id,
index_t  repi 
)

Definition at line 872 of file mfib_entry.c.

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

◆ mfib_entry_src_cmp_for_sort()

static int mfib_entry_src_cmp_for_sort ( void *  v1,
void *  v2 
)
static

Definition at line 189 of file mfib_entry.c.

+ Here is the caller graph for this function:

◆ mfib_entry_src_collect_forwarding()

static fib_path_list_walk_rc_t mfib_entry_src_collect_forwarding ( fib_node_index_t  pl_index,
fib_node_index_t  path_index,
void *  arg 
)
static

Definition at line 491 of file mfib_entry.c.

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

◆ mfib_entry_src_find()

static mfib_entry_src_t* mfib_entry_src_find ( const mfib_entry_t mfib_entry,
mfib_source_t  source,
u32 index 
)
static

Definition at line 217 of file mfib_entry.c.

+ Here is the caller graph for this function:

◆ mfib_entry_src_find_or_create()

static mfib_entry_src_t* mfib_entry_src_find_or_create ( mfib_entry_t mfib_entry,
mfib_source_t  source 
)
static

Definition at line 246 of file mfib_entry.c.

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

◆ mfib_entry_src_flush()

static void mfib_entry_src_flush ( mfib_entry_src_t msrc)
static

Definition at line 342 of file mfib_entry.c.

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

◆ mfib_entry_src_init()

static void mfib_entry_src_init ( mfib_entry_t mfib_entry,
mfib_source_t  source 
)
static

Definition at line 198 of file mfib_entry.c.

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

◆ mfib_entry_src_ok_for_delete()

static int mfib_entry_src_ok_for_delete ( const mfib_entry_src_t msrc)
static

Definition at line 818 of file mfib_entry.c.

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

◆ mfib_entry_src_path_add()

static fib_node_index_t mfib_entry_src_path_add ( mfib_entry_src_t msrc,
const fib_route_path_t rpath 
)
static

Definition at line 677 of file mfib_entry.c.

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

◆ mfib_entry_src_path_remove()

static fib_node_index_t mfib_entry_src_path_remove ( mfib_entry_src_t msrc,
const fib_route_path_t rpath 
)
static

Definition at line 707 of file mfib_entry.c.

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

◆ mfib_entry_src_remove()

static void mfib_entry_src_remove ( mfib_entry_t mfib_entry,
mfib_source_t  source 
)
static

Definition at line 357 of file mfib_entry.c.

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

◆ mfib_entry_src_update()

static mfib_entry_src_t* mfib_entry_src_update ( mfib_entry_t mfib_entry,
mfib_source_t  source,
fib_rpf_id_t  rpf_id,
mfib_entry_flags_t  entry_flags 
)
static

Definition at line 263 of file mfib_entry.c.

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

◆ mfib_entry_src_update_and_lock()

static mfib_entry_src_t* mfib_entry_src_update_and_lock ( mfib_entry_t mfib_entry,
mfib_source_t  source,
fib_rpf_id_t  rpf_id,
mfib_entry_flags_t  entry_flags 
)
static

Definition at line 279 of file mfib_entry.c.

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

◆ mfib_entry_stack()

static void mfib_entry_stack ( mfib_entry_t mfib_entry,
mfib_entry_src_t msrc 
)
static

Definition at line 551 of file mfib_entry.c.

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

◆ mfib_entry_unlock()

void mfib_entry_unlock ( fib_node_index_t  mfib_entry_index)

Definition at line 1274 of file mfib_entry.c.

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

◆ mfib_entry_update()

int mfib_entry_update ( fib_node_index_t  mfib_entry_index,
mfib_source_t  source,
mfib_entry_flags_t  entry_flags,
fib_rpf_id_t  rpf_id,
index_t  repi 
)

Definition at line 894 of file mfib_entry.c.

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

◆ mfib_entry_update_i()

static void mfib_entry_update_i ( mfib_entry_t mfib_entry,
mfib_entry_src_t msrc,
mfib_source_t  current_best,
index_t  repi 
)
static

Definition at line 827 of file mfib_entry.c.

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

◆ mfib_path_ext_add()

static mfib_path_ext_t* mfib_path_ext_add ( mfib_entry_src_t msrc,
fib_node_index_t  path_index,
mfib_itf_flags_t  mfi_flags 
)
static

Definition at line 454 of file mfib_entry.c.

+ Here is the caller graph for this function:

◆ mfib_path_ext_remove()

static void mfib_path_ext_remove ( mfib_entry_src_t msrc,
fib_node_index_t  path_index 
)
static

Definition at line 472 of file mfib_entry.c.

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

◆ show_mfib_entry_command()

static clib_error_t* show_mfib_entry_command ( vlib_main_t vm,
unformat_input_t input,
vlib_cli_command_t cmd 
)
static

Definition at line 1487 of file mfib_entry.c.

+ Here is the call graph for this function:

Variable Documentation

◆ mfib_entry_dpo_vft

const dpo_vft_t mfib_entry_dpo_vft
static
Initial value:
= {
.dv_lock = mfib_entry_dpo_lock,
.dv_unlock = mfib_entry_dpo_unlock,
.dv_format = format_mfib_entry_dpo,
.dv_mem_show = mfib_entry_show_memory,
}
static void mfib_entry_dpo_unlock(dpo_id_t *dpo)
Definition: mfib_entry.c:1288
static void mfib_entry_dpo_lock(dpo_id_t *dpo)
Definition: mfib_entry.c:1284
static u8 * format_mfib_entry_dpo(u8 *s, va_list *args)
Definition: mfib_entry.c:76
static void mfib_entry_show_memory(void)
Definition: mfib_entry.c:1245

Definition at line 1292 of file mfib_entry.c.

◆ mfib_entry_ip4_nodes

const char* const mfib_entry_ip4_nodes[]
static
Initial value:
=
{
"ip4-mfib-forward-rpf",
}
#define NULL
Definition: clib.h:58

Definition at line 1299 of file mfib_entry.c.

◆ mfib_entry_ip6_nodes

const char* const mfib_entry_ip6_nodes[]
static
Initial value:
=
{
"ip6-mfib-forward-rpf",
}
#define NULL
Definition: clib.h:58

Definition at line 1304 of file mfib_entry.c.

◆ mfib_entry_logger

vlib_log_class_t mfib_entry_logger

the logger

Debug macro.

Definition at line 30 of file mfib_entry.c.

◆ mfib_entry_nodes

const char* const* const mfib_entry_nodes[DPO_PROTO_NUM]
static
Initial value:
=
{
}
static const char *const mfib_entry_ip4_nodes[]
Definition: mfib_entry.c:1299
static const char *const mfib_entry_ip6_nodes[]
Definition: mfib_entry.c:1304

Definition at line 1310 of file mfib_entry.c.

◆ mfib_entry_pool

mfib_entry_t* mfib_entry_pool

Definition at line 45 of file mfib_entry.c.

◆ mfib_entry_vft

const fib_node_vft_t mfib_entry_vft
static
Initial value:
= {
.fnv_get = mfib_entry_get_node,
.fnv_last_lock = mfib_entry_last_lock_gone,
.fnv_back_walk = mfib_entry_back_walk_notify,
.fnv_mem_show = mfib_entry_show_memory,
}
static fib_node_t * mfib_entry_get_node(fib_node_index_t index)
Definition: mfib_entry.c:48
static void mfib_entry_last_lock_gone(fib_node_t *node)
Definition: mfib_entry.c:1194
static fib_node_back_walk_rc_t mfib_entry_back_walk_notify(fib_node_t *node, fib_node_back_walk_ctx_t *ctx)
Definition: mfib_entry.c:1232
static void mfib_entry_show_memory(void)
Definition: mfib_entry.c:1245

Definition at line 1256 of file mfib_entry.c.

◆ mfib_path_ext_pool

mfib_path_ext_t* mfib_path_ext_pool
static

Pool of path extensions.

Definition at line 35 of file mfib_entry.c.

◆ mfib_source_names

const char* mfib_source_names[] = MFIB_SOURCE_NAMES
static

String names for each source.

Definition at line 40 of file mfib_entry.c.

◆ show_mfib_entry

vlib_cli_command_t show_mfib_entry
static
Initial value:
= {
.path = "show mfib entry",
.short_help = "show mfib entry",
}
static clib_error_t * show_mfib_entry_command(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
Definition: mfib_entry.c:1487

(constructor) VLIB_CLI_COMMAND (show_mfib_entry)

Definition at line 1532 of file mfib_entry.c.