ICMPv6 TYPE NUMBERS

(last updated 2007-11-19)

Registries included below:
- ICMP Message types
- ICMP type "code" fields
- IPv6 Neighbor Discovery Option Formats
- Trust Anchor option Name Type field
- Certificate option Cert Type field
- Qtypes

The Internet Control Message Protocol (ICMPv6) has many messages 
that are identified by a "type" field [RFC2463].  Error messages 
have message Types from 0 to 127.  Informational messages have 
message Types from 128 to 255.
Registration Procedures: 
Type codes - IETF RFC Publication (standards track, informational or experimental)
Code values - Standards action or IESG approval

Type  Name                                             Reference
----  -----------------------------------------------  ---------
   1  Destination Unreachable                          [RFC2463]
   2  Packet Too Big                                   [RFC2463]
   3  Time Exceeded                                    [RFC2463]
   4  Parameter Problem                                [RFC2463]
 100  Private experimentation                          [RFC4443]
 101  Private experimentation                          [RFC4443]
102-126   Unassigned
 127  Reserved for expansion of ICMPv6 error messages  [RFC4443]
 128  Echo Request                                     [RFC2463]
 129  Echo Reply                                       [RFC2463]
 130  Multicast Listener Query                         [RFC2710]
 131  Multicast Listener Report                        [RFC2710]
 132  Multicast Listener Done                          [RFC2710]
 133  Router Solicitation                              [RFC4861]
 134  Router Advertisement                             [RFC4861]
 135  Neighbor Solicitation                            [RFC4861]
 136  Neighbor Advertisement                           [RFC4861]
 137  Redirect Message                                 [RFC4861]
 138  Router Renumbering                               [Crawford]
 139  ICMP Node Information Query                      [RFC4620]
 140  ICMP Node Information Response                   [RFC4620]
 141  Inverse Neighbor Discovery Solicitation Message  [RFC3122]
 142  Inverse Neighbor Discovery Advertisement Message [RFC3122]
 143  Version 2 Multicast Listener Report              [RFC3810]       
 144  Home Agent Address Discovery Request Message     [RFC3775]
 145  Home Agent Address Discovery Reply Message       [RFC3775]
 146  Mobile Prefix Solicitation                       [RFC3775]
 147  Mobile Prefix Advertisement                      [RFC3775]
 148  Certification Path Solicitation Message          [RFC3971]
 149  Certification Path Advertisement Message         [RFC3971]
 150  ICMP messages utilized by experimental           [RFC4065]
      mobility protocols such as Seamoby
 151  Multicast Router Advertisement                   [RFC4286]
 152  Multicast Router Solicitation                    [RFC4286]
 153  Multicast Router Termination                     [RFC4286]
 200  Private experimentation                          [RFC4443]
 201  Private experimentation                          [RFC4443]
 255  Reserved for expansion of ICMPv6 informational   [RFC4443]
      messages

Many of these ICMP types have a "code" field.  Here we list the types
again with their assigned code fields.

Type    Name                                    Reference
----    -------------------------               ---------
   1    Destination Unreachable                 [RFC2463]
   Code           0 - no route to destination
                  1 - communication with destination
                      administratively prohibited
                  2 - beyond scope of source address  [RFC4443]
                  3 - address unreachable
                  4 - port unreachable
                  5 - source address failed ingress/egress policy [RFC4443]
                  6 - reject route to destination  [RFC4443]        

   2    Packet Too Big                          [RFC2463]
   Code           0

   3    Time Exceeded                           [RFC2463]
   Code           0 - hop limit exceeded in transit
                  1 - fragment reassembly time exceeded

   4    Parameter Problem                       [RFC2463]
   Code           0 - erroneous header field encountered
                  1 - unrecognized Next Header type encountered
                  2 - unrecognized IPv6 option encountered

 128     Echo Request                           [RFC2463]
   Code           0

 129     Echo Reply                             [RFC2463]
   Code           0

 130     Multicast Listener Query               [RFC2710]
   Code           0

 131     Multicast Listener Report              [RFC2710]
   Code           0

 132     Multicast Listener Done                [RFC2710]
   Code           0

 133     Router Solicitation                    [RFC4861]
   Code           0

 134     Router Advertisement                   [RFC4861]
   Code           0

 135     Neighbor Solicitation                  [RFC4861]
   Code           0

 136     Neighbor Advertisement                 [RFC4861]
   Code           0

 137     Redirect Message                       [RFC4861]
   Code           0

 138     Router Renumbering                     [Crawford]
   Code           0 - Router Renumbering Command
                  1 - Router Renumbering Result
                255 - Sequence Number Reset  

 139     ICMP Node Information Query            [RFC4620]
   Code           0 - The Data field contains an               [RFC4620]
                      IPv6 address which is the Subject 
                      of this Query.
                  1 - The Data field contains a name           [RFC4620]
                      which is the Subject of this Query,
                      or is empty, as in the case of a NOOP.
                  2 - The Data field contains an               [RFC4620] 
                      IPv4 address which is the Subject
                      of this Query.

 140     ICMP Node Information Response         [RFC4620] 
   Code           0 - A successful reply.  The Reply           [RFC4620]
                      Data field may or may not be empty.
                  1 - The Responder refuses to supply          [RFC4620]
                      the answer.  The Reply Data field 
                      will be empty.
                  2 - The Qtype of the Query is unknown        [RFC4620]
                      to the Responder.  The Reply Data
                      field will be empty.

 141     Inverse Neighbor Discovery             [RFC3122]
         Solicitation Message
   Code           0                              

 142     Inverse Neighbor Discovery             [RFC3122]
         Advertisement Message
   Code           0                              
 144     Home Agent Address Discovery           [RFC3775]
         Request Message
   Code           0

 145     Home Agent Address Discovery           [RFC3775]
         Reply Message
   Code           0

 146     Mobile Prefix Solicitation             [RFC3775]
   Code           0

 147     Mobile Prefix Advertisement            [RFC3775]
   Code           0   



