BCM5722 Programmer’s Guide
10/15/07
Broadcom Corporation
Page 47 Document 5722-PG101-R
• The Length field specifies the length of the data buffer. The lengths for the buffers associated with a given packet will
add up to the length of the packet.
• The VLAN Tag field is only valid when the VLAN_TAG bit of Flags field is set. This VLAN Tag field contains the 16-bit
VLAN tag that is to be inserted into an IEEE 802.1Q (and IEEE 802.3ac)-compliant packet by the controller. If VLAN tag
insertion is desired, this field (and the flag) should be set in the first descriptor for that packet (i.e., the descriptor that
points to the buffer that contains the Ethernet header).
• Maximum Segment Size (MSS): This field contains the MSS field used for transmitting the TCP packets when LSO is
enabled.
• HdrLen (MSS): The combined L3 and L4 Header Length in 4-byte DWORDS for TCP/IPv4 and TCP/IPv6 packets. This
field is used only for LSO (Large Send Offload) buffers and includes any option headers for IPv4, any extension headers
for IPv6, and any TCP options. For TCP/IPv4 packets without IPv4 options and TCP options, this field should be written
with a value of 10 to indicate the combined TCP and IPv4 Header Length of 40 bytes. For TCP/IPv6 packets without
IPv6 extension headers and TCP options, this field should be written with a value of 15 to indicate the combined TCP
and IPv6 Header Length of 60 bytes.
RECEIVE RINGS
The BCM5722 Ethernet controllers support two types of Receive Descriptor Rings: Producer Rings and Return Rings (see
Figure 23 on page 48). Descriptors in the Producer Rings point to free buffers in the host. When the controller receives a
packet and consumes a receive buffer, the controller will modify and write back the descriptor for the consumed buffer into
the given Receive Return Ring. Basically the Producer Rings contain descriptors that point to buffers that the controller is
free to use, whereas the Return Rings contain descriptors that the device has used and await processing from host software.
11 Reserved Should be set to 0.
14:12 HdrLen[7:5] Bits-7 to 5 of HdrLen field.
15 DON’T_GEN_CRC
a
If set to 1, the controller will not append an Ethernet CRC to the end of the frame.
a. Indicates that this bit should be set in all descriptors for a given packet if the desired capability is to be enabled for that
packet.
Note: The UDP checksum engine does not span IP fragmented frames.
Note: The BCM5722 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.
Table 13: Defined Flags for Send Buffer Descriptors (Cont.)
Bits Name Description