FD.io VPP  v19.04.2-12-g66b1689
Vector Packet Processing
mfib_entry.h File Reference
+ Include dependency graph for mfib_entry.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  mfib_entry_t_
 An entry in a FIB table. More...
 

Macros

#define MFIB_ENTRY_DBG(_e, _fmt, _args...)
 
#define MFIB_ENTRY_FORMAT_BRIEF   (0x0)
 
#define MFIB_ENTRY_FORMAT_DETAIL   (0x1)
 
#define MFIB_ENTRY_FORMAT_DETAIL2   (0x2)
 

Typedefs

typedef struct mfib_entry_t_ mfib_entry_t
 An entry in a FIB table. More...
 
typedef enum mfib_entry_fwd_flags_t_ mfib_entry_fwd_flags_t
 Flags to control what is present in the replicate DPO returned when the entry contributes forwarding. More...
 

Enumerations

enum  mfib_entry_fwd_flags_t_ { MFIB_ENTRY_FWD_FLAG_NONE, MFIB_ENTRY_FWD_FLAG_NO_LOCAL }
 Flags to control what is present in the replicate DPO returned when the entry contributes forwarding. More...
 

Functions

u8format_mfib_entry (u8 *s, va_list *args)
 
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)
 
int mfib_entry_update (fib_node_index_t fib_entry_index, mfib_source_t source, mfib_entry_flags_t entry_flags, fib_rpf_id_t rpf_id, index_t rep_dpo)
 
int mfib_entry_special_add (fib_node_index_t fib_entry_index, mfib_source_t source, mfib_entry_flags_t entry_flags, fib_rpf_id_t rpf_id, index_t rep_dpo)
 
void mfib_entry_path_update (fib_node_index_t fib_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 fib_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...
 
int mfib_entry_cmp_for_sort (void *i1, void *i2)
 
u32 mfib_entry_child_add (fib_node_index_t mfib_entry_index, fib_node_type_t type, fib_node_index_t child_index)
 
void mfib_entry_child_remove (fib_node_index_t mfib_entry_index, u32 sibling_index)
 
void mfib_entry_lock (fib_node_index_t fib_entry_index)
 
void mfib_entry_unlock (fib_node_index_t fib_entry_index)
 
const mfib_prefix_tmfib_entry_get_prefix (fib_node_index_t fib_entry_index)
 
u32 mfib_entry_get_fib_index (fib_node_index_t fib_entry_index)
 
int mfib_entry_is_sourced (fib_node_index_t fib_entry_index, mfib_source_t source)
 
int mfib_entry_is_host (fib_node_index_t fib_entry_index)
 
u32 mfib_entry_get_stats_index (fib_node_index_t fib_entry_index)
 
void mfib_entry_cover_changed (fib_node_index_t fib_entry_index)
 
void mfib_entry_cover_updated (fib_node_index_t fib_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_encode (fib_node_index_t fib_entry_index, fib_route_path_encode_t **api_rpaths)
 
void mfib_entry_module_init (void)
 
static mfib_entry_tmfib_entry_get (fib_node_index_t index)
 
static fib_node_index_t mfib_entry_get_index (const mfib_entry_t *mfe)
 
static mfib_itf_tmfib_entry_itf_find (mfib_itf_t *itfs, u32 sw_if_index)
 
static mfib_itf_tmfib_entry_get_itf (const mfib_entry_t *mfe, u32 sw_if_index)
 

Variables

vlib_log_class_t mfib_entry_logger
 Debug macro. More...
 
mfib_entry_tmfib_entry_pool
 

Macro Definition Documentation

#define MFIB_ENTRY_DBG (   _e,
  _fmt,
  _args... 
)
Value:
{ \
"e:[%d:%U]: " _fmt, \
&_e->mfe_prefix, \
##_args); \
}
static fib_node_index_t mfib_entry_get_index(const mfib_entry_t *mfe)
Definition: mfib_entry.h:205
#define vlib_log_debug(...)
Definition: log.h:52
vlib_log_class_t mfib_entry_logger
Debug macro.
Definition: mfib_entry.c:30
u8 * format_mfib_prefix(u8 *s, va_list *args)
Definition: mfib_types.c:106

Definition at line 100 of file mfib_entry.h.

#define MFIB_ENTRY_FORMAT_BRIEF   (0x0)

Definition at line 110 of file mfib_entry.h.

#define MFIB_ENTRY_FORMAT_DETAIL   (0x1)

Definition at line 111 of file mfib_entry.h.

#define MFIB_ENTRY_FORMAT_DETAIL2   (0x2)

Definition at line 112 of file mfib_entry.h.

Typedef Documentation

Flags to control what is present in the replicate DPO returned when the entry contributes forwarding.

typedef struct mfib_entry_t_ mfib_entry_t

An entry in a FIB table.

This entry represents a route added to the FIB that is stored in one of the FIB tables.

Enumeration Type Documentation

Flags to control what is present in the replicate DPO returned when the entry contributes forwarding.

Enumerator
MFIB_ENTRY_FWD_FLAG_NONE 
MFIB_ENTRY_FWD_FLAG_NO_LOCAL 

Do not reutrn any local replications in the set.

Definition at line 176 of file mfib_entry.h.

Function Documentation

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:

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

Definition at line 385 of file mfib_entry.c.

+ Here is the call graph for this function:

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:

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:

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:

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:

void mfib_entry_cover_changed ( fib_node_index_t  fib_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:

void mfib_entry_cover_updated ( fib_node_index_t  fib_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:

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:

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:

void mfib_entry_encode ( fib_node_index_t  fib_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:

static mfib_entry_t* mfib_entry_get ( fib_node_index_t  index)
inlinestatic

Definition at line 200 of file mfib_entry.h.

+ Here is the caller graph for this function:

u32 mfib_entry_get_fib_index ( fib_node_index_t  fib_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:

static fib_node_index_t mfib_entry_get_index ( const mfib_entry_t mfe)
inlinestatic

Definition at line 205 of file mfib_entry.h.

+ Here is the caller graph for this function:

static mfib_itf_t* mfib_entry_get_itf ( const mfib_entry_t mfe,
u32  sw_if_index 
)
inlinestatic

Definition at line 228 of file mfib_entry.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

const mfib_prefix_t* mfib_entry_get_prefix ( fib_node_index_t  fib_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:

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:

int mfib_entry_is_host ( fib_node_index_t  fib_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:

int mfib_entry_is_sourced ( fib_node_index_t  fib_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:

static mfib_itf_t* mfib_entry_itf_find ( mfib_itf_t itfs,
u32  sw_if_index 
)
inlinestatic

Definition at line 212 of file mfib_entry.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void mfib_entry_lock ( fib_node_index_t  fib_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:

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:

int mfib_entry_path_remove ( fib_node_index_t  fib_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:

void mfib_entry_path_update ( fib_node_index_t  fib_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:

int mfib_entry_special_add ( fib_node_index_t  fib_entry_index,
mfib_source_t  source,
mfib_entry_flags_t  entry_flags,
fib_rpf_id_t  rpf_id,
index_t  rep_dpo 
)

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:

void mfib_entry_unlock ( fib_node_index_t  fib_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:

int mfib_entry_update ( fib_node_index_t  fib_entry_index,
mfib_source_t  source,
mfib_entry_flags_t  entry_flags,
fib_rpf_id_t  rpf_id,
index_t  rep_dpo 
)

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:

Variable Documentation

vlib_log_class_t mfib_entry_logger

Debug macro.

Debug macro.

Definition at line 30 of file mfib_entry.c.

mfib_entry_t* mfib_entry_pool

Definition at line 45 of file mfib_entry.c.