mirror_frr/ripd
Renato Westphal ff880b78ef *: introduce new rb-tree to optimize interface lookup by ifindex
Performance tests showed that, when running on a system with a large
number of interfaces, some daemons would spend a considerable amount
of time in the if_lookup_by_index() function. Introduce a new rb-tree
to solve this problem.

With this change, we need to use the if_set_index() function whenever
we want to change the ifindex of an interface. This is necessary to
ensure that the 'ifaces_by_index' rb-tree is updated accordingly. The
return value of all insert/remove operations in the interface rb-trees
is checked to ensure that an error is logged if a corruption is
detected.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2017-10-10 09:05:02 -03:00
..
.gitignore build: non-recursive ripd & ripngd 2017-08-04 11:09:50 +02:00
Makefile build: non-recursive ripd & ripngd 2017-08-04 11:09:50 +02:00
rip_debug.c *: use argv[]->text instead of argv[]->arg when appropriate 2017-10-05 22:54:42 -03:00
rip_debug.h *: reindent 2017-07-17 14:04:07 +02:00
rip_interface.c *: introduce new rb-tree to optimize interface lookup by ifindex 2017-10-10 09:05:02 -03:00
rip_interface.h *: reindent 2017-07-17 14:04:07 +02:00
rip_main.c *: make all daemons call frr_fini() on exit 2017-09-12 11:25:16 -03:00
rip_memory.c *: reindent 2017-07-17 14:04:07 +02:00
rip_memory.h *: make consistent & update GPLv2 file headers 2017-05-15 16:37:41 +02:00
rip_offset.c *: Convert list_delete(struct list *) to ** to allow nulling 2017-10-05 10:53:13 -04:00
rip_peer.c *: Define the number of seconds in a Day, Week and year 2017-08-08 09:06:22 -04:00
rip_routemap.c ripd: Fix warning about metric value less than 0 2017-09-05 13:17:47 -04:00
rip_snmp.c *: reindent 2017-07-17 14:04:07 +02:00
rip_zebra.c *: fix segfault when sending more than MULTIPATH_NUM nexthops 2017-09-21 11:21:09 -03:00
ripd.c *: use rb-trees to store interfaces instead of sorted linked-lists 2017-10-10 09:05:02 -03:00
ripd.conf.sample Initial revision 2002-12-13 20:15:29 +00:00
ripd.h *: reindent 2017-07-17 14:04:07 +02:00
RIPv2-MIB.txt Initial revision 2002-12-13 20:15:29 +00:00
subdir.am build: non-recursive ripd & ripngd 2017-08-04 11:09:50 +02:00