How can I see whether tcp-offloading is enabled on a ubuntu server?

NIC properties and settings are typically displayed with the ethtool command. In this case the --show-offload option may provide insightful details.

But please bear in mind that you're using a virtual server with (para-) virtualised hardware and the features a virtual network adapter shows not necessarily correspond to what is done by the hypervisor which actually controls the hardware.


I saw this was answered already, but if you run Wireshark on a machine using TCP offloading, in the packet details it'll say that the checksum is incorrect for everything exiting the machine.


Maybe 4 years ago that was the default for Wireshark but in 2020 you must check the box under Edit->Preferences->Protocols->TCP called Validate the TCP checksum if possible. This will display TCP CHECKSUM INCORRECT for longish outgoing packets. You may then want to disable TCP Offload so that only TCP packets with invalid TCP checksums are displayed, if ever.

On MACOS this can be done inside a user's .bash_profile to re-enable after a new boot:

sudo sysctl net.link.generic.system.hwcksum_tx=0
sudo sysctl net.link.generic.system.hwcksum_rx=0