Data Sheet

Inline Functions—Ethernet Controller I210
313
Note: TSO is not supported for packet types for which IP checksum and TCP checksum can not be
calculated.
7.2.6 Multiple Transmit Queues
The number of transmit queues is 4, to support Qav functionality or to support load balancing between
CPUs.
If there are more CPUs cores than queues, then one queue might be used to service more than one
CPU.
For transmission process, each thread might place a queue in the host memory of the CPU it is tied to.
The I210 supports assigning either high or low priority to each transmit queue. High priority is assigned
to by setting the TXDCTL[n].priority bit to 1b. When high priority is assigned to a specific transmit
queue, the I210 always prioritizes transmit data fetch DMA accesses, before servicing transmit data
fetch of lower priority transmit queues. The Audio/Video Bridging (AVB) mechanism described in
Section 7.2.7 provides another arbitration mechanisms between the queues.
Note: Throughput of low priority transmit queues can be significantly impacted if high priority
queues utilize the DMA resources fully.
Table 7-45. Checksum Per Packet Type
Packet Type
Hardware IP Checksum
Calculation
Hardware TCP/UDP/SCTP
Checksum Calculation
IPv4 packets Yes Yes
IPv6 packets No (n/a) Yes
IPv6 packet with next header options:
Hop-by-Hop options
Destinations options
Routing (w len 0b)
Routing (w len >0b)
•Fragment
Home option
No (n/a)
No (n/a)
No (n/a)
No (n/a)
No (n/a)
No (n/a)
Yes
Yes
Yes
No
No
No
IPv4 tunnels:
IPv4 packet in an IPv4 tunnel
IPv6 packet in an IPv4 tunnel
Either IP or TCP/SCTP
1
Either IP or TCP/SCTP
1
Either IP or TCP/SCTP
1
Either IP or TCP/SCTP
1
1. For the tunneled case, the driver might do only the TCP checksum or IPv4 checksum. If TCP checksum is desired, the driver should
define the IP header length as the combined length of both IP headers in the packet. If an IPv4 checksum is required, the IP header
length should be set to the IPv4 header length.
IPv6 tunnels:
IPv4 packet in an IPv6 tunnel
IPv6 packet in an IPv6 tunnel
No
No
Yes
Yes
Packet is an IPv4 fragment Yes No
Packet is greater than 1518, 1522 or 1526 bytes;
(LPE=1b)
2
2. Depends on number of VLAN tags.
Yes Yes
Packet has 802.3ac tag Yes Yes
Packet has TCP or UDP options Yes Yes
IP header’s protocol field contains protocol # other
than TCP or UDP.
Yes No