diff options
author | Donald Sharp <sharpd@cumulusnetworks.com> | 2017-07-31 18:44:20 +0200 |
---|---|---|
committer | Donald Sharp <sharpd@cumulusnetworks.com> | 2017-08-02 13:44:00 +0200 |
commit | ad7b74c4f7c8061bccd3b65b85b9fb97becb7cb0 (patch) | |
tree | a4148c3875f6117da404357ef43b9a78d1c855b4 /pimd/pim_iface.h | |
parent | pimd: Rename pim_ifp->pim_ifchannel_list (diff) | |
download | frr-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.h | 5 |
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 */ |