FD.io VPP  v21.06-3-gbb25fbf28
Vector Packet Processing
fib_entry_src.h File Reference
+ Include dependency graph for fib_entry_src.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  fib_entry_src_cover_res_t_
 Result from a cover update/change. More...
 
struct  fib_entry_src_vft_t_
 Virtual function table each FIB entry source will register. More...
 

Macros

#define FIB_ENTRY_DBG(_e, _fmt, _args...)
 
#define FOR_EACH_SRC_ADDED(_entry, _src, _source, action)
 
#define FIB_ENTRY_SRC_VFT_INVOKE(_fe, esrc, func, args)
 
#define FIB_ENTRY_SRC_VFT_INVOKE_AND_RETURN(esrc, func, args)
 
#define FIB_ENTRY_SRC_VFT_EXISTS(esrc, func)   (fib_entry_src_get_vft(esrc)->func != 0)
 

Typedefs

typedef void(* fib_entry_src_init_t) (fib_entry_src_t *src)
 Source initialisation Function. More...
 
typedef void(* fib_entry_src_deinit_t) (fib_entry_src_t *src)
 Source deinitialisation Function. More...
 
typedef int(* fib_entry_src_activate_t) (fib_entry_src_t *src, const fib_entry_t *fib_entry)
 Source activation. More...
 
typedef int(* fib_entry_src_reactivate_t) (fib_entry_src_t *src, const fib_entry_t *fib_entry)
 Source re-activation. More...
 
typedef void(* fib_entry_src_deactivate_t) (fib_entry_src_t *src, const fib_entry_t *fib_entry)
 Source Deactivate. More...
 
typedef void(* fib_entry_src_add_t) (fib_entry_src_t *src, const fib_entry_t *entry, fib_entry_flag_t flags, dpo_proto_t proto, const dpo_id_t *dpo)
 Source Add. More...
 
typedef void(* fib_entry_src_remove_t) (fib_entry_src_t *src)
 Source Remove. More...
 
typedef struct fib_entry_src_cover_res_t_ fib_entry_src_cover_res_t
 Result from a cover update/change. More...
 
typedef fib_entry_src_cover_res_t(* fib_entry_src_cover_change_t) (fib_entry_src_t *src, const fib_entry_t *fib_entry)
 Cover changed. More...
 
typedef fib_entry_src_cover_res_t(* fib_entry_src_cover_update_t) (fib_entry_src_t *src, const fib_entry_t *fib_entry)
 Cover updated. More...
 
typedef void(* fib_entry_src_fwd_update_t) (fib_entry_src_t *src, const fib_entry_t *fib_entry, fib_source_t best_source)
 Forwarding updated. More...
 
typedef void(* fib_entry_src_installed_t) (fib_entry_src_t *src, const fib_entry_t *fib_entry)
 Installed. More...
 
typedef u8 *(* fib_entry_src_format_t) (fib_entry_src_t *src, u8 *s)
 format. More...
 
typedef void(* fib_entry_src_path_add_t) (fib_entry_src_t *src, const fib_entry_t *fib_entry, fib_path_list_flags_t pl_flags, const fib_route_path_t *path)
 Source path add the source is adding a new path. More...
 
typedef void(* fib_entry_src_path_remove_t) (fib_entry_src_t *src, fib_path_list_flags_t pl_flags, const fib_route_path_t *path)
 Source path remove the source is remoinvg a path. More...
 
typedef void(* fib_entry_src_path_swap_t) (fib_entry_src_t *src, const fib_entry_t *fib_entry, fib_path_list_flags_t pl_flags, const fib_route_path_t *path)
 Source path replace/swap the source is providing a new set of paths. More...
 
typedef void(* fib_entry_src_set_data_t) (fib_entry_src_t *src, const fib_entry_t *fib_entry, const void *data)
 Set source specific opaque data. More...
 
typedef void(* fib_entry_src_flag_change_t) (fib_entry_src_t *src, const fib_entry_t *fib_entry, fib_entry_flag_t new_flags)
 The fib entry flags for this source are changing. More...
 
