English
Language : 

82583V Datasheet, PDF (158/374 Pages) Intel Corporation – Intel® 82583V GbE Controller
82583V GbE Controller—Inline Functions
7.3.6.2
7.3.6.2.1
7.3.6.2.2
Note:
IP/TCP/UDP Header Updating
IP/TCP/UDP header is updated for each outgoing frame based on the IP/TCP header
prototype (partial pseudo-header) which the hardware gets from the first descriptor
and stores on chip. The IP/TCP/UDP headers are fetched from host memory into an on-
chip 240 byte header buffer once for each TCP segmentation context (for performance
reasons, this header is not fetched for each additional packet that will be derived from
the TCP segmentation process). The checksum fields and other header information are
updated on a frame-by-frame basis. The updating process is performed concurrently
with the packet data fetch.
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.
MAC Header (for SNAP)
• Type/Len field = MSS + HDRLEN - 14
IPv4 Header
• IP Total Length = MSS + HDRLEN - IPCSS
• IP Checksum
IPv6 Header
• Payload Length = MSS + HDRLEN - IPCSS - Ipv6Size (while Ipv6Size = 40Bytes)
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
TCP/IP/UDP Header for the Subsequent Frames
The hardware makes the following changes to the headers of the subsequent packets
that is derived from each TCP segmentation context.
Number of bytes left for transmission = PAYLEN - (N * MSS). Where N is the number of
frames that have been transmitted.
MAC Header (for SNAP Packets)
• Type/Len field = MSS + HDRLEN - 14
158