]> git.baikalelectronics.ru Git - kernel.git/commit
sfc: Use separate hardware TX queues to select checksum generation
authorBen Hutchings <bhutchings@solarflare.com>
Mon, 1 Sep 2008 11:44:59 +0000 (12:44 +0100)
committerJeff Garzik <jgarzik@redhat.com>
Wed, 3 Sep 2008 13:53:42 +0000 (09:53 -0400)
commitadf6b9cd94fad87b36a915c2ad6434d1cdaf6cd0
treeb16ee9efd385806755c6912492db43997c4f4b98
parent5afc0009e61e23ba945e2591f8308bfc94b66b1c
sfc: Use separate hardware TX queues to select checksum generation

Checksum generation is an attribute of our hardware TX queues, not TX
descriptors.  We previously used a single queue and turned checksum
generation on or off as requested through ethtool.  However, this can
result in regenerating checksums in raw packets that should not be
modified.  We now create 2 hardware TX queues with checksum generation
on or off.  They are presented to the net core as one queue since it
does not know how to select between them.

The self-test verifies that a bad checksum is unaltered on the queue
with checksum generation off.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
drivers/net/sfc/efx.c
drivers/net/sfc/ethtool.c
drivers/net/sfc/falcon.c
drivers/net/sfc/net_driver.h
drivers/net/sfc/selftest.c
drivers/net/sfc/selftest.h
drivers/net/sfc/tx.c