TCP_DEFER_ACCEPT updates - defer timeout conflicts with max_thresh
Subsystems (3)
PATCH RESEND 1/3 TCP_DEFER_ACCEPT updates - defer timeout conflicts with max_thresh
commit 077b5f8e36b93e5121f680c3bb327e7464020fd2
Author: Patrick McManus <[email protected]> Date: Sat Feb 23 12:23:47 2008 -0500
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.
---
net/ipv4/inet_connection_sock.c +1 -2
@@ -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,NULL )) {unsigned long timeo;
David Miller
maintainerYou didn't need to resend these, they are just very deep in my backlog and I just returned from a 10 day trip in Japan.
From: Patrick McManus <[email protected]>
Date: Thu, 20 Mar 2008 18:55:38 -0400
Quoted 11 lines
commit
077b5f8e36b93e5121f680c3bb327e7464020fd2Author: Patrick McManus <[email protected]> Date: Sat Feb 23 12:23:47 2008 -0500timeout associated with
SO_DEFER_ACCEPTwasn't being honored if it was less than the timeout allowed by the maximum syn-recv queue size algorithm. Fix by using theSO_DEFER_ACCEPTvalue if the ack has arrived.Signed-off-by Patrick McManus <[email protected]>Acked-by Eric Dumazet <[email protected]>
Applied to net-2.6.26, thanks.