diff options
Diffstat (limited to 'pimd/pim_ifchannel.h')
| -rw-r--r-- | pimd/pim_ifchannel.h | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/pimd/pim_ifchannel.h b/pimd/pim_ifchannel.h index 3fd717bec8..cef431c30d 100644 --- a/pimd/pim_ifchannel.h +++ b/pimd/pim_ifchannel.h @@ -80,6 +80,8 @@ struct pim_assert_metric { Per-interface (S,G) state */ struct pim_ifchannel { + RB_ENTRY(rb_ifchannel) pim_ifp_rb; + struct pim_ifchannel *parent; struct list *sources; struct prefix_sg sg; @@ -108,6 +110,10 @@ struct pim_ifchannel { struct pim_upstream *upstream; }; +RB_HEAD(pim_ifchannel_rb, pim_ifchannel); +RB_PROTOTYPE(pim_ifchannel_rb, pim_ifchannel, + pim_ifp_rb, pim_ifchannel_compare); + void pim_ifchannel_free(struct pim_ifchannel *ch); void pim_ifchannel_delete(struct pim_ifchannel *ch); void pim_ifchannel_delete_all(struct interface *ifp); @@ -148,8 +154,8 @@ void pim_ifchannel_set_star_g_join_state(struct pim_ifchannel *ch, int eom, uint8_t source_flags, uint8_t join, uint8_t starg_alone); -int pim_ifchannel_compare(struct pim_ifchannel *ch1, struct pim_ifchannel *ch2); +int pim_ifchannel_compare(const struct pim_ifchannel *ch1, + const 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 */ |
