linux/include
Herbert Xu f83ef8c0b5 [IPV6]: Added GSO support for TCPv6
This patch adds GSO support for IPv6 and TCPv6.  This is based on a patch
by Ananda Raju <Ananda.Raju@neterion.com>.  His original description is:

	This patch enables TSO over IPv6. Currently Linux network stacks
	restricts TSO over IPv6 by clearing of the NETIF_F_TSO bit from
	"dev->features". This patch will remove this restriction.

	This patch will introduce a new flag NETIF_F_TSO6 which will be used
	to check whether device supports TSO over IPv6. If device support TSO
	over IPv6 then we don't clear of NETIF_F_TSO and which will make the
	TCP layer to create TSO packets. Any device supporting TSO over IPv6
	will set NETIF_F_TSO6 flag in "dev->features" along with NETIF_F_TSO.

	In case when user disables TSO using ethtool, NETIF_F_TSO will get
	cleared from "dev->features". So even if we have NETIF_F_TSO6 we don't
	get TSO packets created by TCP layer.

	SKB_GSO_TCPV4 renamed to SKB_GSO_TCP to make it generic GSO packet.
	SKB_GSO_UDPV4 renamed to SKB_GSO_UDP as UFO is not a IPv4 feature.
	UFO is supported over IPv6 also

	The following table shows there is significant improvement in
	throughput with normal frames and CPU usage for both normal and jumbo.

	--------------------------------------------------
	|          |     1500        |      9600         |
	|          ------------------|-------------------|
	|          | thru     CPU    |  thru     CPU     |
	--------------------------------------------------
	| TSO OFF  | 2.00   5.5% id  |  5.66   20.0% id  |
	--------------------------------------------------
	| TSO ON   | 2.63   78.0 id  |  5.67   39.0% id  |
	--------------------------------------------------

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
2006-06-30 14:12:10 -07:00
..
acpi Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 2006-06-23 07:52:36 -07:00
asm-alpha [AF_UNIX]: Datagram getpeersec 2006-06-29 16:58:06 -07:00
asm-arm [AF_UNIX]: Datagram getpeersec 2006-06-29 16:58:06 -07:00
asm-arm26 [AF_UNIX]: Datagram getpeersec 2006-06-29 16:58:06 -07:00
asm-cris [AF_UNIX]: Datagram getpeersec 2006-06-29 16:58:06 -07:00
asm-frv [AF_UNIX]: Datagram getpeersec 2006-06-29 16:58:06 -07:00
asm-generic [PATCH] Add EXPORT_UNUSED_SYMBOL and EXPORT_UNUSED_SYMBOL_GPL 2006-06-28 14:59:04 -07:00
asm-h8300 [AF_UNIX]: Datagram getpeersec 2006-06-29 16:58:06 -07:00
asm-i386 [AF_UNIX]: Datagram getpeersec 2006-06-29 16:58:06 -07:00
asm-ia64 [AF_UNIX]: Datagram getpeersec 2006-06-29 16:58:06 -07:00
asm-m32r [AF_UNIX]: Datagram getpeersec 2006-06-29 16:58:06 -07:00
asm-m68k [AF_UNIX]: Datagram getpeersec 2006-06-29 16:58:06 -07:00
asm-m68knommu [PATCH] m68knommu: fix clobber list in uCdimm/uCsimm helper asm 2006-06-28 15:03:47 -07:00
asm-mips [AF_UNIX]: Datagram getpeersec 2006-06-29 16:58:06 -07:00
asm-parisc [AF_UNIX]: Datagram getpeersec 2006-06-29 16:58:06 -07:00
asm-powerpc [AF_UNIX]: Datagram getpeersec 2006-06-29 16:58:06 -07:00
asm-ppc Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/devfs-2.6 2006-06-29 14:19:21 -07:00
asm-s390 [PATCH] zoned vm counters: create vmstat.c/.h from page_alloc.c/.h 2006-06-30 11:25:34 -07:00
asm-sh [AF_UNIX]: Datagram getpeersec 2006-06-29 16:58:06 -07:00
asm-sh64 [PATCH] genirq: add ->retrigger() irq op to consolidate hw_irq_resend() 2006-06-29 10:26:23 -07:00
asm-sparc Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2006-06-29 17:43:43 -07:00
asm-sparc64 Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2006-06-29 17:43:43 -07:00
asm-um [PATCH] uml: add __raw_writeq definition 2006-06-30 11:25:38 -07:00
asm-v850 [AF_UNIX]: Datagram getpeersec 2006-06-29 16:58:06 -07:00
asm-x86_64 [AF_UNIX]: Datagram getpeersec 2006-06-29 16:58:06 -07:00
asm-xtensa [AF_UNIX]: Datagram getpeersec 2006-06-29 16:58:06 -07:00
keys [PATCH] keys: discard the contents of a key on revocation 2006-06-26 09:58:18 -07:00
linux [IPV6]: Added GSO support for TCPv6 2006-06-30 14:12:10 -07:00
math-emu
media Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/devfs-2.6 2006-06-29 14:19:21 -07:00
mtd Merge git://git.infradead.org/hdrcleanup-2.6 2006-06-20 15:10:08 -07:00
net [IPV6]: Added GSO support for TCPv6 2006-06-30 14:12:10 -07:00
pcmcia Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
rdma IB/uverbs: Don't serialize with ib_uverbs_idr_mutex 2006-06-17 20:44:49 -07:00
rxrpc
scsi Merge branch 'master' into upstream 2006-06-22 22:11:56 -04:00
sound [ALSA] ak4xxx-adda - Code clean-up 2006-06-28 19:31:09 +02:00
video Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00