The KB seems confusingly worded and outdated.
The key here is that the reference adapters are specified as "this or greater". These are really old NIC chips and pretty much all of today's server NICs do support TSO.
To check the host TSO state you can run these commands on the shell/SSH:
~ # esxcli network nic tso get
NIC Value
------ -----
vmnic0 on
vmnic1 on
vmnic2 on
vmnic3 on
vmnic4 on
vmnic5 on
~ # ethtool -k vmnic0
Offload parameters for vmnic0:
Cannot get device udp large send offload settings: Function not implemented
Cannot get device generic segmentation offload settings: Function not implemented
rx-checksumming: on
tx-checksumming: on
scatter-gather: on
tcp segmentation offload: on
udp fragmentation offload: off
generic segmentation offload: off
~ # ethtool -k vmnic2
Offload parameters for vmnic2:
Cannot get device udp large send offload settings: Function not implemented
Cannot get device generic segmentation offload settings: Function not implemented
rx-checksumming: on
tx-checksumming: on
scatter-gather: on
tcp segmentation offload: on
udp fragmentation offload: off
generic segmentation offload: off
On Windows you should use vmxnet3 and run this command to check the current state:
C:\> netsh int tcp show global
Querying active state...
TCP Global Parameters
----------------------------------------------
Receive-Side Scaling State : enabled
Chimney Offload State : disabled
NetDMA State : disabled
Direct Cache Access (DCA) : disabled
Receive Window Auto-Tuning Level : normal
Add-On Congestion Control Provider : none
ECN Capability : enabled
RFC 1323 Timestamps : disabled
Initial RTO : 3000
Receive Segment Coalescing State : enabled
Non Sack Rtt Resiliency : disabled
Max SYN Retransmissions : 2
If it's disabled, you can enable it on Windows with:
netsh int tcp set global chimney=enabled