summaryrefslogtreecommitdiff
path: root/lib/memtypes.c
diff options
context:
space:
mode:
authorvivek <vivek@cumulusnetworks.com>2016-09-05 10:49:16 -0700
committervivek <vivek@cumulusnetworks.com>2016-09-06 12:38:09 -0700
commita60b9a3718274a065e825ca881eb4be32d38221c (patch)
tree4e1dbdaa70804f03bd36656f8ba62784ac1ca362 /lib/memtypes.c
parentf4b6d7e9bf3e2e5c575c85060d86d1403a08bd30 (diff)
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)
Diffstat (limited to 'lib/memtypes.c')
0 files changed, 0 insertions, 0 deletions