English
Language : 

EP80579 Datasheet, PDF (1370/1916 Pages) Intel Corporation – Intel® EP80579 Integrated Processor Product Line
Intel® EP80579 Integrated Processor
data that should be included in each packet (TDESC.MSS), and information about what
type of protocol (TCP, IPv4, IPv6, etc.) is used. This information is specific to the
segmentation capability and is therefore ignored for context descriptors that do not
have the TSE bit set.
Due to the fact that there are dedicated resources in the GbE hardware for both the
normal and segmentation contexts, these contexts will remain constant until they are
modified by another context descriptor. This means that a context can be used for
multiple packets unless a new context is loaded prior to each new packet. Depending
on the environment, it may be completely unnecessary to load a new context for each
packet. For example, if most traffic generated from a given node is standard TCP
frames, this context could be setup once and used for many frames. Only when some
other frame type is required would a new context need to be loaded by software. After
the “non-standard” frame is transmitted, the “standard” context would be setup once
more by software. This method avoids the “extra descriptor per packet” penalty for
most frames. The penalty can be eliminated altogether if software elects to use TCP/IP
checksum off loading only for a single frame type, and thus performing those
operations in software for other frame types.
A segmentation context similarly describes parameters which are setup once and used
for many frames. Since a segmentation operation results in the generation of multiple
frames, the context parameters such as checksum generation are applied to all frames
generated. Unlike the “normal” TCP/IP context, a segmentation context cannot be re-
used for multiple TCP messages, however, a new segmentation context is required for
each segmentation operation.
37.5.6.4.2 TCP/IP Context descriptor layout
Note:
The TCP/IP context transmit descriptor does not transfer any packet data. It merely
prepares the checksum and segmentation hardware for the TCP/IP Data descriptors
that follow.
To select the TCP/IP context transmit descriptor format, shown below in Figure 37-21,
bit 29 (TDESC.DEXT) must be set to 1 and TDESC.DTYP must be set to “0000”.
Figure 37-21.TCP/IP Context Transmit Descriptor (TDESC) - (Type = 0000)
63
48 47 40 39
32 31
16 15
87
0
0
TUCSE
TUCSO
TUCSS
IPCSE
8
MSS
HDRLEN
Rsvd
TUSTATU
S
TUCMD
DTYP
63
48 47 40 39 36 35 32 31 24 23 20 19
IPCSO
IPCSS
PAYLEN
0
Note:
The first QWORD of this descriptor type contains parameters used to calculate the two
checksums which may be off-loaded.
TDESC.IPCSS, TDESC.IPCSO, and TDESC.IPCSE specify the start, offset, and ending
byte for the IP checksum off-load feature. Similarly, TDESC.TUCSS, TDESC.TUCSO,
TDESC.TUCSE specify the same parameters for the TCP or UDP checksum. Setting
either CSE field to 0 indicates the given checksum will cover from CSS to the end of
packet. While the names imply particular packet types, the mechanisms are generic.
When setting the TCP Segmentation context, IPCSS and TUCSS are used to indicate the
start of the IP and TCP headers respectively, and must be set even if checksum
insertion is not desired.
In certain situations, software may need to calculate a partial checksum (the TCP
pseudo-header for instance) to include bytes which are not contained within the range
of start and end. If this is the case, this partial checksum should be placed in the
Intel® EP80579 Integrated Processor Product Line Datasheet
1370
August 2009
Order Number: 320066-003US