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

Function ipq_free

freebsd/netinet/ip_reass.c:823–837  ·  view source on GitHub ↗

* Free a fragment reassembly header and all associated datagrams. */

Source from the content-addressed store, hash-verified

821 * Free a fragment reassembly header and all associated datagrams.
822 */
823static void
824ipq_free(struct ipqbucket *bucket, struct ipq *fp)
825{
826 struct mbuf *q;
827
828 atomic_subtract_int(&nfrags, fp->ipq_nfrags);
829 while (fp->ipq_frags) {
830 q = fp->ipq_frags;
831 fp->ipq_frags = q->m_nextpkt;
832 m_freem(q);
833 }
834 TAILQ_REMOVE(&bucket->head, fp, ipq_list);
835 bucket->count--;
836 uma_zfree(V_ipq_zone, fp);
837}
838
839/*
840 * Get or set the maximum number of reassembly queues per bucket.

Callers 2

ipq_timeoutFunction · 0.85
ipq_dropFunction · 0.85

Calls 2

m_freemFunction · 0.50
uma_zfreeFunction · 0.50

Tested by

no test coverage detected