net-timestamp: fix missing ACK timestamp
authorWillem de Bruijn <willemb@google.com>
Tue, 12 Aug 2014 18:53:16 +0000 (14:53 -0400)
committerDavid S. Miller <davem@davemloft.net>
Thu, 14 Aug 2014 03:06:06 +0000 (20:06 -0700)
commit712a72213fad36cc9e6ec706b5e020d7eb6e03bc
tree7cc2a560a0b95d500b12c172f9e8b32b1d1321d1
parentcd094927c68718c8bda432c18e85b6ec3a9ee3d1
net-timestamp: fix missing ACK timestamp

ACK timestamps are generated in tcp_clean_rtx_queue. The TSO datapath
can break out early, causing the timestamp code to be skipped. Move
the code up before the break.

Reported-by: David S. Miller <davem@davemloft.net>
Also fix a boundary condition: tp->snd_una is the next unacknowledged
byte and between tests inclusive (a <= b <= c), so generate a an ACK
timestamp if (prior_snd_una <= tskey <= tp->snd_una - 1).

Signed-off-by: Willem de Bruijn <willemb@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/tcp_input.c