English
Language : 

EP80579 Datasheet, PDF (1389/1916 Pages) Intel Corporation – Intel® EP80579 Integrated Processor Product Line
Intel® EP80579 Integrated Processor
37.5.7.9 IP/TCP/UDP Header Updating
IP/TCP/UDP header is updated for each outgoing frame based on the IP/TCP header
prototype which hardware DMA’s from the first descriptor(s) and stores in hardware.
The IP/TCP/UDP headers are fetched from host memory into a 240 byte header buffer
once for each TCP segmentation context (for performance reasons, this header is not
fetched again for each additional packet that will be derived from the TCP segmentation
process). The checksum fields and other header information are later updated on a
frame by frame basis. The updating process is performed concurrently with the packet
data fetch.
The following sections define what fields are modified by hardware during the TCP
Segmentation process by the GbE.
37.5.7.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 = 1, it is cleared in the first frame.
— If PSH flag =1, it is cleared in the first frame.
— TCP Checksum
• UDP Header
— UDP length: MSS + HDRLEN - TUCSS
— UDP Checksum
37.5.7.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 (wraps around)
— IP Total Length = MSS + HDRLEN - IPCSS
— IP Checksum
• IPv6 Header
— Payload Length = MSS + HDRLEN - 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.
August 2009
Order Number: 320066-003US
Intel® EP80579 Integrated Processor Product Line Datasheet
1389