BCM5722 Programmer’s Guide
10/15/07
Broadcom Corporation
Page 51 Document 5722-PG101-R
• The Type field is used internally by the controller. In producer rings it should be set to 0, and in return rings it should be
ignored by host software.
• The TCP_UDP_Cksum field holds the TCP/UDP checksum that the controller calculated for all data following the IP
header given the length defined in the IP header. If the Receive No Pseudo-header Checksum bit is set (see “Mode
Control Register (Offset 0x6800)” on page 333) to 1, then the pseudo-header checksum value is not added to this
value. Otherwise, the TCP_UDP_Cksum field includes the pseudo-header in the controller’s calculation of the TCP or
UDP checksum. If the packet is not a TCP or UDP packet, this field has no meaning. Host software should zero this
value in the producer ring descriptors. If the host is capable of TCP or UDP checksum off load, then host software may
examine this field in the return rings to determine if the TCP or UDP checksum was correct.
• The IP_Cksum field holds the IPv4 checksum that the controller calculated for the IPv4 header of the received packet. If
the packet is not an IPv4 packet, this field has no meaning. Host software should zero this value in the producer ring
descriptors. If the host is capable of IPv4 checksum off load, then host software may examine this field in the return
rings to determine if the IPv4 checksum was correct. A correct value would be 0 or 0xFFFF.
• The VLAN Tag field is only valid when the VLAN_TAG bit is set. This field contains the 16-bit VLAN ID that was
extracted from an incoming packet that had an IEEE 802.1Q (and IEEE 802.3ac) -compliant header.
• The Error_Flags field contains bits flags that contain error information about an incoming packet that the descriptor is
associated with. The bits in this field are only valid if the FRAME_HAS_ERROR bit is set in the Flags field in the
descriptor. The defined error flags are listed in Table 17.
9:7 RSS Hash Type (BCM5755
and BCM5755M only)
Indicates the hash type used in RSS hash calculation for a received packet.
6 VLAN_TAG* If set to 1 in a return ring, it indicates that the packet associated with this buffer
contained a four-byte IEEE 802.1Q VLAN tag. The 16 VLAN ID is stripped from the
packet and located in the VLAN tag field in the descriptor.
5 BD_FLAG_JUMBO_RING Indicates that this packet came from the Jumbo Receive Ring, not the Standard
Receive Ring (for receive BDs only). This must be set by the driver; it is just copied
through opaquely by the NIC firmware.
Note: Jumbo frames are not supported by BCM5755, BCM5755M, BCM5787,
BCM5787M, BCM5906, BCM5906M, BCM5754, or BCM5754M.
4 Reserved Should be set to 0.
3 RSS_Hash Valid (BCM5755
and BCM5755M only)
If set to 1, indicates host that the RSS_Hash in Receive BD of return ring is valid.
2 PACKET_END If set to 1, the packet ends with the data in the buffer pointed to by this descriptor.
1:0 Reserved Should be set to 0.
Table 16: Defined Flags for Receive Buffers (Cont.)
Bits Name Description