Intel Gigabit Ethernet Controllers Benutzerhandbuch

Seite von 406
Receive and Transmit Description
 Software Developer’s Manual
59
IPv4 Header
— Length should be set to zero
— Identification Field should be set as appropriate for first packet of send (if not already)
— Header Checksum should be zeroed out unless some adjustment is needed by the driver 
IPv6 Header
— Length should be set to zero
TCP Header
— Sequence Number should be set as appropriate for first packet of send (if not already)
— PSH, and FIN flags should be set as appropriate for last packet of send
— TCP Checksum should be set to the partial pseudo-header checksum as follows:
Figure 3-7. TCP Partial Pseudo-Header Checksum
UDP Header
— Checksum should be set as in TCP header, above
The Ethernet controller’s DMA function fetches the ethernet, IP, and TCP/UDP prototype header 
information from the initial descriptor(s) and save them on-chip for individual packet header gen-
eration. The following sections describe the updating process performed by the hardware for each 
frame sent using the TCP Segmentation capability.
3.5.6
TCP Segmentation Use of Multiple Data Descriptors
TCP Segmentation enables a packet to be segmented to describe more than one data descriptor.   A 
large packet contained in a single virtual-address buffer is better described as a series of data 
descriptors, each referencing a single physical address page.
The only requirement for this use is if multiple data descriptors for TCP segmentation follows this 
guideline:
If multiple data descriptors are used to describe the IP/TCP/UDP header section, each 
descriptor must describe one or more complete headers; descriptors referencing only parts of 
headers are not supported.
IP Source Address
IP Destination Address
Zero
Zero
Next Header
Zero
a
a. 82544GC/EI only
Layer 4 
Protocol
a
Zero
a