diff options
author | Eric Dumazet <edumazet@google.com> | 2015-10-16 16:00:01 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-10-19 01:26:02 -0400 |
commit | dc6ef6be52154490c5c03f742e28bc781cc751b2 (patch) | |
tree | 8e297dd00c9cef73f67424b72a5669d6a97d13f7 /net/ipv4/tcp_input.c | |
parent | 951b5d959f1da4bae8910085a2d8d6a3d374c72d (diff) |
tcp: do not set queue_mapping on SYNACK
At the time of commit fff326990789 ("tcp: reflect SYN queue_mapping into
SYNACK packets") we had little ways to cope with SYN floods.
We no longer need to reflect incoming skb queue mappings, and instead
can pick a TX queue based on cpu cooking the SYNACK, with normal XPS
affinities.
Note that all SYNACK retransmits were picking TX queue 0, this no longer
is a win given that SYNACK rtx are now distributed on all cpus.
Signed-off-by: Eric Dumazet <edumazet@google.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.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c index 3b35c3f4d268..944eaca69115 100644 --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c | |||
@@ -6236,7 +6236,7 @@ int tcp_conn_request(struct request_sock_ops *rsk_ops, | |||
6236 | } | 6236 | } |
6237 | if (fastopen_sk) { | 6237 | if (fastopen_sk) { |
6238 | af_ops->send_synack(fastopen_sk, dst, &fl, req, | 6238 | af_ops->send_synack(fastopen_sk, dst, &fl, req, |
6239 | skb_get_queue_mapping(skb), &foc, false); | 6239 | &foc, false); |
6240 | /* Add the child socket directly into the accept queue */ | 6240 | /* Add the child socket directly into the accept queue */ |
6241 | inet_csk_reqsk_queue_add(sk, req, fastopen_sk); | 6241 | inet_csk_reqsk_queue_add(sk, req, fastopen_sk); |
6242 | sk->sk_data_ready(sk); | 6242 | sk->sk_data_ready(sk); |
@@ -6247,7 +6247,7 @@ int tcp_conn_request(struct request_sock_ops *rsk_ops, | |||
6247 | if (!want_cookie) | 6247 | if (!want_cookie) |
6248 | inet_csk_reqsk_queue_hash_add(sk, req, TCP_TIMEOUT_INIT); | 6248 | inet_csk_reqsk_queue_hash_add(sk, req, TCP_TIMEOUT_INIT); |
6249 | af_ops->send_synack(sk, dst, &fl, req, | 6249 | af_ops->send_synack(sk, dst, &fl, req, |
6250 | skb_get_queue_mapping(skb), &foc, !want_cookie); | 6250 | &foc, !want_cookie); |
6251 | if (want_cookie) | 6251 | if (want_cookie) |
6252 | goto drop_and_free; | 6252 | goto drop_and_free; |
6253 | } | 6253 | } |