diff options
Diffstat (limited to 'pimd/pim_neighbor.c')
| -rw-r--r-- | pimd/pim_neighbor.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/pimd/pim_neighbor.c b/pimd/pim_neighbor.c index 00190bd830..dede8e198f 100644 --- a/pimd/pim_neighbor.c +++ b/pimd/pim_neighbor.c @@ -38,6 +38,7 @@ #include "pim_zebra.h" #include "pim_join.h" #include "pim_jp_agg.h" +#include "pim_bfd.h" static void dr_election_by_addr(struct interface *ifp) { @@ -379,6 +380,9 @@ static struct pim_neighbor *pim_neighbor_new(struct interface *ifp, ++pim_ifp->pim_dr_num_nondrpri_neighbors; } + //Register PIM Neighbor with BFD + pim_bfd_trigger_event (pim_ifp, neigh, 1); + return neigh; } @@ -682,6 +686,9 @@ void pim_neighbor_delete(struct interface *ifp, src_str, ifp->name); } + //De-Register PIM Neighbor with BFD + pim_bfd_trigger_event (pim_ifp, neigh, 0); + listnode_delete(pim_ifp->pim_neighbor_list, neigh); pim_neighbor_free(neigh); |
