Large Segment Offload
BCM5718 Programmer’s Guide
Broadcom
®
January 29, 2016 • 5718-PG108-R
Page 115
The driver should zero the TCP checksum field in the offloaded TCP packet, but leave the IP checksum alone.
This requirement may change with newer NetXtreme controllers.
Broadcom drivers enable long burst by default in the Read DMA Mode register (0x4800 bits 17:16 = 11 binary
= 4k byte burst size).
Do not set TxFIFO Underrun Prevention Enable (bit 31) in the Buffer Manager Mode register 0x4400.
Do not set bit 5 (Multiple Segment Enable) in 0xC00 (Send Data Initiator Mode register).
Example TCP-segmentation-related (LSO) register values
Source: Broadcom tg3 Linux driver with BCM5764M NIC
0x4800
08033BFE
Read DMA Mode Register
0x0C00
0000000A
Send Data Initiator Mode Register
0x0CF4
50000020
Pre-DMA Command Exchange for Segmentation
0x0CEC
00040028
DMA Flag Register for TCP Segmentation
0x1008
A0000000
Pre-DMA Command Exchange for Segmentation
0x0CE8
00000036
Length/Offset Register for Segmentation
0x0CF0
00000000
VLAN Tag Register for TCP Segmentation