Created attachment 165382 [details] tcp keep-alive message sent with timestamp option. 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.
I believe r296455 by jtl@ fixed this. If not, please reopen.