Data Sheet

Inline Functions—Ethernet Controller I210
289
CSO is in a unit of bytes and must be in the range of data provided to the I210 in the descriptors. For
short packets that are not padded by software, CSO must be in the range of the unpadded data length,
not the eventual padded length (64 bytes).
CSO must be set to the location of TCP checksum in the packet. Checksum calculation is not done if
CSO is out of range. This occurs if (CSO > length - 1).
In the case of an 802.1Q header, the offset values depend on the VLAN insertion enable (VLE) bit. If it
is not set (VLAN tagging included in the packet buffers), the offset values should include the VLAN
tagging. If this bit is set (VLAN tagging is taken from the packet descriptor), the offset values should
exclude the VLAN tagging.
Note: UDP checksum calculation is not supported by the legacy descriptors. When using legacy
descriptors the I210 is not aware of the L4 type of the packet and thus, does not support the
translation of a checksum result of 0x0000 to 0xFFFF needed to differentiate between an UDP
packet with a checksum of zero and an UDP packet without checksum.
Because the CSO field is eight bits wide, it puts a limit on the location of the checksum to 255 bytes
from the beginning of the packet.
Hardware adds the checksum to the field at the offset indicated by the CSO field. A value of zero
corresponds to the first byte in the packet.
7.2.2.1.4 Command Byte - CMD
The CMD byte stores the applicable command and has the fields shown in Figure 7-25.
RSV (bit 7) - Reserved
VLE (bit 6) - VLAN Insertion Enable (See Table 7-26).
DEXT (bit 5) - Descriptor Extension (0 for legacy mode)
Reserved (bit 4) - Reserved
RS (bit 3) - Report Status
IC (bit 2) - Insert Checksum
IFCS (bit 1) - Insert FCS
EOP (bit 0) - End of Packet
VLE: Indicates that the packet is a VLAN packet. For example, hardware should add the VLAN
EtherType and an 802.1Q VLAN tag to the packet.
Table 7-25. Transmit Command (TDESC.CMD) Layout
7 6 5 4 3 2 1 0
RSV VLE DEXT Rsv RS IC IFCS EOP
Table 7-26. VLAN Tag Insertion Decision Table
VLE Action
0b Send generic Ethernet packet.
1b Send 802.1Q packet; VLAN data comes from the VLAN field of the TX descriptor.