TCP_DELACK_MIN vs TCP_ATO_MIN
daniel.baluta at gmail.com
Wed Sep 21 08:59:54 EDT 2011
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
so for this reason I plan to make TCP_DELACK_MIN and TCP_DELACK_MAX
tunable via proc entries.
More information about the Kernelnewbies