Large Segment Offload
BCM5718 Programmer’s Guide
Broadcom
®
January 29, 2016 • 5718-PG108-R
Page 113
The HDRLEN field is split into two fields within the SBD:
• A sub-field within the Flags field at a word offset of 0x08
• Adjacent to the MSS field at an offset of 0x0c
This field is used only for LSO buffers. Its value specifies the combined L3 and L4 header length in 4-byte
DWORDS for TCP/IPv4 or TCP/IPv6 packets. The value includes any option headers for IPv4, any extension
headers for IPv6, and any TCP options.
For a TCP/IPv4 packet without IP or TCP options, this field would have a value of 10 (decimal).
For a TCP/IPv6 packet without extension headers or TCP options, this field would have a value of 15 (decimal).
For a TCP/IPv6 packet with a hop-by-hop options extension header of length 8 bytes plus a TCP MSS option
(4 bytes), this field would have a value of 18 (decimal).
MSS[13:0]
This field is the size of the TCP segments into which a LSO segment is to be segmented into. Note that the MSS
field has been increased for some NetXtreme controllers (i.e., BCM5718) to hold a value specifying a jumbo
frame size.
Flags
See the table below.
Table 30: Flag Field Description
Bit #
Flag Name
Flag Description
0
TCP/UDP Checksum Offload
Enable
This bit enables calculation of TCP or UDP checksums for IPv4 and IPv6
transmitted packets. The driver will set this bit only if the packet contained
within a buffer is TCP or UDP over IPv4 or IPv6.
1
IP Checksum Offload Enable This bit enables calculation of the IPv4 layer-3 checksum. This bit will be
set only for IPv4 packets. The driver will never set it for IPv6 packets.
2
Packet End
This bit will be set for the last send buffer in a packet.
3
Jumbo Frame
Driver must set this bit to 1 if the MTU length of the Send Frame is >
1500B. The MTU length is the Ethernet payload length and excludes
Header length (and Trailer length). All BDs belonging to a Send Packet
must configure this bit identically.
4
HDRLEN[2]
The length of the Et IP + TCP Headers to be replicated in each
segment arising from Large TCP Segment Offload (LSO) activity.
5
Capture Time Stamp
(BCM5719/5720 only)
If this bit is 1, this frame’s launch time shall be captured in the TX Time-
Stamp Register.
6
VLAN TAG
When this bit is set, the NIC will insert a VLAN tag in the Ethernet header.
The value for the inserted tag is taken from the VLAN Tag field in the send
BD.
7
Coalesce Now
If this bit is set, then a status block with an updated send consumer index
will be DMA'd to the host as soon as this buffer's data has been DMA'd
from the host. An interrupt may or may not be generated depending on
the present state of interrupt avoidance mechanisms.