Transmit Segmentation Offload (TSO)

Updated: May 06, 2022

Transmit Segmentation Offload (TSO) is a capability provided by some modern NIC cards.

See, for example, http://en.wikipedia.org/wiki/Large_segment_offload. Essentially, instead of the stack being responsible for breaking a large IP packet into MTU-sized packets, the driver does it. This greatly offloads the amount of CPU required to transmit large amounts of data.

You can tell if a driver supports TSO by typing ifconfig and looking at the capabilities section of the interface output. It will have tso marked as one of its capabilities. To configure the driver to use TSO, type (for example):

ifconfig wm0 tso4
ifconfig wm0 10.42.110.237