summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorBob Beck <beck@cvs.openbsd.org>2004-06-20 00:38:22 +0000
committerBob Beck <beck@cvs.openbsd.org>2004-06-20 00:38:22 +0000
commitf66bc73ff05092ed9e54264aa81e2803763e095e (patch)
tree2a650052dac2b2bed48306e6fd8c6357d3f922c3 /sys
parent4cbb94817c08e239fe24e4fd8d657aeb52bb2123 (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.h31
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)