summaryrefslogtreecommitdiffstats
path: root/src/vnet/fib/ip4_fib.h
diff options
context:
space:
mode:
authorNeale Ranns <nranns@cisco.com>2017-04-06 04:41:02 -0700
committerDamjan Marion <dmarion.lists@gmail.com>2018-01-18 14:37:24 +0000
commit89541992000433b743cbbe8cb396faab42bcf6ae (patch)
tree2b09b2178270ad6de191e2eeaa5d3f49148d5a8e /src/vnet/fib/ip4_fib.h
parentbf246dff1b4ea0792c0083f7e5495930b3b225f7 (diff)
FIB Inherited Srouce
forwarding provided by the source is pushed to all other entries it covers in the sub-tree Change-Id: I2a45222ef653358f55c2436de3e3c6353cfadba2 Signed-off-by: Neale Ranns <nranns@cisco.com>
Diffstat (limited to 'src/vnet/fib/ip4_fib.h')
-rw-r--r--src/vnet/fib/ip4_fib.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/vnet/fib/ip4_fib.h b/src/vnet/fib/ip4_fib.h
index 438eb2405bf..84800eb2397 100644
--- a/src/vnet/fib/ip4_fib.h
+++ b/src/vnet/fib/ip4_fib.h
@@ -99,6 +99,16 @@ extern void ip4_fib_table_walk(ip4_fib_t *fib,
void *ctx);
/**
+ * @brief Walk all entries in a sub-tree of the FIB table
+ * N.B: This is NOT safe to deletes. If you need to delete walk the whole
+ * table and store elements in a vector, then delete the elements
+ */
+extern void ip4_fib_table_sub_tree_walk(ip4_fib_t *fib,
+ const fib_prefix_t *root,
+ fib_table_walk_fn_t fn,
+ void *ctx);
+
+/**
* @brief Get the FIB at the given index
*/
static inline ip4_fib_t *