English
Language : 

82598EB Datasheet, PDF (257/596 Pages) Intel Corporation – Intel® 82598EB 10 Gigabit Ethernet Controller Datasheet
Intel® 82598EB 10 GbE Controller - Transmit Functionality
• The protocol stack calculates the number of packets required to transmit this block based on the
MTU size of the media and required packet headers.
For each packet of the data block:
• Ethernet, IP and TCP/UDP headers are prepared by the stack.
• The stack interfaces with the device driver and commands the driver to send the individual
packet.
• The software device driver gets the frame and interfaces with the hardware.
• The hardware reads the packet from host memory (via DMA transfers).
• The software device driver returns ownership of the packet to the NOS when the hardware has
completed the DMA transfer of the frame (indicated by an interrupt).
The transmission process for the 82598 TCP segmentation offload implementation involves:
• The protocol stack receives from an application a block of data that is to be transmitted.
• The stack interfaces to the software device driver and passes the block down with the appropriate
header information.
• The software device driver sets up the interface to the hardware (via descriptors) for the TCP
segmentation context.
The hardware transfers the packet data and performs the Ethernet packet segmentation and
transmission based on offset and payload length parameters in the TCP/IP context descriptor including:
• Packet encapsulation
• Header generation and field updates including IPv4/IPv6 and TCP/UDP checksum generation
• The software device driver returns ownership of the block of data to the NOS when the hardware
has completed the DMA transfer of the entire data block (indicated by an interrupt).
3.5.3.4.2.1 TCP Segmentation Performance
Performance improvements for a hardware implementation of TCP segmentation offload 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 software device driver only once per block transfer, instead of once
per frame.
• Larger PCI bursts are used which improves bus efficiency (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.
3.5.3.4.3 Packet Format
A TCP message can be as large as 256 kB and is generally fragmented across multiple pages in host
memory. The 82598 partitions the data packet into standard Ethernet frames prior to transmission. The
82598 supports calculating the Ethernet, IP, TCP, and UDP headers (including checksum) on a frame-
by-frame basis.
257