<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet type="text/xsl" href="igmp-type-numbers.xsl"?>
<?xml-model href="igmp-type-numbers.rng" schematypens="http://relaxng.org/ns/structure/1.0" ?>
<registry xmlns="http://www.iana.org/assignments" id="igmp-type-numbers">
  <title>Internet Group Management Protocol (IGMP) Type Numbers</title>
  <created>2002-02-06</created>
  <updated>2025-03-28</updated>
  <note>The Internet Group Message Protocol (IGMP) has many messages
that are identified by a "type" field.

Note that the original definition of IGMP in <xref type="rfc" data="rfc1112"/> divided
this field into two 4-bit values, "version" and "type".  This
was decided to be too restrictive, so the fields were combined
into a single 8-bit type space.
  </note>
  <registry id="igmp-type-numbers-1">
    <title>IGMP Type Numbers</title>
    <xref type="rfc" data="rfc9778"/>
    <registration_rule>Standards Action</registration_rule>
    <record>
      <value>0x00</value>
      <name>Reserved</name>
    </record>
    <record>
      <value>0x01-0x08</value>
      <name>Reserved (Obsolete)</name>
      <xref type="rfc" data="rfc988"/>
    </record>
    <record>
      <value>0x09-0x10</value>
      <name>Unassigned</name>
    </record>
    <record>
      <value>0x11</value>
      <name>IGMP Membership Query</name>
      <xref type="rfc" data="rfc1112"/>
    </record>
    <record>
      <value>0x12</value>
      <name>IGMPv1 Membership Report</name>
      <xref type="rfc" data="rfc1112"/>
    </record>
    <record>
      <value>0x13</value>
      <name>DVMRP</name>
      <xref type="draft" data="draft-ietf-idmr-dvmrp-v3-11"/>
    </record>
    <record>
      <value>0x14</value>
      <name>PIM version 1</name>
      <xref type="draft" data="draft-ietf-idmr-pim-spec-02"/>
    </record>
    <record>
      <value>0x15</value>
      <name>Cisco Trace Messages</name>
    </record>
    <record>
      <value>0x16</value>
      <name>IGMPv2 Membership Report</name>
      <xref type="rfc" data="rfc2236"/>
    </record>
    <record>
      <value>0x17</value>
      <name>IGMPv2 Leave Group</name>
      <xref type="rfc" data="rfc2236"/>
    </record>
    <record>
      <value>0x1e</value>
      <name>Multicast Traceroute Response</name>
      <xref type="person" data="Bill_Fenner"/>
    </record>
    <record>
      <value>0x1f</value>
      <name>Multicast Traceroute</name>
      <xref type="person" data="Bill_Fenner"/>
    </record>
    <record updated="2024-09-06">
      <value>0x22</value>
      <name>IGMPv3 Membership Report</name>
      <xref type="rfc" data="rfc9776"/>
    </record>
    <record>
      <value>0x30</value>
      <name>Multicast Router Advertisement</name>
      <xref type="rfc" data="rfc4286"/>
    </record>
    <record>
      <value>0x31</value>
      <name>Multicast Router Solicitation</name>
      <xref type="rfc" data="rfc4286"/>
    </record>
    <record>
      <value>0x32</value>
      <name>Multicast Router Termination</name>
      <xref type="rfc" data="rfc4286"/>
    </record>
    <record updated="2024-09-09">
      <value>0xf0-0xff</value>
      <name>Reserved for experimentation</name>
      <xref type="rfc" data="rfc9778"/>
    </record>
  </registry>
  
  <registry id="igmp-type-numbers-2">
    <title>"Code" Fields</title>
    <xref type="rfc" data="rfc9778"/>
    <registration_rule>Standards Action</registration_rule>
    <note>Many of these IGMP types have a "code" field.  Here we list
