TCP_DELACK_MIN vs TCP_ATO_MIN
Daniel Baluta
daniel.baluta at gmail.com
Wed Sep 21 08:59:54 EDT 2011
Hello,
RFC2582, Section 4.2 says:
"... an ACK SHOULD be generated for at least every second
full-sized segment, and MUST be generated within 500 ms
of the arrival of the first unacknowledged packet. ".
I guess that the delayed ACK timeout is computed in tcp_send_delayed_ack:
===
void tcp_send_delayed_ack(struct sock *sk)
{
struct inet_connection_sock *icsk = inet_csk(sk);
int ato = icsk->icsk_ack.ato;
unsigned long timeout;
/* .... */
/* Stay within the limit we were given */
timeout = jiffies + ato;
====
Can one explain what is the difference between TCP_DELACK_MIN and
TCP_ATO_MIN, specifically if the timeout (ato) is always in the interval
[TCP_DELACK_MIN, TCP_DELACK_MAX] ?
I want to make the delayed ack timeout configurable as some guys tried
here [1],
so for this reason I plan to make TCP_DELACK_MIN and TCP_DELACK_MAX
tunable via proc entries.
thanks,
Daniel.
[1] http://kerneltrap.org/mailarchive/linux-netdev/2008/9/9/3245554
More information about the Kernelnewbies
mailing list