On Tue, 2017-05-16 at 14:00 -0700, Eric Dumazet wrote:
> TCP Timestamps option is defined in RFC 7323
> 
> Traditionally on linux, it has been tied to the internal
> 'jiffies' variable, because it had been a cheap and good enough
> generator.

...

> @@ -3003,7 +3004,7 @@ void tcp_rearm_rto(struct sock *sk)
>                       struct sk_buff *skb = tcp_write_queue_head(sk);
>                       const u32 rto_time_stamp =
>                               tcp_skb_timestamp(skb) + rto;
> -                     s32 delta = (s32)(rto_time_stamp - tcp_time_stamp);
> +                     s32 delta = (s32)(rto_time_stamp - tcp_jiffies32);
>                       /* delta may not be positive if the socket is locked
>                        * when the retrans timer fires and is rescheduled.
>                        */

RTO is broken, I will send a fix after tests.



Reply via email to