Transmit Descriptors — Intel
®
82575EB Gigabit Ethernet Controller
324632-003 Intel
®
82575EB Gigabit Ethernet Controller
Revision: 2.1 Software Developer’s Manual and EEPROM Guide
January 2011 135
Each context defines information about the packet sent including the total size of the MAC header
(TDESC.MACHDR), the amount of payload data that should be included in each packet (TDESC.MSS),
TCP Header length (TDES.TCPHDR), IP Header length (TDESC.IPHDR) and information about what type
of protocol (TCP, IP, etc.) is used. Other than TCP, IP (TDESC.TUCMD), most information is specific to
the segmentation capability and is therefore ignored for context descriptors that do not have the TSE
bit set.
Because there are dedicated resources on-chip for contexts, they remain constant until they are
modified by another context descriptor. This means that a context can (and will) be used for multiple
packets (or multiple segmentation blocks) unless a new context is loaded prior to each new packet.
Depending on the environment, it might 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 using a different index.
This same logic can also be applied to the segmentation context, though the environment is a more
restrictive one. In this scenario, the host is commonly asked to send messages of the same type, TCP/
IP for instance, and these messages also have the same Maximum Segment Size (MSS). In this
instance, the same segmentation context could be used for multiple TCP messages that require
hardware segmentation.
5.6.3 Transmit Descriptors
The 82575 supports legacy and advanced descriptors.
Legacy descriptors are intended to support legacy drivers, in order to allow fast power up of platform,
and to facilitate debug. The legacy descriptors are recognized as such based on the DEXT bit.
In addition, the 82575 supports two types of advanced transmit descriptors:
1. Advanced Transmit Context descriptor, DTYP = 0010b.
2. Advanced Transmit Data descriptor, DTYP = 0011b.
Note: DTYP = 0000b and 0001b are reserved values.
The Transmit Data Descriptor points to a block of packet data to be transmitted. The TCP/IP
Context Transmit Descriptor does not point to packet data. It contains control/context
information that is loaded into on-chip registers that affect the processing of packets for
transmission. The following sections describe the descriptor formats.
5.6.4 Legacy Transmit Descriptor Format
To select legacy mode operation, bit 29 of the second line of the descriptor (TDSEC.DEXT) should be set
to 0b. In this case, the descriptor format is defined as shown in Table 36. The address and length must
be supplied by software. Bits in the command byte are optional, as are the Checksum Offset (CSO), and
Checksum Start (CSS) fields.