Go to file
vivek 5fe9f9631d Quagga: Make routemap updates or deletes work for VRFs
Updates to routemaps and delete of the routemap were not working properly
for VRFs. This was because while routemaps are global, the routemap update
processing timer and the processing were at the per-instance level. This
approach was unable to handle processing for multiple instances as the
routemap has no tracking of which instances are still pending processing.
This lead to the processing happening correctly only for the first instance
- which could be the default instance or some other instance. It could also
result in reference to freed memory for an instance.

The fix done is to make the update/delete processing also global and not per
instance. This means that the route-map delay timer will be global and a global
thread will handle the change (or delete) for all instances instead of spawning
a separate thread for each instance. To support this, a global BGP command
"bgp route-map delay-timer <value>" has been implemented. The existing command
per-instance is not deleted but will update the global timer.

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Reviewed-by:   Donald Sharp <sharpd@cumulusnetworks.com>

Ticket: CM-6970, CM-9918
Reviewed By: CCR-4320
Testing Done: Manual, bgpsmoke
2016-03-22 17:46:30 +00:00
bgpd Quagga: Make routemap updates or deletes work for VRFs 2016-03-22 17:46:30 +00:00
cumulus/etc quagga: remove babel 2016-02-11 08:55:24 -08:00
debian doc: Update man page for Quagga systemctl script 2016-03-10 08:38:30 -05:00
doc doc: Update man page for Quagga systemctl script 2016-03-10 08:38:30 -05: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 quagga: delete interface from default table when moved to vrf 2016-03-18 19:53:15 +00:00
lib Quagga: Make routemap updates or deletes work for VRFs 2016-03-22 17:46:30 +00:00
m4 build: fix "pragma weak" mixups 2013-02-09 03:00:12 +01:00
ospf6d quagga: delete interface from default table when moved to vrf 2016-03-18 19:53:15 +00:00
ospfclient Quagga: Fixup some compile warnings 2015-11-23 13:31:11 -08:00
ospfd quagga: delete interface from default table when moved to vrf 2016-03-18 19:53:15 +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 quagga: remove babel 2016-02-11 08:55:24 -08:00
ripd quagga: delete interface from default table when moved to vrf 2016-03-18 19:53:15 +00:00
ripngd quagga: delete interface from default table when moved to vrf 2016-03-18 19:53:15 +00:00
solaris build: delete .cvsignore files 2011-12-13 14:27:01 +04:00
tests tests: Fixup startup of tests so they don't core 2016-03-18 09:36:04 -04:00
tools tools: Fix runtime error in quagga script 2016-03-10 11:10:20 -05:00
vtysh vtysh: Set an erroneous exit code if dry run fails because of syntax error 2016-03-09 07:25:02 -05:00
watchquagga Fix watchquagga to watch just one daemon 2015-08-24 10:50:21 -07:00
zebra Zebra: Restrict IPv6 RA to valid interfaces 2016-03-22 16:52:35 +00: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 quagga: remove babel 2016-02-11 08:55:24 -08:00
ChangeLog [trivia] Make 'make dist' happy about ChangeLog expunge 2008-08-23 08:36:42 +01:00
configure.ac quagga: Setup the proper version number in quagga 2016-03-22 08:37:12 -04: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 quagga: remove babel 2016-02-11 08:55:24 -08: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.