typedef void(* fib_entry_src_copy_t) (const fib_entry_src_t *orig_src, const fib_entry_t *fib_entry, fib_entry_src_t *copy_src)
 The fib entry flags for this source are changing. More...
 
typedef struct fib_entry_src_vft_t_ fib_entry_src_vft_t
 Virtual function table each FIB entry source will register. More...
 

Functions

const fib_entry_src_vft_tfib_entry_src_get_vft (const fib_entry_src_t *esrc)
 Get the VFT for a given source. More...
 
fib_entry_src_tfib_entry_src_find (const fib_entry_t *fib_entry, fib_source_t source)
 
u8fib_entry_src_format (fib_entry_t *entry, fib_source_t source, u8 *s)
 
void fib_entry_src_behaviour_register (fib_source_behaviour_t source, const fib_entry_src_vft_t *vft)
 
fib_entry_src_cover_res_t fib_entry_src_action_cover_change (fib_entry_t *entry, fib_entry_src_t *esrc)
 
fib_entry_src_cover_res_t fib_entry_src_action_cover_update (fib_entry_t *fib_entry, fib_entry_src_t *esrc)
 
void fib_entry_src_action_activate (fib_entry_t *fib_entry, fib_source_t source)
 
void fib_entry_src_action_deactivate (fib_entry_t *fib_entry, fib_source_t source)
 
void fib_entry_src_action_reactivate (fib_entry_t *fib_entry, fib_source_t source)
 
fib_entry_tfib_entry_src_action_add (fib_entry_t *fib_entry, fib_source_t source, fib_entry_flag_t flags, const dpo_id_t *dpo)
 
fib_entry_tfib_entry_src_action_update (fib_entry_t *fib_entry, fib_source_t source, fib_entry_flag_t flags, const dpo_id_t *dpo)
 
fib_entry_src_flag_t fib_entry_src_action_remove (fib_entry_t *fib_entry, fib_source_t source)
 
fib_entry_src_flag_t fib_entry_src_action_remove_or_update_inherit (fib_entry_t *fib_entry, fib_source_t source)
 
void fib_entry_src_action_install (fib_entry_t *fib_entry, fib_source_t source)
 
void fib_entry_src_action_uninstall (fib_entry_t *fib_entry)
 
fib_entry_tfib_entry_src_action_path_add (fib_entry_t *fib_entry, fib_source_t source, fib_entry_flag_t flags, const fib_route_path_t *path)
 
fib_entry_tfib_entry_src_action_path_swap (fib_entry_t *fib_entry, fib_source_t source, fib_entry_flag_t flags, const fib_route_path_t *path)
 
fib_entry_src_flag_t fib_entry_src_action_path_remove (fib_entry_t *fib_entry, fib_source_t source, const fib_route_path_t *path)
 
fib_entry_tfib_entry_src_action_installed (fib_entry_t *fib_entry, fib_source_t source)
 
void fib_entry_src_inherit (const fib_entry_t *cover, fib_entry_t *covered)
 
fib_forward_chain_type_t fib_entry_get_default_chain_type (const fib_entry_t *fib_entry)
 
fib_source_t fib_entry_get_source_i (const fib_entry_t *fib_entry)
 
fib_entry_flag_t fib_entry_get_flags_i (const fib_entry_t *fib_entry)
 
fib_path_list_flags_t fib_entry_src_flags_2_path_list_flags (fib_entry_flag_t eflags)
 
fib_forward_chain_type_t fib_entry_chain_type_fixup (const fib_entry_t *entry, fib_forward_chain_type_t fct)
 Turn the chain type requested by the client into the one they really wanted. More...
 
void fib_entry_src_mk_lb (fib_entry_t *fib_entry, fib_source_t source, fib_forward_chain_type_t fct, dpo_id_t *dpo_lb)
 
fib_protocol_t fib_entry_get_proto (const fib_entry_t *fib_entry)
 
dpo_proto_t fib_entry_get_dpo_proto (const fib_entry_t *fib_entry)
 
