Intel 324632-003 Switch User Manual


 
Intel
®
82575EB Gigabit Ethernet Controller — Receive UDP Fragmentation Checksum
Intel
®
82575EB Gigabit Ethernet Controller 324632-003
Software Developer’s Manual and EEPROM Guide Revision: 2.1
116 January 2011
5.3.4.11 VLAN Tag Field
Hardware stores additional information in the receive descriptor for 802.1q packets. If the packet type
is 802.1q (determined when a packet matches VET and RCTL.VME = 1b), then the VLAN Tag field
records the VLAN information and the four-byte VLAN information is stripped from the packet data
storage. Otherwise, the VLAN Tag field contains 0000h.
Table 32. VLAN Tag Field Layout for 802.1g Packets
5.3.5 Receive UDP Fragmentation Checksum
The 82575 provides Receive fragmented UDP checksum offload. The following setup should be made to
enable this mode:
1. RXCSUM.PCSD bit should be cleared. The Packet Checksum and IP Identification fields are mutually
exclusive with the RSS hash. When the PCSD bit is cleared, the Packet Checksum and IP
Identification are active instead of RSS hash.
2. RXCSUM.IPPCSE bit should be set. This field enables the IP payload checksum enable that is
designed for the fragmented UDP checksum.
3. RXCSUM.PCSS field must be zero. The packet checksum start should be zero to enable auto start of
the checksum calculation. Refer to the table that follows w for exact description of the checksum
calculation.
Note: When the software device driver computes the “16-bit 1’s complement” checksum on the
incoming packets of the UDP fragments, it should expect a value of FFFFh.
5.3.6 Receive Descriptor Fetching
The fetching algorithm attempts to make the best use of PCIe* bandwidth by fetching a cache-line (or
more) descriptor with each burst. The following paragraphs briefly describe the descriptor fetch
algorithm and the software control provided.
When the on-chip buffer is empty, a fetch happens as soon as any descriptors are made available (host
writes to the tail pointer). When the on-chip buffer is nearly empty (RXDCTL.PTHRESH), a prefetch is
performed each time enough valid descriptors (RXDCTL.HTHRESH) are available in host memory
15 13 12 11 0
PRI CFI VLAN
Incoming Packet Type Packet Checksum UDPV UDPCS/TCPCS
Non IPv4 packet. Unadjusted “16 bit ones complement”
checksum of the entire packet (excluding VLAN
header).
0b 0b/0b
Non fragmented IPv4
packet.
Same as above. 0b Depends on the Transport
header and TUOFL field.
Fragmented IPv4 without
transport header.
The unadjusted 1b’s complement checksum of
the IP payload.
0b 1b/0b
Fragmented IPv4 with
UDP header.
Same as above. 1b if the UDP
header checksum is
valid (not 0b).
1b/0b