Go to file
Rafael Zalamena 45926e5874 lib: improve the RB implementation
Switch the RB tree implementation completely to the new dlg@'s version
that uses pre-declared functions instead of macros for tree functions.

Original e-mail/diff:
https://marc.info/?l=openbsd-tech&m=147087487111068&w=2

Pros:

* Reduces the amount of code that the usage of those macros generate
* Allows the compiler to do a better compile-time check job
* Might have better i-cache utilization since the tree code is shared

Con:

* dlg@ benchmarks shows it has 'very slightly slower' insertions
* imported RB_* code must adapt the following calls:
  RB_INIT(), RB_GENERATE(), RB_ROOT(), RB_EMPTY(), make compare
  functions use 'const' (if not already) and maybe others.
2017-06-16 10:44:31 -03:00
babeld babeld/eigrpd: flip VTY ports & fix rpm 2017-06-13 14:36:55 +02:00
bgpd Merge pull request #711 ("Coverity munging") 2017-06-15 16:22:42 +02:00
debian Merge remote-tracking branch 'origin/stable/3.0' 2017-05-09 20:39:35 -04:00
doc Merge branch 'stable/3.0' 2017-06-13 17:37:58 +02:00
eigrpd eigrpd: Fix integer overflow possibility 2017-06-13 13:33:25 -04:00
fpm *: make consistent & update GPLv2 file headers 2017-05-15 16:37:41 +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 Merge branch 'stable/3.0' 2017-06-13 17:37:58 +02:00
ldpd lib: improve the RB implementation 2017-06-16 10:44:31 -03:00
lib lib: improve the RB implementation 2017-06-16 10:44:31 -03:00
m4 build: find & use threading library 2017-03-31 17:59:48 +02:00
nhrpd nhrpd: Guard a debug that was constantly spewing information 2017-06-01 20:09:06 -04:00
ospf6d Merge branch 'stable/3.0' 2017-06-13 17:37:58 +02:00
ospfclient ospfclient: Free up leaked resources in error path 2017-06-13 13:15:01 -04:00
ospfd ospfd: fix typo in error message 2017-06-15 16:21:58 +02:00
pimd pimd: Cleanup ifp->info setup 2017-06-13 13:28:20 -04:00
pkgsrc eigrp: Initial Commit 2017-03-08 23:07:46 -05:00
ports pimd: merge pimd as of 2015-01-19 2016-05-25 20:38:32 -04:00
qpb *: make consistent & update GPLv2 file headers 2017-05-15 16:37:41 +02:00
redhat babeld/eigrpd: flip VTY ports & fix rpm 2017-06-13 14:36:55 +02:00
ripd Merge pull request #537 from donaldsharp/vrf_stuff 2017-05-17 22:06:39 +02:00
ripngd Merge branch 'stable/3.0' 2017-06-13 17:37:58 +02:00
snapcraft snapcraft: fix minor typo 2017-05-15 12:28:56 -04:00
solaris Rename: freerangerouting --> frrouting 2017-03-30 14:24:05 -04:00
tests *: remove THREAD_BACKGROUND 2017-06-08 01:53:50 +00:00
tools Merge remote-tracking branch 'frr/master' into pull-624 2017-06-13 09:18:14 +02:00
vtysh Merge remote-tracking branch 'frr/master' into pull-624 2017-06-13 09:18:14 +02:00
watchfrr Merge remote-tracking branch 'origin/stable/2.0' 2017-06-05 08:19:11 -04:00
zebra lib: improve the RB implementation 2017-06-16 10:44:31 -03:00
.gitignore frr: ignore 'compile_commands.json' 2017-06-02 17:09:21 +00: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 buildtest.sh: Change name from quagga to frr 2017-01-20 00:36:29 +07:00
ChangeLog Rename: freerangerouting --> frrouting 2017-03-30 14:24:05 -04:00
common.am *: Convert libfpm -> libfrrfpm 2017-02-03 08:43:09 -05:00
COMMUNITY.md *: make consistent & update GPLv2 file headers 2017-05-15 16:37:41 +02:00
configure.ac Merge branch 'stable/3.0' 2017-06-13 17:37:58 +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 *: make consistent & update GPLv2 file headers 2017-05-15 16:37:41 +02:00
Makefile.am *: Initial Import of Babeld into FRR 2017-05-13 14:59:41 -04: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 build: remove $Format tags 2016-12-20 17:54:03 +01:00
render_md.py build: number sections in COMMUNITY.md HTML 2016-12-05 19:08:00 +01:00
REPORTING-BUGS Rename: freerangerouting --> frrouting 2017-03-30 14:24:05 -04: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