void fib_entry_source_change (fib_entry_t *fib_entry, fib_source_t old_source, fib_source_t new_source)
 
void fib_entry_src_default_register (void)
 
void fib_entry_src_rr_register (void)
 
void fib_entry_src_interface_register (void)
 
void fib_entry_src_interpose_register (void)
 
void fib_entry_src_drop_register (void)
 
void fib_entry_src_simple_register (void)
 
void fib_entry_src_api_register (void)
 
void fib_entry_src_adj_register (void)
 
void fib_entry_src_mpls_register (void)
 
void fib_entry_src_lisp_register (void)
 
void fib_entry_src_module_init (void)
 

Variables

const typedef void *(* fib_entry_src_get_data_t )(fib_entry_src_t *src, const fib_entry_t *fib_entry)
 Get source specific opaque data. More...
 
const typedef dpo_id_t *(* fib_entry_src_contribute_interpose_t )(const fib_entry_src_t *src, const fib_entry_t *fib_entry)
 Contribute forwarding to interpose inthe chain. More...
 
vlib_log_class_t fib_entry_logger
 Debug macro. More...
 

Macro Definition Documentation

◆ FIB_ENTRY_DBG

#define FIB_ENTRY_DBG (   _e,
  _fmt,
  _args... 
)
Value:
{ \
vlib_log_debug(fib_entry_logger, \
"[@%d:[%U]:%U:%U]: " _fmt, \
&_e->fe_prefix, \
##_args); \
}

Definition at line 28 of file fib_entry_src.h.

◆ FIB_ENTRY_SRC_VFT_EXISTS

#define FIB_ENTRY_SRC_VFT_EXISTS (   esrc,
  func 
)    (fib_entry_src_get_vft(esrc)->func != 0)

Definition at line 251 of file fib_entry_src.h.

◆ FIB_ENTRY_SRC_VFT_INVOKE

#define FIB_ENTRY_SRC_VFT_INVOKE (   _fe,
  esrc,
  func,
  args 
)
Value:
{ \
const fib_entry_src_vft_t *_vft; \
fib_node_index_t _fei = fib_entry_get_index(_fe); \
_vft = fib_entry_src_get_vft(esrc); \
if (_vft->func) { \
(esrc)->fes_flags &= ~FIB_ENTRY_SRC_FLAG_STALE; \
_vft->func args; \
} \
_fe = fib_entry_get(_fei); \
}

Definition at line 229 of file fib_entry_src.h.

◆ FIB_ENTRY_SRC_VFT_INVOKE_AND_RETURN

#define FIB_ENTRY_SRC_VFT_INVOKE_AND_RETURN (   esrc,
  func,
  args 
)
Value:
{ \
const fib_entry_src_vft_t *_vft; \
_vft = fib_entry_src_get_vft(esrc); \
if (_vft->func) { \
(esrc)->fes_flags &= ~FIB_ENTRY_SRC_FLAG_STALE; \
return (_vft->func args); \
} \
}

Definition at line 241 of file fib_entry_src.h.

◆ FOR_EACH_SRC_ADDED

#define FOR_EACH_SRC_ADDED (   _entry,
  _src,
  _source,
  action 
)
Value:
{ \
vec_foreach(_src, (_entry)->fe_srcs) \
{ \
if (_src->fes_flags & FIB_ENTRY_SRC_FLAG_ADDED) { \
_source = (_src)->fes_src; \
action; \
} \
} \
}

Definition at line 218 of file fib_entry_src.h.

Typedef Documentation

◆ fib_entry_src_activate_t

typedef int(* fib_entry_src_activate_t) (fib_entry_src_t *src, const fib_entry_t *fib_entry)

Source activation.

Called when the source is the new best source on the entry. Return non-zero if the entry can now install, 0 otherwise

Definition at line 56 of file fib_entry_src.h.

◆ fib_entry_src_add_t

typedef void(* fib_entry_src_add_t) (fib_entry_src_t *src, const fib_entry_t *entry, fib_entry_flag_t flags, dpo_proto_t proto, const dpo_id_t *dpo)

