VMware has just released a new KB 57358 named ‘Low receive throughput when receive checksum offload is disabled and Receive Side Coalescing is enabled on Windows VM‘. This requires attention when configuring the VMXNET3 adapter on Windows operating systems (OS). However, it only affects virtual environments with VMware ESXi 6.0 and ESXi 6.5 only.
VMware states that it happens when the following conditions are met:
- Guest OS is Windows 2012 / Windows 8 or later
- VM hardware version 11 or later
- Virtual network adapter is VMXNET3
- Receive Side Coalescing (RSC) is enabled on the VMXNET3 driver on the guest OS
- Some or all of following receive checksum offloads have value Disabled or only Tx Enabled on the VMXNET3 driver on the guest operating system:
- IPv4 Checksum Offload
- TCP Checksum Offload (IPv4)
- TCP Checksum Offload (IPv6)
- UDP Checksum Offload (IPv4)
- UDP Checksum Offload (IPv6).
This shouldn’t be a problem if the VMXNET3 driver has the default settings.
For example, copying 3.4 gigabytes of data to the test VM via the 1Gbps link took me seconds.
With TCP Checksum Offload (IPv4) set to Tx Enabled on the VMXNET3 driver the same data takes ages to transfer.
VMware provides a workaround for this issue: you either need to disable RSC, if any of receive checksum offloads is disabled, or manually enable receive checksum offloads. The knowledge base includes the PowerShell commands that help to automate the latter.