MCPcopy Create free account
hub / github.com/F-Stack/f-stack / in6m_purge

Function in6m_purge

freebsd/netinet6/in6_mcast.c:1164–1177  ·  view source on GitHub ↗

* Purge all source nodes from an in6_multi's filter set. */

Source from the content-addressed store, hash-verified

1162 * Purge all source nodes from an in6_multi's filter set.
1163 */
1164static void
1165in6m_purge(struct in6_multi *inm)
1166{
1167 struct ip6_msource *ims, *tims;
1168
1169 RB_FOREACH_SAFE(ims, ip6_msource_tree, &inm->in6m_srcs, tims) {
1170 CTR2(KTR_MLD, "%s: free ims %p", __func__, ims);
1171 RB_REMOVE(ip6_msource_tree, &inm->in6m_srcs, ims);
1172 free(ims, M_IP6MSOURCE);
1173 inm->in6m_nsrc--;
1174 }
1175 /* Free state-change requests that might be queued. */
1176 mbufq_drain(&inm->in6m_scq);
1177}
1178
1179/*
1180 * Join a multicast address w/o sources.

Callers 1

in6m_releaseFunction · 0.85

Calls 2

freeFunction · 0.50
mbufq_drainFunction · 0.50

Tested by

no test coverage detected