FD.io VPP
v18.04-17-g3a0d853
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...) |
Debug macro. More... | |
#define | FOR_EACH_SRC_ADDED(_entry, _src, _source, action) |
#define | FIB_ENTRY_SRC_VFT_INVOKE(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... | |
#define FIB_ENTRY_DBG | ( | _e, | |
_fmt, | |||
_args... | |||
) |
Debug macro.
Definition at line 42 of file fib_entry_src.h.
#define FIB_ENTRY_SRC_VFT_EXISTS | ( | esrc, | |
func | |||
) |
Definition at line 248 of file fib_entry_src.h.
#define FIB_ENTRY_SRC_VFT_INVOKE | ( | esrc, | |
func, | |||
args | |||
) |
Definition at line 232 of file fib_entry_src.h.
#define FIB_ENTRY_SRC_VFT_INVOKE_AND_RETURN | ( | esrc, | |
func, | |||
args | |||
) |
Definition at line 240 of file fib_entry_src.h.
#define FOR_EACH_SRC_ADDED | ( | _entry, | |
_src, | |||
_source, | |||
action | |||
) |
Definition at line 221 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 59 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 80 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 178 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 191 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 102 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 110 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 73 of file fib_entry_src.h.
typedef void(* fib_entry_src_deinit_t) (fib_entry_src_t *src) |
Source deinitialisation Function.
Definition at line 53 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 184 of file fib_entry_src.h.
typedef u8*(* fib_entry_src_format_t) (fib_entry_src_t *src, u8 *s) |
format.
Definition at line 133 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 119 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 172 of file fib_entry_src.h.
typedef void(* fib_entry_src_init_t) (fib_entry_src_t *src) |
Source initialisation Function.
Definition at line 48 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 127 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 140 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 149 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 157 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 66 of file fib_entry_src.h.
typedef void(* fib_entry_src_remove_t) (fib_entry_src_t *src) |
Source Remove.
Definition at line 89 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 165 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 250 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 75 of file fib_entry.c.
dpo_proto_t fib_entry_get_dpo_proto | ( | const fib_entry_t * | fib_entry | ) |
Definition at line 69 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 | ) |
void fib_entry_source_change | ( | fib_entry_t * | fib_entry, |
fib_source_t | old_source, | ||
fib_source_t | new_source | ||
) |
Definition at line 826 of file fib_entry.c.
void fib_entry_src_action_activate | ( | fib_entry_t * | fib_entry, |
fib_source_t | source | ||
) |
Definition at line 981 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 1204 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 1042 of file fib_entry_src.c.
void fib_entry_src_action_install | ( | fib_entry_t * | fib_entry, |
fib_source_t | source | ||
) |
Definition at line 637 of file fib_entry_src.c.
void fib_entry_src_action_installed | ( | const fib_entry_t * | fib_entry, |
fib_source_t | source | ||
) |
Definition at line 1182 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 1532 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 1656 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 1591 of file fib_entry_src.c.
void fib_entry_src_action_reactivate | ( | fib_entry_t * | fib_entry, |
fib_source_t | source | ||
) |
Definition at line 1098 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 1363 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 1308 of file fib_entry_src.c.
void fib_entry_src_action_uninstall | ( | fib_entry_t * | fib_entry | ) |
Definition at line 690 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 1267 of file fib_entry_src.c.
void fib_entry_src_adj_register | ( | void | ) |
Definition at line 397 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_default_register | ( | void | ) |
void fib_entry_src_default_route_register | ( | void | ) |
Definition at line 53 of file fib_entry_src_default_route.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 1705 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 37 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 214 of file fib_entry_src_interface.c.
void fib_entry_src_interpose_register | ( | void | ) |
Definition at line 367 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 498 of file fib_entry_src.c.
void fib_entry_src_module_init | ( | void | ) |
Definition at line 1873 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_register | ( | fib_source_t | source, |
const fib_entry_src_vft_t * | vft | ||
) |
Definition at line 56 of file fib_entry_src.c.
void fib_entry_src_rr_register | ( | void | ) |
Definition at line 298 of file fib_entry_src_rr.c.
void fib_entry_src_special_register | ( | void | ) |
Definition at line 74 of file fib_entry_src_special.c.