Data Sheet

Inline Functions—Ethernet Controller I210
269
Note: The I210 does not support null descriptors (a descriptor with a packet or header address that
is always equal to zero).
When software sets the NSE bit in the receive descriptor, the I210 places the received packet
associated with this descriptor in memory at the packet buffer address with NSE set in the PCIe
attribute fields. NSE does not affect the data written to the header buffer address.
When a packet spans more than one descriptor, the header buffer address is not used for the second,
third, etc. descriptors; only the packet buffer address is used in this case.
NSE is enabled for packet buffers that the software device driver knows have not been touched by the
processor since the last time they were used, so the data cannot be in the processor cache and snoop is
always a miss. Avoiding these snoop misses improves system performance. No-snoop is particularly
useful when the DMA engine is moving the data from the packet buffer into application buffers, and the
software device driver is using the information in the header buffer for its work with the packet.
Note: When No-Snoop Enable is used, relaxed ordering should also be enabled with
CTRL_EXT.RO_DIS.
7.1.4.2.2 Advanced Receive Descriptors (RDESC) - Write-back Format
When the I210 writes back the descriptors, it uses the descriptor format shown in Table 7-10.
Note: SRRCTL[n]. DESCTYPE must be set to a value other than 000b for the I210 to write back the
special descriptors.
RSS Type (4)
Table 7-10. RDESC Descriptor Write-back Format
63 48 47 35 34 32 31 30 21 20 19 18 17 16 4 3 0
0
RSS Hash Value/
{Fragment Checksum, IP identification}
SPH HDR_LEN[9:0] HDR_LEN[11:10] RSV Packet Type RSS Type
8 VLAN Tag PKT_LEN Extended Error Extended Status
Table 7-11. RSS Type
Packet Type Description
0x0 No hash computation done for this packet.
0x1 HASH_TCP_IPV4
0x2 HASH_IPV4
0x3 HASH_TCP_IPV6
0x4 HASH_IPV6_EX
0x5 HASH_IPV6
0x6 HASH_TCP_IPV6_EX
0x7 HASH_UDP_IPV4