summaryrefslogtreecommitdiffstats
path: root/pimd/pim_ifchannel.h
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@cumulusnetworks.com>2017-02-13 02:16:08 +0100
committerDonald Sharp <sharpd@cumulusnetworks.com>2017-02-24 16:03:41 +0100
commita625e9373be06671b0b9e3cafb026dec5a0cb9b5 (patch)
tree69d7d0bbbf3848ff004f37cba91755ac1a73ecff /pimd/pim_ifchannel.h
parentpimd: Trust the compiler (diff)
downloadfrr-a625e9373be06671b0b9e3cafb026dec5a0cb9b5.tar.xz
frr-a625e9373be06671b0b9e3cafb026dec5a0cb9b5.zip
pimd: Make ifchannel lookup a hash lookup
When we are at scale, it is possible that we have a very large number of ifchannels per interface. So make lookup for that situation to be a hash lookup. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Diffstat (limited to 'pimd/pim_ifchannel.h')
-rw-r--r--pimd/pim_ifchannel.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/pimd/pim_ifchannel.h b/pimd/pim_ifchannel.h
index 5cac0318c..c7084034a 100644
--- a/pimd/pim_ifchannel.h
+++ b/pimd/pim_ifchannel.h
@@ -154,4 +154,7 @@ void pim_ifchannel_scan_forward_start (struct interface *new_ifp);
void pim_ifchannel_set_star_g_join_state (struct pim_ifchannel *ch, int eom);
int pim_ifchannel_compare (struct pim_ifchannel *ch1, struct pim_ifchannel *ch2);
+
+unsigned int pim_ifchannel_hash_key (void *arg);
+int pim_ifchannel_equal (const void *arg1, const void *arg2);
#endif /* PIM_IFCHANNEL_H */