diff options
| -rw-r--r-- | pimd/pim_upstream.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/pimd/pim_upstream.c b/pimd/pim_upstream.c index b29e71a334..06f0c5c03c 100644 --- a/pimd/pim_upstream.c +++ b/pimd/pim_upstream.c @@ -621,10 +621,17 @@ pim_upstream_new (struct prefix_sg *sg, rpf_result = pim_rpf_update(up, NULL, 1); if (rpf_result == PIM_RPF_FAILURE) { + struct prefix nht_p; + if (PIM_DEBUG_TRACE) zlog_debug ("%s: Attempting to create upstream(%s), Unable to RPF for source", __PRETTY_FUNCTION__, up->sg_str); + nht_p.family = AF_INET; + nht_p.prefixlen = IPV4_MAX_BITLEN; + nht_p.u.prefix4 = up->upstream_addr; + pim_delete_tracked_nexthop (&nht_p, up, NULL); + if (up->parent) { listnode_delete (up->parent->sources, up); |
