English
Language : 

82598EB Datasheet, PDF (262/596 Pages) Intel Corporation – Intel® 82598EB 10 Gigabit Ethernet Controller Datasheet
Intel® 82598EB 10 GbE Controller - Transmit Functionality
Figure 3-32. TCP Header (Little Endian)
The TCP header is always a multiple of 32-bit words. TCP options can occupy space at the end of the
TCP header and are a multiple of eight bits in length. All options are included in the checksum.
The checksum also covers a 96-bit pseudo header conceptually prefixed to the TCP header (see
Figure 3-33). For IPv4 packets, this pseudo header contains the IP Source Address, the IP Destination
Address, the IP Protocol field, and TCP Length. Software pre-calculates the partial pseudo header sum,
which includes IPv4 SA, DA and protocol types, but NOT the TCP length, and stores this value into the
TCP checksum field of the packet. For both IPv4 and IPv6, hardware needs to factor in the TCP length to
the software supplied pseudo header partial checksum.
Note:
When calculating the TCP pseudo header, one common question is whether the Protocol ID
field is added to the lower or upper byte of the 16-bit sum. The Protocol ID field should be
added to the least significant byte (LSB) of the 16-bit pseudo header sum, where the most
significant byte (MSB) of the 16-bit sum is the byte that corresponds to the first checksum
byte out on the wire.
The TCP Length field is the TCP header length including option fields plus the data length in bytes,
which is calculated by hardware on a frame-by-frame basis. The TCP length does not count the 12 bytes
of the pseudo header. The TCP length of the packet is determined by hardware as:
• TCP Length = min(MSS,PAYLOADLEN) + L5_LEN
The two flags that can be modified are defined as:
• PSH – receiver should pass this data to the application without delay
• FIN – sender is finished sending data
The handling of these flags is described in Section 3.5.3.4.7, IP/TCP/UDP Header Updating.
Payload is normally MSS except for the last packet where it represents the remainder of the payload.
Zero
IPv4 Source Address
IPv4 Destination Address
Layer4
Protocol ID
TCP/UDP Length
Figure 3-33. TCP/UDP Pseudo Header Content for IPv4 (Traditional Representation)
262