Large Segment Offload
BCM5718 Programmer’s Guide
Broadcom
®
January 29, 2016 • 5718-PG108-R
Page 114
LSO Limitations
The limitations of the SBD are listed below.
• MSS must not be less than 8 Bytes.
• LSO packet must be a TCP packet.
• IP length field must not be incorrect.
• TCP length field must not be incorrect.
• Total offloaded TCP payload length must be greater than the MSS selected in the SBD.
• For all LSO segments, SBD flag bit 8 and 9 (CPU pre-DMA and CPU post-DMA) must be set.
• LSO packet may not be IEEE 802.3 format with LLC and SNAP headers.
• L2 header must be contained within the very first SBD.
• IP header (IPv4 or IPv6), including IP options, must be contained within a single SBD.
• HdrLen[7:0] field must be correct in SBD.
• DONT_GEN_CRC must not be set in a SBD for an LSO packet.
• SNAP field must not be set in the SBD for an LSO packet.
• TCP Header, including TCP Options, must be contained within a single SBD.
• The total length for all headers (L2/L3/L4) combined, plus options, may not exceed 200 bytes.
Additional LSO Notes
The TCP/UDP and IP checksum offload enable bits in the SBD may be either set or cleared. The hardware still
works as expected when LSO is in use (i.e., checksums are calculated/inserted by the hardware since this is a
natural requirement for doing LSO).
8
CPU Pre-DMA
If this bit is set, then the CPU will be required to act upon the buffer before
the send data initiator state machine is kicked off. Alternately, if hardware
LSO is enabled and this bit is set in conjunction with CPU Post-DMA,
then this buffer will be treated as part of an LSO segment to be further
segmented by hardware.
9
CPU Post-DMA
If this bit is set, then the CPU will be required to act upon the buffer before
the send data completion state machine is kicked off. Alternately, if
hardware LSO is enabled and this bit is set in conjunction with CPU Pre-
DMA, then this buffer will be treated as part of an LSO segment to be
further segmented by hardware.
10
HDRLEN[3]
The length of the Ether + IP + TCP Headers (combined) to be replicated
in each frame arising from Large TCP Segment Offload activity (LSO).
Maximum HDRLEN could be 200B.
11
HDRLEN[4]
12
HDRLEN[5]
13
HDRLEN[6]
14
HDRLEN[7]
15
Do Not Generate CRC
If set to 1, the controller will not append an Ethernet CRC to the end of
the frame.
Table 30: Flag Field Description (Cont.)
Bit #
Flag Name
Flag Description