Go to file
Donald Sharp d651649ed5 zebra: Fix zebra_rnh_register crash
Zebra is crashing inside of zserv_rnh_register when it attempts to
lookup a vrf that was just deleted:

Imagine this series of events:

Pre (A): ifdown -a -X eth0
(A) zebra notification from kernel that vrf is goneroo
(B) zebra notifies all daemons
(C) bgpd is churning because we have been removing interfaces and we
have an new path and it hasn't handled the vrf goneroo event yet from
zebra so it sends to zebra a new rnh with an old vrf_id.
(D) zebra attempts to lookup the zvrf and crashes because of pointer
dereference.

zebra handles all callbacks in one function. Convert that function to
check to see if we have a valid zvrf. If so make the callback

Ticket: CM-10482
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Don Slice <dslice@cumulusnetworks.com>
Reviewed-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
2016-04-20 16:17:14 -04:00
bgpd BGP: Certain peer-group parameters (e.g., enhe, local-as) are not taking 2016-04-19 02:26:57 +00:00
cumulus/etc quagga: remove babel 2016-02-11 08:55:24 -08:00
debian debian: Remove /usr/bin/quagga from distribution 2016-04-15 15:13:13 -04: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: Remove iflist global variable 2016-04-08 13:15:59 -04:00
lib lib: Fix json.c compile on older platforms 2016-04-15 15:02:58 -04:00
m4 build: fix "pragma weak" mixups 2013-02-09 03:00:12 +01:00
ospf6d quagga: Remove iflist global variable 2016-04-08 13:15:59 -04:00
ospfclient Quagga: Fixup some compile warnings 2015-11-23 13:31:11 -08:00
ospfd Fixes Quagga Bugzilla #842 - ospfd uses non-zero metric when describing loopback addresses 2016-04-18 09:50:26 -04: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: Remove iflist global variable 2016-04-08 13:15:59 -04:00
ripngd quagga: Remove iflist global variable 2016-04-08 13:15:59 -04:00
solaris build: delete .cvsignore files 2011-12-13 14:27:01 +04:00
tests quagga: "set community x:y" needs bounds checking 2016-04-14 18:16:43 +00:00
tools 'systemctl restart zebra' was blocking if the BGP ASN changed due to 2016-04-13 20:54:30 +00:00
vtysh vtysh: Allow file read in to continue in more cases 2016-04-15 15:13:13 -04:00
watchquagga Fix watchquagga to watch just one daemon 2015-08-24 10:50:21 -07:00
zebra zebra: Fix zebra_rnh_register crash 2016-04-20 16:17:14 -04: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: Check for existence of IFLA_INFO_SLAVE_KIND 2016-04-15 15:07:59 -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.