IPv6 Neighbor Discovery Option Formats

Note: The IPv6 Neighbor Discovery has options that are identified by an Option
Format Type field [RFC4861].

Registration Procedures:

1. The IANA should allocate and permanently register new
option types from IETF RFC publication. This is for all
RFC types including standards track, informational, and
experimental status that originate from the IETF and have
been approved by the IESG for publication.

2. IETF working groups with working group consensus and area
director approval can request reclaimable Neighbor
Discovery option type assignments from the IANA. The IANA
will tag the values as "reclaimable in future".

The "reclaimable in the future" tag will be removed when an
RFC is published documenting the protocol as defined in 1).
This will make the assignment permanent and update the
reference on the IANA web pages.

At the point where the option type values are 85% assigned,
the IETF will review the assignments tagged "reclaimable in
the future" and inform the IANA which ones should be
reclaimed and reassigned.

3. Requests for new option type value assignments from outside
the IETF are only made through the publication of an IETF
document, per 1) above. Note also that documents published
as "RFC Editor contributions" [RFC3667] are not considered
to be IETF documents.


Type    Description                             Reference
------  --------------------------------------  ---------
1       Source Link-layer Address               [RFC4861]
2       Target Link-layer Address               [RFC4861]
3       Prefix Information                      [RFC4861]
4       Redirected Header                       [RFC4861]
5       MTU                                     [RFC4861]
6       NBMA Shortcut Limit Option              [IPV6-NBMA]
7       Advertisement Interval Option           [RFC3775]
8       Home Agent Information Option           [RFC3775]
9       Source Address List                     [RFC3122]
10      Target Address List                     [RFC3122]
11      CGA option                              [RFC3971]
12      RSA Signature option                    [RFC3971]
13      Timestamp option                        [RFC3971] 
14      Nonce option                            [RFC3971]
15      Trust Anchor option                     [RFC3971]
16      Certificate option                      [RFC3971]
17      IP Address Option                       [RFC4068]  
18      New Router Prefix Information Option    [RFC4068]
19      Link-layer Address Option               [RFC4068]
20      Neighbor Advertisement Acknowledgment   [RFC4068]
        Option
21      CARD Request option                     [RFC4065]
22      CARD Reply option                       [RFC4065]
23      MAP Option                              [RFC4140]
24      Route Information Option                [RFC4191]
25      Recursive DNS Server Option             [RFC5006]
26      RA Flags Extension Option               [RFC5075]
27      Handover Key Request Option             [RFC-ietf-mipshop-handover-key-03.txt]
28      Handover Key Reply Option               [RFC-ietf-mipshop-handover-key-03.txt]
29-252  Unassigned
253     RFC3692-style Experiment 1 (*)          [RFC4727]
254     RFC3692-style Experiment 2 (*)          [RFC4727]

   (*) It is only appropriate to use these values in explicitly-
      configured experiments; they MUST NOT be shipped as defaults in
      implementations.  See RFC 3692 for details.

Trust Anchor option Name Type field  - per [RFC3971]
Registration Procedures: Standards Action
Value  Description                              Reference
-----  ------------------------------------     ---------
   1   DER Encoded X.501 Name                   [RFC3971]
   2   FQDN                                     [RFC3971]


Certificate option Cert Type field - per [RFC3971]
Registration Procedures: Standards Action
Value  Description                              Reference
-----  ------------------------------------     ---------
   1   X.509v3 Certificate                      [RFC3971]


