Go to file
Marcel Röthke 4ce8267644 bgpd: fix deadlock in rpki code
In some situations rtrlib does not release the locks for its internal
data structures before calling a callback. This can lead to deadlocks
when a lot of routes must be revalidated because the sync socket buffer
will fill up and block the rtrlib thread. The bgpd main thread then
waits for rtrlibs internal locks to be released indefinitely.

This is fixed by using nonblocking sockets instead of blocking ones and
setting a flag to revalidate everything, if it would block.

Signed-off-by: Marcel Röthke <marcel.roethke@haw-hamburg.de>
2018-08-22 16:50:04 +02:00
alpine alpine: add unit tests to build 2018-06-14 10:27:24 -07:00
babeld *: rename ferr_zlog -> flog_err_sys 2018-08-14 20:02:05 +00:00
bfdd bfdd: fix coverity scan issue (CID 1472622) 2018-08-16 18:33:32 -03:00
bgpd bgpd: fix deadlock in rpki code 2018-08-22 16:50:04 +02:00
debianpkg doc, debianpkg: Cleanup tcp-zebra configure options 2018-08-20 13:17:34 -04:00
doc Merge pull request #2874 from opensourcerouting/fix-doc-bfdd-index 2018-08-20 19:39:27 -04:00
docker unit tests: support code coverage instrumentation and reports 2018-07-04 11:06:11 -07:00
eigrpd *: use frr_elevate_privs() (2/2: manual) 2018-08-14 20:02:05 +00:00
fpm build: clean up BUILT_SOURCES 2017-08-04 11:13:55 +02:00
gdb gdb: Add a directory of files with gdb macros 2016-05-26 15:33:30 +00:00
include include: add netlink.h to our build system 2018-06-21 08:07:30 -04:00
init build: delete .cvsignore files 2011-12-13 14:27:01 +04:00
isisd *: frr_elevate_privs whitespace fixes 2018-08-14 20:02:05 +00:00
ldpd *: use frr_elevate_privs() (2/2: manual) 2018-08-14 20:02:05 +00:00
lib Merge pull request #2884 from opensourcerouting/assorted-20180821 2018-08-22 08:17:32 -04:00
m4 build: non-recursive auxiliary directories 2017-07-31 23:03:30 +02:00
nhrpd *: rename ferr_ref -> log_ref 2018-08-14 20:02:05 +00:00
ospf6d Merge pull request #2814 from qlyoung/fix-ospf6d-lsa-uaf-test 2018-08-20 18:16:46 +02:00
ospfclient ospfd: Remove unused function 2018-08-21 08:40:51 -04:00
ospfd Merge pull request #2876 from donaldsharp/lsa_new_and_data 2018-08-21 21:22:45 +02:00
pbrd lib, vtysh: fix inconsistent interface commands in vtysh 2018-08-13 18:59:31 -03:00
pimd *: fix gcc-8 format-overflow warnings 2018-08-21 21:05:09 +02:00
pkgsrc *: Remove cvs control points 2017-12-05 17:28:12 -05:00
ports pimd: merge pimd as of 2015-01-19 2016-05-25 20:38:32 -04:00
python lib, python: DEFPY_ATTR, DEFPY_HIDDEN 2018-04-10 12:19:03 -04:00
qpb *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
redhat bfdd: wire to the build process 2018-08-08 18:24:58 -03:00
ripd *: frr_elevate_privs whitespace fixes 2018-08-14 20:02:05 +00:00
ripngd Merge pull request #2448 from qlyoung/error-reference-cards 2018-08-16 16:39:40 +02:00
sharpd sharpd, staticd: Add access_list_init 2018-08-15 20:14:22 -04:00
snapcraft snapcraft: Add RPKI to snap package 2018-08-18 13:33:01 -07:00
solaris gitignore: update references to FRR 2017-07-12 11:55:04 -05:00
staticd static: remove useless debug variable 2018-08-22 10:04:49 +02:00
tests build: wrap "fallthrough" attr 2018-08-21 20:34:58 +02:00
tools *: use frr_elevate_privs() (1/2: coccinelle) 2018-08-14 20:02:05 +00:00
vtysh lib, vtysh: fixup style nits for error refs 2018-08-14 20:02:05 +00:00
watchfrr *: rename ferr_zlog -> flog_err_sys 2018-08-14 20:02:05 +00:00
zebra Merge pull request #2818 from kssoman/rmap_fix 2018-08-22 07:50:14 -04:00
.clang-format lib: import new JSON iteration macro 2018-08-08 18:01:20 -03:00
.dir-locals.el .dir-locals.el: show trailing whitespace 2017-11-07 12:05:09 -05:00
.dockerignore alpine packaging: build packages and base image directly from git 2018-04-04 10:05:44 -07:00
.gitignore *: globally ignore clippy-generated source 2018-03-09 17:52:15 -05: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 config: switch a few references to say FRR 2017-07-12 11:25:33 -05:00
ChangeLog Rename: freerangerouting --> frrouting 2017-03-30 14:24:05 -04:00
common.am *: disable all sanitizers for clippy build 2018-06-08 17:22:13 +00:00
configure.ac configure.ac: emit a config warning if sphinx-build is missing 2018-08-16 16:25:34 -05:00
COPYING *: make consistent & update GPLv2 file headers 2017-05-15 16:37:41 +02:00
COPYING-LGPLv2.1 build: remove LGPL v2.0, add LGPL v2.1 2016-11-15 17:19:38 +09:00
defaults.h *: reindent 2017-07-17 14:04:07 +02:00
Makefile.am bfdd: wire to the build process 2018-08-08 18:24:58 -03:00
NEWS release: 0.99.24 2016-06-03 15:56:44 -04:00
README frr: fix typo in README 2018-05-14 11:06:27 -04:00
stamp-h.in Initial revision 2002-12-13 20:15:29 +00:00

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

Currently FRRouting supports BGP4, BGP4+, OSPFv2, OSPFv3, RIPv1, RIPv2, RIPng,
IS-IS, PIM-SM/MSDP, LDP and Babel as well as very early support for EIGRP and
NHRP.

See doc/user/bugs.rst for information on how to report bugs.

See doc/developer/workflow.rst for information on contributing.

See the file COPYING for copying conditions.

Public email discussion can be found at https://lists.frrouting.org/listinfo

Our public slack channel is at https://frrouting.slack.com