diff options
author | Eric Dumazet <edumazet@google.com> | 2017-10-27 06:21:40 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-10-28 12:08:04 +0200 |
commit | ee1836aec4f5a977c1699a311db4d9027ef21ac8 (patch) | |
tree | 9e8261b2d52181178fba19ae314221e4235cc062 /net/ipv4 | |
parent | tuntap: properly align skb->head before building skb (diff) | |
download | linux-ee1836aec4f5a977c1699a311db4d9027ef21ac8.tar.xz linux-ee1836aec4f5a977c1699a311db4d9027ef21ac8.zip |
tcp: refresh tp timestamp before tcp_mtu_probe()
In the unlikely event tcp_mtu_probe() is sending a packet, we
want tp->tcp_mstamp being as accurate as possible.
This means we need to call tcp_mstamp_refresh() a bit earlier in
tcp_write_xmit().
Fixes: 385e20706fac ("tcp: use tp->tcp_mstamp in output path")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4')
-rw-r--r-- | net/ipv4/tcp_output.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c index 1151870018e3..ae60dd3faed0 100644 --- a/net/ipv4/tcp_output.c +++ b/net/ipv4/tcp_output.c @@ -2239,6 +2239,7 @@ static bool tcp_write_xmit(struct sock *sk, unsigned int mss_now, int nonagle, sent_pkts = 0; + tcp_mstamp_refresh(tp); if (!push_one) { /* Do MTU probing. */ result = tcp_mtu_probe(sk); @@ -2250,7 +2251,6 @@ static bool tcp_write_xmit(struct sock *sk, unsigned int mss_now, int nonagle, } max_segs = tcp_tso_segs(sk, mss_now); - tcp_mstamp_refresh(tp); while ((skb = tcp_send_head(sk))) { unsigned int limit; |