]> CyberLeo.Net >> Repos - FreeBSD/stable/8.git/commit
MFC 215686:
authorgallatin <gallatin@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Mon, 29 Nov 2010 13:36:20 +0000 (13:36 +0000)
committergallatin <gallatin@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Mon, 29 Nov 2010 13:36:20 +0000 (13:36 +0000)
commit60331edb19c411e556f76914256ff9a716e3cb33
tree83214a93ebcf91082fb7f1beaef2277585522cfc
parentfe2bc681339083259a626ea7898e91ab1430e18f
MFC 215686:

Fix a TSO checksum bug on mxge(4):

The Myri10GE NIC will assume all TSO frames contain partial checksum,
and will emit TSO segments with bad TCP checksums if a TSO frame
contains a full checksum.  The mxge driver takes care to make sure
that TSO is disabled when checksum offload is disabled for this
reason.  However, modules that modify packet contents (like pf) may
end up completing a checksum on a TSO frame, leading to the NIC emitting
TSO segments with bad checksums.

To workaround this, restore the partial checksum in the mxge driver
when we're fed a TSO frame with a full checksum.

git-svn-id: svn://svn.freebsd.org/base/stable/8@216054 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
sys/dev/mxge/if_mxge.c