]> git.puffer.fish Git - mirror/frr.git/commit
pimd: NHT upstream list is inefficient
authorDonald Sharp <sharpd@cumulusnetworks.com>
Wed, 12 Jul 2017 22:17:31 +0000 (18:17 -0400)
committerDonald Sharp <sharpd@cumulusnetworks.com>
Tue, 25 Jul 2017 18:18:57 +0000 (14:18 -0400)
commit7c59195031572b855dc4da9a78bfe794d41ab281
treefafbf7a4aa126d68f8e8935073393fe461a934e7
parent6e1ef388f3e72aba31544b761b2feb736246cb4d
pimd: NHT upstream list is inefficient

The NHT upstream list at scale is horribly inefficient due to keeping
a sorted list of upstream entries.  The attempting to find
the upstream and the insertion of it into the upstream_list
was consuming a large amount of cpu cycles.

Convert to a hash, allow add/deletions to effectively become
O(1) events.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
pimd/pim_nht.c
pimd/pim_nht.h
pimd/pim_rp.c
pimd/pim_upstream.c
pimd/pim_upstream.h