m_ext
KASSERT(ms->m_data == ms->m_ext.ext_buf,
rfa = (struct fxp_rfa *)(m->m_ext.ext_buf +
(p_rx->rx_mbuf->m_ext.ext_buf + RFA_ALIGNMENT_FUDGE);
m->m_data = m->m_ext.ext_buf;
m_new->m_data = m_new->m_ext.ext_buf;
m->m_pkthdr.len = m->m_len = m->m_ext.ext_size;
len = m->m_ext.ext_size;
m->m_pkthdr.len = m->m_len = m->m_ext.ext_size;
m->m_len = m->m_pkthdr.len = m->m_ext.ext_size;
m->m_len = m->m_pkthdr.len = m->m_ext.ext_size;
m->m_ext.ext_free != mwl_ext_free)
off = m->m_data - m->m_ext.ext_buf;
&m->m_ext.ext_paddr);
mwl_putrxdma(sc, m->m_ext.ext_buf);
return ((m->m_ext.ext_flags & EXT_FLAG_EMBREF) ? m->m_ext.ext_count :
*m->m_ext.ext_cnt);
m->m_data = m->m_ext.ext_buf = (caddr_t)cl;
m->m_ext.ext_size = size;
m->m_ext.ext_type = type;
m->m_ext.ext_flags = EXT_FLAG_EMBREF;
m->m_ext.ext_count = 1;
(((m)->m_flags & M_EXT) ? (m)->m_ext.ext_buf : \
(((m)->m_flags & M_EXT) ? (m)->m_ext.ext_size : \
struct m_ext MH_ext;
length = min_c(length, mb->m_ext.ext_size);
mb->m_ext.ext_buf = buf;
mb->m_data = mb->m_ext.ext_buf;
mb->m_ext.ext_size = size;
mb->m_ext.ext_free = freef;
mb->m_ext.ext_arg1 = arg1;
mb->m_ext.ext_arg2 = arg2;
mb->m_ext.ext_type = type;
mb->m_ext.ext_count = 1;
mb->m_ext.ext_flags = EXT_FLAG_EMBREF;
mb->m_ext.ext_flags = 0;
CTASSERT(sizeof(struct m_ext) == 48);
CTASSERT(sizeof(struct m_ext) == 28);
wasted += MHLEN - sizeof(m->m_ext) +
m->m_ext.ext_size - m->m_len;
n->m_ext = m->m_ext;
if (m->m_ext.ext_flags & EXT_FLAG_EMBREF) {
refcnt = n->m_ext.ext_cnt = &m->m_ext.ext_count;
n->m_ext.ext_flags &= ~EXT_FLAG_EMBREF;
KASSERT(m->m_ext.ext_cnt != NULL,
refcnt = m->m_ext.ext_cnt;
(n->m_ext.ext_type == EXT_CLUSTER && M_WRITABLE(n)))
memoryBuffer->m_ext.ext_buf = allocate_ext_buf(how, size, &extType);
if (memoryBuffer->m_ext.ext_buf == NULL)
memoryBuffer->m_data = memoryBuffer->m_ext.ext_buf;
memoryBuffer->m_ext.ext_size = size;
memoryBuffer->m_ext.ext_type = extType;
memoryBuffer->m_ext.ext_flags = EXT_FLAG_EMBREF;
memoryBuffer->m_ext.ext_count = 1;
memoryBuffer->m_ext.ext_type = EXT_CLUSTER;
memoryBuffer->m_ext.ext_buf = NULL;
memoryBuffer->m_ext.ext_buf = NULL;
return memoryBuffer->m_ext.ext_buf;
if (memoryBuffer->m_ext.ext_flags & EXT_FLAG_EMBREF) {
refcnt = &memoryBuffer->m_ext.ext_count;
KASSERT(memoryBuffer->m_ext.ext_cnt != NULL,
refcnt = memoryBuffer->m_ext.ext_cnt;
mref = __containerof(refcnt, struct mbuf, m_ext.ext_count);
KASSERT(memoryBuffer->m_ext.ext_type == EXT_EXTREF,
if (memoryBuffer->m_ext.ext_type == EXT_CLUSTER)
else if (memoryBuffer->m_ext.ext_type == EXT_JUMBO9)
else if (memoryBuffer->m_ext.ext_type == EXT_JUMBOP)
panic("unknown mbuf ext_type %d", memoryBuffer->m_ext.ext_type);
object_cache_free(cache, memoryBuffer->m_ext.ext_buf, 0);
n0->m_len = n0->m_ext.ext_size;
n->m_len = n->m_ext.ext_size;
n0->m_len = n0->m_ext.ext_size;
n->m_len = n->m_ext.ext_size;
n0->m_len = n0->m_ext.ext_size;
n->m_len = n->m_ext.ext_size;
n0->m_len = n0->m_ext.ext_size;
n->m_len = n->m_ext.ext_size;
n0->m_len = n0->m_ext.ext_size;
n->m_len = n->m_ext.ext_size;
n0->m_len = n0->m_ext.ext_size;
n->m_len = n->m_ext.ext_size;