tcp keep-alive message sent without timestamp option

Yongmin Cho yongmincho82 at gmail.com
Thu Dec 24 06:39:17 UTC 2015


Hi, all.

I have checked tcp keep-alive in freebsd head.
According to RFC7323, tcp timestamp option must be sent with
keep-alive packet after timestamp option has been negotiated.
So I have tested this on linux-3.13.0.
tcp keep-alive message is sent with timestamp option on linux-3.13.0.
But on freebsd head, tcp keep-alive packet is sent without timestamp option
after negotiated. So I made patch file based on freebsd head.
Please check this patch file. any feedback will be welcome.

Thank you in advance for your answers!

According in RFC7323:
    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).  The TCP SHOULD
    remember this state by setting a flag, referred to as Snd.TS.OK,
    to one. If a non-<RST> segment is received without a TSopt, a TCP SHOULD
    silently drop the segment. A TCP MUST NOT abort a TCP connection
    because any segment lacks an expected TSopt.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: tcp_subr.diff
Type: text/x-diff
Size: 1521 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-net/attachments/20151224/a7dbbb92/attachment.diff>


More information about the freebsd-net mailing list