Qtypes - per [RFC4620]
Registration Procedures: IETF Consensus
Value  Description                              Reference
-----  ------------------------------------     ---------
   0   NOOP                                     [RFC4620] 
   1   Unused                                   [RFC4620]
   2   Node Name                                [RFC4620]
   3   Node Addresses                           [RFC4620]
   4   IPv4 Addresses                           [RFC4620]


IPv6 ND Router Advertisement flags - per [RFC5075]
Registration Procedures: standards action or IESG approval

RA Option Bit  Description                              Reference 
-------------  ---------------------------------------  ---------
0              M - Managed Address Configuration Flag   [RFC2461] 
1              O - Other Configuration Flag             [RFC2461] 
2              H - Mobile IPv6 Home Agent Flag          [RFC3775]
3              Prf - Router Selection Preferences       [RFC4191]
4              Prf - Router Selection Preferences       [RFC4191]
5              P - Neighbor Discovery Proxy Flag        [RFC4389] 
6-53           R - Reserved; Available for assignment   [RFC5075]
54-55          Private Experimentation                  [RFC5075]


REFERENCES
----------
[RFC2461]  Narten, T., E. Nordmark, and W. Simpson, "Neighbor
           Discovery for IP Version 6 (IPv6)", RFC 2461, December 1998.

[RFC2463]  Conta, A., and S. Deering, " Internet Control Message
           Protocol (ICMPv6) for the Internet Protocol Version 6
           (IPv6) Specification", RFC 2463, December 1998.

[RFC2710]  S. Deering, W. Fenner and B. Haberman, "Multicast Listener 
           Discovery (MLD) for IPv6", RFC 2710, October 1999.

[RFC3122]  A. Conta, "Extensions to IPv6 Neighbor Discovery for
           Inverse Discovery", RFC 3122, June 2001.

[RFC3775]  D. Johnson, C. Perkins, and J. Arkko, "Mobility Support in IPv6", 
           RFC 3775, June 2004.

[RFC3810]  R. Vida,  L. Costa, Eds., "Multicast Listener Discovery Version 2 
           (MLDv2) for IPv6", RFC 3810, June 2004.

[RFC3971]  J. Arkko, Ed., J. Kempf, B. Sommerfeld, B. Zill, and P. Nikander,
           "SEcure Neighbor Discovery (SEND)", RFC 3971, March 2005.

[RFC4065]  J. Kempf, "Instructions for Seamoby and Experimental 
           Mobility Protocol IANA Allocations", RFC 4065, July 2005.

[RFC4068]  R. Koodli, Ed., "Fast Handovers for Mobile IPv6", RFC 4068,
           July 2005.

[RFC4140]  H. Soliman, C. Catelluccia, K. El Malki, and L. Bellier,
           "Hierarchical Mobile IPv6 mobility management (HMIPv6)",
           RFC 4140, August 2005.

[RFC4191]  R. Draves and D. Thaler, "Default Router Preferences and 
           More-Specific Routes", RFC 4191, November 2005.

[RFC4286]  B. Haberman and J. Martin, "Multicast Router Discovery", 
           RFC 4286, December 2005.

[RFC4443]  A. Conta, S. Deering and M. Gupta, "Internet Control Message 
           Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6) 
           Specification", RFC 4443, March 2006.

[IPV6-NBMA]  Armitage, G., P. Schulter, M. Jork, G. Harter, "IPv6 over
           Non-Broadcast Multiple Access (NBMA) network", Internet
           Draft, March 1998.

[RFC4620]  M. Crawford and  B. Haberman, "IPv6 Node Information Queries", 
           RFC 4620, August 2006.

[RFC4727]  B. Fenner, "Experimental values In IPv4, IPv6, ICMPv4, ICMPv6,
           UDP and TCP Headers", RFC 4727, November 2006.

[RFC4861]  T. Narten, E. Nordmark, W. Simpson, H. Soliman, "Neighbor 
           Discovery for IP version 6 (IPv6)", RFC 4861, September 2007.

[RFC5006]  J. Jeong, S. Park, L. Beloeil, S. Madanapalli, "IPv6 Router 
           Advertisement Option for DNS Configuration", RFC 5006,
           September 2007.

[RFC5075]  B. Haberman, Ed. and R. Hinden, "IPv6 Router Advertisement Flags 
           Option", RFC 5075, November 2007.

[RFC-ietf-mipshop-handover-key-03.txt]
           J. Kempf, R. Koodli, "Distributing a Symmetric FMIPv6 Handover 
           Key using SEND", RFC XXXX, Month Year.

PEOPLE
------
[Crawford]    Matt Crawford <crawdad&gungnir.fnal.gov>, January 1998,
              April 1999.

[]
