<?xml version="1.0" encoding="US-ASCII" ?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">

<?rfc rfcedstyle="yes"?>
<?rfc subcompact="no"?>
<?rfc toc="yes"?>
<?rfc symrefs="yes" ?>
<?rfc sortrefs="yes" ?>

<rfc number="5075" category="std">

  <front>
    <title abbrev="IPv6 RA Flags Options">IPv6 Router Advertisement Flags
    Option</title>

    <!-- add 'role="editor"' below for the editors if requiring designation -->

    <author fullname="Brian Haberman" initials="B." role="editor"
            surname="Haberman">
      <organization abbrev="JHU APL">Johns Hopkins University Applied Physics
      Lab</organization>

      <address>
        <postal>
          <street>11100 Johns Hopkins Road</street>

          <city>Laurel</city>

          <region>MD</region>

          <code>20723-6099</code>

          <country>USA</country>
        </postal>

        <email>brian@innovationslab.net</email>

        <phone>+1 443 778 1319</phone>
      </address>
    </author>

    <author fullname="Robert Hinden" initials="R." surname="Hinden">
      <organization>Nokia</organization>

      <address>
        <postal>
          <street>313 Fairchild Drive</street>

          <city>Mountain View</city>

          <region>CA</region>

          <code>94043</code>

          <country>USA</country>
        </postal>

        <email>bob.hinden@nokia.com</email>

        <phone>+1 650 625 2004</phone>
      </address>
    </author>

    <date month="November" year="2007" />

    <!--
    <workgroup>IPv6 WG</workgroup>
    -->

    <abstract>
      <t>The IPv6 Neighbor Discovery's Router Advertisement message contains
      an 8-bit field reserved for single-bit flags. Several protocols have
      reserved flags in this field and others are preparing to reserve a
      sufficient number of flags to exhaust the field. This document defines
      an option to the Router Advertisement message that expands the available
      number of flag bits available.</t>
    </abstract>
  </front>

  <middle>
    <section title="Introduction">
      <t>The IPv6 Neighbor Discovery Protocol's (NDP) <xref target="RFC2461"></xref>
      Router Advertisement message contains an 8-bit field reserved for
      single-bit flags. Several protocols have reserved flags in this field
      and others are preparing to reserve a sufficient number of flags to
      exhaust the field.</t>

      <t>This document defines an option for the Router Advertisement message
      that expands the available number of flag bits by adding an additional
      48 flag bits to NDP messages.</t>
    </section>

    <section title="Terminology">
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
      "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
      document are to be interpreted as described in <xref
      target="RFC2119"></xref>.</t>
    </section>

    <section title="Current Router Advertisement Flags">
      <t>Currently, the NDP Router Advertisement message contains the
      following one-bit flags defined in published RFCs:</t>

      <figure anchor="RAFlg" title="Router Advertisement Flags">
        <artwork><![CDATA[
 0 1 2 3 4 5 6 7
+-+-+-+-+-+-+-+-+
|M|O|H|Prf|P|R|R|
+-+-+-+-+-+-+-+-+
         ]]></artwork>
      </figure>

      <list style="symbols">
        <t>M - Managed Address Configuration Flag <xref
        target="RFC2461" /></t>

        <t>O - Other Configuration Flag <xref target="RFC2461" /></t>

        <t>H - Mobile IPv6 Home Agent Flag <xref target="RFC3775" /></t>

        <t>Prf - Router Selection Preferences <xref target="RFC4191" /></t>

        <t>P - Neighbor Discovery Proxy Flag <xref target="RFC4389" /></t>

        <t>R - Reserved</t>
      </list>

      <t>With other protocols in the works (e.g., Detecting Network
      Attachment) that want to use flags in the NDP messages, it is
      necessary to define an expansion capability to support new features.</t>
    </section>

    <section title="Flags Expansion Option">
      <t>The Neighbor Discovery specification <xref target="RFC2461" />
      contains the capability to define NDP options. The following (<xref
      target="EFOpt" />) is the definition of the Expanded Flags Option (EFO)
      for NDP Router Advertisement messages.</t>

      <figure anchor="EFOpt"
              title="Router Advertisement Expanded Flags Option">
        <artwork><![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     Type      |    Length     |         Bit fields available ..
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
... for assignment                                              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         ]]></artwork>
      </figure>

      <list style="symbols">
        <t>Type - TBD (to be assigned by IANA)</t>

        <t>Length - The length MUST be checked when processing the option in
        order to allow for future expansion of this option. An implementation
        of this specification MUST set the Length to 1, MUST ignore any
        unrecognized data, and MUST be able to recognize the specific length
        in order to skip over unrecognized bits.</t>

        <t>Bits - allocated by IANA</t>
      </list>

      <t>The definition and usage of these bits is to be found in the document
      requesting their allocation.</t>

      <t>During the construction/transmission, this option:<list
          style="symbols">
          <t>MUST only occur in Router Advertisement messages.</t>

          <t>MUST occur prior to any additional options associated with any
          flags set in this option.</t>

          <t>MUST only occur once in the Router Advertisement message.</t>

          <t>MUST NOT be added to a Router Advertisement message if no flags
          in the option are set.</t>

          <t>MUST set all unused flags to zero.</t>

