Descriptor Rings
BCM5718 Programmer’s Guide
Broadcom
®
January 29, 2016 • 5718-PG108-R
Page 81
• When the RSS Hash Valid flag bit is 1, the RSS Hash field holds the 32-bit RSS hash value calculated for a
packet. This field should be ignored when the RSS Hash Valid flag bit is zero.
• The Opaque field is reserved for the host software driver. Any data placed in this field in a producer ring
descriptor will be passed through unchanged to the corresponding return ring descriptor.
Additional Ring Information for the BCM5718 Family
Rings in the BCM5718 Family are more complicated than in previous NetXtreme controllers. Before considering
ring structure details, first choose the mode of operation:
• Legacy
• RSS
• RSS+TSS
• IOV
Once the mode of operation is decided, determine if jumbo frames are to be used.
Setting ring sizes involves setting some ring sizes (such as the Rx Producer Rings) in registers and setting other
ring sizes (such as the Rx Return Rings) in memory locations (for example, the upper 16 bits of the 32 bit value
at memory offset 0x208 for Rx Return Ring number 0, rather than in a register). See
Register and Memory Map,” on page 580
for more information. A Ring Control Block (RCB) consists of four 32
bit words:
• host address high
• host address low
• len/flags
• NIC ring address
For example, the RX Return Ring size is set in the high 16 bits of 32bit value in device memory offset 0x208.
If using RSS or IOV, there are either 4 or 17 Rx Return and Producer rings. The 17th Rx ring is a default throw-
away ring for any Rx traffic that does not map to rings 0-3 (RSS) or 0-15 (IOV). Driver software only pulls valid
Rx BDs from 16 Rx Ret Rings (rings 0-15) in IOV mode.
For Rx Producer Rings, there are only 1 or 2 in non-IOV mode (the second one dedicated to the driver to supply
jumbo Rx BDs to the chip, if using jumbo frames). In RSS mode, there are up to 4. In IOV mode, there are up
to 16 (17, including the default ring).
The Tx path is simpler. Tx is 1 or 4 or 16 rings (legacy, TSS, or IOV) for giving Send BDs to the chip. Jumbo BDs
go onto the same Send ring as non-jumbos. There are no separate jumbo-dedicated Send ring(s) like there are
for Rx producer rings.
The max sizes of the various rings is as follow:
• Rx Ret: 4096
• Rx Prod: 2048
Note:
RSS (and/or TSS) and IOV are mutually exclusive.