Intel 324632-003 Switch User Manual


 
Intel
®
82575EB Gigabit Ethernet Controller — IP/TCP/UDP Transmit Checksum Offloading
Intel
®
82575EB Gigabit Ethernet Controller 324632-003
Software Developer’s Manual and EEPROM Guide Revision: 2.1
158 January 2011
UDP Checksum
5.8.7.3 TCP/IP/UDP Header for the Last Frame
Hardware makes the following changes to the headers for the last frame of a TCP segmentation
context:
Note: Last frame payload bytes = PAYLEN – (N * MSS)
MAC Header (for SNAP packets)
Type/LEN field = last frame payload bytes + MACLEN + IPLEN + L4LEN – 14
IPv4 Header
IP Total Length = last frame payload bytes + L4LEN) + IPLEN
IP Identification: incremented from last value (wrap around configurable based on a 15 bit
width or 16-bit width)
IP Checksum
IPv6 Header
Payload Length = last frame payload bytes + L4LEN + IPV6_HDR_extension
TCP Header
Sequence Number update: Add previous TCP payload size to the previous sequence number
value. This is equivalent to adding the MSS to the previous sequence number.
If FIN flag = 1b, set it in this last frame
If PSH flag =1b, set it in this last frame
TCP Checksum
UDP Header
UDP length: last frame payload bytes + L4LEN
UDP Checksum
5.9 IP/TCP/UDP Transmit Checksum
Offloading
The 82575 performs checksum offloading as an optional part of the TCP/UDP segmentation offload
feature. These specific checksums are supported under TCP segmentation:
IPv4 checksum
TCP checksum
UDP checksum
Checksum offloading can also be performed in a single-send packet.
Note: For tunneled packets, hardware can perform either an IPv4 checksum or TCP checksum but
not both.