Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/netmap/netmap_generic.c
Show First 20 Lines • Show All 116 Lines • ▼ Show 20 Lines | |||||
{ | { | ||||
/* restore original mbuf */ | /* restore original mbuf */ | ||||
m->m_ext.ext_buf = m->m_data = m->m_ext.ext_arg1; | m->m_ext.ext_buf = m->m_data = m->m_ext.ext_arg1; | ||||
m->m_ext.ext_arg1 = NULL; | m->m_ext.ext_arg1 = NULL; | ||||
m->m_ext.ext_type = EXT_PACKET; | m->m_ext.ext_type = EXT_PACKET; | ||||
m->m_ext.ext_free = NULL; | m->m_ext.ext_free = NULL; | ||||
if (GET_MBUF_REFCNT(m) == 0) | if (GET_MBUF_REFCNT(m) == 0) | ||||
SET_MBUF_REFCNT(m, 1); | SET_MBUF_REFCNT(m, 1); | ||||
uma_zfree(zone_pack, m); | m_free(m); | ||||
} | } | ||||
static inline struct mbuf * | static inline struct mbuf * | ||||
netmap_get_mbuf(int len) | netmap_get_mbuf(int len) | ||||
{ | { | ||||
struct mbuf *m; | struct mbuf *m; | ||||
m = m_getcl(M_NOWAIT, MT_DATA, M_PKTHDR | M_NOFREE); | m = m_getcl(M_NOWAIT, MT_DATA, M_PKTHDR | M_NOFREE); | ||||
if (m) { | if (m) { | ||||
▲ Show 20 Lines • Show All 732 Lines • Show Last 20 Lines |