GD32F10x User Manual
670
3) The carrier sense signal not active during the whole gap period. In this case, the
counter stops after reaches the configured gap time and sends frame if the second
frame has pended.
Transmit checksum offload
The MAC supports transmit checksum offload. This feature can calculate checksum and
insert it in the transmit frame, and detect error in the receive frame. This section describes
the operation of the transmit checksum offload.
Note:
This function is enabled only when the TSFD bit in the ENET_DMA_CTL register is set
(TxFIFO is configured to Store-and-Forward mode) and application must ensure the TxFIFO
deep enough to store the whole transmit frame. If the depth of the TxFIFO is less than the
frame length, the MAC only does calculation and insertion for IPv4 header checksum field.
See IETF specifications RFC 791, RFC 793, RFC 768, RFC 792, RFC 2460 and RFC 4443
for IPv4, TCP, UDP, ICMP, IPv6 and ICMPv6 packet header specifications, respectively.
IP header checksum
If the value is 0x0800 in type field of Ethernet frame and the value is 0x4 in the IP datagram’s
version field, checksum offload module marks the frame as IPv4 package and calculated
value replace the checksum field in frame. Because of IPv6 frame header does not contain
checksum field, the module will not change any value of the IPv6’s header field. After IP
header checksum calculation end, the result is stored in IPHE bit (bit 16 in TDES0). The
following shows the conditions under which the IPHE bit can be set:
1)
For IPv4 frame type:
a)
type field is 0x0800 but version filed in IP header is not 0x4.
b)
IPv4 header length field value is greater than total frame byte length.
c)
the value of IPv4 header length field is less than 0x5 (20 bytes).
2)
For IPv6 frame type:
a)
type field is 0x86dd but version field in IP header is not 0x6.
b)
the frame ends before the IPv6 standard header or extension header (as given
in the corresponding header length field in an extension header) has been
completely received.
TCP/UDP/ICMP payload checksum
The checksum offload module processes the IPv4 or IPv6 header (including extension
headers) and marks the type of frame (TCP, UDP or ICMP).
But when the following frame cases are detected, the checksum offload function will be
bypassed and these frames will not be processed by the checksum offload module:
1) Incomplete IPv4 or IPv6 frames.
2) IP frames with security features (e.g. authentication header, security payload).
Summary of Contents for GD32F10 Series
Page 63: ...GD32F10x User Manual 63 programmed during the chip production ...
Page 117: ...GD32F10x User Manual 117 010 1 0 011 0 9 ...
Page 416: ...GD32F10x User Manual 416 shadow register updates every update event ...
Page 427: ...GD32F10x User Manual 427 value ...
Page 518: ...GD32F10x User Manual 518 These bits are not used in SPI mode ...