summaryrefslogtreecommitdiffstats
path: root/src/vnet/adj/adj_bfd.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/vnet/adj/adj_bfd.c')
-rw-r--r--src/vnet/adj/adj_bfd.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/vnet/adj/adj_bfd.c b/src/vnet/adj/adj_bfd.c
index 3d294c4646e..2d845ffcfd8 100644
--- a/src/vnet/adj/adj_bfd.c
+++ b/src/vnet/adj/adj_bfd.c
@@ -168,6 +168,23 @@ adj_bfd_notify (bfd_listen_event_e event,
adj_unlock(ai);
}
+/**
+ * Print a delegate that represents BFD tracking
+ */
+static u8 *
+adj_delegate_fmt_bfd (const adj_delegate_t *aed, u8 *s)
+{
+ s = format(s, "BFD:[state:%d index:%d]",
+ aed->ad_bfd_state,
+ aed->ad_bfd_index);
+
+ return (s);
+}
+
+const static adj_delegate_vft_t adj_delegate_vft = {
+ .adv_format = adj_delegate_fmt_bfd,
+};
+
static clib_error_t *
adj_bfd_main_init (vlib_main_t * vm)
{
@@ -178,6 +195,8 @@ adj_bfd_main_init (vlib_main_t * vm)
bfd_register_listener(adj_bfd_notify);
+ adj_delegate_register_type (ADJ_DELEGATE_BFD, &adj_delegate_vft);
+
return (error);
}