diff options
author | Donald Sharp <sharpd@cumulusnetworks.com> | 2017-02-13 02:16:08 +0100 |
---|---|---|
committer | Donald Sharp <sharpd@cumulusnetworks.com> | 2017-02-24 16:03:41 +0100 |
commit | a625e9373be06671b0b9e3cafb026dec5a0cb9b5 (patch) | |
tree | 69d7d0bbbf3848ff004f37cba91755ac1a73ecff /pimd/pim_ifchannel.h | |
parent | pimd: Trust the compiler (diff) | |
download | frr-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.h | 3 |
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 */ |