Intel PCI User Manual

Page of 406
Receive and Transmit Description
 Software Developer’s Manual
55
Link status change (LSC) - Set when the link status changes. When using the internal PHY, 
link status changes are determined and indicated by the PHY via a change in its LINK 
indication. 
When using an external TBI device (82544GC/EI only), the device might indicate a link 
status change using its LOS (loss of sync) indication. In this TBI mode, if HW Auto-
Negotiation is enabled, the MAC can also detect and signal a link status change if the 
Configuration Base Page register is received (0b), or if either the LRST or ANE bits are 
changed by software.
Transmit Descriptor Ring Low Threshold Hit (TXD_LOW) (not applicable to the 82544GC/
EI
) - Set when the total number of transmit descriptors available (as measured by the 
difference between the Tx descriptor ring Head and Tail pointer) hits the low threshold 
specified in the TXDCTL.LWTHRESH field.
3.4.3.1
Delayed Transmit Interrupts
This mechanism allows software the flexibility of delaying transmit interrupts until no more 
descriptors are added to a transmit chain for a certain amount of time, rather than when the Ethernet 
controller’s head pointer catches the tail pointer. This occurs if the Ethernet controller is processing 
packets slightly faster than the software, a likely scenario for gigabit operations.
A software driver usually has no knowledge of when it is going to be asked to send another frame. 
For performance reasons, it is best to generate only one transmit interrupt after a burst of packets 
have been sent.
Refer to 
 for specific details.
3.5
TCP Segmentation
Hardware TCP Segmentation is one of the off-loading options of most modern TCP/IP stacks. This 
is often referred to as “Large Send” offloading. This feature enables the TCP/IP stack to pass to the 
Ethernet controller software driver a message to be transmitted that is bigger than the Maximum 
Transmission Unit (MTU) of the medium. It is then the responsibility of the software driver and 
hardware to carve the TCP message into MTU size frames that have appropriate layer 2 (Ethernet), 
3 (IP), and 4 (TCP) headers. These headers must include sequence number, checksum fields, 
options and flag values as required. Note that some of these values (such as the checksum values) 
are unique for each packet of the TCP message, and other fields such as the source IP address is 
constant for all packets associated with the TCP message.
The offloading of these processes from the software driver to the Ethernet controller saves 
significant CPU cycles. The software driver shares the additional tasks to support these options 
with the Ethernet controller.
Although the Ethernet controller’s TCP segmentation offload implementation was specifically 
designed to take advantage of new “TCP Segmentation offload” features, the hardware 
implementation was made generic enough so that it could also be used to “segment” traffic from 
other protocols. For instance this feature could be used any time it is desirable for hardware to 
segment a large block of data for transmission into multiple packets that contain the same generic 
header.