]> git.puffer.fish Git - mirror/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>
Mon, 5 Sep 2016 17:49:16 +0000 (10:49 -0700)
commite10720512ef744483ffed8a6ef3b529ec97e130d
tree232f351dc8f8b15261981ce959d8f7b47e033949
parent3064bf43a7d8162dadada2934132f915a45d2bcb
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
bgpd/bgp_route.c