Data Sheet

Inline Functions—Ethernet Controller I210
307
7.2.4.6 Transmit Checksum Offloading with TCP/UDP Segmentation
The I210 supports checksum off-loading as a component of the TCP Segmentation off-load feature and
as a standalone capability. Section 7.2.5 describes the interface for controlling the checksum off-
loading feature. This section describes the feature as it relates to TCP Segmentation.
The I210 supports IP and TCP header options in the checksum computation for packets that are derived
from the TCP Segmentation feature.
Note: The I210 is capable of computing one level of IP header checksum and one TCP/UDP header
and payload checksum. In case of multiple IP headers, the driver needs to compute all but
one IP header checksum. The I210 calculates check sums on the fly on a frame-by-frame
basis and inserts the result in the IP/TCP/UDP headers of each frame. TCP and UDP checksum
are a result of performing the checksum on all bytes of the payload and the pseudo header.
Two specific types of checksum are supported by the hardware in the context of the TCP Segmentation
off-load feature:
IPv4 checksum
TCP checksum
See Section 7.2.5 for description of checksum off loading of a single-send packet.
Each packet that is sent via the TCP segmentation off-load feature optionally includes the IPv4
checksum and either the TCP checksum.
All checksum calculations use a 16-bit wide one's complement checksum. The checksum word is
calculated on the outgoing data.
Table 7-44lists the conditions of when checksum off loading can/should be calculated.
Table 7-43. Supported Transmit Checksum Capabilities
Packet Type
Hardware IP Checksum
Calculation
Hardware TCP/UDP Checksum
Calculation
IP v4 packets Yes Yes
IP v6 packets
(no IP checksum in IPv6)
NA Yes
Packet is greater than 1518, 1522 or 1526 bytes;
(LPE=1b)
1
1. Depends on number of VLAN tags.
Yes Yes
Packet has 802.3ac tag Yes Yes
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
Table 7-44. Conditions for Checksum Offloading
Packet Type IPv4 TCP/UDP Reason
Non TSO Yes No IP Raw packet (non TCP/UDP protocol)