Receive Packet Checksum Offloading — Intel
®
82575EB Gigabit Ethernet Controller
324632-003 Intel
®
82575EB Gigabit Ethernet Controller
Revision: 2.1 Software Developer’s Manual and EEPROM Guide
January 2011 131
Table 34 lists the general details about what packets are processed. In more detail, the packets are
passed through a series of filters to determine if a receive checksum is calculated.
5.5.1.1 MAC Address Filter
This filter checks the MAC destination address to be sure it is valid (IA match, broadcast, multicast,
etc.). The receive configuration settings determine which MAC addresses are accepted. See the various
receive control configuration registers such as RCTL (RTCL.UPE, RCTL.MPE, RCTL.BAM), MTA, RAL, and
RAH.
5.5.1.2 SNAP/VLAN Filter
This filter checks the next headers looking for an IP header. It is capable of decoding Ethernet II,
Ethernet SNAP, and IEEE 802.3ac headers. It skips past any of these intermediate headers and looks
for the IP header. The receive configuration settings determine which next headers are accepted. See
the various receive control configuration registers such as RCTL (RCTL.VFE), VET, and VFTA.
5.5.1.3 IPv4 Filter
This filter checks for valid IPv4 headers. The version field is checked for a correct value (4). IPv4
headers are accepted if they are any size greater than or equal to 5 (Dwords). If the IPv4 header is
properly decoded, the IP checksum is checked for validity. The RXCSUM.IPOFL bit must be set for this
filter to pass.
5.5.1.4 IPv6 Filter
This filter checks for valid IPv6 headers, which are a fixed size and have no checksum. The IPv6
extension headers accepted are: Hop-by-Hop, Destination Options, and Routing. The maximum size
next header accepted is 16 Dwords (64 bytes).
IPv6 tunnels:
• IPv4 packet in an IPv6 tunnel
• IPv6 packet in an IPv6 tunnel
No
No
No
No
Packet is an IPv4 fragment Yes No
Packet is greater than 1552 bytes; (LPE=1b) Yes Yes
Packet has 802.3ac tag Yes Yes
IPv4 Packet has IP options
(IP header is longer than 20 bytes)
Yes Yes
Packet has TCP or UDP options Yes Yes
IP header’s protocol field contains a protocol #
other than TCP or UDP.
Yes No
1. For tunnels, the software device driver might only do the TCP checksum or Ipv4 checksum. If the TCP checksum is desired, the
software device driver should define the IP header length as the combined length of both IP headers in the packet. If an IPv4
checksum is required, the IP header length should be set to the Ipv4 header length.
Table 34. Supported Receive Checksum Capabilities
Packet Type HW IP Checksum Calculation HW TCP/UDP Checksum Calculation