Go to file
Josh Bailey 0b597ef00e bgpd: When advertising a multipath route, the attribute set to be
advertised is based on the bestpath attribute set, but the
following attributes are aggregated from the attribute sets
of the multipath constituents:
- AS_PATH
- ORIGIN
- COMMUNITIES
- EXTENDED COMMUNITIES

In addition the route is advertised with the NEXT_HOP set
to the router's interface IP address, instead of the NEXT_HOP
of the best path. This is to ensure that traffic will go to this
router so it can be fanned out via the multipath route.

* bgpd/ecommunity.c
  * ecommunity_uniq_sort(): Make this function externally accessible
* bgpd/ecommunity.h
  * Add external declaration for ecommunity_uniq_sort()
* bgpd/bgp_mpath.c
  * bgp_info_nexthop_cmp(): Replace calls to bgp_attr_extra_get()
    to avoid unwanted memory allocation
  * bgp_info_mpath_free(): Free aggregate attribute for multipath
  * bgp_info_mpath_attr(): Lookup aggregate attribute of a multipath route
  * bgp_info_mpath_attr_set(): Set aggregate attribute of a multipath route
  * bgp_info_mpath_aggregate_update(): Update the aggregate attribute
    of a multipath route
* bgpd/bgp_mpath.h
  * bgp_info_mpath: Add pointer to hold aggregate attribute of a multipath
  * Add external declarations for new functions
* bgpd/bgp_route.c
  * bgp_announce_check(): Use aggregate attribute when announcing multipath
    route
  * bgp_announce_check_rsclient(): Use aggregate attribute when announcing
    multipath route
  * bgp_best_selection(): After updating multipath set, update the
    multipath aggregate attribute
2011-07-20 20:49:11 -07:00
bgpd bgpd: When advertising a multipath route, the attribute set to be 2011-07-20 20:49:11 -07:00
doc doc: Add dependency for quagga.pdf make target 2011-03-30 14:30:20 +01:00
guile [administrivia] Git should ignore backup files and .loT files 2008-08-22 20:00:46 +01:00
init [administrivia] Git should ignore backup files and .loT files 2008-08-22 20:00:46 +01:00
isisd isisd: change ISIS_METHOD to use C preprocessor 2010-04-28 20:15:44 -04:00
lib bgpd: Adds support to mark up the BGP rib table entry with multipath 2011-07-20 20:46:01 -07:00
m4 [trivia] Make 'make dist' happy about ChangeLog expunge 2008-08-23 08:36:42 +01:00
ospf6d ospf6d: copy "mtu-ignore" option from ospfd 2011-04-22 19:27:54 +04:00
ospfclient [cleanup] Add log.h includes 2009-06-24 21:49:53 +01:00
ospfd Merge remote-tracking branch 'polymorf/master' 2011-07-13 13:20:06 -04:00
pkgsrc [administrivia] Git should ignore backup files and .loT files 2008-08-22 20:00:46 +01:00
ports [administrivia] Git should ignore backup files and .loT files 2008-08-22 20:00:46 +01:00
redhat [rpm] some defaults for Fedora are way out of date 2008-11-29 16:42:04 +00:00
ripd ripd: resolve debug statements issue (bug 442) 2011-02-24 13:52:14 +03:00
ripngd ripngd: copy debug statements fix from ripd 2011-03-13 01:14:08 +03:00
solaris [trivia] work around ksh93 builtin name (#451) 2009-06-23 17:28:23 +04:00
tests bgpd: Adds support to mark up the BGP rib table entry with multipath 2011-07-20 20:46:01 -07:00
tools [administrivia] Git should ignore backup files and .loT files 2008-08-22 20:00:46 +01:00
vtysh [vtysh] Save vtysh history to a file 2009-06-24 22:26:38 +01:00
watchquagga all: check return value from daemon() call 2009-08-13 10:21:13 +01:00
zebra zebra: trivial warning fix 2011-04-13 15:13:33 +01:00
.cvsignore Ignore <dist tarball>.asc - i always seem to have one hanging around from 2005-01-12 23:49:05 +00:00
.gitignore build: ignore mkinstalldirs and texinfo.tex 2010-04-28 20:57:44 -04:00
AUTHORS Initial revision 2002-12-13 20:15:29 +00:00
bootstrap.sh autoreconf -i 2007-02-06 19:28:28 +00:00
ChangeLog [trivia] Make 'make dist' happy about ChangeLog expunge 2008-08-23 08:36:42 +01:00
configure.ac build: treat opaque-lsa default correctly for ospfapi 2011-03-24 10:19:43 -04:00
COPYING Initial revision 2002-12-13 20:15:29 +00:00
COPYING.LIB Initial revision 2002-12-13 20:15:29 +00:00
HACKING infrastructure: Express preference for published git repos 2010-11-03 07:37:23 -04:00
HACKING.pending fix typo 2011-06-28 15:05:35 -04:00
INSTALL.quagga.txt de-support NetBSD 1.6, and note that FreeBSD 4 is on thin ice. 2007-02-06 19:56:31 +00:00
Makefile.am [doc] Add "--disable-doc" to configure 2009-06-25 14:01:19 +01:00
NEWS + note the meta-queue in NEWS 2008-06-07 17:54:38 +00: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 [TODO] Note MED functionality we should implement 2006-03-30 14:36:23 +00: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.