mfc_node
int mfc_compare(struct mfc_node *, struct mfc_node *);
struct mfc_node *mfc_find(in_addr_t, in_addr_t);
int mfc_insert(struct mfc_node *);
int mfc_remove(struct mfc_node *);
struct mfc_node *parent; /* back ptr to mfc_node */
RB_ENTRY(mfc_node) entry;
struct mfc_node *mn = arg;
mfc_start_prune_timer(struct mfc_node *mn)
mfc_reset_prune_timer(struct mfc_node *mn)
mfc_compare(struct mfc_node *a, struct mfc_node *b)
struct mfc_node *
struct mfc_node s;
mfc_insert(struct mfc_node *m)
mfc_remove(struct mfc_node *m)
struct mfc_node *m;
struct mfc_node *mn;
struct mfc_node *mn;
mfc_send_prune(struct rt_node *rn, struct mfc_node *mn)
struct mfc_node *mn;
struct mfc_node *mn;
if ((mn = calloc(1, sizeof(struct mfc_node))) == NULL)
struct mfc_node *mn;
struct mfc_node *mn;
void mfc_send_prune(struct rt_node *, struct mfc_node *);
struct mfc_node *mn;
void mfc_add_prune(struct mfc_node *, struct prune *);
struct prune_node *mfc_find_prune(struct mfc_node *, struct prune *);
void mfc_delete_prune(struct mfc_node *,
mfc_add_prune(struct mfc_node *mn, struct prune *p)
int prune_compare(struct mfc_node *, struct rt_node *, int);
mfc_find_prune(struct mfc_node *mn, struct prune *p)
mfc_delete_prune(struct mfc_node *mn, struct prune_node *pn)
prune_compare(struct mfc_node *mn, struct rt_node *rn, int ifindex)
int mfc_start_expire_timer(struct mfc_node *);
int mfc_reset_expire_timer(struct mfc_node *);
int mfc_start_prune_timer(struct mfc_node *);
int mfc_reset_prune_timer(struct mfc_node *);
int mfc_compare(struct mfc_node *, struct mfc_node *);
RB_HEAD(mfc_tree, mfc_node) mfc;
RB_PROTOTYPE(mfc_tree, mfc_node, entry, mfc_compare)
RB_GENERATE(mfc_tree, mfc_node, entry, mfc_compare)
struct mfc_node *mn = arg;
mfc_reset_expire_timer(struct mfc_node *mn)
mfc_start_expire_timer(struct mfc_node *mn)