aboutsummaryrefslogtreecommitdiffstats
path: root/src/vnet/adj/adj_glean.h
diff options
context:
space:
mode:
authorNeale Ranns <neale.ranns@cisco.com>2018-02-16 02:44:05 -0800
committerNeale Ranns <neale.ranns@cisco.com>2018-02-16 02:44:08 -0800
commitc819fc612f9a79eaba2981dc2e8f7c31552db5ea (patch)
treeba19a3f7b2f223ebd28e3fe87ad5f73ef81d9745 /src/vnet/adj/adj_glean.h
parent25d417f28680c78a709792d997884dd80227bb70 (diff)
Allow providers to override glean behaviour
and update glean address on local interface MAC change Change-Id: I530826d60c7e9db2b0fa2d45754139d82c5ea807 Signed-off-by: Neale Ranns <neale.ranns@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);