summaryrefslogtreecommitdiffstats
path: root/pimd/pim_iface.h
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@cumulusnetworks.com>2017-07-31 18:44:20 +0200
committerDonald Sharp <sharpd@cumulusnetworks.com>2017-08-02 13:44:00 +0200
commitad7b74c4f7c8061bccd3b65b85b9fb97becb7cb0 (patch)
treea4148c3875f6117da404357ef43b9a78d1c855b4 /pimd/pim_iface.h
parentpimd: Rename pim_ifp->pim_ifchannel_list (diff)
downloadfrr-ad7b74c4f7c8061bccd3b65b85b9fb97becb7cb0.tar.xz
frr-ad7b74c4f7c8061bccd3b65b85b9fb97becb7cb0.zip
pimd: Convert to using a RB tree for the pim_ifp ifchannel_list
This patch does two things: 1) Converts the pim_ifp->ifchannel_list to a pim_ifp->ifchannel_rb 2) Removes the hashing to use the RB RB_FIND instead. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Diffstat (limited to 'pimd/pim_iface.h')
-rw-r--r--pimd/pim_iface.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/pimd/pim_iface.h b/pimd/pim_iface.h
index 7739e3af2..ed885ff0e 100644
--- a/pimd/pim_iface.h
+++ b/pimd/pim_iface.h
@@ -106,8 +106,7 @@ struct pim_interface {
uint16_t pim_override_interval_msec; /* config */
struct list *pim_neighbor_list; /* list of struct pim_neighbor */
struct list *upstream_switch_list;
- struct list *ifchannel_list;
- struct hash *pim_ifchannel_hash;
+ struct pim_ifchannel_rb ifchannel_rb;
/* neighbors without lan_delay */
int pim_number_of_nonlandelay_neighbors;
@@ -208,4 +207,6 @@ int pim_update_source_set(struct interface *ifp, struct in_addr source);
int pim_if_is_loopback(struct pim_instance *pim, struct interface *ifp);
int pim_if_is_vrf_device(struct interface *ifp);
+
+int pim_if_ifchannel_count(struct pim_interface *pim_ifp);
#endif /* PIM_IFACE_H */