diff options
author | gallatin <gallatin@FreeBSD.org> | 2007-06-11 18:26:25 +0000 |
---|---|---|
committer | gallatin <gallatin@FreeBSD.org> | 2007-06-11 18:26:25 +0000 |
commit | 4bd623e29b3b8c6b5b106c67d7635f7a8d420a14 (patch) | |
tree | 97bad8fa6ce898903f752b2027269cc9c92fbab8 /sys | |
parent | 65ecac1b1eb1f839f235afdfe7654dc45cee0ae9 (diff) | |
download | FreeBSD-src-4bd623e29b3b8c6b5b106c67d7635f7a8d420a14.zip FreeBSD-src-4bd623e29b3b8c6b5b106c67d7635f7a8d420a14.tar.gz |
Back out the previous commit which added an M_LRO mbuf flag
to defeat the mtu check in ether_input. Mbuf flags are too scarce.
Discussed with: sam
Diffstat (limited to 'sys')
-rw-r--r-- | sys/dev/mxge/mxge_lro.c | 1 | ||||
-rw-r--r-- | sys/net/if_ethersubr.c | 3 | ||||
-rw-r--r-- | sys/sys/mbuf.h | 3 |
3 files changed, 2 insertions, 5 deletions
diff --git a/sys/dev/mxge/mxge_lro.c b/sys/dev/mxge/mxge_lro.c index 78e1220..7080588 100644 --- a/sys/dev/mxge/mxge_lro.c +++ b/sys/dev/mxge/mxge_lro.c @@ -99,7 +99,6 @@ mxge_lro_flush(mxge_softc_t *mgp, struct lro_entry *lro) CSUM_IP_VALID | CSUM_DATA_VALID | CSUM_PSEUDO_HDR; lro->m_head->m_pkthdr.csum_data = 0xffff; lro->m_head->m_pkthdr.len = lro->len; - lro->m_head->m_flags |= M_LRO; /* incorporate the latest ack into the tcp header */ tcp = (struct tcphdr *) (ip + 1); diff --git a/sys/net/if_ethersubr.c b/sys/net/if_ethersubr.c index 41a2467..1fabaca 100644 --- a/sys/net/if_ethersubr.c +++ b/sys/net/if_ethersubr.c @@ -542,8 +542,7 @@ ether_input(struct ifnet *ifp, struct mbuf *m) } eh = mtod(m, struct ether_header *); etype = ntohs(eh->ether_type); - if ((m->m_flags & M_LRO) == 0 && - m->m_pkthdr.len > + if (m->m_pkthdr.len > ETHER_MAX_FRAME(ifp, etype, m->m_flags & M_HASFCS)) { if_printf(ifp, "discard oversize frame " "(ether type %x flags %x len %u > max %lu)\n", diff --git a/sys/sys/mbuf.h b/sys/sys/mbuf.h index 345e9d3..10e7915 100644 --- a/sys/sys/mbuf.h +++ b/sys/sys/mbuf.h @@ -192,7 +192,6 @@ struct mbuf { #define M_LASTFRAG 0x2000 /* packet is last fragment */ #define M_VLANTAG 0x10000 /* ether_vtag is valid */ #define M_PROMISC 0x20000 /* packet was not for us */ -#define M_LRO 0x40000 /* packet is LRO merged and may exceed mtu */ /* * External buffer types: identify ext_buf type. @@ -215,7 +214,7 @@ struct mbuf { #define M_COPYFLAGS (M_PKTHDR|M_EOR|M_RDONLY|M_PROTO1|M_PROTO1|M_PROTO2|\ M_PROTO3|M_PROTO4|M_PROTO5|M_SKIP_FIREWALL|\ M_BCAST|M_MCAST|M_FRAG|M_FIRSTFRAG|M_LASTFRAG|\ - M_VLANTAG|M_PROMISC|M_LRO) + M_VLANTAG|M_PROMISC) /* * Flags to purge when crossing layers. |