Go to file
vivek 003c1ba05a 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
2015-11-15 07:17:47 -08:00
babeld *: add VRF ID in the API message header 2015-11-03 22:04:36 -08:00
bgpd BGP: Fix the setting of link-local nexthops in some situations 2015-11-15 07:17:47 -08:00
cumulus/etc quagga netlink buffer size increase 2015-09-11 05:44:31 -07:00
debian debian: Modify Quagga cumulus version in debian packaging 2015-11-04 15:44:29 -08:00
doc Quagga: Man pages have wrong paths 2015-10-29 10:27:44 -07:00
fpm fpm: Add public header for Forwarding Plane Manager 2012-11-30 21:41:17 +01:00
init build: delete .cvsignore files 2011-12-13 14:27:01 +04:00
isisd *: add VRF ID in the API message header 2015-11-03 22:04:36 -08:00
lib Quagga crash in prefix_list_apply 2015-11-06 16:36:37 +00:00
m4 build: fix "pragma weak" mixups 2013-02-09 03:00:12 +01:00
ospf6d Merge branch 'cmaster' of ssh://stash.cumulusnetworks.com:7999/quag/quagga into cmaster 2015-11-03 22:05:02 -08:00
ospfclient Add --enable-werror to configure 2015-07-25 16:05:56 -07:00
ospfd OSPF: remove deprecated commands 2015-11-13 02:38:42 +00:00
pkgsrc build: delete .cvsignore files 2011-12-13 14:27:01 +04:00
ports build: delete .cvsignore files 2011-12-13 14:27:01 +04:00
redhat build: update quagga.spec.in 2013-02-23 19:43:18 +01:00
ripd *: add VRF ID in the API message header 2015-11-03 22:04:36 -08:00
ripngd *: add VRF ID in the API message header 2015-11-03 22:04:36 -08:00
solaris build: delete .cvsignore files 2011-12-13 14:27:01 +04:00
tests bgpd: backout change of bm->master and master 2015-10-13 13:00:55 -07:00
tools Display the BGP ipv4 unicast configuration under "address-family ipv4 unicast". 2015-10-20 22:00:40 +00:00
vtysh BGP: vtysh should accept just "router bgp" if the AS is already defined 2015-11-03 10:59:57 -08:00
watchquagga Fix watchquagga to watch just one daemon 2015-08-24 10:50:21 -07:00
zebra Zebra: Remove dependency on rib_bogus_ipv6 2015-11-09 17:02:26 -08:00
.gitignore git: add (generated) cscope files to .gitignore 2015-09-22 11:54:09 -07:00
AUTHORS Initial revision 2002-12-13 20:15:29 +00:00
bootstrap.sh autoreconf -i 2007-02-06 19:28:28 +00:00
buildtest.sh Add --enable-werror to configure 2015-07-25 16:05:56 -07:00
ChangeLog [trivia] Make 'make dist' happy about ChangeLog expunge 2008-08-23 08:36:42 +01:00
configure.ac Quagga: Restrict Shell Access 2015-08-12 16:11:07 -07:00
COPYING *: nuke ^L (page feed) 2014-06-04 06:58:02 +02:00
COPYING.LIB *: nuke ^L (page feed) 2014-06-04 06:58:02 +02:00
HACKING.pending HACKING.pending: Add Quagga-RE details 2012-03-02 11:56:38 +00:00
HACKING.tex HACKING.tex: Change to a LaTeX version of HACKING 2012-03-08 16:14:13 +00:00
INSTALL.quagga.txt build: improve backtrace support/detection 2014-04-01 17:20:44 +02:00
Makefile.am Add json output support for a few BGP show commands 2015-05-19 18:03:48 -07:00
NEWS doc: update NEWS for 0.99.23 changes 2014-06-24 07:12:01 +02:00
README 2004-11-12 Paul Jakma <paul@dishone.st> 2004-11-12 10:30:21 +00:00
README.NetBSD Omit --opaque-lsa from build (now default). 2011-06-28 15:05:05 -04:00
REPORTING-BUGS Update for git and emphasize asking for good reports. 2010-05-05 07:51:26 -04:00
SERVICES 2607/tcp is already used by ospfapi. 2003-12-23 10:42:45 +00:00
stamp-h.in Initial revision 2002-12-13 20:15:29 +00:00
TODO doc: update TODO for ospf6d work & bgp multipath 2013-04-16 11:56:11 +02:00
update-autotools * README.NetBSD: use update-autotools instead of autoreconf 2007-02-02 16:52:38 +00:00

Quagga is free software that manages various IPv4 and IPv6 routing
protocols.

Currently Quagga supports BGP4, BGP4+, OSPFv2, OSPFv3, RIPv1,
RIPv2, and RIPng as well as very early support for IS-IS.
  
See the file INSTALL.quagga.txt for building and installation instructions.
  
See the file REPORTING-BUGS to report bugs.
  
Quagga is free software. See the file COPYING for copying conditions.