On Wed, Sep 23, 2015 at 1:30 PM, Neal Cardwell <ncardw...@google.com> wrote:
>
> On Wed, Sep 23, 2015 at 4:19 PM, Eric Dumazet <eric.duma...@gmail.com> wrote:
> > From: Eric Dumazet <eduma...@google.com>
> >
> > RST packets sent on behalf of TCP connections with TS option (RFC 7323
> > TCP timestamps) have incorrect TS val (set to 0), but correct TS ecr.
> >
> > A > B: Flags [S], seq 0, win 65535, options [mss 1000,nop,nop,TS val 100 
> > ecr 0], length 0
> > B > A: Flags [S.], seq 2444755794, ack 1, win 28960, options [mss 
> > 1460,nop,nop,TS val 7264344 ecr 100], length 0
> > A > B: Flags [.], ack 1, win 65535, options [nop,nop,TS val 110 ecr 
> > 7264344], length 0
> >
> > B > A: Flags [R.], seq 1, ack 1, win 28960, options [nop,nop,TS val 0 ecr 
> > 110], length 0
> >
> > We need to call skb_mstamp_get() to get proper TS val,
> > derived from skb->skb_mstamp
> >
> > Note that RFC 1323 was advocating to not send TS option in RST segment,
> > but RFC 7323 recommends the opposite :
> >
> >   Once TSopt has been successfully negotiated, that is both <SYN> and
> >   <SYN,ACK> contain TSopt, the TSopt MUST be sent in every non-<RST>
> >   segment for the duration of the connection, and SHOULD be sent in an
> >   <RST> segment (see Section 5.2 for details)
Nice comment. I think it's worth adding why we choose not to follow
RFC7323 sec 5.2 recommendation on setting TSval to 0?


>
> >
> > Fixes: 7faee5c0d514 ("tcp: remove TCP_SKB_CB(skb)->when")
> > Signed-off-by: Eric Dumazet <eduma...@google.com>
> > ---
>
> Acked-by: Neal Cardwell <ncardw...@google.com>
>
> Thanks, Eric!
>
> neal
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to