EasyManua.ls Logo

Broadcom BCM5722 - Receive Producer Ring; Receive Return Rings; Table 14: Receive Return Rings

Broadcom BCM5722
593 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
BCM5722 Programmer’s Guide
10/15/07
Broadcom Corporation
Page 49 Document 5722-PG101-R
Receive Producer Ring
The receive producer ring resides in the host and points to empty host receive buffers that will later be filled with received
packet data. The controller will internally cache a copy of the producer ring. When the host software driver has a free host
receive packet buffer available for incoming packets, it will fill out a receive buffer descriptor and have that descriptor point
to the available buffer. Host software will then update the producer index for that receive producer ring to indicate to the
controller that there is a newly available receive buffer. After the controller fetches and caches (e.g., consumes) this receive
producer descriptor, the controller will update the consumer index of the receive producer ring.
Receive Return Rings
When the NIC receives a packet, it will DMA that packet to a host receive packet data buffer pointed to by the available
receive buffer descriptor (see Section 6: “Receive Data Flow” on page 59). Earlier the NIC will have received ownership of
that data buffer via an update of the producer index of receive producer ring. After the controller does the packet data write
DMA, it will DMA a corresponding buffer descriptor into the appropriate receive return ring. The buffer descriptor that is
returned in the receive return ring will be slightly modified from the original buffer descriptor that the controller fetched out of
the receive producer ring. After the controller has completed the DMA of the receive return ring descriptor, the controller will
update its internal copy of the producer index for that particular receive return ring. That new value for that receive return
ring producer index will be included in the next status block update that is made to the host. The updated value of receive
return ring producer index in status block will be used by host software in determining whether new packets have been
received or not.
The BCM5755/BCM5755M devices support up to four Receive Return Rings. Multiple Receive Return Rings are used by
BCM5755/BCM5755M devices for supporting the Receive Side Scaling (RSS). Multiple receive return rings can also be
utilized by host software to select varying levels of priority and thus support varying levels of quality of service. The
BCM5787/BCM5787M/BCM5906/BCM5906M/BCM5754/BCM5754M devices support only one Receive Return Ring.
Table 14: Receive Return Rings
Description
BCM5787/BCM5787M/BCM5754/
BCM5754M
BCM5755/BCM5755M
Number of Rings 1 4
Buffer Descriptor Size (bytes) 32 32
Host Ring Size (# of Buffer Descriptors) Configurable to either 32 or 64 or 128 or
256 or 512
Configurable to either 32 or 64 or 128 or
256 or 512
NIC Cache Size (# of Buffer Descriptors) 0 0

Table of Contents