linux/net/core
Peter P Waskiewicz Jr 82cc1a7a56 [NET]: Add per-connection option to set max TSO frame size
Update: My mailer ate one of Jarek's feedback mails...  Fixed the
parameter in netif_set_gso_max_size() to be u32, not u16.  Fixed the
whitespace issue due to a patch import botch.  Changed the types from
u32 to unsigned int to be more consistent with other variables in the
area.  Also brought the patch up to the latest net-2.6.26 tree.

Update: Made gso_max_size container 32 bits, not 16.  Moved the
location of gso_max_size within netdev to be less hotpath.  Made more
consistent names between the sock and netdev layers, and added a
define for the max GSO size.

Update: Respun for net-2.6.26 tree.

Update: changed max_gso_frame_size and sk_gso_max_size from signed to
unsigned - thanks Stephen!

This patch adds the ability for device drivers to control the size of
the TSO frames being sent to them, per TCP connection.  By setting the
netdevice's gso_max_size value, the socket layer will set the GSO
frame size based on that value.  This will propogate into the TCP
layer, and send TSO's of that size to the hardware.

This can be desirable to help tune the bursty nature of TSO on a
per-adapter basis, where one may have 1 GbE and 10 GbE devices
coexisting in a system, one running multiqueue and the other not, etc.

This can also be desirable for devices that cannot support full 64 KB
TSO's, but still want to benefit from some level of segmentation
offloading.

Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-03-21 03:43:19 -07:00
..
datagram.c [NET] CORE: Introducing new memory accounting interface. 2008-01-28 15:00:18 -08:00
dev_mcast.c [NET]: Use existing device list walker for /proc/dev_mcast. 2008-02-29 11:44:14 -08:00
dev.c [NET]: Add per-connection option to set max TSO frame size 2008-03-21 03:43:19 -07:00
dst.c [NETNS]: DST cleanup routines should be called inside namespace. 2008-02-28 20:49:44 -08:00
ethtool.c
fib_rules.c [NETNS]: Process FIB rule action in the context of the namespace. 2008-01-28 15:08:14 -08:00
filter.c [NET]: Fix bug in sk_filter race cures. 2007-10-18 21:48:39 -07:00
flow.c [IPSEC] flow: reorder "struct flow_cache_entry" and remove SLAB_HWCACHE_ALIGN 2008-02-07 23:30:42 -08:00
gen_estimator.c [NET_SCHED]: Convert packet schedulers from rtnetlink to new netlink API 2008-01-28 15:11:10 -08:00
gen_stats.c [NET_SCHED]: Convert packet schedulers from rtnetlink to new netlink API 2008-01-28 15:11:10 -08:00
iovec.c
kmap_skb.h
link_watch.c
Makefile
neighbour.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-03-05 12:26:41 -08:00
net_namespace.c typo fixes in net/core/net_namespace.c 2008-02-03 17:56:48 +02:00
net-sysfs.c [ETH]: Combine format_addr() with print_mac(). 2008-01-28 15:00:05 -08:00
net-sysfs.h [NET]: Remove in-code externs for some functions from net/core/dev.c 2007-10-23 21:27:56 -07:00
netevent.c
netpoll.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2008-03-21 03:42:24 -07:00
pktgen.c [PKTGEN]: Use proc_create() to setup ->proc_fops first 2008-02-28 14:11:49 -08:00
request_sock.c [NET] net/core/request_sock.c: Remove unused exports. 2008-01-28 14:54:33 -08:00
rtnetlink.c [RTNL]: Validate hardware and broadcast address attribute for RTM_NEWLINK 2008-02-23 19:54:36 -08:00
scm.c [NET]: Fix function put_cmsg() which may cause usr application memory overflow 2007-12-20 14:36:44 -08:00
skbuff.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2008-02-15 07:33:07 -08:00
sock.c [NET]: Add per-connection option to set max TSO frame size 2008-03-21 03:43:19 -07:00
stream.c [NET] CORE: Introducing new memory accounting interface. 2008-01-28 15:00:18 -08:00
sysctl_net_core.c [NET] sysctl: make sysctl_somaxconn per-namespace 2008-01-28 14:56:57 -08:00
user_dma.c
utils.c [NET] core/utils.c: digit2bin is dead static inline 2008-01-28 15:01:58 -08:00