Enabling and disabling TCP segmentation offload

Offloading the TCP segmentation operation from the Linux network stack to the adapter can lead to enhanced performance for interfaces with predominately large outgoing packets. TCP segmentation offload is supported for OSA connections on layer 3 only. VLAN interfaces inherit offload settings from their base interface.

Procedure

Outbound (TX) checksumming and scatter gather are prerequisites for TCP segmentation offload (TSO). You must turn on scatter gather and outbound checksumming before configuring TSO.
All three options can be turned on or off with a single ethtool command of the form:
# ethtool -K <interface_name> tx <value> sg <value> tso <value>
where <value> is either on or off.
Attention: When TCP segmentation is offloaded, the OSA feature performs the calculations. Offloaded calculations apply only to packets that go out to the LAN or come in from the LAN. Linux instances that share an OSA port exchange packages directly. The packages are forwarded by the OSA adapter but do not go out on the LAN and no TCP segmentation calculation is performed. The qeth device driver cannot detect this, and so cannot issue any warning about it.

Examples

  • To enable TSO for a network device eth0 issue:
    # ethtool -K eth0 tx on sg on tso on
  • To disable TSO for a network device eth0 issue:
    # ethtool -K eth0 tx off sg off tso off