Merge pull request #4724 from satheeshkarra/pim_fixes

pimd: NH Updates are missing at PIM during boot up
This commit is contained in:
Sri Mohana Singamsetty 2019-08-08 09:57:18 -07:00 committed by GitHub
commit 3af7a9e92f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 4 deletions

View File

@ -424,10 +424,11 @@ struct pim_neighbor *pim_neighbor_find_by_secondary(struct interface *ifp,
struct pim_neighbor *neigh;
struct prefix *p;
pim_ifp = ifp->info;
if (!pim_ifp)
if (!ifp || !ifp->info)
return NULL;
pim_ifp = ifp->info;
for (ALL_LIST_ELEMENTS_RO(pim_ifp->pim_neighbor_list, node, neigh)) {
for (ALL_LIST_ELEMENTS_RO(neigh->prefix_list, pnode, p)) {
if (prefix_same(p, src))

View File

@ -842,6 +842,14 @@ int pim_parse_nexthop_update(ZAPI_CALLBACK_ARGS)
}
if (!ifp->info) {
/*
* Though Multicast is not enabled on this
* Interface store it in database otheriwse we
* may miss this update and this will not cause
* any issue, because while choosing the path we
* are ommitting the Interfaces which are not
* multicast enabled
*/
if (PIM_DEBUG_PIM_NHT) {
char buf[NEXTHOP_STRLEN];
@ -853,8 +861,6 @@ int pim_parse_nexthop_update(ZAPI_CALLBACK_ARGS)
nexthop2str(nexthop, buf,
sizeof(buf)));
}
nexthop_free(nexthop);
continue;
}
if (nhlist_tail) {