Source Add.

Called when the source is added to the entry

Definition at line 77 of file fib_entry_src.h.

◆ fib_entry_src_copy_t

typedef void(* fib_entry_src_copy_t) (const fib_entry_src_t *orig_src, const fib_entry_t *fib_entry, fib_entry_src_t *copy_src)

The fib entry flags for this source are changing.

Definition at line 188 of file fib_entry_src.h.

◆ fib_entry_src_cover_change_t

typedef fib_entry_src_cover_res_t(* fib_entry_src_cover_change_t) (fib_entry_src_t *src, const fib_entry_t *fib_entry)

Cover changed.

the source should re-evaluate its cover.

Definition at line 99 of file fib_entry_src.h.

◆ fib_entry_src_cover_res_t

Result from a cover update/change.

◆ fib_entry_src_cover_update_t

typedef fib_entry_src_cover_res_t(* fib_entry_src_cover_update_t) (fib_entry_src_t *src, const fib_entry_t *fib_entry)

Cover updated.

The cover the source has, has updated (i.e. its forwarding) the source may need to re-evaluate.

Definition at line 107 of file fib_entry_src.h.

◆ fib_entry_src_deactivate_t

typedef void(* fib_entry_src_deactivate_t) (fib_entry_src_t *src, const fib_entry_t *fib_entry)

Source Deactivate.

Called when the source is no longer best source on the entry

Definition at line 70 of file fib_entry_src.h.

◆ fib_entry_src_deinit_t

typedef void(* fib_entry_src_deinit_t) (fib_entry_src_t *src)

Source deinitialisation Function.

Definition at line 50 of file fib_entry_src.h.

◆ fib_entry_src_flag_change_t

typedef void(* fib_entry_src_flag_change_t) (fib_entry_src_t *src, const fib_entry_t *fib_entry, fib_entry_flag_t new_flags)

The fib entry flags for this source are changing.

Definition at line 181 of file fib_entry_src.h.

◆ fib_entry_src_format_t

typedef u8*(* fib_entry_src_format_t) (fib_entry_src_t *src, u8 *s)

format.

Definition at line 130 of file fib_entry_src.h.

◆ fib_entry_src_fwd_update_t

typedef void(* fib_entry_src_fwd_update_t) (fib_entry_src_t *src, const fib_entry_t *fib_entry, fib_source_t best_source)

Forwarding updated.

Notification that the forwarding information for the entry has been updated. This notification is sent to all sources, not just the active best.

Definition at line 116 of file fib_entry_src.h.

◆ fib_entry_src_init_t

typedef void(* fib_entry_src_init_t) (fib_entry_src_t *src)

Source initialisation Function.

Definition at line 45 of file fib_entry_src.h.

◆ fib_entry_src_installed_t

typedef void(* fib_entry_src_installed_t) (fib_entry_src_t *src, const fib_entry_t *fib_entry)

Installed.

Notification that the source is now installed as the entry's forwarding source.

Definition at line 124 of file fib_entry_src.h.

◆ fib_entry_src_path_add_t

typedef void(* fib_entry_src_path_add_t) (fib_entry_src_t *src, const fib_entry_t *fib_entry, fib_path_list_flags_t pl_flags, const fib_route_path_t *path)

Source path add the source is adding a new path.

Definition at line 137 of file fib_entry_src.h.

◆ fib_entry_src_path_remove_t

typedef void(* fib_entry_src_path_remove_t) (fib_entry_src_t *src, fib_path_list_flags_t pl_flags, const fib_route_path_t *path)

Source path remove the source is remoinvg a path.

Definition at line 146 of file fib_entry_src.h.

◆ fib_entry_src_path_swap_t

typedef void(* fib_entry_src_path_swap_t) (fib_entry_src_t *src, const fib_entry_t *fib_entry, fib_path_list_flags_t pl_flags, const fib_route_path_t *path)

Source path replace/swap the source is providing a new set of paths.

Definition at line 154 of file fib_entry_src.h.

◆ fib_entry_src_reactivate_t

