net: Add rtnetlink init_rcvwnd to set the TCP initial receive window
authorlaurent chavey <chavey@google.com>
Tue, 15 Dec 2009 11:15:28 +0000 (11:15 +0000)
committerDavid S. Miller <davem@davemloft.net>
Wed, 23 Dec 2009 22:13:30 +0000 (14:13 -0800)
commit31d12926e37291970dd4f6e9940df3897766a81d
tree7f20713b70fc2c9e03aa1f7fcf71ffa651c464fc
parent068a2de57ddf4f472e32e7af868613c574ad1d88
net: Add rtnetlink init_rcvwnd to set the TCP initial receive window

Add rtnetlink init_rcvwnd to set the TCP initial receive window size
advertised by passive and active TCP connections.
The current Linux TCP implementation limits the advertised TCP initial
receive window to the one prescribed by slow start. For short lived
TCP connections used for transaction type of traffic (i.e. http
requests), bounding the advertised TCP initial receive window results
in increased latency to complete the transaction.
Support for setting initial congestion window is already supported
using rtnetlink init_cwnd, but the feature is useless without the
ability to set a larger TCP initial receive window.
The rtnetlink init_rcvwnd allows increasing the TCP initial receive
window, allowing TCP connection to advertise larger TCP receive window
than the ones bounded by slow start.

Signed-off-by: Laurent Chavey <chavey@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/linux/rtnetlink.h
include/net/dst.h
include/net/tcp.h
net/ipv4/syncookies.c
net/ipv4/tcp_output.c
net/ipv6/syncookies.c