git.samba.org
/
jlayton
/
linux.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
tcp: don't use timestamp from repaired skb-s to calculate RTT (v2)
[jlayton/linux.git]
/
net
/
ipv4
/
tcp_output.c
diff --git
a/net/ipv4/tcp_output.c
b/net/ipv4/tcp_output.c
index ef4a051de018d36ea77b17f6dafecea0c549bee2..ff3f0f75cc6c580a48ae81a60b37106bc741e364 100644
(file)
--- a/
net/ipv4/tcp_output.c
+++ b/
net/ipv4/tcp_output.c
@@
-1934,8
+1934,11
@@
static bool tcp_write_xmit(struct sock *sk, unsigned int mss_now, int nonagle,
tso_segs = tcp_init_tso_segs(sk, skb, mss_now);
BUG_ON(!tso_segs);
tso_segs = tcp_init_tso_segs(sk, skb, mss_now);
BUG_ON(!tso_segs);
- if (unlikely(tp->repair) && tp->repair_queue == TCP_SEND_QUEUE)
+ if (unlikely(tp->repair) && tp->repair_queue == TCP_SEND_QUEUE) {
+ /* "when" is used as a start point for the retransmit timer */
+ TCP_SKB_CB(skb)->when = tcp_time_stamp;
goto repair; /* Skip network transmission */
goto repair; /* Skip network transmission */
+ }
cwnd_quota = tcp_cwnd_test(tp, skb);
if (!cwnd_quota) {
cwnd_quota = tcp_cwnd_test(tp, skb);
if (!cwnd_quota) {