summaryrefslogtreecommitdiff
path: root/pimd/pim_instance.h
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@cumulusnetworks.com>2019-12-20 22:12:19 -0500
committerDonald Sharp <sharpd@cumulusnetworks.com>2020-01-03 08:39:55 -0500
commit7315ecdabe2e06fb75b860b65c842f0083da730e (patch)
tree44ac8ffa0df3fcdec159ac4c7e4ded03b2883f85 /pimd/pim_instance.h
parent93789698ce426d0b3dd7a9bc0ba7b8f3f5b11bac (diff)
pimd: Convert the channel_oil_list|hash to a rb_tree
The channel_oil_list and hash are taking significant cpu at scale when adding to the sorted list. Replace with a RB_TREE. 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 dd3ac8fcb0..5a95043df9 100644
--- a/pimd/pim_instance.h
+++ b/pimd/pim_instance.h
@@ -28,6 +28,7 @@
#include "pim_assert.h"
#include "pim_bsm.h"
#include "pim_vxlan_instance.h"
+#include "pim_oil.h"
#if defined(HAVE_LINUX_MROUTE_H)
#include <linux/mroute.h>
@@ -119,8 +120,7 @@ struct pim_instance {
int iface_vif_index[MAXVIFS];
- struct list *channel_oil_list;
- struct hash *channel_oil_hash;
+ struct rb_pim_oil_head channel_oil_head;
struct pim_msdp msdp;
struct pim_vxlan_instance vxlan;