]> git.puffer.fish Git - matthieu/frr.git/commit
bgpd: Fix route install upon multipath nexthop change
authorvivek <vivek@cumulusnetworks.com>
Mon, 5 Sep 2016 17:49:16 +0000 (10:49 -0700)
committervivek <vivek@cumulusnetworks.com>
Tue, 6 Sep 2016 19:38:09 +0000 (12:38 -0700)
commita60b9a3718274a065e825ca881eb4be32d38221c
tree4e1dbdaa70804f03bd36656f8ba62784ac1ca362
parentf4b6d7e9bf3e2e5c575c85060d86d1403a08bd30
bgpd: Fix route install upon multipath nexthop change

In multipath selection, there can be a scenario where the set of route
entries selected as multipath can be the same (i.e., from the same peers)
but one or more of these may have a change to the BGP next hop. In this
case, the route needs to be installed again in zebra even if the best
route entry selected has not changed, otherwise the zebra RIB may have
a different set of next hops (and first hops) than what the routing
protocol selected.

This patch handles this scenario by re-installing the route if any BGP
attribute has changed for any of the multipaths. Not all BGP attributes
are of relevance to the zebra RIB, but this approach follows existing
logic used in the code (e.g., when BGP attributes for the best route
entry has changed).

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Reviewed-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Daniel Walton <dwalton@cumulusnetworks.com>
Reviewed-by: Sid Khot <sidkhot@cumulusnetworks.com>
Ticket: CM-12390
Reviewed By: CCR-5135
Testing Done: Manual, bgp-smoke

(cherry picked from commit e10720512ef744483ffed8a6ef3b529ec97e130d)
bgpd/bgp_route.c