Data Sheet
Ethernet Controller I210 —Inline Functions
304
7.2.4.2.2 TCP Segmentation Write-Back Modes
Since the TCP segmentation mode uses the buffers that contains the L3/L4 header multiple times, there
are some limitations on the usage of different combinations of writeback and buffer release methods in
order to guarantee the header buffer’s availability until the entire packet is processed. These limitations
are listed in Table 7-38.
7.2.4.3 TCP Segmentation Performance
Performance improvements for a hardware implementation of TCP Segmentation off-load include:
• The stack does not need to partition the block to fit the MTU size, saving CPU cycles.
• The stack only computes one Ethernet, IP, and TCP header per segment, saving CPU cycles.
• The Stack interfaces with the device driver only once per block transfer, instead of once per frame.
• Larger PCIe bursts are used which improves bus efficiency (such as lowering transaction overhead).
• Interrupts are easily reduced to one per TCP message instead of one per packet.
• Fewer I/O accesses are required to command the hardware.
Table 7-38. Write Back Options For Large Send
WTHRESH RS
HEAD Write
Back Enable
Hardware Behavior
Software Expected Behavior for TSO
packets.
0
Set in EOP
descriptors
only
Disable
Hardware writes back
descriptors with RS bit set
one at a time.
Software can retake ownership of all
descriptors up to last descriptor with DD bit
set.
0
Set in any
descriptors
Disable
Hardware writes back
descriptors with RS bit set
one at a time.
Software can retake ownership of entire
packets (EOP bit set) up to last descriptor with
DD bit set.
0 Not set at all Disable
Hardware does not write
back any descriptor (since
RS bit is not set)
Software should poll the TDH register. The
TDH register reflects the last descriptor that
software can take ownership of.
1
1. Note that polling of the TDH register is a valid method only when the RS bit is never set, otherwise race conditions between
software and hardware accesses to the descriptor ring can occur.
0 Not set at all Enable
Hardware writes back the
head pointer only at EITR
expire event reflecting the
last descriptor that software
can take ownership of.
Software might poll the TDH register or use
the head value written back at EITR expire
event.
The TDH register reflects the last descriptor
that software can take ownership of.
>0 Don't care Disable
Hardware writes back all the
descriptors in bursts and set
all the DD bits.
Software can retake ownership of entire
packets up to last descriptor with both DD and
EOP bits set.
Note: The TDH register reflects the last
descriptor that software can take ownership
of
1
.
Don't care
Set in EOP
descriptors
only
Enable
Hardware writes back the
Head pointer per each
descriptor with RS bit set.
2
2. At EITR expire event, the Hardware writes back the head pointer reflecting the last descriptor that software can take ownership of.
Software can retake ownership of all
descriptors up to the descriptor pointed by the
head pointer read from system memory (by
interrupt or polling).
Don't care
Set in any
descriptors
Enable
Hardware writes back the
Head pointer per each
descriptor with RS bit set.
This mode is illegal since software won't
access the descriptor, it cannot tell when the
pointer passed the EOP descriptor.