aboutsummaryrefslogtreecommitdiffstats
path: root/src/vnet/adj/adj_glean.h
diff options
context:
space:
mode:
authorNeale Ranns <nranns@cisco.com>2018-02-12 08:36:11 -0800
committerOle Trøan <otroan@employees.org>2018-02-15 14:22:33 +0000
commit8b30e471df4d42214619e1d6c50cc8298426b45f (patch)
treefc2421ebfcfdbc7651d16d3de323a69da2393efe /src/vnet/adj/adj_glean.h
parent07510dd1a812fe064c8d44dd25e6c8a598a709cf (diff)
Allow interface types to override glean adjacency behaivour
update the glean adj on a local interface MAC change Change-Id: Ia5c5cde424ed0fea3431532cc5abf22b364bbab5 Signed-off-by: Neale Ranns <nranns@cisco.com>
Diffstat (limited to 'src/vnet/adj/adj_glean.h')
-rw-r--r--src/vnet/adj/adj_glean.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/vnet/adj/adj_glean.h b/src/vnet/adj/adj_glean.h
index 640bd2f91eb..47cddfbed2b 100644
--- a/src/vnet/adj/adj_glean.h
+++ b/src/vnet/adj/adj_glean.h
@@ -48,6 +48,25 @@ extern adj_index_t adj_glean_add_or_lock(fib_protocol_t proto,
const ip46_address_t *nh_addr);
/**
+ * @brief Get an existing glean
+ *
+ * @return INVALID if it does not exist
+ */
+extern adj_index_t adj_glean_get(fib_protocol_t proto,
+ u32 sw_if_index);
+
+/**
+ * adj_glean_update_rewrite
+ *
+ * Called by an adjacency provider (an interface type) to configure
+ * a glean adj (i.e. and adjacency linked to a connected prefix) to
+ * its default behaviour.
+ * Other interface types (i.e. 6RD tunnels) can can choose not to use
+ * glean behaviour on an adjacency liked to a connected prefix.
+ */
+extern void adj_glean_update_rewrite(adj_index_t adj_index);
+
+/**
* @brief Format/display a glean adjacency.
*/
extern u8* format_adj_glean(u8* s, va_list *ap);