Intel PCI-X User Manual
Receive and Transmit Description
Software Developer’s Manual
67
3.5.9.1
TCP/IP/UDP Header for the First Frame
The hardware makes the following changes to the headers of the first packet that is derived from
each TCP segmentation context.
•
IPv4 Header
— IP Total Length = MSS + HDRLEN – IPCSS
— IP Checksum
— IPv6 Header
— Payload Length = MSS + HDRLEN - IPCSS
•
TCP Header
— Sequence Number: The value is the Sequence Number of the first TCP byte in this frame.
— If FIN flag = 1b, it is cleared in the first frame.
— If PSH flag =1b, it is cleared in the first frame.
— TCP Checksum
•
UDP Header
— UDP length: MSS + HDRLEN - TUCSS
— UDP Checksum
3.5.9.2
TCP/IP/UDP Header for the Subsequent Frames
The hardware makes the following changes to the headers for subsequent packets that are derived
as part of a TCP segmentation context:
Note: Number of bytes left for transmission = PAYLEN – (N * MSS). Where N is the number of frames
that have been transmitted.
•
IPv4 Header
— IP Identification: incremented from last value (wrap around)
— IP Total Length = MSS + HDRLEN – IPCSS
— IP Checksum
•
IPv6 Header
•
Payload Length = MSS + HRDLEN - IPCSS
•
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, it is cleared in these frames.
— If PSH flag =1b, it is cleared in these frames.
— TCP Checksum
•
UDP Header
— UDP Length: MSS + HDRLEN – TUCSS
— UDP Checksum