aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv4/tcp_input.c
diff options
context:
space:
mode:
authorGilad Ben-Yossef <gilad@codefidence.com>2009-10-28 00:15:26 -0400
committerDavid S. Miller <davem@davemloft.net>2009-10-29 04:28:47 -0400
commit345cda2fd695534be5a4494f1b59da9daed33663 (patch)
tree6e4b83512481d25b8e7976a1556c5d848e84a621 /net/ipv4/tcp_input.c
parentcda42ebd67ee5fdf09d7057b5a4584d36fe8a335 (diff)
Allow to turn off TCP window scale opt per route
Add and use no window scale bit in the features field. Note that this is not the same as setting a window scale of 0 as would happen with window limit on route. Signed-off-by: Gilad Ben-Yossef <gilad@codefidence.com> Sigend-off-by: Ori Finkelman <ori@comsleep.com> Sigend-off-by: Yony Amit <yony@comsleep.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/tcp_input.c')
-rw-r--r--net/ipv4/tcp_input.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c
index 6097491aa9fc..393c56921dcb 100644
--- a/net/ipv4/tcp_input.c
+++ b/net/ipv4/tcp_input.c
@@ -3739,7 +3739,8 @@ void tcp_parse_options(struct sk_buff *skb, struct tcp_options_received *opt_rx,
3739 break; 3739 break;
3740 case TCPOPT_WINDOW: 3740 case TCPOPT_WINDOW:
3741 if (opsize == TCPOLEN_WINDOW && th->syn && 3741 if (opsize == TCPOLEN_WINDOW && th->syn &&
3742 !estab && sysctl_tcp_window_scaling) { 3742 !estab && sysctl_tcp_window_scaling &&
3743 !dst_feature(dst, RTAX_FEATURE_NO_WSCALE)) {
3743 __u8 snd_wscale = *(__u8 *)ptr; 3744 __u8 snd_wscale = *(__u8 *)ptr;
3744 opt_rx->wscale_ok = 1; 3745 opt_rx->wscale_ok = 1;
3745 if (snd_wscale > 14) { 3746 if (snd_wscale > 14) {