|
FD.io VPP
v21.06-3-gbb25fbf28
Vector Packet Processing
|
static int mfib_entry_cover_update_one(mfib_entry_t *cover, fib_node_index_t covered, void *args)
void mfib_entry_cover_updated(fib_node_index_t mfib_entry_index)
static uword pointer_to_uword(const void *p)
mfib_entry_delegate_t * mfib_entry_delegate_get(const mfib_entry_t *mfib_entry, mfib_entry_delegate_type_t type)
Aggregate type for a prefix.
mfib_entry_delegate_t * mfib_entry_delegate_find_or_add(mfib_entry_t *mfib_entry, mfib_entry_delegate_type_t fdt)
#define FIB_NODE_INDEX_INVALID
static fib_node_index_t mfib_entry_get_index(const mfib_entry_t *mfe)
int(* mfib_entry_covered_walk_t)(mfib_entry_t *cover, fib_node_index_t covered, void *ctx)
callback function used when walking the covered entries
void mfib_entry_cover_change_notify(fib_node_index_t cover_index, fib_node_index_t covered)
@ MFIB_ENTRY_DELEGATE_COVERED
Dependency list of covered entries.
static mfib_entry_t * mfib_entry_get(fib_node_index_t index)
#define MFIB_ENTRY_DBG(_e, _fmt, _args...)
void mfib_entry_cover_untrack(mfib_entry_t *cover, u32 tracked_index)
static walk_rc_t mfib_entry_cover_walk_node_ptr(fib_node_ptr_t *depend, void *args)
static int mfib_entry_cover_change_one(mfib_entry_t *cover, fib_node_index_t covered, void *args)
u32 fib_node_index_t
A typedef of a node index.
u32 mfib_entry_cover_track(mfib_entry_t *cover, fib_node_index_t covered)
int mfib_prefix_is_cover(const mfib_prefix_t *p1, const mfib_prefix_t *p2)
Compare two prefixes for covering relationship.
void mfib_entry_cover_walk(mfib_entry_t *cover, mfib_entry_covered_walk_t walk, void *args)
A representation of one pointer to another node.
@ FIB_NODE_TYPE_MFIB_ENTRY
void mfib_entry_delegate_remove(mfib_entry_t *mfib_entry, mfib_entry_delegate_type_t type)
fib_node_index_t fnp_index
node's index
struct mfib_enty_cover_walk_ctx_t_ mfib_enty_cover_walk_ctx_t
Internal struct to hold user supplied paraneters for the cover walk.
void mfib_entry_cover_changed(fib_node_index_t mfib_entry_index)
fib_node_list_t mfd_list
For the cover tracking.
void fib_node_list_remove(fib_node_list_t list, u32 sibling)
mfib_entry_covered_walk_t walk
u32 fib_node_list_get_size(fib_node_list_t list)
void mfib_entry_cover_update_notify(mfib_entry_t *mfib_entry)
void fib_node_list_walk(fib_node_list_t list, fib_node_list_walk_cb_t fn, void *args)
Walk the list of node.
Internal struct to hold user supplied paraneters for the cover walk.
const mfib_prefix_t * mfib_entry_get_prefix(fib_node_index_t mfib_entry_index)
u32 fib_node_list_push_front(fib_node_list_t list, int owner_id, fib_node_type_t type, fib_node_index_t index)
Insert an element at the from of the list.
fib_node_list_t fib_node_list_create(void)
Create a new node list.
#define uword_to_pointer(u, type)
void fib_node_list_destroy(fib_node_list_t *list)
A Delagate is a means to implmenet the Delagation design pattern; the extension of an objects functio...
enum walk_rc_t_ walk_rc_t
Walk return code.