English
Language : 

EP80579 Datasheet, PDF (1371/1916 Pages) Intel Corporation – Intel® EP80579 Integrated Processor Product Line
Intel® EP80579 Integrated Processor
packet data buffer, at the appropriate offset for the checksum. If no partial checksum is
required, software must write a value of zero at this offset. Refer to the “Transmit
Checksum Off loading” on page 1379 for additional details.
The second QWORD of this descriptor primarily contains information to support the TCP
Segmentation feature. A number of the fields are ignored if the TCP Segmentation
enable bit indicates that the descriptor does not refer to the TCP Segmentation context
(TSE=0).
MSS controls the Maximum Segment Size. This specifies the maximum TCP or UDP
payload “segment” sent per frame, not including any header. The total length of each
frame (or “section”) sent by the TCP Segmentation mechanism (excluding 802.3ac
tagging and Ethernet CRC) will be MSS bytes + HRDLEN. The one exception is the last
packet of a TCP segmentation context which will (typically) be shorter than “MSS +
HDRLEN”. This field is ignored if TSE is not set.
HDRLEN is used to specify the length (in bytes) of the header to be used for each frame
(or “section”) of a TCP Segmentation operation. The first HDRLEN bytes fetched from
data descriptor(s) will be stored internally and used as a prototype header for each
section, and will be prepended to each payload segment to form individual frames. For
UDP packets this will normally be equal to “UDP checksum offset + 2”. For TCP packets
it will normally be equal to “TCP checksum offset + 4 + TCP header option bytes”. This
field is ignored if TDESC.TSE is not set.
Maximum limits for the HDRLEN and MSS fields are dictated by the length variables.
However, there is a further restriction that the for any TCP Segmentation operation, the
hardware must be capable of storing a complete framed fragment (completely-built
frames) in the transmit FIFO prior to transmission. Therefore, the size of the TX packet
buffer must be greater than or equal to ((MSS + HDRLEN) x Number of Frames Formed
for this fragment). The quantity (HDRLEN x Number of Frames) should be set by
software in the TCP Segmentation Pad And Minimum Threshold Register
(TSPMT.TSPBP) to prevent packet buffer overflow.
The packet payload length field (TDESC.PAYLEN) is the total number of payload bytes
for this TCP Segmentation off load context (i.e. the total number of payload bytes that
could be distributed across multiple frames after TCP segmentation is performed).
Following the fetch of the prototype header, PAYLEN specifies the length of data that
will be fetched next from data descriptor(s). This field is also used to determine when
“last-frame” processing needs to be performed. Typically, a new data descriptor is used
to denote the start of the payload data buffer(s), but this is not required. PAYLEN
specification should not include any header bytes. There is no restriction on the overall
PAYLEN specification with respect to the transmit FIFO size, once the MSS and HDRLEN
specifications are legal. This field is ignored if TDESC.TSE is not set. Refer to “TCP
Segmentation” on page 1380 for details on the TCP Segmentation off-loading feature.
Setting the descriptor type (TDESC.DTYP) field to 0000 identifies this descriptor as a
TCP/IP context transmit descriptor.
The command field (TDESC.TUCMD) provides options that control the checksum off-
loading and TCP Segmentation features, along with some of the generic descriptor
processing functions. Figure 37-22 shows the bit definitions for the TDESC.TUCMD
field. The IDE, DEXT, and RS bits are valid regardless of the state of TSE. All other bits
are ignored if TSE=0.
Figure 37-22.TCP/IP Context Transmit Descriptor Command Field (TDESC.TUCMD)
7
6
5
4
3
2
1
0
IDE
Rsvd DEXT Rsvd
RS
TSE
IP
TCP
IDE: Interrupt Delay Enable
August 2009
Order Number: 320066-003US
Intel® EP80579 Integrated Processor Product Line Datasheet
1371