English
Language : 

82598EB Datasheet, PDF (242/596 Pages) Intel Corporation – Intel® 82598EB 10 Gigabit Ethernet Controller Datasheet
Intel® 82598EB 10 GbE Controller - Receive Functionality
IPv6 tunnels:
IPv4 packet in an IPv6 tunnel
IPv6 packet in an IPv6 tunnel
Packet is an IPv4 fragment
Packet Type
Packet is greater than 1522 bytes
Packet has 802.3ac tag
No
No
Yes
Hardware IP Checksum
Calculation
Yes
Yes
No
No
UDP checksum assist
Hardware TCP/UDP Checksum
Calculation
Yes
Yes
The previous table lists 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:
MAC Address Filter
This filter checks the MAC destination address to make 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 FCTRL, MCSTCTRL (RTCL.UPE, MCSTCTRL.MPE,
FCTRL.BAM), MTA, RAL, and RAH.
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 VLNCTRL.VFE, VLNCTRL.VET, and VFTA.
IPv4 Filter
This filter checks for valid IPv4 headers. The version field is checked for a correct value (four).
IPv4 headers are accepted if they are any size greater than or equal to five (dwords). If the IPv4 header
is properly decoded, the IP checksum is checked for validity.
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 Extension Headers
IPv4 and TCP provide header lengths, which allow hardware to easily navigate through these headers
on packet reception for calculating checksums and CRCs, etc. For receiving IPv6 packets, however,
there is no IP header length to help hardware find the packet's ULP (such as TCP or UDP) header. One
or more IPv6 Extension headers might exist in a packet between the basic IPv6 header and the ULP
header. The hardware must skip over these Extension headers to calculate the TCP or UDP checksum
for received packets.
The IPv6 header length without extensions is 40 bytes. The IPv6 field Next Header Type indicates what
type of header follows the IPv6 header at offset 40. It might be an upper layer protocol header such as
TCP or UDP (Next Header Type of 6 or 17, respectively), or it might indicate that an extension header
follows. The final extension header indicates with it's Next Header Type field the type of ULP header for
the packet.
242