FreeBSD/sys/netinet6/in6_mcast.c
/*
 * Purge all source nodes from an in6_multi's filter set.
 */
Purge all source nodes from an in6_multi's filter set.
Purge all source nodes from an in6_multi ' s filter set .
static void
in6m_purge(struct in6_multi *inm)
{
	struct ip6_msource	*ims, *tims;
	RB_FOREACH_SAFE(ims, ip6_msource_tree, &inm->in6m_srcs, tims) {
		CTR2(KTR_MLD, "%s: free ims %p", __func__, ims);
		RB_REMOVE(ip6_msource_tree, &inm->in6m_srcs, ims);
		free(ims, M_IP6MSOURCE);
		inm->in6m_nsrc--;
	}
	mbufq_drain(&inm->in6m_scq);
}
static void in6m_purge ( struct in6_multi * inm ) { struct ip6_msource * ims , * tims ; RB_FOREACH_SAFE ( ims , ip6_msource_tree , & inm -> in6m_srcs , tims ) { CTR2 ( KTR_MLD , " " , __func__ , ims ) ; RB_REMOVE ( ip6_msource_tree , & inm -> in6m_srcs , ims ) ; free ( ims , M_IP6MSOURCE ) ; inm -> in6m_nsrc -- ; } mbufq_drain ( & inm -> in6m_scq ) ; }
Purge all source nodes from an in6_multi's filter set.
Purge all source nodes from an in6_multi ' s filter set .
/* Free state-change requests that might be queued. */