ICMPv4

ICMPv4 is defined in RFC792 with additional material in RFC950, RFC1108, RFC1256, RFC1393, RFC1475, RFC1700, RFC1788, RFC1812 and RFC2521.

The definitive list is at http://www.iana.org/assignments/icmp-parameters

ICMP packets have a Type Field and a Code Field. The combination of these gives the significance of the packet.

ICMPv4 types and codes
Type Code Cisco IOS Description RFC and desc. if clearer!
0 echo-reply 792
3 unreachable 792 destination unreachable
3 0 net-unreachable 792
3 1 host-unreachable 792
3 2 protocol-unreachable 792
3 3 port-unreachable 792
3 4 packet-too-big 792 frag. needed and DF set, 1191
3 5 source-route-failed 792
3 6 network-unknown 1122, 1700
3 7 host-unknown 1122, 1700
3 8 host-isolated 1108, 1122, 1700 src host isolated (obsolete)
3 9 dod-net-prohibited 1108, 1122, 1700 admin prohibited net
3 10 dod-host-prohibited 1108, 1122, 1700 admin prohibited host
3 11 net-tos-unreachable 1122, 1700
3 12 host-tos-unreachable 1122, 1700
3 13 administratively-prohibited 1812
3 14 host-precedence-unreachable 1812 host precedence violation
3 15 precedence-unreachable 1812 precedence cutoff in effect
4 source-quench 792 (1812 a router should not originate and must rate limit)
5 redirect 792
5 0 net-redirect 792
5 1 host-redirect 792
5 2 net-tos-redirect 792
5 3 host-tos-redirect 792
6 alternate-address 1700 alternate host addr
8 echo request 792
9 router-advertisement 1256
9 0 normal router ad 1256 router ad normal router
9 16 does not route common traffic 2002 router-ad mobile-IP-only router
10 router-solicitation 1256 router selection
10 0 router-solicitation 1256 router selection normal router
10 16 2002 router-solicitation mobile IP-only router
11 time-exceeded 792
11 0 ttl exceeded 792
11 1 fragment reassembly timeout 792
12 parameter-problem 792
12 0 general-parameter-problem 792 (ptr to problem octet)
12 1 option-missing 1108, 1122
12 2 no-room-for-option 1108 bad length
13 timestamp-request 792 timestamp
14 timestamp-reply 792
15 information-request 792 (1812 a router should not originate or respond) (obsolete)
16 information-reply 792 (1812 a router should not originate or respond) (obsolete)
17 mask-request 950
18 mask-reply 950
19 1700 Reserved for security
2x 1700 Reserved for robustness
30 traceroute -
30 0 1393 outbound forwarded ok
30 1 1393 no route for outbound: discarded
31 1475 datagram conversion error
32 1700 mobile host re-direct
33 1700 IPv6 where-are-you
34 1700 IPv6 i-am-here
35 1700 mobile registration request
36 1700 mobile registration reply
37 1788 domain name request
38 1788 domain name reply
39 SKIP
40 2521 Photuris
40 0 Bad SPI 2521 Photuris
40 1 Authentication failed 2521 Photuris
40 2 Decompression failed 2521 Photuris
40 3 Decryption failed 2521 Photuris
40 4 Need authentication 2521 Photuris
40 5 Need authorization 2521 Photuris

1,2, and 7 are unassigned, all other unspecified values are reserved (rfc1700).

ICMP echo-request (ping) is the standard tool for first-level check of IP host reachability. From a Cisco router a ping may report one of several results:

Cisco router ICMP echo codes
! Normal response
* Timeout
A ICMP Administratively Prohibited
usually access-list refused
H ICMP Host Unreachable
I Interrupted
N ICMP Net Unreachable
P ICMP Unknown Protocol
Q ICMP Source Quench
T Timeout
U ICMP Unreachable Port
? Other

ICMPv6

ICMPv6 is defined in rfc2463 with additional material in rfc2461, rfc2710, rfc3122.

ICMP packets have a Type Field and a Code Field. The combination of these gives the significance of the packet.

ICMPv6 types and codes
Type Code Description RFC and desc. if clearer!
1 destination unreachable 2463
1 0 no route to destination 2463
1 1 administratively prohibited 2463
1 2 beyond scope of src address 2463
1 3 address unreachable 2463
1 4 port unreachable 2463
2 0 packet too big 2463
3 time exceeded 2463
3 0 hop limit exceeded in transit 2463
3 1 fragment reassembly time exceeded 2463
4 parameter problem 2463
4 0 erroneous header field 2463
4 1 unrecognized next header 2463
4 2 unrecognized option 2463
128 0 echo request (Ping) 2463
129 0 echo reply (Ping) 2463
130 0 multicast listener query 2710
131 0 multicast listener report 2710
132 0 multicast listener done 2710
133 0 router solicitation 2461
134 0 router advertisement 2461
135 0 neighbour solicitation 2461
136 0 neighbour advertisement 2461
137 0 redirect 2461
141 0 inverse heighbour solicitation 3122
142 0 inverse neighbour advertisement 3122
This page is maintained by Martin Ansdell-Smith
using GNU vi and RCS.
Last modified $Date: 2006/07/12 11:51:36 $.