typedef int(* fib_entry_src_reactivate_t) (fib_entry_src_t *src, const fib_entry_t *fib_entry)

Source re-activation.

Called when the source is updated and remains the best source.

Definition at line 63 of file fib_entry_src.h.

◆ fib_entry_src_remove_t

typedef void(* fib_entry_src_remove_t) (fib_entry_src_t *src)

Source Remove.

Definition at line 86 of file fib_entry_src.h.

◆ fib_entry_src_set_data_t

typedef void(* fib_entry_src_set_data_t) (fib_entry_src_t *src, const fib_entry_t *fib_entry, const void *data)

Set source specific opaque data.

Definition at line 162 of file fib_entry_src.h.

◆ fib_entry_src_vft_t

Virtual function table each FIB entry source will register.

Function Documentation

◆ fib_entry_chain_type_fixup()

fib_forward_chain_type_t fib_entry_chain_type_fixup ( const fib_entry_t entry,
fib_forward_chain_type_t  fct 
)

Turn the chain type requested by the client into the one they really wanted.

Definition at line 297 of file fib_entry_src.c.

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

◆ fib_entry_get_default_chain_type()

fib_forward_chain_type_t fib_entry_get_default_chain_type ( const fib_entry_t fib_entry)

Definition at line 81 of file fib_entry.c.

◆ fib_entry_get_dpo_proto()

dpo_proto_t fib_entry_get_dpo_proto ( const fib_entry_t fib_entry)

Definition at line 75 of file fib_entry.c.

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

◆ fib_entry_get_flags_i()

fib_entry_flag_t fib_entry_get_flags_i ( const fib_entry_t fib_entry)

Definition at line 1905 of file fib_entry_src.c.

+ Here is the caller graph for this function:

◆ fib_entry_get_proto()

fib_protocol_t fib_entry_get_proto ( const fib_entry_t fib_entry)

Definition at line 69 of file fib_entry.c.

+ Here is the caller graph for this function:

◆ fib_entry_get_source_i()

fib_source_t fib_entry_get_source_i ( const fib_entry_t fib_entry)

Definition at line 1896 of file fib_entry_src.c.

◆ fib_entry_source_change()

void fib_entry_source_change ( fib_entry_t fib_entry,
fib_source_t  old_source,
fib_source_t  new_source 
)

Definition at line 861 of file fib_entry.c.

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

◆ fib_entry_src_action_activate()

void fib_entry_src_action_activate ( fib_entry_t fib_entry,
fib_source_t  source 
)

Definition at line 1073 of file fib_entry_src.c.

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

◆ fib_entry_src_action_add()

fib_entry_t* fib_entry_src_action_add ( fib_entry_t fib_entry,
fib_source_t  source,
fib_entry_flag_t  flags,
const dpo_id_t dpo 
)

Definition at line 1298 of file fib_entry_src.c.

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

◆ fib_entry_src_action_cover_change()

fib_entry_src_cover_res_t fib_entry_src_action_cover_change ( fib_entry_t entry,
fib_entry_src_t esrc 
)

Definition at line 225 of file fib_entry_src.c.

+ Here is the caller graph for this function:

◆ fib_entry_src_action_cover_update()

fib_entry_src_cover_res_t fib_entry_src_action_cover_update ( fib_entry_t fib_entry,
fib_entry_src_t esrc 
)

Definition at line 239 of file fib_entry_src.c.

+ Here is the caller graph for this function:

◆ fib_entry_src_action_deactivate()

void fib_entry_src_action_deactivate ( fib_entry_t fib_entry,
fib_source_t  source 
)

Definition at line 1134 of file fib_entry_src.c.

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

◆ fib_entry_src_action_install()

void fib_entry_src_action_install ( fib_entry_t fib_entry,
fib_source_t  source 
)

Definition at line 732 of file fib_entry_src.c.

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

◆ fib_entry_src_action_installed()

fib_entry_t* fib_entry_src_action_installed ( fib_entry_t fib_entry,
fib_source_t  source 
)

