Code Review
/
vpp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
fib: Source Address Selection
[vpp.git]
/
src
/
vnet
/
adj
/
adj_glean.h
diff --git
a/src/vnet/adj/adj_glean.h
b/src/vnet/adj/adj_glean.h
index
3ffbe36
..
a06b9e8
100644
(file)
--- a/
src/vnet/adj/adj_glean.h
+++ b/
src/vnet/adj/adj_glean.h
@@
-46,7
+46,7
@@
extern adj_index_t adj_glean_add_or_lock(fib_protocol_t proto,
vnet_link_t linkt,
u32 sw_if_index,
extern adj_index_t adj_glean_add_or_lock(fib_protocol_t proto,
vnet_link_t linkt,
u32 sw_if_index,
- const
ip46_address_t *nh_addr
);
+ const
fib_prefix_t *conn
);
/**
* @brief Get an existing glean
/**
* @brief Get an existing glean
@@
-54,7
+54,8
@@
extern adj_index_t adj_glean_add_or_lock(fib_protocol_t proto,
* @return INVALID if it does not exist
*/
extern adj_index_t adj_glean_get(fib_protocol_t proto,
* @return INVALID if it does not exist
*/
extern adj_index_t adj_glean_get(fib_protocol_t proto,
- u32 sw_if_index);
+ u32 sw_if_index,
+ const ip46_address_t *nh_addr);
/**
* adj_glean_update_rewrite
/**
* adj_glean_update_rewrite
@@
-66,16
+67,37
@@
extern adj_index_t adj_glean_get(fib_protocol_t proto,
* glean behaviour on an adjacency liked to a connected prefix.
*/
extern void adj_glean_update_rewrite(adj_index_t adj_index);
* glean behaviour on an adjacency liked to a connected prefix.
*/
extern void adj_glean_update_rewrite(adj_index_t adj_index);
+extern void adj_glean_update_rewrite_itf(u32 sw_if_index);
+
+/**
+ * Return the source address from the glean
+ */
+const ip46_address_t *adj_glean_get_src(fib_protocol_t proto,
+ u32 sw_if_index,
+ const ip46_address_t *nh_addr);
/**
* @brief Format/display a glean adjacency.
*/
extern u8* format_adj_glean(u8* s, va_list *ap);
/**
* @brief Format/display a glean adjacency.
*/
extern u8* format_adj_glean(u8* s, va_list *ap);
+/**
+ * Walk all the gleans on an interface
+ */
+extern void adj_glean_walk (u32 sw_if_index,
+ adj_walk_cb_t,
+ void *);
+
/**
* @brief
* Module initialisation
*/
extern void adj_glean_module_init(void);
/**
* @brief
* Module initialisation
*/
extern void adj_glean_module_init(void);
+/**
+ * @brief
+ * Return the size of the adjacency database. for testing purposes
+ */
+extern u32 adj_glean_db_size(void);
+
#endif
#endif