diff options
author | Bob Beck <beck@cvs.openbsd.org> | 2004-06-20 00:38:22 +0000 |
---|---|---|
committer | Bob Beck <beck@cvs.openbsd.org> | 2004-06-20 00:38:22 +0000 |
commit | f66bc73ff05092ed9e54264aa81e2803763e095e (patch) | |
tree | 2a650052dac2b2bed48306e6fd8c6357d3f922c3 /sys | |
parent | 4cbb94817c08e239fe24e4fd8d657aeb52bb2123 (diff) |
undo mbuf cluster breakage that causes free'ed packets to show up on the
input queues when using dhcp and hostap wi, or xl, or fxp....
ok art@
Diffstat (limited to 'sys')
-rw-r--r-- | sys/net/if.h | 31 |
1 files changed, 9 insertions, 22 deletions
diff --git a/sys/net/if.h b/sys/net/if.h index 283ef39a693..f67484436c2 100644 --- a/sys/net/if.h +++ b/sys/net/if.h @@ -1,4 +1,4 @@ -/* $OpenBSD: if.h,v 1.53 2004/05/29 17:54:45 jcs Exp $ */ +/* $OpenBSD: if.h,v 1.54 2004/06/20 00:38:21 beck Exp $ */ /* $NetBSD: if.h,v 1.23 1996/05/07 02:40:27 thorpej Exp $ */ /* @@ -303,27 +303,14 @@ struct ifnet { /* and the entries */ } \ } -#define IF_INPUT_ENQUEUE(ifq, m) { \ - if (IF_QFULL(ifq)) { \ - IF_DROP(ifq); \ - m_freem(m); \ - if (!ifq->ifq_congestion) \ - if_congestion(ifq); \ - } else { \ - if (m->m_next == NULL && (m->m_flags & M_PKTHDR)) { \ - if ((m->m_flags & M_CLUSTER) && \ - m->m_len <= (MHLEN &~ (sizeof(long) - 1))) {\ - caddr_t data = m->m_data; \ - caddr_t ext_buf = m->m_ext.ext_buf; \ - m->m_data = m->m_pktdat; \ - MH_ALIGN(m, m->m_len); \ - bcopy(data, m->m_data, m->m_len); \ - pool_put(&mclpool, ext_buf); \ - m->m_flags &= ~(M_EXT|M_CLUSTER); \ - } \ - } \ - IF_ENQUEUE(ifq, m); \ - } \ +#define IF_INPUT_ENQUEUE(ifq, m) { \ + if (IF_QFULL(ifq)) { \ + IF_DROP(ifq); \ + m_freem(m); \ + if (!ifq->ifq_congestion) \ + if_congestion(ifq); \ + } else \ + IF_ENQUEUE(ifq, m); \ } #define IF_POLL(ifq, m) ((m) = (ifq)->ifq_head) |