Definition at line 1274 of file fib_entry_src.c.

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

◆ fib_entry_src_action_path_add()

fib_entry_t* fib_entry_src_action_path_add ( fib_entry_t fib_entry,
fib_source_t  source,
fib_entry_flag_t  flags,
const fib_route_path_t path 
)

Definition at line 1617 of file fib_entry_src.c.

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

◆ fib_entry_src_action_path_remove()

fib_entry_src_flag_t fib_entry_src_action_path_remove ( fib_entry_t fib_entry,
fib_source_t  source,
const fib_route_path_t path 
)

Definition at line 1738 of file fib_entry_src.c.

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

◆ fib_entry_src_action_path_swap()

fib_entry_t* fib_entry_src_action_path_swap ( fib_entry_t fib_entry,
fib_source_t  source,
fib_entry_flag_t  flags,
const fib_route_path_t path 
)

Definition at line 1677 of file fib_entry_src.c.

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

◆ fib_entry_src_action_reactivate()

void fib_entry_src_action_reactivate ( fib_entry_t fib_entry,
fib_source_t  source 
)

Definition at line 1190 of file fib_entry_src.c.

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

◆ fib_entry_src_action_remove()

fib_entry_src_flag_t fib_entry_src_action_remove ( fib_entry_t fib_entry,
fib_source_t  source 
)

Definition at line 1442 of file fib_entry_src.c.

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

◆ fib_entry_src_action_remove_or_update_inherit()

fib_entry_src_flag_t fib_entry_src_action_remove_or_update_inherit ( fib_entry_t fib_entry,
fib_source_t  source 
)

Definition at line 1387 of file fib_entry_src.c.

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

◆ fib_entry_src_action_uninstall()

void fib_entry_src_action_uninstall ( fib_entry_t fib_entry)

Definition at line 783 of file fib_entry_src.c.

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

◆ fib_entry_src_action_update()

fib_entry_t* fib_entry_src_action_update ( fib_entry_t fib_entry,
fib_source_t  source,
fib_entry_flag_t  flags,
const dpo_id_t dpo 
)

Definition at line 1353 of file fib_entry_src.c.

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

◆ fib_entry_src_adj_register()

void fib_entry_src_adj_register ( void  )

Definition at line 426 of file fib_entry_src_adj.c.

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

◆ fib_entry_src_api_register()

void fib_entry_src_api_register ( void  )

Definition at line 163 of file fib_entry_src_api.c.

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

◆ fib_entry_src_behaviour_register()

void fib_entry_src_behaviour_register ( fib_source_behaviour_t  source,
const fib_entry_src_vft_t vft 
)

Definition at line 61 of file fib_entry_src.c.

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

◆ fib_entry_src_default_register()

void fib_entry_src_default_register ( void  )

Definition at line 114 of file fib_entry_src_default.c.

+ Here is the call graph for this function:

◆ fib_entry_src_drop_register()

void fib_entry_src_drop_register ( void  )

Definition at line 53 of file fib_entry_src_drop.c.

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

◆ fib_entry_src_find()

fib_entry_src_t* fib_entry_src_find ( const fib_entry_t fib_entry,
fib_source_t  source 
)

Definition at line 131 of file fib_entry_src.c.

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

◆ fib_entry_src_flags_2_path_list_flags()

fib_path_list_flags_t fib_entry_src_flags_2_path_list_flags ( fib_entry_flag_t  eflags)

Definition at line 1550 of file fib_entry_src.c.

+ Here is the caller graph for this function:

◆ fib_entry_src_format()

u8* fib_entry_src_format ( fib_entry_t entry,
fib_source_t  source,
u8 s 
)

Definition at line 1787 of file fib_entry_src.c.

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

◆ fib_entry_src_get_vft()

const fib_entry_src_vft_t* fib_entry_src_get_vft ( const fib_entry_src_t esrc)

Get the VFT for a given source.

This is a combination of the source enum and the interposer flags

Definition at line 38 of file fib_entry_src.c.

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

◆ fib_entry_src_inherit()

