English
Language : 

82598EB Datasheet, PDF (258/596 Pages) Intel Corporation – Intel® 82598EB 10 Gigabit Ethernet Controller Datasheet
Intel® 82598EB 10 GbE Controller - Transmit Functionality
Table 3-72. TCP/IP Packet Format
Ethernet
IPv4/IPv6
TCP/UDP
DATA
FCS
Frame formats supported by the 82598 include:
• Ethernet 802.3
• IEEE 802.1Q VLAN (Ethernet 802.3ac)
• Ethernet Type 2
• Ethernet SNAP
• IPv4 headers with options
• IPv6 headers with extensions
• TCP with options
• UDP with options
VLAN tag insertion is handled by hardware.
Note:
IP tunneled packets are not supported for offloading under large send operation.
The 82598 does not support full offload of ECN bits in the TCP header via TCP segmentation
to resolve when ever an ECN response is needed software can send the first segment with the
CWR bit set and the rest of the segments offloaded as TSO with the CWR bit clear.
3.5.3.4.4 TCP Segmentation Indication
Software indicates a TCP segmentation transmission context to the hardware by setting up a TCP/IP
context transmit descriptor (see Section 3.5.3.3). The purpose of this descriptor is to provide
information to the hardware to be used during the TCP segmentation offload process.
Setting the TSE bit in the DCMD field to 1b indicates that this descriptor refers to the TCP segmentation
context (as opposed to the normal checksum offloading context). This causes the checksum offloading,
packet length, header length, and maximum segment size parameters to be loaded from the descriptor
into the 82598.
The TCP segmentation prototype header is taken from the packet data itself. Software must identity the
type of packet that is being sent (IPv4/IPv6, TCP/UDP, other), calculate appropriate checksum
offloading values for the desired checksums, and calculate the length of the header which is prepended.
The header can be up to 240 bytes in length.
Once the TCP segmentation context has been set, the next descriptor provides the initial data to
transfer. This first descriptor(s) must point to a packet of the type indicated. Furthermore, the data it
points to might need to be modified by software as it serves as the prototype header for all packets
within the TCP segmentation context. The following sections describe the supported packet types and
the various updates which are performed by hardware. This should be used as a guide to determine
what must be modified in the original packet header to make it a suitable prototype header.
The following summarizes the fields considered by the software device driver for modification in
constructing the prototype header.
IP Header
• Length should be set to zero
For IPv4 headers
258