Packet Format — Intel
®
82575EB Gigabit Ethernet Controller
324632-003 Intel
®
82575EB Gigabit Ethernet Controller
Revision: 2.1 Software Developer’s Manual and EEPROM Guide
January 2011 149
• The stack does not need to partition the block to fit the MTU size (saves CPU cycles).
• The stack only computes one Ethernet, IP, and TCP header per segment (saves 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 (for example, 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.
5.8.4 Packet Format
Typical TCP/IP transmit window size is 8760 bytes (about 6 full size frames). A TCP message can be as
large as 256 KB and is generally fragmented across multiple pages in host memory. The 82575
partitions the data packet into standard Ethernet frames prior to transmission. The 82575 supports
calculating the Ethernet, IP, TCP, and even UDP headers, including checksum, on a frame by frame
basis.
Figure 7. TCP/IP Packet Format
Frame formats supported by the 82575 include:
• Ethernet 802.3
• IEEE 802.1q VLAN (Ethernet 802.3ac)
• Ethernet Type 2
• Ethernet SNAP
• IPv4 headers with options
• IPv6 headers with extensions
• TCP with options
• UDP with options
VLAN tag insertion is handled by hardware.
UDP (unlike TCP) is not a reliable protocol and fragmentation is not supported at the UDP level. UDP
messages that are larger than the MTU size of the given network medium are normally fragmented at
the IP layer. This is different from TCP, where large TCP messages can be fragmented at either the IP or
TCP layers depending on the software implementation. The 82575 has the ability to segment UDP traffic
(in addition to TCP traffic), however, because UDP packets are generally fragmented at the IP layer, the
82575's TCP Segmentation feature is normally not conducive to handling UDP traffic.
5.8.5 TCP Segmentation Indication
Software indicates a TCP Segmentation transmission context to the hardware by setting up a TCP/ IP
Context Transmit Descriptor. The purpose of this descriptor is to provide information to the hardware to
be used during the TCP segmentation offload process.
Ethernet IPv4/IPv6 TCP/UDP DATA FCS