mirror_frr/lib
Donald Sharp 3f9c7369f7 BGP: Add dynamic update group support
This patch implements the 'update-groups' functionality in BGP. This is a
function that can significantly improve BGP performance for Update generation
and resultant network convergence. BGP Updates are formed for "groups" of
peers and then replicated and sent out to each peer rather than being formed
for each peer. Thus major BGP operations related to outbound policy
application, adj-out maintenance and actual Update packet formation
are optimized.

BGP update-groups dynamically groups peers together based on configuration
as well as run-time criteria. Thus, it is more flexible than update-formation
based on peer-groups, which relies on operator configuration.

[Note that peer-group based update formation has been introduced into BGP by
Cumulus but is currently intended only for specific releases.]

From 11098af65b2b8f9535484703e7f40330a71cbae4 Mon Sep 17 00:00:00 2001
Subject: [PATCH] updgrp commits
2015-05-19 18:03:47 -07:00
..
.gitignore build: include git info 2012-12-12 15:34:37 +01:00
agentx.c agentx: handle SNMP traps 2012-06-25 19:03:23 +02:00
bitfield.h ospf6d: ospfv3-abr-ecmp-support.patch 2015-05-19 18:03:39 -07:00
buffer.c *: use array_size() helper macro 2012-10-25 10:15:59 -07:00
buffer.h 2005-05-06 Paul Jakma <paul@dishone.st> 2005-05-06 21:25:49 +00:00
checksum.c lib: improve fletcher checksum validation 2012-10-25 10:15:58 -07:00
checksum.h lib: improve fletcher checksum validation 2012-10-25 10:15:58 -07:00
command.c "set metric -10" is not accepted by the parser on 64-bit x86 platforms 2015-05-19 17:58:11 -07:00
command.h Clarify the different permutations of soft clearing a peer 2015-05-19 17:58:11 -07:00
daemon.c [warnings] Fix various SOS warnings 2008-08-22 19:52:59 +01:00
distribute.c *: nuke ^L (page feed) 2014-06-04 06:58:02 +02:00
distribute.h babeld: Initial import, for Babel routing protocol. 2012-03-25 17:06:51 +01:00
filter.c bgpd: bgpd-event-driven-route-map-updates.patch 2015-05-19 17:40:45 -07:00
filter.h 2005-05-06 Paul Jakma <paul@dishone.st> 2005-05-06 21:25:49 +00:00
getopt1.c *: nuke ^L (page feed) 2014-06-04 06:58:02 +02:00
getopt.c *: nuke ^L (page feed) 2014-06-04 06:58:02 +02:00
getopt.h 2005-08-10 Greg Troxel <gdt@fnord.ir.bbn.com> 2005-08-10 13:20:03 +00:00
gitversion.pl build: fix minimal mixup in gitinfo suffix 2013-04-09 17:05:08 +02:00
hash.c BGP: Add dynamic update group support 2015-05-19 18:03:47 -07:00
hash.h BGP: Add dynamic update group support 2015-05-19 18:03:47 -07:00
if_rmap.c *: nuke ^L (page feed) 2014-06-04 06:58:02 +02:00
if_rmap.h 2005-05-06 Paul Jakma <paul@dishone.st> 2005-05-06 21:25:49 +00:00
if.c Unnumbered interface support. 2015-05-19 17:58:13 -07:00
if.h Unnumbered interface support. 2015-05-19 17:58:13 -07:00
jhash.c 2004-07-09 Paul Jakma <paul@dishone.st> 2004-07-09 14:05:47 +00:00
jhash.h 2005-05-06 Paul Jakma <paul@dishone.st> 2005-05-06 21:25:49 +00:00
keychain.c *: nuke ^L (page feed) 2014-06-04 06:58:02 +02:00
keychain.h 2005-05-06 Paul Jakma <paul@dishone.st> 2005-05-06 21:25:49 +00:00
libospf.h ospf6d: ospfv3-stub-area-support.patch 2015-05-19 18:03:40 -07:00
linklist.c *: nuke ^L (page feed) 2014-06-04 06:58:02 +02:00
linklist.h lib: remove ALL_LIST_ELEMENTS dead code branch 2013-01-11 22:09:34 +01:00
log.c zebra-redistribute-table.patch 2015-05-19 18:03:42 -07:00
log.h Multi-Instance OSPF Summary 2015-05-19 18:03:42 -07:00
Makefile.am nexthop-tracking.patch 2015-05-19 17:40:34 -07:00
md5.c lib: add support for keyed-hashing with MD5 2012-04-07 13:53:22 -07:00
md5.h lib: add support for keyed-hashing with MD5 2012-04-07 13:53:22 -07:00
memory.c *: nuke ^L (page feed) 2014-06-04 06:58:02 +02:00
memory.h lib: add array_size() helper 2012-10-25 10:15:59 -07:00
memtypes.awk [lib] fix gensub call in memtypes.awk to pass "g", not g. 2006-03-30 14:30:19 +00:00
memtypes.c BGP: Add dynamic update group support 2015-05-19 18:03:47 -07:00
network.c 2005-02-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu> 2005-02-16 16:25:39 +00:00
network.h 2005-05-06 Paul Jakma <paul@dishone.st> 2005-05-06 21:25:49 +00:00
nexthop.c nexthop-tracking.patch 2015-05-19 17:40:34 -07:00
nexthop.h zebra-set-src-routemap.patch 2015-05-19 17:47:24 -07:00
pid_output.c + pidfiles are now always created with 0644 perms instead if LOGFILE_MASK (0600) 2007-10-04 15:09:19 +00:00
plist.c BGP: Add dynamic update group support 2015-05-19 18:03:47 -07:00
plist.h 2005-05-06 Paul Jakma <paul@dishone.st> 2005-05-06 21:25:49 +00:00
pqueue.c lib: use heap to manage timers 2014-04-22 21:17:00 +02:00
pqueue.h lib: use heap to manage timers 2014-04-22 21:17:00 +02:00
prefix.c *: nuke ^L (page feed) 2014-06-04 06:58:02 +02:00
prefix.h Block martian address configuration on an interface and also block from 2015-05-19 17:47:23 -07:00
privs.c *: nuke ^L (page feed) 2014-06-04 06:58:02 +02:00
privs.h 2005-09-29 Paul Jakma <paul.jakma@sun.com> 2005-09-29 14:39:32 +00:00
queue.h *: fix detection and usage of sys/cdefs.h 2014-08-18 01:50:19 +02:00
regex-gnu.h *: nuke ^L (page feed) 2014-06-04 06:58:02 +02:00
regex.c *: nuke ^L (page feed) 2014-06-04 06:58:02 +02:00
route_types.pl zebra: zebra-nht-routemap.patch 2015-05-19 17:47:20 -07:00
route_types.txt zebra-redistribute-table.patch 2015-05-19 18:03:42 -07:00
routemap.c Multi-Instance OSPF Summary 2015-05-19 18:03:42 -07:00
routemap.h bgpd: bgpd-event-driven-route-map-updates.patch 2015-05-19 17:40:45 -07:00
sigevent.c *: use array_size() helper macro 2012-10-25 10:15:59 -07:00
sigevent.h *: use array_size() helper macro 2012-10-25 10:15:59 -07:00
smux.c *: nuke ^L (page feed) 2014-06-04 06:58:02 +02:00
smux.h snmp: let handlers accept OID from a lesser prefix 2012-06-25 19:03:23 +02:00
snmp.c snmp: let handlers accept OID from a lesser prefix 2012-06-25 19:03:23 +02:00
sockopt.c lib: compile even without IPV6_TCLASS 2011-10-17 18:59:26 +04:00
sockopt.h IPv6 transport class suppport 2011-10-17 18:59:19 +04:00
sockunion.c BGP: Add dynamic update group support 2015-05-19 18:03:47 -07:00
sockunion.h BGP: Add dynamic update group support 2015-05-19 18:03:47 -07:00
str.c * configure.ac: Test existance of strndup. 2005-09-19 09:53:21 +00:00
str.h * configure.ac: Test existance of strndup. 2005-09-19 09:53:21 +00:00
stream.c BGP: Add dynamic update group support 2015-05-19 18:03:47 -07:00
stream.h BGP: Add dynamic update group support 2015-05-19 18:03:47 -07:00
table.c *: nuke ^L (page feed) 2014-06-04 06:58:02 +02:00
table.h lib/table: add route_table_get_next() and iterator 2012-09-26 21:50:48 +02:00
thread.c ospf6d: ospfv3-stub-area-support.patch 2015-05-19 18:03:40 -07:00
thread.h ospf6d: ospfv3-stub-area-support.patch 2015-05-19 18:03:40 -07:00
vector.c 2005-03-14 Paul Jakma <paul.jakma@sun.com> 2005-03-14 20:19:01 +00:00
vector.h 2005-05-06 Paul Jakma <paul@dishone.st> 2005-05-06 21:25:49 +00:00
version.h.in build: include git info 2012-12-12 15:34:37 +01:00
vty.c *: nuke ^L (page feed) 2014-06-04 06:58:02 +02:00
vty.h lib: Changes to VTY string-parsing macros to remove warnings 2013-01-07 09:59:51 -08:00
workqueue.c Some small enhancements to thread and workqueue libraries in zebra: 2015-05-19 17:58:10 -07:00
workqueue.h Some small enhancements to thread and workqueue libraries in zebra: 2015-05-19 17:58:10 -07:00
zassert.h Need RCS Id keyword. 2004-12-03 18:01:04 +00:00
zclient.c Per AFI redist registrations 2015-05-19 18:03:45 -07:00
zclient.h Per AFI redist registrations 2015-05-19 18:03:45 -07:00
zebra.h zebra-redistribute-table.patch 2015-05-19 18:03:42 -07:00