Go to file
Donald Sharp 65d4e0c69b bgpd: Reduce multiaccess_check_v4 overhead for subgroups
Perf results at scale( >1k peers) showed a non-trivial
amount of time spent in bgp_multiaccess_check_v4.  Upon
function examination we are looking up the nexthops
connected node in each call as well as having to unlock
it after each iteration.  Rewrite to lookup the nexthop
node once.

This should reduce the node lookup by aproximately 1/2
which should yield some performance results.  There are
probably better things to do here but would require
deeper thought.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-09-26 20:06:13 -04:00
babeld *: make all daemons call frr_fini() on exit 2017-09-12 11:25:16 -03:00
bgpd bgpd: Reduce multiaccess_check_v4 overhead for subgroups 2017-09-26 20:06:13 -04:00
debian doc: new frr-args(8) man page with general options 2017-08-29 08:36:03 +02:00
doc Merge pull request #1153 from nkukard/docs-ip-bgp-master 2017-09-21 08:50:52 -04:00
eigrpd *: fix segfault when sending more than MULTIPATH_NUM nexthops 2017-09-21 11:21:09 -03: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
init build: delete .cvsignore files 2011-12-13 14:27:01 +04:00
isisd isisd: ensure fragments get always linked 2017-09-23 20:41:22 +02:00
ldpd ldpd: guard the label allocation debug messages 2017-09-12 11:10:15 -03:00
lib Merge pull request #1069 from donaldsharp/rfc_plist 2017-09-26 17:33:29 +02:00
m4 build: non-recursive auxiliary directories 2017-07-31 23:03:30 +02:00
nhrpd nhrpd: Add hash table names 2017-09-05 14:33:06 -04:00
ospf6d ospf6d: fix heap use after free 2017-09-25 12:47:45 -04:00
ospfclient Merge pull request #911 from opensourcerouting/non-recursive-2 2017-08-09 14:38:07 -04:00
ospfd *: fix segfault when sending more than MULTIPATH_NUM nexthops 2017-09-21 11:21:09 -03:00
pimd Merge pull request #1069 from donaldsharp/rfc_plist 2017-09-26 17:33:29 +02:00
pkgsrc build: non-recursive auxiliary directories 2017-07-31 23:03:30 +02:00
ports pimd: merge pimd as of 2015-01-19 2016-05-25 20:38:32 -04:00
python clippy: disable unneeded autogenerated code 2017-08-25 18:54:13 +02:00
qpb build: clean up BUILT_SOURCES 2017-08-04 11:13:55 +02:00
redhat redhat: Set permissions on systemd service file 2017-08-30 14:02:37 -05:00
ripd Merge pull request #1215 from opensourcerouting/zapi_nexthops 2017-09-22 17:50:06 -04:00
ripngd *: fix segfault when sending more than MULTIPATH_NUM nexthops 2017-09-21 11:21:09 -03:00
snapcraft build: non-recursive auxiliary directories 2017-07-31 23:03:30 +02:00
solaris gitignore: update references to FRR 2017-07-12 11:55:04 -05:00
tests tests: verify isis_vertex_queue correctness 2017-09-22 21:19:34 +02:00
tools *: use clang's 'ForEachMacros' format style option 2017-09-15 14:53:46 -03:00
vtysh vtysh: warn on cli targeting non-running daemon 2017-09-18 12:35:10 -04:00
watchfrr build: non-recursive watchfrr & tools 2017-09-07 16:18:50 +02:00
zebra zebra: static ns 2017-09-26 22:12:32 +02:00
.clang-format *: use clang's 'ForEachMacros' format style option 2017-09-15 14:53:46 -03:00
.dir-locals.el Initial take on project emacs variables file and settings. Sets tabs for c-mode. 2017-08-10 14:07:28 -04:00
.gitignore *: ignore .dirstamp 2017-08-09 13:48:31 -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
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 python/clippy: make output file writing less weird 2017-08-24 00:18:53 +02:00
COMMUNITY.md COMMUNITY.md: rewrap paragraphs, update PR section 2017-07-25 15:53:05 -04:00
configure.ac Merge pull request #1069 from donaldsharp/rfc_plist 2017-09-26 17:33:29 +02: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
git-reindent-branch.py *: update git-reindent-branch.py 2017-08-22 18:51:31 +02:00
indent.py *: add indent control files 2017-07-17 14:00:23 +02:00
Makefile.am build: non-recursive pimd 2017-09-07 16:20:42 +02:00
NEWS release: 0.99.24 2016-06-03 15:56:44 -04:00
README README: add references to EIGRP and NHRP. 2017-05-12 22:51:45 +02:00
README.NetBSD config: switch a few references to say FRR 2017-07-12 11:25:33 -05:00
render_md.py build: number sections in COMMUNITY.md HTML 2016-12-05 19:08:00 +01:00
REPORTING-BUGS config: switch a few references to say FRR 2017-07-12 11:25:33 -05:00
SERVICES babeld/eigrpd: flip VTY ports & fix rpm 2017-06-13 14:36:55 +02:00
stamp-h.in Initial revision 2002-12-13 20:15:29 +00:00
update-autotools * README.NetBSD: use update-autotools instead of autoreconf 2007-02-02 16:52:38 +00:00

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

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

See the file REPORTING-BUGS to report bugs.

Free RRRouting is free software. 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