After the 3-way handshake is completed, i am interested in getting
the ack for the first request to be delayed so that it can be
piggybacked with the response.
I expected that setsockopt() TCP_QUICKACK option with a value of
0 will disable quickacks.
This should set tp->ack.pingpong to 1 and cause the ack to be delayed.
But looks like somehow pingpong value is reset to 0 and the ack is sent
immediately. What is the reason for this behaviour?
I noticed a couple of places where pingpong can be reset to 0, for ex.
while sending a dupack or retransmission. But i am not sure why it is
being reset to 0 at such an early stage of the connection.
Thanks
Sridhar
|