]> git.baikalelectronics.ru Git - kernel.git/commit
forcedeth: checksum fix
authorAyaz Abdulla <aabdulla@nvidia.com>
Sun, 13 Jan 2008 21:02:55 +0000 (16:02 -0500)
committerDavid S. Miller <davem@davemloft.net>
Sun, 3 Feb 2008 12:28:37 +0000 (04:28 -0800)
commit9a0f4c6843f0c9a66bc4fd95761284973d3d22c8
tree126bdea1b8f7d8d2231a32ddd5dda4a349905a8a
parentbad20e8cdd6f74ef2e55f767800f1f22fdfbc37f
forcedeth: checksum fix

The driver should inform the stack when checksum has been performed by
the HW when both IP and TCP (or UDP) checksum flags are indicated by HW.

Previously, it would also inform the stack when only IP checksum flag
was indicated by HW. This can cause data corruption when IP fragments
are used. The IP Identification field can wrap around and cause data
from new fragments to fill into older fragment slots with same IP Id.
The stack would then not perform TCP/UDP checksum (after re-assembly of
all fragments) since driver falsely stated it was already calculated.

Signed-off-by: Ayaz Abdulla <aabdulla@nvidia.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/forcedeth.c