VMware Cloud Community
gusev
Contributor
Contributor

ESX 6.5 TCP keepalive with missed TSopt

Hi. I use ESX 6.5.


When I added datastore via NFSv3 or NFSv4 protocol I got a lot of RST packets from ESX due to NFS server didn't answer on keepalive TCP messages that was previously sent by ESX.

Investigation shown that ESX was sending keepalive TCP message without TSopt, but connection was initiated with timestamp.

This behaviour does not conform to 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.

Reply
0 Kudos
0 Replies