void fib_entry_src_inherit ( const fib_entry_t cover,
fib_entry_t covered 
)

Definition at line 1017 of file fib_entry_src.c.

+ Here is the caller graph for this function:

◆ fib_entry_src_interface_register()

void fib_entry_src_interface_register ( void  )

Definition at line 256 of file fib_entry_src_interface.c.

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

◆ fib_entry_src_interpose_register()

void fib_entry_src_interpose_register ( void  )

Definition at line 381 of file fib_entry_src_interpose.c.

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

◆ fib_entry_src_lisp_register()

void fib_entry_src_lisp_register ( void  )

Definition at line 130 of file fib_entry_src_lisp.c.

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

◆ fib_entry_src_mk_lb()

void fib_entry_src_mk_lb ( fib_entry_t fib_entry,
fib_source_t  source,
fib_forward_chain_type_t  fct,
dpo_id_t dpo_lb 
)

Definition at line 563 of file fib_entry_src.c.

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

◆ fib_entry_src_module_init()

void fib_entry_src_module_init ( void  )

Definition at line 1950 of file fib_entry_src.c.

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

◆ fib_entry_src_mpls_register()

void fib_entry_src_mpls_register ( void  )

Definition at line 194 of file fib_entry_src_mpls.c.

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

◆ fib_entry_src_rr_register()

void fib_entry_src_rr_register ( void  )

Definition at line 307 of file fib_entry_src_rr.c.

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

◆ fib_entry_src_simple_register()

void fib_entry_src_simple_register ( void  )

Definition at line 74 of file fib_entry_src_simple.c.

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

Variable Documentation

◆ fib_entry_logger

vlib_log_class_t fib_entry_logger

Debug macro.

Debug macro.

Definition at line 48 of file fib_entry.c.

◆ fib_entry_src_contribute_interpose_t

const typedef dpo_id_t*(* fib_entry_src_contribute_interpose_t) (const fib_entry_src_t *src, const fib_entry_t *fib_entry)

Contribute forwarding to interpose inthe chain.

Definition at line 175 of file fib_entry_src.h.

◆ fib_entry_src_get_data_t

const typedef void*(* fib_entry_src_get_data_t) (fib_entry_src_t *src, const fib_entry_t *fib_entry)

Get source specific opaque data.

Definition at line 169 of file fib_entry_src.h.

FIB_ENTRY_SRC_FLAG_STALE
@ FIB_ENTRY_SRC_FLAG_STALE
Definition: fib_entry.h:181
fib_entry_src_vft_t_
Virtual function table each FIB entry source will register.
Definition: fib_entry_src.h:195
format_fib_source
u8 * format_fib_source(u8 *s, va_list *args)
Definition: fib_source.c:66
fib_entry_get_index
fib_node_index_t fib_entry_get_index(const fib_entry_t *fib_entry)
Definition: fib_entry.c:63
fib_entry_logger
vlib_log_class_t fib_entry_logger
Debug macro.
Definition: fib_entry.c:48
fib_entry_src_get_vft
const fib_entry_src_vft_t * fib_entry_src_get_vft(const fib_entry_src_t *esrc)
Get the VFT for a given source.
Definition: fib_entry_src.c:38
format_fib_entry_flags
u8 * format_fib_entry_flags(u8 *s, va_list *args)
Definition: fib_entry.c:100
fib_entry_get
fib_entry_t * fib_entry_get(fib_node_index_t index)
Definition: fib_entry.c:51
fib_entry_get_source_i
fib_source_t fib_entry_get_source_i(const fib_entry_t *fib_entry)
Definition: fib_entry_src.c:1896
format_fib_prefix
u8 * format_fib_prefix(u8 *s, va_list *args)
Definition: fib_types.c:283
fib_entry_get_flags_i
fib_entry_flag_t fib_entry_get_flags_i(const fib_entry_t *fib_entry)
Definition: fib_entry_src.c:1905
FIB_ENTRY_SRC_FLAG_ADDED
@ FIB_ENTRY_SRC_FLAG_ADDED
Definition: fib_entry.h:178