in6_multi
struct in6_multi;
struct in6_multi *inm;
struct in6_multi *in6m_sol;
struct in6_multi *inm;
struct in6_multi *inm;
struct in6_ifaddr *ia, int flags, struct in6_multi **in6m_sol)
in6m_merge(struct in6_multi *inm, /*const*/ struct in6_mfilter *imf)
in6m_commit(struct in6_multi *inm)
in6m_reap(struct in6_multi *inm)
in6m_purge(struct in6_multi *inm)
/*const*/ struct in6_mfilter *imf, struct in6_multi **pinm,
/*const*/ struct in6_mfilter *imf, struct in6_multi **pinm,
struct in6_multi *inm;
in6_leavegroup(struct in6_multi *inm, /*const*/ struct in6_mfilter *imf)
in6_leavegroup_locked(struct in6_multi *inm, /*const*/ struct in6_mfilter *imf)
struct in6_multi **);
struct in6_multi *inm;
struct in6_mfilter *, struct in6_multi **, int);
static int in6m_get_source(struct in6_multi *inm,
static int in6m_is_ifp_detached(const struct in6_multi *);
static int in6m_merge(struct in6_multi *, /*const*/ struct in6_mfilter *);
static void in6m_purge(struct in6_multi *);
static void in6m_reap(struct in6_multi *);
struct in6_multi *inm;
struct in6_multi *inm;
in6m_is_ifp_detached(const struct in6_multi *inm)
struct in6_multi *inm;
struct in6_multi *inm;
struct in6_multi *inm;
struct in6_multi *inm;
in6m_print(const struct in6_multi *inm)
in6m_print(const struct in6_multi *inm)
struct in6_multi *
struct in6_multi *inm;
struct in6_multi **pinm)
struct in6_multi *inm;
inm = (struct in6_multi *)ifma->ifma_protospec;
in6m_release(struct in6_multi *inm)
SLIST_CONCAT(&in6m_free_list, inmh, in6_multi, in6m_nrele);
in6m_disconnect_locked(struct in6_multi_head *inmh, struct in6_multi *inm)
struct in6_multi *inm, *tinm;
SLIST_CONCAT(&in6m_free_tmp, &in6m_free_list, in6_multi, in6m_nrele);
in6m_clear_recorded(struct in6_multi *inm)
in6m_record_source(struct in6_multi *inm, const struct in6_addr *addr)
in6m_get_source(struct in6_multi *inm, const struct in6_addr *addr,
struct in6_multi *inm;
struct in6_multi *im6f_in6m; /* associated multicast address */
struct in6_multi *i6mm_maddr;
SLIST_ENTRY(in6_multi) in6m_nrele; /* to-be-released by MLD */
SLIST_ENTRY(in6_multi) in6m_defer; /* deferred MLDv1 */
void in6m_disconnect_locked(struct in6_multi_head *inmh, struct in6_multi *inm);
im6s_get_mode(const struct in6_multi *inm, const struct ip6_msource *ims,
static __inline struct in6_multi *
struct in6_multi *
static __inline struct in6_multi *
struct in6_multi *inm;
in6m_acquire_locked(struct in6_multi *inm)
in6m_acquire(struct in6_multi *inm)
in6m_rele_locked(struct in6_multi_head *inmh, struct in6_multi *inm)
struct in6_mfilter *, struct in6_multi **, int);
int in6_leavegroup(struct in6_multi *, struct in6_mfilter *);
int in6_leavegroup_locked(struct in6_multi *, struct in6_mfilter *);
void in6m_clear_recorded(struct in6_multi *);
void in6m_commit(struct in6_multi *);
void in6m_print(const struct in6_multi *);
int in6m_record_source(struct in6_multi *, const struct in6_addr *);
SLIST_HEAD(in6_multi_head, in6_multi);
struct in6_multi *inm;
static void mld_final_leave(struct in6_multi *, struct mld_ifsoftc *);
static int mld_handle_state_change(struct in6_multi *,
static int mld_initial_join(struct in6_multi *, struct mld_ifsoftc *,
struct in6_multi *);
static int mld_v1_transmit_report(struct in6_multi *, const int);
static void mld_v1_update_group(struct in6_multi *, const int);
struct in6_multi *);
struct in6_multi *inm;
struct in6_multi *, const int, const int, const int,
static int mld_v2_merge_state_changes(struct in6_multi *,
struct in6_multi *, const int);
static int mld_v2_process_group_query(struct in6_multi *,
mld_v1_process_group_timer(struct in6_multi_head *inmh, struct in6_multi *inm)
struct in6_multi *inm, const int uri_fasthz)
struct in6_multi *inm;
mld_v1_transmit_report(struct in6_multi *in6m, const int type)
mld_change_state(struct in6_multi *inm, const int delay)
mld_initial_join(struct in6_multi *inm, struct mld_ifsoftc *mli,
mld_handle_state_change(struct in6_multi *inm, struct mld_ifsoftc *mli)
mld_final_leave(struct in6_multi *inm, struct mld_ifsoftc *mli)
mld_v2_enqueue_group_record(struct mbufq *mq, struct in6_multi *inm,
mld_v2_enqueue_filter_change(struct mbufq *mq, struct in6_multi *inm)
mld_v2_merge_state_changes(struct in6_multi *inm, struct mbufq *scq)
struct in6_multi *inm;
struct in6_multi *inm;
struct in6_multi *inm;
mld_v1_update_group(struct in6_multi *inm, const int timer)
struct in6_multi *inm;
mld_v2_process_group_query(struct in6_multi *inm, struct mld_ifsoftc *mli,
int mld_change_state(struct in6_multi *, const int);