aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorRick Jones <rick.jones2@hp.com>2006-03-20 22:40:29 -0800
committerDavid S. Miller <davem@davemloft.net>2006-03-20 22:40:29 -0800
commit15d99e02babae8bc20b836917ace07d93e318149 (patch)
tree6a8941a3ef45f831161730aeee4a2fcc18cca78a /include
parentc1b1bce8527c2c3cac7e2520ca54b7c04281033e (diff)
downloadkernel_samsung_espresso10-15d99e02babae8bc20b836917ace07d93e318149.zip
kernel_samsung_espresso10-15d99e02babae8bc20b836917ace07d93e318149.tar.gz
kernel_samsung_espresso10-15d99e02babae8bc20b836917ace07d93e318149.tar.bz2
[TCP]: sysctl to allow TCP window > 32767 sans wscale
Back in the dark ages, we had to be conservative and only allow 15-bit window fields if the window scale option was not negotiated. Some ancient stacks used a signed 16-bit quantity for the window field of the TCP header and would get confused. Those days are long gone, so we can use the full 16-bits by default now. There is a sysctl added so that we can still interact with such old stacks Signed-off-by: Rick Jones <rick.jones2@hp.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
-rw-r--r--include/linux/sysctl.h1
-rw-r--r--include/net/tcp.h1
2 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/sysctl.h b/include/linux/sysctl.h
index 8754568..76eaeff 100644
--- a/include/linux/sysctl.h
+++ b/include/linux/sysctl.h
@@ -402,6 +402,7 @@ enum
NET_IPV4_IPFRAG_MAX_DIST=112,
NET_TCP_MTU_PROBING=113,
NET_TCP_BASE_MSS=114,
+ NET_IPV4_TCP_WORKAROUND_SIGNED_WINDOWS=115,
};
enum {
diff --git a/include/net/tcp.h b/include/net/tcp.h
index 16879fa..457e224 100644
--- a/include/net/tcp.h
+++ b/include/net/tcp.h
@@ -224,6 +224,7 @@ extern int sysctl_tcp_tso_win_divisor;
extern int sysctl_tcp_abc;
extern int sysctl_tcp_mtu_probing;
extern int sysctl_tcp_base_mss;
+extern int sysctl_tcp_workaround_signed_windows;
extern atomic_t tcp_memory_allocated;
extern atomic_t tcp_sockets_allocated;