summaryrefslogtreecommitdiffstats
path: root/sys/net/if_ethersubr.c
diff options
context:
space:
mode:
authorgallatin <gallatin@FreeBSD.org>2007-06-11 18:45:49 +0000
committergallatin <gallatin@FreeBSD.org>2007-06-11 18:45:49 +0000
commit198a4b06fc5e93d6c23f282a6cb77d38a2cbd431 (patch)
tree3ea1a3ef21e84dcfda73a46174e9d37d9dedeeae /sys/net/if_ethersubr.c
parent171530740255dca87c0ebd6b0cac67eb20adb8aa (diff)
downloadFreeBSD-src-198a4b06fc5e93d6c23f282a6cb77d38a2cbd431.zip
FreeBSD-src-198a4b06fc5e93d6c23f282a6cb77d38a2cbd431.tar.gz
Move the oversize ethernet frame size check into DIAGNOSTIC,
as was proposed when it was originally added. This allows LRO to work on non-DIAGNOSTIC kernels without consuming any mbuf flags. Discussed with: sam
Diffstat (limited to 'sys/net/if_ethersubr.c')
-rw-r--r--sys/net/if_ethersubr.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/net/if_ethersubr.c b/sys/net/if_ethersubr.c
index 1fabaca..8615e86 100644
--- a/sys/net/if_ethersubr.c
+++ b/sys/net/if_ethersubr.c
@@ -542,6 +542,7 @@ ether_input(struct ifnet *ifp, struct mbuf *m)
}
eh = mtod(m, struct ether_header *);
etype = ntohs(eh->ether_type);
+#ifdef DIAGNOSTIC
if (m->m_pkthdr.len >
ETHER_MAX_FRAME(ifp, etype, m->m_flags & M_HASFCS)) {
if_printf(ifp, "discard oversize frame "
@@ -553,6 +554,7 @@ ether_input(struct ifnet *ifp, struct mbuf *m)
m_freem(m);
return;
}
+#endif
if (m->m_pkthdr.rcvif == NULL) {
if_printf(ifp, "discard frame w/o interface pointer\n");
ifp->if_ierrors++;
OpenPOWER on IntegriCloud