summaryrefslogtreecommitdiff
path: root/pimd/pim_instance.h
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@cumulusnetworks.com>2019-12-20 23:00:31 -0500
committerDonald Sharp <sharpd@cumulusnetworks.com>2020-01-03 08:39:55 -0500
commitdd3364cb1aa265ec0310e8ed8adffac16f6fb24e (patch)
treedb4bb6a717a812aa73361ab9fb55a11fabff3163 /pimd/pim_instance.h
parent7315ecdabe2e06fb75b860b65c842f0083da730e (diff)
pimd: Convert the upstream_list and hash to a rb tree
Convert the upstream_list and hash to a rb tree, Significant time was being spent in the listnode_add_sort. This reduces this time greatly. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Diffstat (limited to 'pimd/pim_instance.h')
-rw-r--r--pimd/pim_instance.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/pimd/pim_instance.h b/pimd/pim_instance.h
index 5a95043df9..da0c75decb 100644
--- a/pimd/pim_instance.h
+++ b/pimd/pim_instance.h
@@ -29,6 +29,7 @@
#include "pim_bsm.h"
#include "pim_vxlan_instance.h"
#include "pim_oil.h"
+#include "pim_upstream.h"
#if defined(HAVE_LINUX_MROUTE_H)
#include <linux/mroute.h>
@@ -108,8 +109,7 @@ struct pim_instance {
struct list *static_routes;
// Upstream vrf specific information
- struct list *upstream_list;
- struct hash *upstream_hash;
+ struct rb_pim_upstream_head upstream_head;
struct timer_wheel *upstream_sg_wheel;
/*