struct pim_interface *pim_ifp = ifp->info;
struct bfd_info *bfd_info = NULL;
+ if (!pim_ifp)
+ return;
+
bfd_info = (struct bfd_info *) pim_ifp->bfd_info;
if (!bfd_info)
return;
struct pim_interface *pim_ifp = ifp->info;
int command = 0;
+ if (!pim_ifp)
+ return;
bfd_set_param ((struct bfd_info **) &(pim_ifp->bfd_info), min_rx, min_tx,
detect_mult, defaults, &command);
for (ALL_LIST_ELEMENTS (pim_ifp->pim_neighbor_list, neigh_node,
neigh_nextnode, neigh))
{
+ /* Check neigh address matches with BFD address */
+ if (neigh->source_addr.s_addr != p.u.prefix4.s_addr)
+ continue;
+
bfd_info = (struct bfd_info *) neigh->bfd_info;
if (bfd_info->status == status)
{