summaryrefslogtreecommitdiffstats
path: root/isisd/isis_bfd.c
diff options
context:
space:
mode:
authorChristian Franke <chris@opensourcerouting.org>2018-09-28 17:23:30 +0200
committerChristian Franke <chris@opensourcerouting.org>2018-10-05 14:08:18 +0200
commitab880eaf30288889aa415707dfa4d41ec794a169 (patch)
tree6f1044dfab58840ec535ab2276b5390148774cdf /isisd/isis_bfd.c
parentisisd: Register/deregister BFD peers for adjacencies (diff)
downloadfrr-ab880eaf30288889aa415707dfa4d41ec794a169.tar.xz
frr-ab880eaf30288889aa415707dfa4d41ec794a169.zip
isisd: Implement BFD replay function
Signed-off-by: Christian Franke <chris@opensourcerouting.org>
Diffstat (limited to 'isisd/isis_bfd.c')
-rw-r--r--isisd/isis_bfd.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/isisd/isis_bfd.c b/isisd/isis_bfd.c
index 2fee56827..8b85811fd 100644
--- a/isisd/isis_bfd.c
+++ b/isisd/isis_bfd.c
@@ -70,6 +70,18 @@ static int isis_bfd_nbr_replay(int command, struct zclient *zclient,
zebra_size_t length, vrf_id_t vrf_id)
{
bfd_client_sendmsg(zclient, ZEBRA_BFD_CLIENT_REGISTER);
+
+ struct listnode *anode;
+ struct isis_area *area;
+
+ for (ALL_LIST_ELEMENTS_RO(isis->area_list, anode, area)) {
+ struct listnode *cnode;
+ struct isis_circuit *circuit;
+
+ for (ALL_LIST_ELEMENTS_RO(area->circuit_list, cnode, circuit))
+ isis_bfd_circuit_cmd(circuit, ZEBRA_BFD_DEST_UPDATE);
+ }
+
return 0;
}