<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent">
<rfc category="std" submissionType="IETF" docName="draft-hui-stub-router-ra-flag-02" ipr="trust200902"
     xmlns:xi="http://www.w3.org/2001/XInclude" version="3"
     sortRefs="true" symRefs="true" tocDepth="3" tocInclude="true" xml:lang="en">
  <front>
    <title abbrev="Stub Router RA Flag">
      Stub Router Flag in ICMPv6 Router Advertisement Messages
    </title>
    <author initials="J" surname="Hui" fullname="Jonathan Hui">
      <organization>Google LLC</organization>
      <address>
        <postal>
          <street>1600 Amphitheatre Parkway</street>
          <city>Mountain View</city>
          <region>California</region>
          <code>940432</code>
          <country>US</country>
        </postal>
        <email>jonhui@google.com</email>
      </address>
    </author>

    <date year='2024'/>
    <area>Internet</area>
    <workgroup>Internet Engineering Task Force</workgroup>

    <abstract>
      <t>This document defines a new Stub Router flag in the Router Advertisement message that can be used to distinguish configuration information sent by stub routers from information sent by infrastructure routers.</t>
    </abstract>
  </front>

  <middle>
    <section>
      <name>Introduction</name>

      <t>A stub router provides IP connectivity between a stub network and an infrastructure network. A common stub router example is a device that attaches a 6LoWPAN-based network to a home network.</t>

      <t>To support IPv6 reachability between infrastructure network devices and stub network devices, routable IPv6 addresses must be configured on both the infrastructure and stub networks. Stub routers decide whether or not to advertise their ULA prefixes <xref target="RFC4193"/> on the infrastructure network to which they are connected by tracking the presence of infrastructure-provided IPv6 service. When a stub router sees a new prefix advertised on infrastructure, this prefix may be coming from an infrastructure router, or from another stub router. In the second case, the two stub routers could wind up in a cycle of publishing and deprecating their prefixes as they see prefixes from the other stub router show up.</t>

      <t>The stub router document <xref target="I-D.ietf-snac-simple"/> explains how two stub routers decide which one has precedence in the event of a conflict. However, the infrastructure prefix always has precedence over a prefix provided by any stub router. In order to differentiate between prefixes advertised by infrastructure and those advertised by stub routers, it is necessary to be able to mark RAs sent by stub routers.</t>

      <t>Additionally, the RA header includes M and O flags that indicate whether DHCPv6 is available on the link. <xref target="RFC4861" section="6.3.4"/> specifies that hosts consider the most recently received information as authoritative. As a result, stub routers must mirror the M and O values in RAs received from infrastructure routers. The Stub Router flag allows stub routers to easily identify which RAs are sent by infrastructure routers.</t>
    </section>

    <section>
      <name>Terminology</name>

      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they appear in all capitals, as shown here.</t>
    </section>

    <section>
      <name>Stub Router Flag</name>

      <t>This document defines a new "Stub Router" flag as flag bit 6 in the Router Advertisement flags field.</t>

      <figure>
        <name>outer Advertisement Message Format</name>
        <artset>
          <artwork alt="outer Advertisement Message Format" type="ascii-art">
 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      |     Code      |          Checksum             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Cur Hop Limit |M|O|H|Prf|P|S|R|       Router Lifetime         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                         Reachable Time                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                          Retrans Timer                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   Options ...
+-+-+-+-+-+-+-+-+-+-+-+-
          </artwork>
        </artset>
      </figure>

      <t>The S flag is the "Stub Router" flag.</t>

      <t>The M, O, H, Prf, P, and R flags are as defined in <xref target="RFC5175"/>.</t>
    </section>

    <section>
      <name>Router Advertisement Transmission</name>

      <t>A stub router that is not explicitly configured as part of the infrastructure network MUST set the Stub Router flag in outgoing RA messages.</t>

      <t>How and when a stub router sets the M and O flags in outgoing RAs is specified in <xref target="I-D.ietf-snac-simple"/>.</t>
    </section>

    <section>
      <name>IANA Considerations</name>

      <t>IANA is requested to allocate a flag from the "IPv6 ND Router Advertisement flags" registry of <xref target="RFC5175"/>, as specified below:</t>

      <table>
        <tbody>
          <tr>
            <td>RA Option Bit</td>
            <td>Description</td>
            <td>Reference</td>
          </tr>
          <tr>
            <td>6</td>
            <td>S - Stub Router Flag</td>
            <td>This Document</td>
          </tr>
        </tbody>
      </table>
    </section>

    <section>
      <name>Security Considerations</name>

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

  <back>
    <references>
      <name>Normative References</name>
      <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-snac-simple.xml"/>
      <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"/>
      <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.4193.xml"/>
      <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.4861.xml"/>
      <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5175.xml"/>
      <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml"/>
    </references>
  </back>
</rfc>
