summaryrefslogtreecommitdiff
path: root/ripd/rip_zebra.c
diff options
context:
space:
mode:
authorRenato Westphal <renato@opensourcerouting.org>2021-10-14 12:12:37 -0300
committerRafael Zalamena <rzalamena@opensourcerouting.org>2023-04-19 09:15:01 -0300
commitc262df828b2475632f590c256db677b424d868c7 (patch)
tree85a8ab1e5ff016e9cdc28e18f91d263a207c8d32 /ripd/rip_zebra.c
parentfec51f2e2be021108dc1de4dd1ea89516082eaf7 (diff)
ripd: support BFD integration
Implement RIP peer monitoring with BFD. RFC 5882 Generic Application of Bidirectional Forwarding Detection (BFD), Section 10.3 Interactions with RIP. Co-authored-by: Renato Westphal <renato@opensourcerouting.org> Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
Diffstat (limited to 'ripd/rip_zebra.c')
-rw-r--r--ripd/rip_zebra.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/ripd/rip_zebra.c b/ripd/rip_zebra.c
index 35c4b1f1be..698dcb982d 100644
--- a/ripd/rip_zebra.c
+++ b/ripd/rip_zebra.c
@@ -13,6 +13,7 @@
#include "zclient.h"
#include "log.h"
#include "vrf.h"
+#include "bfd.h"
#include "ripd/ripd.h"
#include "ripd/rip_debug.h"
#include "ripd/rip_interface.h"
@@ -196,6 +197,7 @@ void rip_zebra_vrf_register(struct vrf *vrf)
vrf->name, vrf->vrf_id);
zclient_send_reg_requests(zclient, vrf->vrf_id);
+ bfd_client_sendmsg(zclient, ZEBRA_BFD_CLIENT_REGISTER, vrf->vrf_id);
}
void rip_zebra_vrf_deregister(struct vrf *vrf)
@@ -208,11 +210,13 @@ void rip_zebra_vrf_deregister(struct vrf *vrf)
vrf->name, vrf->vrf_id);
zclient_send_dereg_requests(zclient, vrf->vrf_id);
+ bfd_client_sendmsg(zclient, ZEBRA_BFD_CLIENT_DEREGISTER, vrf->vrf_id);
}
static void rip_zebra_connected(struct zclient *zclient)
{
zclient_send_reg_requests(zclient, VRF_DEFAULT);
+ bfd_client_sendmsg(zclient, ZEBRA_BFD_CLIENT_REGISTER, VRF_DEFAULT);
}
zclient_handler *const rip_handlers[] = {