diff options
author | Florian Westphal <fw@strlen.de> | 2010-06-21 07:48:44 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-06-27 01:00:03 -0400 |
commit | 734f614bc1e7c6bf075d201f6bd9a555b8b4a984 (patch) | |
tree | f5602e98d4088b1b667e286a1ead644122cd77e8 /net/ipv6/syncookies.c | |
parent | 9587c6ddd452314e8ed5707ad832a507a030ef57 (diff) |
syncookies: do not store rcv_wscale in tcp timestamp
As pointed out by Fernando Gont there is no need to encode rcv_wscale
into the cookie.
We did not use the restored rcv_wscale anyway; it is recomputed
via tcp_select_initial_window().
Thus we can save 4 bits in the ts option space by removing rcv_wscale.
In case window scaling was not supported, we set the (invalid) wscale
value 0xf.
Signed-off-by: Florian Westphal <fw@strlen.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6/syncookies.c')
-rw-r--r-- | net/ipv6/syncookies.c | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/net/ipv6/syncookies.c b/net/ipv6/syncookies.c index c7ee57421ece..84d818cfae17 100644 --- a/net/ipv6/syncookies.c +++ b/net/ipv6/syncookies.c | |||
@@ -217,7 +217,6 @@ struct sock *cookie_v6_check(struct sock *sk, struct sk_buff *skb) | |||
217 | req->retrans = 0; | 217 | req->retrans = 0; |
218 | ireq->ecn_ok = 0; | 218 | ireq->ecn_ok = 0; |
219 | ireq->snd_wscale = tcp_opt.snd_wscale; | 219 | ireq->snd_wscale = tcp_opt.snd_wscale; |
220 | ireq->rcv_wscale = tcp_opt.rcv_wscale; | ||
221 | ireq->sack_ok = tcp_opt.sack_ok; | 220 | ireq->sack_ok = tcp_opt.sack_ok; |
222 | ireq->wscale_ok = tcp_opt.wscale_ok; | 221 | ireq->wscale_ok = tcp_opt.wscale_ok; |
223 | ireq->tstamp_ok = tcp_opt.saw_tstamp; | 222 | ireq->tstamp_ok = tcp_opt.saw_tstamp; |