TCP segmentation offload

You can use TCP segmentation offload support to have the TCP/IP stack offload most IPv4 and IPv6 outbound TCP segmentation processing in QDIO mode to an OSA-Express® feature. You can configure this function by specifying the SEGMENTATIONOFFLOAD parameter on the IPCONFIG or IPCONFIG6 profile statement. You must also offload checksum processing to the OSA-Express feature to enable segmentation offload. The TCP/IP stack performs TCP segmentation processing in the following cases in which segmentation cannot be offloaded:

  • IPv6 packets sent to and from OSA-Express features that support only IPv4 segmentation offload (OSA-Express3 and earlier features)
  • Packets that go directly to another stack that shares the same OSA-Express port
  • IPSec-encapsulated packets
  • When multipath is in effect (unless all interfaces in the multipath group support segmentation offload)
  • When the SEGMENTATIONOFFLOAD parameter is not specified on the IPCONFIG or IPCONFIG6 statement
Tip: Applications that use large TCP send buffers will obtain the most benefit from TCP segmentation offload. The size of the TCP receive buffer on the other side of the TCP connection also affects the negotiated buffer size. You can control the size of these buffers using the following mechanisms:
  • The TCPSENDBFRSIZE parameter on the TCPCONFIG statement sets the default TCP send buffer size for all applications.
  • An application can use the SO_SNDBUF socket option to override the default TCP send buffer size.
  • The TCPRCVBUFRSIZE parameter on the TCPCONFIG statement sets the default TCP receive buffer size for all applications.
  • An application can use the SO_RCVBUF socket option to override the default TCP receive buffer size.
Requirement: To determine the OSA microcode level required to use TCP segmentation offload support, see the Preventive Service Planning (PSP) bucket for the appropriate device.