summaryrefslogtreecommitdiffstats
path: root/pimd/pim_bfd.h
diff options
context:
space:
mode:
authorRafael Zalamena <rzalamena@opensourcerouting.org>2021-04-12 18:48:21 +0200
committerRafael Zalamena <rzalamena@opensourcerouting.org>2021-04-23 14:28:57 +0200
commit1f3e6bf585ac9dcf5a94597c6c44c8aa967393ee (patch)
treeaa6eeb1eadfc9e0ff38a7d1e75a3d332c0df7f70 /pimd/pim_bfd.h
parentlib: fix possible crash on BFD notification (diff)
downloadfrr-1f3e6bf585ac9dcf5a94597c6c44c8aa967393ee.tar.xz
frr-1f3e6bf585ac9dcf5a94597c6c44c8aa967393ee.zip
pimd: rework BFD integration
Rewrite the BFD integration code to use the new library. Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
Diffstat (limited to 'pimd/pim_bfd.h')
-rw-r--r--pimd/pim_bfd.h35
1 files changed, 27 insertions, 8 deletions
diff --git a/pimd/pim_bfd.h b/pimd/pim_bfd.h
index 962b727f8..3bfbb7486 100644
--- a/pimd/pim_bfd.h
+++ b/pimd/pim_bfd.h
@@ -25,16 +25,35 @@
#include "if.h"
+/**
+ * Initializes PIM BFD integration code.
+ */
void pim_bfd_init(void);
+
+/**
+ * Write configuration to `show running-config`.
+ *
+ * \param vty the vty output pointer.
+ * \param ifp the interface pointer that has the configuration.
+ */
void pim_bfd_write_config(struct vty *vty, struct interface *ifp);
-void pim_bfd_show_info(struct vty *vty, void *bfd_info, json_object *json_obj,
- bool use_json, int param_only);
-void pim_bfd_if_param_set(struct interface *ifp, uint32_t min_rx,
- uint32_t min_tx, uint8_t detect_mult, int defaults);
-int pim_bfd_reg_dereg_all_nbr(struct interface *ifp, int command);
-void pim_bfd_trigger_event(struct pim_interface *pim_ifp,
- struct pim_neighbor *nbr, uint8_t nbr_up);
+
+/**
+ * Enables or disables all peers BFD sessions.
+ *
+ * \param ifp interface pointer.
+ * \param enable session state to set.
+ */
+void pim_bfd_reg_dereg_all_nbr(struct interface *ifp);
+
+/**
+ * Create and configure peer BFD session if it does not exist. It will use
+ * the interface configured parameters as the peer configuration.
+ *
+ * \param pim_ifp the interface configuration pointer.
+ * \param neigh the neighbor configuration pointer.
+ */
void pim_bfd_info_nbr_create(struct pim_interface *pim_ifp,
struct pim_neighbor *neigh);
-void pim_bfd_info_free(struct bfd_info **bfd_info);
+
#endif /* _PIM_BFD_H */