Skip to content

Commit

Permalink
[TCP]: TCP_DEFER_ACCEPT updates - defer timeout conflicts with max_th…
Browse files Browse the repository at this point in the history
…resh

timeout associated with SO_DEFER_ACCEPT wasn't being honored if it was
less than the timeout allowed by the maximum syn-recv queue size
algorithm. Fix by using the SO_DEFER_ACCEPT value if the ack has
arrived.

Signed-off-by: Patrick McManus <mcmanus@ducksong.com>
Acked-by: Eric Dumazet <dada1@cosmosbay.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Patrick McManus authored and David S. Miller committed Mar 21, 2008
1 parent 4cd9029 commit 539fae8
Showing 1 changed file with 1 addition and 2 deletions.
3 changes: 1 addition & 2 deletions net/ipv4/inet_connection_sock.c
Original file line number Diff line number Diff line change
Expand Up @@ -461,8 +461,7 @@ void inet_csk_reqsk_queue_prune(struct sock *parent,
reqp=&lopt->syn_table[i];
while ((req = *reqp) != NULL) {
if (time_after_eq(now, req->expires)) {
if ((req->retrans < thresh ||
(inet_rsk(req)->acked && req->retrans < max_retries))
if ((req->retrans < (inet_rsk(req)->acked ? max_retries : thresh))
&& !req->rsk_ops->rtx_syn_ack(parent, req)) {
unsigned long timeo;

Expand Down

0 comments on commit 539fae8

Please sign in to comment.