Ethernet (ETH): media access control (MAC) with DMA controller
RM0090
1138/1731
DocID018909 Rev 11
type (Ethernet Type field) and the IP header version, or when the received frame does not
have enough bytes, as indicated by the IPv4 header’s Length field (or when fewer than 20
bytes are available in an IPv4 or IPv6 header). The receive checksum offload also identifies
a TCP, UDP or ICMP payload in the received IP datagrams (IPv4 or IPv6) and calculates the
checksum of such payloads properly, as defined in the TCP, UDP or ICMP specifications. It
includes the TCP/UDP/ICMPv6 pseudo-header bytes for checksum calculation and checks
whether the received checksum field matches the calculated value. The result of this
operation is given as a Payload Checksum Error bit in the receive status word. This status
bit is also set if the length of the TCP, UDP or ICMP payload does not match the expected
payload length given in the IP header. As mentioned in
, the receive checksum offload bypasses the payload of fragmented IP
datagrams, IP datagrams with security features, IPv6 routing headers, and payloads other
than TCP, UDP or ICMP. This information (whether the checksum is bypassed or not) is
given in the receive status, as described in the
RDES0: Receive descriptor Word0
section.
In this configuration, the core does not append any payload checksum bytes to the received
Ethernet frames.
As mentioned in
RDES0: Receive descriptor Word0 on page 1173
, the meaning of certain
register bits changes as shown in
Receive frame controller
If the RA bit is reset in the MAC CSR frame filter register, the MAC performs frame filtering
based on the destination/source address (the application still needs to perform another level
of filtering if it decides not to receive any bad frames like runt, CRC error frames, etc.). On
detecting a filter-fail, the frame is dropped and not transferred to the application. When the
filtering parameters are changed dynamically, and in case of (DA-SA) filter-fail, the rest of
Table 189. Frame statuses
Bit 18:
Ethernet frame
Bit 27: Header
checksum error
Bit 28: Payload
checksum error
Frame status
0
0
0
The frame is an IEEE 802.3 frame (Length
field value is less than 0x0600).
1
0
0
IPv4/IPv6 Type frame in which no checksum
error is detected.
1
0
1
IPv4/IPv6 Type frame in which a payload
checksum error (as described for PCE) is
detected
1
1
0
IPv4/IPv6 Type frame in which IP header
checksum error (as described for IPCO HCE)
is detected.
1
1
1
IPv4/IPv6 Type frame in which both PCE and
IPCO HCE are detected.
0
0
1
IPv4/IPv6 Type frame in which there is no IP
HCE and the payload check is bypassed due
to unsupported payload.
0
1
1
Type frame which is neither IPv4 or IPv6
(checksum offload bypasses the checksum
check completely)
0
1
0
Reserved