Intel 324632-003 Switch User Manual


 
IP/TCP/UDP Header Updating — Intel
®
82575EB Gigabit Ethernet Controller
324632-003 Intel
®
82575EB Gigabit Ethernet Controller
Revision: 2.1 Software Developer’s Manual and EEPROM Guide
January 2011 157
5.8.7.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.
MAC Header (for SNAP)
Type/Len field = MSS + MACLEN + IPLEN + L4LEN - 14
IPv4 Header
IP Total Length = MSS + L4LEN – IPLEN
IP Checksum
IPv6 Header
Payload Length = MSS + L4LEN + IPV6_HDR_extension
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 + L4LEN
UDP Checksum
5.8.7.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.
MAC Header (for SNAP packets)
Type/LEN field = MSS + MACLEN + IPLEN + L4LEN – 14
IPv4 Header
IP Identification: incremented from last value (wrap around)
IP Total Length = MSS + L4LEN + IPLEN
IP Checksum
IPv6 Header
Payload Length = MSS + L4LEN + IPV6_HDR_extension
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 + L4LEN