<?rfc needLines="10" ?>
        </list>Upon reception, a receiver processing NDP messages containing
      this option:<list style="symbols">
          <t>MUST ignore the option if it occurs in a message other than a
          Router Advertisement.</t>

          <t>MUST ignore all instances of the option except the first one
          encountered in the Router Advertisement message.</t>

          <t>MUST ignore the option if the Length is less than 1.</t>

          <t>MUST ignore any unknown flag bits.</t>
        </list></t>

      <t>The bit fields within the option are numbered from left to right, from
      8 to 55 (starting as bit offset 16 in the option) and follow the
      numbering of the flag bits in the RA option described in <xref
      target="RAFlg" />. Flag bits 0 to 7 are found in the Router
      Advertisement message header defined in <xref target="RFC2461" />.</t>
    </section>

    <section title="IANA Considerations">
      <t>IANA has defined a new IPv6 Neighbor Discovery option
      for the option defined in this document of the form:</t>

      <texttable>
        <ttcol align="left">Type</ttcol>

        <ttcol align="left">Description</ttcol>

        <ttcol align="left">Reference</ttcol>

        <c>26</c>

        <c>RA Flags Extension Option</c>

        <c>[RFC5075]</c>
      </texttable>

      <t>The registry for these options can be found at:
      http://www.iana.org/assignments/icmpv6-parameters</t>

      <t>IANA has created a new registry for IPv6 ND Router
      Advertisement flags. This should include the current flags in the RA
      option and in the extension option defined in this document.
      The new registry has been added to the icmpv6-parameters as shown
      above. The format for the registry is:</t>

      <texttable>
        <ttcol align="left">RA Option Bit</ttcol>

        <ttcol align="left">Description</ttcol>

        <ttcol align="left">Reference</ttcol>

        <c>0</c>

        <c>M - Managed Address Configuration Flag</c>

        <c><xref target="RFC2461"></xref></c>

        <c>1</c>

        <c>O - Other Configuration Flag</c>

        <c><xref target="RFC2461"></xref></c>

        <c>2</c>

        <c>H - Mobile IPv6 Home Agent Flag</c>

        <c><xref target="RFC3775"></xref></c>

        <c>3</c>

        <c>Prf - Router Selection Preferences</c>

        <c><xref target="RFC4191"></xref></c>

        <c>4</c>

        <c>Prf - Router Selection Preferences</c>

        <c><xref target="RFC4191"></xref></c>

        <c>5</c>

        <c>P - Neighbor Discovery Proxy Flag</c>

        <c><xref target="RFC4389"></xref></c>

        <c>6-53</c>

        <c>R - Reserved; Available for assignment</c>

        <c></c>

        <c>54-55</c>

        <c>Private Experimentation</c>

        <c></c>
      </texttable>

      <t>The assignment of new RA flags in the RA option header and the
      bits defined in the RA extension option defined in this document require
      standards action or IESG approval <xref target="RFC2434"></xref>.</t>
    </section>

    <section title="Security Considerations">
      <t>This protocol shares the security issues of NDP that are documented
      in the "Security Considerations" section of <xref
      target="RFC2461"></xref>.</t>

      <t>The inclusion of additional optional bit fields provides a potential
      covert channel that is useful for passing information.</t>
    </section>
  </middle>

  <back>
    <references title="Normative References">
	<?rfc include="reference.RFC.2461" ?>
	<?rfc include="reference.RFC.2434" ?>
      	<?rfc include="reference.RFC.2119" ?>
    </references>

    <references title="Informative References">
      <?rfc include="reference.RFC.3775" ?>
<?rfc needLines="10" ?>
      <?rfc include="reference.RFC.4191" ?>

      <?rfc include="reference.RFC.4389" ?>
    </references>
  </back>
</rfc>
