{"push_id":2701779819,"size":3,"distinct_size":3,"ref":"refs/heads/pim_neighbor_needed","head":"936e93f10ef0cee0e9c6708b7577ac9afb994262","before":"4dc169bd3c03a01b5a6841b0f1846312ee49de53","commits":[{"sha":"ca1eef625865153e4aa303a19b8fe6d5353b1019","author":{"name":"Donald Sharp","email":"12bb92ce76d25f4ca61013fd8b7b6b8ca9ce582e@cumulusnetworks.com"},"message":"pimd: There is no reason a IGMP src should need a neighbor\n\nThere is no reason that a IGMP src should need a upstream\npim neighbor when doing a RPF lookup.\n\nTicket: CM-21599\nSigned-off-by: Donald Sharp <sharpd@cumulusnetworks.com>","distinct":true,"url":"https://api.github.com/repos/donaldsharp/frr/commits/ca1eef625865153e4aa303a19b8fe6d5353b1019"},{"sha":"f620659da4ff25da2c12dd85ef3b2aaab6253784","author":{"name":"Donald Sharp","email":"12bb92ce76d25f4ca61013fd8b7b6b8ca9ce582e@cumulusnetworks.com"},"message":"pimd: Figure neighbors -vs- paths when doing RPF\n\nWhen we are looking up a RPF with a ecmp path, there\nare situations where we are failing to find a path change\nbecause we were not considering the actual number of neighbors\nwe have available to us at the start of the loop.\n\nExample:\n\nSuppose 2 way ecmp with a neighbor on each path.  We have\nmultiple upstreams that are strewn across both paths.\nIf we loose a pim neighbor on one of the paths we would\ninitiate a rescan of the upstreams.  If the neighbor\nwe lost happened to be the last ecmp path we rescanned\nwe would not successfully find a new path and leave\nthe upstream stranded.\n\nThis code change looks at the number of available neighbors\nthat we have -vs- the number of paths we have and chooses\nthe smaller of the two for figuring out what to do.\n\nThere probably exist other failure scenarios as well that\nI am missing here and quite frankly the current code muddies\nthe water between a RPF lookup failure -vs- a RPF lookup succeeded\nand there are no paths.  Further work is needed here imo.\n\nAdditionally this idea of a pim_ecmp_nexthop_lookup and\npim_ecmp_nexthop_search is bogus.  They are the same function and\nshould be merged at some point in time.\n\nTicket: CM-21599\nSigned-off-by: Donald Sharp <sharpd@cumulusnetworks.com>","distinct":true,"url":"https://api.github.com/repos/donaldsharp/frr/commits/f620659da4ff25da2c12dd85ef3b2aaab6253784"},{"sha":"936e93f10ef0cee0e9c6708b7577ac9afb994262","author":{"name":"Donald Sharp","email":"12bb92ce76d25f4ca61013fd8b7b6b8ca9ce582e@cumulusnetworks.com"},"message":"pimd: When doing nexthop-lookups don't allocate perm memory\n\nWhen doing nexthop lookups do not permanently allocate\nmemory in zebra and pim to track the nexthop specified\non the cli.\n\nSigned-off-by: Donald Sharp <sharpd@cumulusnetworks.com>","distinct":true,"url":"https://api.github.com/repos/donaldsharp/frr/commits/936e93f10ef0cee0e9c6708b7577ac9afb994262"}]}
{"actor":{"display_login":"donaldsharp"}}