FD.io VPP
v20.09-64-g4f7b92f0a
Vector Packet Processing
|
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) |
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 const void *(* | fib_entry_src_get_data_t) (fib_entry_src_t *src, const fib_entry_t *fib_entry) |
Get source specific opaque data. More... | |
typedef const 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... | |
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... | |
Variables | |
vlib_log_class_t | fib_entry_logger |
Debug macro. More... | |
#define FIB_ENTRY_DBG | ( | _e, | |
_fmt, | |||
_args... | |||
) |
Definition at line 28 of file fib_entry_src.h.
#define FIB_ENTRY_SRC_VFT_EXISTS | ( | esrc, | |
func | |||
) |
Definition at line 251 of file fib_entry_src.h.
#define FIB_ENTRY_SRC_VFT_INVOKE | ( | _fe, | |
esrc, | |||
func, | |||
args | |||
) |
Definition at line 229 of file fib_entry_src.h.
#define FIB_ENTRY_SRC_VFT_INVOKE_AND_RETURN | ( | esrc, | |
func, | |||
args | |||
) |
Definition at line 241 of file fib_entry_src.h.
#define FOR_EACH_SRC_ADDED | ( | _entry, | |
_src, | |||
_source, | |||
action | |||
) |
Definition at line 218 of file fib_entry_src.h.
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.
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.
typedef const 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.
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.
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.
typedef struct fib_entry_src_cover_res_t_ fib_entry_src_cover_res_t |
Result from a cover update/change.
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.
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.
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.
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.
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.
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.
typedef const 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.
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.
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.
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.
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.
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.
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.
typedef void(* fib_entry_src_remove_t) (fib_entry_src_t *src) |
Source Remove.
Definition at line 86 of file fib_entry_src.h.
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.
typedef struct fib_entry_src_vft_t_ fib_entry_src_vft_t |
Virtual function table each FIB entry source will register.
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 296 of file fib_entry_src.c.
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.
dpo_proto_t fib_entry_get_dpo_proto | ( | const fib_entry_t * | fib_entry | ) |
Definition at line 75 of file fib_entry.c.
fib_entry_flag_t fib_entry_get_flags_i | ( | const fib_entry_t * | fib_entry | ) |
fib_protocol_t fib_entry_get_proto | ( | const fib_entry_t * | fib_entry | ) |
fib_source_t fib_entry_get_source_i | ( | const fib_entry_t * | fib_entry | ) |
Definition at line 1848 of file fib_entry_src.c.
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.
void fib_entry_src_action_activate | ( | fib_entry_t * | fib_entry, |
fib_source_t | source | ||
) |
Definition at line 1026 of file fib_entry_src.c.
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 1251 of file fib_entry_src.c.
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_deactivate | ( | fib_entry_t * | fib_entry, |
fib_source_t | source | ||
) |
Definition at line 1087 of file fib_entry_src.c.
void fib_entry_src_action_install | ( | fib_entry_t * | fib_entry, |
fib_source_t | source | ||
) |
Definition at line 683 of file fib_entry_src.c.
fib_entry_t* fib_entry_src_action_installed | ( | fib_entry_t * | fib_entry, |
fib_source_t | source | ||
) |
Definition at line 1227 of file fib_entry_src.c.
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 1569 of file fib_entry_src.c.
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 1690 of file fib_entry_src.c.
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 1629 of file fib_entry_src.c.
void fib_entry_src_action_reactivate | ( | fib_entry_t * | fib_entry, |
fib_source_t | source | ||
) |
Definition at line 1143 of file fib_entry_src.c.
fib_entry_src_flag_t fib_entry_src_action_remove | ( | fib_entry_t * | fib_entry, |
fib_source_t | source | ||
) |
Definition at line 1395 of file fib_entry_src.c.
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 1340 of file fib_entry_src.c.
void fib_entry_src_action_uninstall | ( | fib_entry_t * | fib_entry | ) |
Definition at line 736 of file fib_entry_src.c.
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 1306 of file fib_entry_src.c.
void fib_entry_src_adj_register | ( | void | ) |
Definition at line 412 of file fib_entry_src_adj.c.
void fib_entry_src_api_register | ( | void | ) |
Definition at line 163 of file fib_entry_src_api.c.
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.
void fib_entry_src_default_register | ( | void | ) |
void fib_entry_src_drop_register | ( | void | ) |
Definition at line 53 of file fib_entry_src_drop.c.
fib_path_list_flags_t fib_entry_src_flags_2_path_list_flags | ( | fib_entry_flag_t | eflags | ) |
u8* fib_entry_src_format | ( | fib_entry_t * | entry, |
fib_source_t | source, | ||
u8 * | s | ||
) |
Definition at line 1739 of file fib_entry_src.c.
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.
void fib_entry_src_inherit | ( | const fib_entry_t * | cover, |
fib_entry_t * | covered | ||
) |
void fib_entry_src_interface_register | ( | void | ) |
Definition at line 222 of file fib_entry_src_interface.c.
void fib_entry_src_interpose_register | ( | void | ) |
Definition at line 381 of file fib_entry_src_interpose.c.
void fib_entry_src_lisp_register | ( | void | ) |
Definition at line 130 of file fib_entry_src_lisp.c.
void fib_entry_src_mk_lb | ( | fib_entry_t * | fib_entry, |
const fib_entry_src_t * | esrc, | ||
fib_forward_chain_type_t | fct, | ||
dpo_id_t * | dpo_lb | ||
) |
Definition at line 544 of file fib_entry_src.c.
void fib_entry_src_module_init | ( | void | ) |
Definition at line 1902 of file fib_entry_src.c.
void fib_entry_src_mpls_register | ( | void | ) |
Definition at line 194 of file fib_entry_src_mpls.c.
void fib_entry_src_rr_register | ( | void | ) |
Definition at line 307 of file fib_entry_src_rr.c.
void fib_entry_src_simple_register | ( | void | ) |
Definition at line 74 of file fib_entry_src_simple.c.
vlib_log_class_t fib_entry_logger |