Technical information

2-7
Receive Architecture
Table 2-7. Receive Completion Descriptor (Word 0)
Bit(s) Description/Function
Status1 field
29
OK
- The frame is good. There were no CRC errors, dribble nibble, illegal lengths, or
receive code violations. In ISL mode, the ISL and Ethernet checksums must both be
valid. This does not include the TCP/UDP checksum.
28
FifoFull
- If set, the frame is incomplete due to FIFO full - no other status bits, except
OK, are valid.
27
BufferQueue
- If set, the buffer queue 2 was used for the packet. If cleared, buffer
queue 1 was used.
EndIndex field
26:16
EndIndex
- Index of the last buffer used in the buffer queue.
Length field
15:0
Length
- Total length of data transferred in bytes for good packet.
This value is generally equal to the length of the packet (including destination and
source addresses, type fields, etc.) minus 4 bytes, since the CRC isn’t transferred by
default. Setting RxDmaCrc to transfer the CRC can increase the length transferred here
and reported by 4 bytes. Setting VlanMode=01, which causes the VLAN tag and ID to
be stripped will reduce the length transferred and reported by 4 bytes.
In header-splitting mode (RxDmaQueueMode=100), two buffer descriptors are
transferred for TCP packets. A single receive completion queue is used for this mode.
The Length field of the first completion descriptor contains the length of the header in
bytes. The Length field of the second completion descriptor contains the total bytes
transferred, including the header, even through the header data is transferred to the
first queue, while the rest of the data is transferred to the second queue. This field may
not be valid for bad packets.