1
linux/drivers
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
..
acorn [PATCH] show Acorn-specific block devices menu only when required 2006-06-30 11:25:38 -07:00
acpi [PATCH] pgdat allocation for new node add (get node id by acpi) 2006-06-27 17:32:36 -07:00
amba [PATCH] 64bit resource: fix up printks for resources in misc drivers 2006-06-27 09:23:59 -07:00
atm [ATM]: [suni] change suni_init to __devinit 2006-06-29 16:58:17 -07:00
base [PATCH] Use Zoned VM Counters for NUMA statistics 2006-06-30 11:25:36 -07:00
block Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/devfs-2.6 2006-06-29 14:19:21 -07:00
bluetooth [PATCH] Bluetooth: fix potential NULL ptr deref in dtl1_cs.c::dtl1_hci_send_frame() 2006-06-26 09:58:16 -07:00
cdrom [PATCH] drivers/cdrom/cm206.c: cleanups 2006-06-30 11:25:38 -07:00
char [PATCH] fix ISTALLION=y 2006-06-30 11:25:34 -07:00
clocksource [PATCH] GTOD: add scx200 HRT clocksource 2006-06-26 09:58:21 -07:00
connector [PATCH] connector-exports 2006-06-23 07:43:06 -07:00
cpufreq [PATCH] cpu hotplug: make cpu_notifier related notifier blocks __cpuinit only 2006-06-27 17:32:41 -07:00
crypto [CRYPTO] padlock: Rearrange context structure to reduce code size 2006-06-26 17:34:39 +10:00
dio
dma [IOAT]: Do not dereference THIS_MODULE directly to set unsafe. 2006-06-26 00:10:46 -07:00
edac [PATCH] EDAC: probe1 cleanup 1-of-2 2006-06-30 11:25:39 -07:00
eisa
fc4 [SPARC]: Kill __irq_itoa(). 2006-06-20 01:21:29 -07:00
firmware [PATCH] DMI: cleanup kernel-doc, add to DocBook 2006-06-25 10:01:24 -07:00
hwmon spelling fixes 2006-06-26 18:35:02 +02:00
i2c [PATCH] i2c-801: 64bit resource fix 2006-06-30 11:25:41 -07:00
ide Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/devfs-2.6 2006-06-29 14:19:21 -07:00
ieee1394 [PATCH] 64bit Resource: convert a few remaining drivers to use resource_size_t where needed 2006-06-27 09:24:00 -07:00
infiniband [PATCH] infiniband: devfs fix 2006-06-30 11:25:41 -07:00
input [SERIO] i8042-sparcio.h: Convert to of_driver framework. 2006-06-29 16:38:01 -07:00
isdn Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/devfs-2.6 2006-06-29 14:19:21 -07:00
leds [PATCH] spin/rwlock init cleanups 2006-06-27 17:32:39 -07:00
macintosh Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/devfs-2.6 2006-06-29 14:19:21 -07:00
mca
md Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/devfs-2.6 2006-06-29 14:19:21 -07:00
media Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/devfs-2.6 2006-06-29 14:19:21 -07:00
message Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/devfs-2.6 2006-06-29 14:19:21 -07:00
mfd [ARM] fix drivers/mfd/ucb1x00-core.c IRQ probing bug 2006-06-26 15:26:13 +01:00
misc [PATCH] spin/rwlock init cleanups 2006-06-27 17:32:39 -07:00
mmc Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/devfs-2.6 2006-06-29 14:19:21 -07:00
mtd Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6 2006-06-29 10:49:17 -07:00
net [IPV6]: Added GSO support for TCPv6 2006-06-30 14:12:10 -07:00
nubus
oprofile [PATCH] oprofile: convert from semaphores to mutexes 2006-06-25 10:01:04 -07:00
parisc [PATCH] Light weight event counters 2006-06-30 11:25:36 -07:00
parport Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2006-06-26 13:33:14 -07:00
pci Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6 2006-06-29 10:49:17 -07:00
pcmcia Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6 2006-06-29 10:49:17 -07:00
pnp [PATCH] 64bit resource: change pnp core to use resource_size_t 2006-06-27 09:24:00 -07:00
rapidio [PATCH] spin/rwlock init cleanups 2006-06-27 17:32:39 -07:00
rtc [PATCH] RTC: add rtc-rs5c348 driver 2006-06-28 14:59:04 -07:00
s390 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/devfs-2.6 2006-06-29 14:19:21 -07:00
sbus [PATCH] devfs: Remove the devfs_fs_kernel.h file from the tree 2006-06-26 12:25:08 -07:00
scsi Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6 2006-06-29 10:49:17 -07:00
serial [SERIAL] sunsab: Fix section mis-match errors. 2006-06-29 16:37:53 -07:00
sh
sn [PATCH] remove devinit from ioc4 pci_driver 2006-06-29 10:26:20 -07:00
spi [PATCH] SPI: infrastructure to initialize spi_device.mode early 2006-06-28 15:51:01 -07:00
tc [PATCH] devfs: Rename TTY_DRIVER_NO_DEVFS to TTY_DRIVER_DYNAMIC_DEV 2006-06-26 12:25:09 -07:00
telephony Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/devfs-2.6 2006-06-29 14:19:21 -07:00
usb [PATCH] SELinux: update USB code with new kill_proc_info_as_uid 2006-06-30 11:25:37 -07:00
video [PATCH] fix drivers/video/imacfb.c compilation 2006-06-30 11:25:34 -07:00
w1 [PATCH] connector-exports 2006-06-23 07:43:06 -07:00
zorro
Kconfig [I/OAT]: DMA memcpy subsystem 2006-06-17 21:18:43 -07:00
Makefile [PATCH] Time: i386 Clocksource Drivers 2006-06-26 09:58:21 -07:00