Hard Processor System Technical Reference Manual: Agilex™ 5 SoCs

ID 814346
Date 4/01/2024
Public
Document Table of Contents

5.1.7.11. Setting up TCP Segmentation Offload

Use the following steps to set up the TCP segmentation offload (TSO).

  1. Program the TSE bit of corresponding DMA_CH(#i)_Tx_Control register to enable TCP packet segmentation in that DMA.
  2. In addition to the normal transfer descriptor setting, the following descriptor fields must be programmed to enable TSO for the current packet:
    1. Enable TSE in Bit 18 of TDES3.
    2. Program the length of the un-segmented TCP/IP packet payload in bits[17:0] of TDES3 and the TCP header in bits[22:19] of TDES3.
    3. Program the maximum size of the segment in:
      • MSS of DMA_CH(#i)_Control register or
      • MSS in the context descriptor
      If MSS field is programmed in both DMA_CH(#i)_Control register and in the context descriptor, the latest software programmed sequence is considered.
  3. The header of the unsegmented TCP/IP packet must be in buffer 1 of the first descriptor and this buffer must not hold any payload bytes. The payload can be allocated starting from buffer 2 of the first descriptor or any buffer of the subsequent descriptors.