the types again with their assigned code fields.</note>
    <registry id="igmp-type-numbers-codes-1">
      <title>Type 0x11 - IGMP Membership Query</title>
      <xref type="rfc" data="rfc1112"/>
      <record>
        <value>0</value>
        <name>IGMP Version 1</name>
      </record>
      <record>
        <value>1-255</value>
        <name>IGMP Version 2 or above Max Response Time</name>
      </record>
    </registry>
    <registry id="igmp-type-numbers-codes-2">
      <title>Type 0x12 - IGMPv1 Membership Report</title>
      <xref type="rfc" data="rfc1112"/>
    </registry>
    <registry id="igmp-type-numbers-codes-3">
      <title>Type 0x13 - DVMRP</title>
      <xref type="draft" data="draft-ietf-idmr-dvmrp-v3-11"/>
      <record>
        <value>1</value>
        <name>Probe</name>
      </record>
      <record>
        <value>2</value>
        <name>Route Report</name>
      </record>
      <record>
        <value>3</value>
        <name>Old Ask Neighbors</name>
      </record>
      <record>
        <value>4</value>
        <name>Old Neighbors Reply</name>
      </record>
      <record>
        <value>5</value>
        <name>Ask Neighbors</name>
      </record>
      <record>
        <value>6</value>
        <name>Neighbors Reply</name>
      </record>
      <record>
        <value>7</value>
        <name>Prune</name>
      </record>
      <record>
        <value>8</value>
        <name>Graft</name>
      </record>
      <record>
        <value>9</value>
        <name>Graft Ack</name>
      </record>
    </registry>

    <registry id="igmp-type-numbers-codes-4">
      <title>Type 0x14 - PIM version 1</title>
      <xref type="draft" data="draft-ietf-idmr-pim-spec-02"/>
      <record>
        <value>0</value>
        <name>Query</name>
      </record>
      <record>
        <value>1</value>
        <name>Register</name>
      </record>
      <record>
        <value>2</value>
        <name>Register-Stop</name>
      </record>
      <record>
        <value>3</value>
        <name>Join/Prune</name>
      </record>
      <record>
        <value>4</value>
        <name>RP-Reachable</name>
      </record>
      <record>
        <value>5</value>
        <name>Assert</name>
      </record>
      <record>
        <value>6</value>
        <name>Graft</name>
      </record>
      <record>
        <value>7</value>
        <name>Graft Ack</name>
      </record>
      <record>
        <value>8</value>
        <name>Mode</name>
      </record>
    </registry>
    <registry id="igmp-type-numbers-codes-5">
      <title>Type 0x16 - IGMPv2 Membership Report</title>
      <xref type="rfc" data="rfc2236"/>
    </registry>
    <registry id="igmp-type-numbers-codes-6">
      <title>Type 0x17 - IGMPv2 Leave Group</title>
      <xref type="rfc" data="rfc2236"/>
    </registry>
    <registry id="igmp-type-numbers-codes-7">
      <title>Type 0x1e - Multicast Traceroute Response</title>
      <xref type="person" data="Bill_Fenner"/>
    </registry>
    <registry id="igmp-type-numbers-codes-8">
      <title>Type 0x1f - Multicast Traceroute</title>
      <xref type="person" data="Bill_Fenner"/>
    </registry>
    <registry id="igmp-type-numbers-codes-9">
      <title>Type 0x22 - IGMPv3 Membership Report</title>
      <xref type="rfc" data="rfc9776"/>
    </registry>
    <registry id="igmp-type-numbers-codes-10">
      <title>Type 0xf0-0xff - Reserved for experimentation</title>
      <xref type="rfc" data="rfc9778"/>
    </registry>
  </registry>

  <registry id="igmp-mld-extension-types">
    <title>IGMP/MLD Extension Types</title>
    <range>
      <value>0-65533</value>
      <registration_rule>IETF Review</registration_rule>
    </range>
    <range>
      <value>65534-65535</value>
      <registration_rule>Experimental Use</registration_rule>
    </range>
    <xref type="rfc" data="rfc9279"/>
    <record date="2022-06-17">
      <value>0</value>
      <length>variable</length>
      <name>No-op</name>
      <xref type="rfc" data="rfc9279"/>
    </record>
    <record>
      <value>1-65533</value>
      <length/>
      <name>Unassigned</name>
    </record>
    <record date="2022-06-17">
      <value>65534-65535</value>
      <length>variable</length>
      <name>Reserved for Experimental Use</name>
      <xref type="rfc" data="rfc9279"/>
    </record>
  </registry>

  <registry id="igmp-mld-query-message-flags">
    <title>IGMP/MLD Query Message Flags</title>
    <registration_rule>Standards Action</registration_rule>
    <xref type="rfc" data="rfc9778"/>
    <record date="2024-09-06">
      <bit>0</bit>
      <name>E</name>
      <description>Extension</description>
      <xref type="rfc" data="rfc9279"/>
    </record>
    <record>
      <bit>1-3</bit>
      <name>Unassigned</name>
      <description/>
    </record>
  </registry>

  <registry id="igmp-mld-report-message-flags">
    <title>IGMP/MLD Report Message Flags</title>
    <registration_rule>Standards Action</registration_rule>
    <xref type="rfc" data="rfc9778"/>
    <record date="2024-09-06">
      <bit>0</bit>
      <name>E</name>
      <description>Extension</description>
      <xref type="rfc" data="rfc9279"/>
    </record>
    <record>
      <bit>1-15</bit>
      <name>Unassigned</name>
      <description/>
    </record>
  </registry>

  <people>
    <person id="Bill_Fenner">
      <name>Bill Fenner</name>
      <uri>mailto:fenner&amp;research.att.com</uri>
    </person>
  </people>
</registry>
