svn commit: r191867 - in stable/7/sys: . contrib/pf dev/ath/ath_hal
dev/cxgb dev/fxp
Pyun YongHyeon
yongari at FreeBSD.org
Thu May 7 01:15:00 UTC 2009
Author: yongari
Date: Thu May 7 01:14:59 2009
New Revision: 191867
URL: http://svn.freebsd.org/changeset/base/191867
Log:
MFC r190982:
Don't blindly set IP packet length from interface MTU in TSO case.
Remote host can advertise smaller MSS than that of sender so upper
stack might have adjusted the MSS which in turn generates IP
packets that are less size than that of interface MTU.
Reported by: Bjoern Koenig ( bkoenig <> alpha-tierchen dot de )
Modified:
stable/7/sys/ (props changed)
stable/7/sys/contrib/pf/ (props changed)
stable/7/sys/dev/ath/ath_hal/ (props changed)
stable/7/sys/dev/cxgb/ (props changed)
stable/7/sys/dev/fxp/if_fxp.c
Modified: stable/7/sys/dev/fxp/if_fxp.c
==============================================================================
--- stable/7/sys/dev/fxp/if_fxp.c Thu May 7 00:35:32 2009 (r191866)
+++ stable/7/sys/dev/fxp/if_fxp.c Thu May 7 01:14:59 2009 (r191867)
@@ -1486,7 +1486,8 @@ fxp_encap(struct fxp_softc *sc, struct m
* checksum in the first frame driver should compute it.
*/
ip->ip_sum = 0;
- ip->ip_len = htons(ifp->if_mtu);
+ ip->ip_len = htons(m->m_pkthdr.tso_segsz + (ip->ip_hl << 2) +
+ (tcp->th_off << 2));
tcp->th_sum = in_pseudo(ip->ip_src.s_addr, ip->ip_dst.s_addr,
htons(IPPROTO_TCP + (tcp->th_off << 2) +
m->m_pkthdr.tso_segsz));
More information about the svn-src-stable
mailing list