]> git.puffer.fish Git - matthieu/frr.git/commit
BGP: Fix the setting of link-local nexthops in some situations
authorvivek <vivek@cumulusnetworks.com>
Sun, 15 Nov 2015 15:17:47 +0000 (07:17 -0800)
committervivek <vivek@cumulusnetworks.com>
Sun, 15 Nov 2015 15:17:47 +0000 (07:17 -0800)
commit003c1ba05ab9f3e7e87bd20aa7ced12cadb7298a
tree63906bc3da582d98c1bbd6d0e524ded4c2070bcf
parent0e10f22cd1765b2e062704c707b618489aa97aed
BGP: Fix the setting of link-local nexthops in some situations

This patch addresses three main issues:
a. Passing along the global IPv6 nexthop received from the EBGP peer to
IBGP peers but setting the link-local IPv6 nexthop to ourselves when
advertising EBGP-learnt routes to IBGP peers (in the absence of outbound
route-map or other overrides). The fix is to not send a link-local IPv6
nexthop in this case.

b. Passing along the link-local IPv6 nexthop received from one peer to
another peer which is (or may be) on a different subnet. This violates the
semantics of link-local IPv6 address. The fix is to set the nexthop to
ourselves in the situation where the nexthop normally has to be passed
but is a link-local IPv6 address.

c. Different behavior wrt nexthop advertisement for BGP unnumbered peering
if it is setup using link-local IPv6 address versus IPv4 /30 or /31. The
fix is to make the behavior consistent as long as the interface config is
the same in both cases.

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Reviewed-by: Daniel Walton <dwalton@cumulusnetworks.com>
Ticket: CM-7846, CM-8043
Reviewed By: CCR-3749
Testing Done: Manual testing, bgpsmoke (on 2.5-br)

Note: Imported from 2.5-br patch bgpd-fix-link-local-nexthop-setting.patch
bgpd/bgp_route.c
bgpd/bgp_zebra.c