ST STM32F40 Series Reference Manual page 923

Hide thumbs Also See for STM32F40 Series:
Table of Contents

Advertisement

Ethernet (ETH): media access control (MAC) with DMA controller
IP header Length field. In other words, this bit is set when an IP header error is
asserted under the following circumstances:
a)
b)
TCP/UDP/ICMP checksum
The TCP/UDP/ICMP checksum processes the IPv4 or IPv6 header (including
extension headers) and determines whether the encapsulated payload is TCP, UDP or
ICMP.
Note that:
a)
b)
The checksum is calculated for the TCP, UDP, or ICMP payload and inserted into its
corresponding field in the header. It can work in the following two modes:
Note that: for ICMP-over-IPv4 packets, the checksum field in the ICMP packet must
always be 0x0000 in both modes, because pseudo-headers are not defined for such
packets. If it does not equal 0x0000, an incorrect checksum may be inserted into the
packet.
The result of this operation is indicated by the payload checksum error status bit in the
Transmit Status vector (bit 12). The payload checksum error status bit is set when
either of the following is detected:
When the packet is longer than the indicated payload length, the bytes are ignored as
stuff bytes, and no error is reported. When the first type of error is detected, the TCP,
923/1422
For IPv4 datagrams:
The received Ethernet type is 0x0800, but the IP header's Version field does not
equal 0x4
The IPv4 Header Length field indicates a value less than 0x5 (20 bytes)
The total frame length is less than the value given in the IPv4 Header Length field
For IPv6 datagrams:
The Ethernet type is 0x86DD but the IP header Version field does not equal 0x6
The frame ends before the IPv6 header (40 bytes) or extension header (as given
in the corresponding Header Length field in an extension header) has been
completely received. Even when the checksum offload detects such an IP header
error, it inserts an IPv4 header checksum if the Ethernet Type field indicates an
IPv4 payload.
For non-TCP, -UDP, or -ICMP/ICMPv6 payloads, this checksum is bypassed and
nothing further is modified in the frame.
Fragmented IP frames (IPv4 or IPv6), IP frames with security features (such as an
authentication header or encapsulated security payload), and IPv6 frames with
routing headers are bypassed and not processed by the checksum.
In the first mode, the TCP, UDP, or ICMPv6 pseudo-header is not included in the
checksum calculation and is assumed to be present in the input frame's checksum
field. The checksum field is included in the checksum calculation, and then
replaced by the final calculated checksum.
In the second mode, the checksum field is ignored, the TCP, UDP, or ICMPv6
pseudo-header data are included into the checksum calculation, and the
checksum field is overwritten with the final calculated value.
the frame has been forwarded to the MAC transmitter in Store-and-forward mode
without the end of frame being written to the FIFO
the packet ends before the number of bytes indicated by the payload length field in
the IP header is received.
Doc ID 018909 Rev 4
RM0090

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the STM32F40 Series and is the answer not in the manual?

Questions and answers

This manual is also suitable for:

Stm32f41 seriesStm32f42 seriesStm32f43 seriesRm0090

Table of Contents

Save PDF