Intel 82546GB/EB Network Card 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