Enabling TCP Segmentation Offload support for a virtual machine

 TCP Segmentation Offload (TSO) and Large Receive Offload (LRO) are two optimizations that can be used on physical and VM NICs. These optimizations can improve the performance of ESXi hosts by reducing the VMkernel CPU overhead for TCP/IP network operations; in this way, the host has more CPU cycles to run applications.

For more information, see KB 2055140 (https://kb.vmware.com/s/article/2055140)—Understanding TSO and LRO in a VMware environment.

If TSO is enabled on the transmission path, the NIC divides larger data chunks into TCP segments. If TSO is disabled, the CPU performs segmentation for TCP/IP.

TSO is referred to as Large Segment Offload or Large Send Offload ( LSO) in the latest vmxnet3 driver attributes.

By default, TSO is enabled in the VMkernel of the ESXi host, and in the vmxnet2 and vmxnet3 virtual machine adapters.

To disable at the host level, you can use the ethtool command (for each NIC), or better, the esxcli command:

esxcli system settings advanced set -o /Net/UseHwTSO -i 0

For more information, see the vSphere 6.5 Networking guide (https://docs.vmware.com/en/VMware-vSphere/6.5/com.vmware.vsphere.networking.doc/GUID-E105A601-9331-496C-A213-F76EA3863E31.html).