EasyManuals Logo

Broadcom NetXtreme/NetLink BCM5718 Series User Manual

Broadcom NetXtreme/NetLink BCM5718 Series
593 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Page #110 background imageLoading...
Page #110 background image
Large Segment OffloadBCM5718 Programmer’s Guide
Broadcom®
January 29, 2016 5718-PG108-R Page 110
Large Segment Offload
In computer networking, large segment offload (LSO) is a technique for increasing outbound throughput of high-
bandwidth network connections by reducing host CPU overhead. This is done by queuing up large TCP packets
letting the Ethernet controller split them into separate (smaller) TCP packets to be transmitted onto the network.
The technique is also called TCP segmentation offload (TSO) or, more generically, LSO.
When large blocks of data are to be sent over a computer network they must be first broken down to smaller
segments that can pass through all of the network elements such as routers and switches between the source
and destination computers. This process is referred to as segmentation.
For example, a large TCP packet of 64 KB (65,536 bytes) of data is usually segmented into 46 segments of 1448
bytes each before being sent over the network through the Ethernet controller chip. With some intelligence in
the controller, the host CPU can hand over a 64k byte TCP packet directly to the controller in a single transmit
request and the controller can break the large TCP packet down into smaller segments of 1448 bytes, add the
TCP, IP, and data link layer protocol headers to each segment, and send the resulting frames over the network.
This significantly reduces the work done by the host CPU.
Some Broadcom Ethernet controllers, such as the BCM5718, also support using jumbo sized frames (up to
9,216 bytes) as the individual frame size into which a large offloaded TCP packet is segmented into.
QuickStart
Follow the steps to enable LSO:
1. Zero TCP checksum field in offloaded packet (leave IP checksum field alone)
2. Set register 0x0C00[3]=1: Enable hardware LSO preDMA processing
3. Set register 0x4800[27]=1: Enable hardware processing of LSO IPv4 packets
4. Set register 0x4800[28]=1: Enable hardware processing of LSO IPv6 packets (if desired)
5. Set Send BD Flags[8]=1: CPU pre-DMA
6. Set Send BD Flags[9]=1: CPU post-DMA
7. See LSO Limitations section below
Note: The UDP checksum engine does not span IP fragmented frames.
Note: The Ethernet controller does not validate the value of the Length field and may generate an
error on the PCI bus if the Length field has a value of 0. The host driver must ensure that the Length
field is nonzero before enqueueing the BD onto the Send Ring.
Note: The BCM5718 family added to ability to use jumbo sized frames simultaneous with LSO.

Table of Contents

Questions and Answers:

Question and Answer IconNeed help?

Do you have a question about the Broadcom NetXtreme/NetLink BCM5718 Series and is the answer not in the manual?

Broadcom NetXtreme/NetLink BCM5718 Series Specifications

General IconGeneral
BrandBroadcom
ModelNetXtreme/NetLink BCM5718 Series
CategoryController
LanguageEnglish

Related product manuals