ICMP type 31, Conversion error

Description Glossary RFCs Publications Obsolete RFCs


Protocol suite: TCP/IP.
Protocol type:Transport layer control protocol.
Base protocol: ICMP, Internet Control Message Protocol.
Host implementation:
Router implementation:Mandatory.
Links: IANA: ICMP parameters.

RFC 1475, pages 23 and 24:

The introduction of network layer conversion requires a new message type, to report conversion errors. Note that an invalid datagram should result in the sending of some other ICMP message (e.g., parameter problem) or the silent discarding of the datagram. This message is only sent when a valid datagram cannot be converted.

Note: implementations are not expected to, and should not, check the validity of incoming datagrams just to accomplish this; it simply means that an error detected during conversion that is known to be an actual error in the incoming datagram should be reported as such, not as a conversion failure.

Note that the conversion failed ICMP message may be sent in either the IPv4 or IPv7 domain; it is a valid ICMP message type for IPv4.

MAC header IP header ICMP message 31

Message format:

00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Type Code ICMP header checksum
Data :::

Type. 8 bits. Set to 31.

Code. 8 bits.
The use of code 0 should be avoided, any other condition found by implementors should be assigned a new code requested from IANA. When code 0 is used, it is particularily important that the Offset be set properly.

Code Description
0 Unknown or unspecified error.
1 Don't convert option present.
2 Unknown mandatory option present.
3 Known unsupported option present.
4 Unsupported transport protocol.
5 Overall length exceeded.
6 IP header length exceeded.
7 Transport protocol > 255.
8 Port conversion out of range.
9 Transport header length exceeded.
10 32-bit rollover missing and ACK set.
11Unknown mandatory transport option present.

ICMP Header Checksum. 16 bits.
The 16-bit one's complement of the one's complement sum of the ICMP message, starting with the ICMP Type field. When the checksum is computed, the checksum field should first be set to 0. When the data packet is transmitted, the checksum is computed and inserted into this field. When the data packet is received, the checksum is again computed and verified against the checksum field. If the two checksums do not match then an error has occurred.

Offset. 32 bits.
The offset pointer from the start of the datagram to the beginning of the unconvertable data.

Data. Variable length.
The part of the datagram that could not be converted.



[RFC 1475] TP/IX: The Next Internet.


Obsolete RFCs:

Description Glossary RFCs Publications Obsolete RFCs