Date: Thu, 25 Jan 2007 17:30:30 +0000 (UTC) From: Bill Paul <wpaul@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/dev/re if_re.c Message-ID: <200701251730.l0PHUUf7088546@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
wpaul 2007-01-25 17:30:30 UTC FreeBSD src repository Modified files: sys/dev/re if_re.c Log: The TCP checksum offload handling in the 8111B/8168B and 8101E PCIe can apparently be confused by short TCP segments that have been manually padded to the minimum ethernet frame size. The driver does short frame padding in software as a workaround for a bug in the 8169 PCI devices that causes short IP fragments to be corrupted due to an apparent conflict between the hardware autopadding and hardware IP checksumming. To fix this, we avoid software padding for short TCP segments, since the hardware seems to autopad and checksum these correctly (even the older 8169 NICs get these right). Short UDP packets appear to be handled correctly in all cases. This should work around the IP header checksum bug in the 8169 while not tripping the TCP checksum bug in the 8111B/8168B and 8101E. Revision Changes Path 1.84 +6 -1 src/sys/dev/re/if_re.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200701251730.l0PHUUf7088546>