aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv4/tcp_input.c
diff options
context:
space:
mode:
authorEric Dumazet <edumazet@google.com>2015-10-16 16:00:01 -0400
committerDavid S. Miller <davem@davemloft.net>2015-10-19 01:26:02 -0400
commitdc6ef6be52154490c5c03f742e28bc781cc751b2 (patch)
tree8e297dd00c9cef73f67424b72a5669d6a97d13f7 /net/ipv4/tcp_input.c
parent951b5d959f1da4bae8910085a2d8d6a3d374c72d (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.c4
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 }