]> git.puffer.fish Git - mirror/frr.git/commitdiff
pim6d: (*,G) mroutes not learnt after pim6d daemon restart 11953/head
authorAbhishek N R <abnr@vmware.com>
Fri, 16 Sep 2022 07:42:39 +0000 (00:42 -0700)
committerAbhishek N R <abnr@vmware.com>
Fri, 16 Sep 2022 07:42:39 +0000 (00:42 -0700)
After restart pim dr address was zero due to which pim (*,G) join
could not get propagated towards RP.

While trying to find primary address ll_highest will be zero initially,
since we have not received address from zebra yet.

So we can get the best address at this point and use it as primary address
whenever ll_highest is zero.

Fixes: #11925
Signed-off-by: Abhishek N R <abnr@vmware.com>
pimd/pim_iface.c

index 105d9fabcd1a9fd2c009aedc5af057a0176305fd..9ed921cde6adf0df05a3a9421a5b6a0802650569 100644 (file)
@@ -883,7 +883,7 @@ pim_addr pim_find_primary_addr(struct interface *ifp)
                return pim_ifp->update_source;
 
 #if PIM_IPV == 6
-       if (pim_ifp)
+       if (pim_ifp && !pim_addr_is_any(pim_ifp->ll_highest))
                return pim_ifp->ll_highest;
 
        pim_addr best_addr = PIMADDR_ANY;