if (mcopy != NULL) {
mcopy->m_len = min(ip->ip_len, M_TRAILINGSPACE(mcopy));
mcopy->m_pkthdr.len = mcopy->m_len;
if(mcopy->m_len > m->m_len) {
/* sometimes it happens :/ */
mcopy->m_len = m->m_len;
}
m_copydata(m, 0, mcopy->m_len, mtod(mcopy, caddr_t));