Go to the source code of this file.
◆ fib_entry_delegate_from_fib_node()
◆ fib_entry_track()
Trackers are used on FIB entries by objects that which to track the changing state of the entry.
For example a tunnel would track its destination address to be informed of reachability changes.
The benefit of this aproach is that each time a new client tracks the entry it doesn't RR source it. When an entry is sourced all its children are updated. Thus, new clients tracking an entry is O(n^2). With the tracker as indirection, the entry is sourced only once. Track a FIB entry
- Parameters
-
fib_index | The FIB the entry is in |
prefix | The Prefix of the entry to track |
child_type | The type of object that is tracking this entry |
child_index | The pool index of the object tracking |
sigbling | [RETURNED] The sibling index of the child on the tracker |
- Returns
- The index of the FIB entry
Definition at line 49 of file fib_entry_track.c.
◆ fib_entry_track_back_walk_notify()
◆ fib_entry_track_delegate_add()
◆ fib_entry_track_get_node()
◆ fib_entry_track_last_lock_gone()
static void fib_entry_track_last_lock_gone |
( |
fib_node_t * |
node | ) |
|
|
static |
◆ fib_entry_track_module_init()
void fib_entry_track_module_init |
( |
void |
| ) |
|
◆ fib_entry_track_show_memory()
static void fib_entry_track_show_memory |
( |
void |
| ) |
|
|
static |
◆ fib_entry_untrack()
Stop tracking a FIB entry.
- Parameters
-
fei | FIB entry index (as returned from the track API above) |
sibling | Sibling index (as returned from the track API above) |
Definition at line 79 of file fib_entry_track.c.
◆ fib_entry_track_vft
Initial value:= {
}
static void fib_entry_track_last_lock_gone(fib_node_t *node)
static void fib_entry_track_show_memory(void)
static fib_node_back_walk_rc_t fib_entry_track_back_walk_notify(fib_node_t *node, fib_node_back_walk_ctx_t *ctx)
static fib_node_t * fib_entry_track_get_node(fib_node_index_t index)
Definition at line 167 of file fib_entry_track.c.