<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<?rfc toc="yes"?>
<?rfc sortrefs="no"?>
<?rfc symrefs="yes"?>
<?rfc compact="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<rfc category="info" ipr="trust200902" updates="7084" docName="draft-ietf-v6ops-cpe-lan-pd-07">
  <front>
    <title>IPv6 CE Routers LAN Prefix Delegation</title>

    <author fullname="Timothy Winters" initials="T." surname="Winters">
      <organization abbrev="QA Cafe">QA Cafe</organization>
      <address>
        <postal>
          <street>100 Main Street, Suite #212</street>
          <city>Dover</city>
          <region>NH</region>
          <code>03820</code>
          <country>United States of America</country>
        </postal>
        <email>tim@qacafe.com</email>
      </address>
    </author>
    <date year="2025" />
    <area> Internet </area>
    <workgroup>Internet Engineering Task Force</workgroup>
    <keyword>IPv6</keyword>
    <keyword>Internet Protocol Version 6</keyword>
    <keyword>DHCPv6</keyword>

  <abstract>
    <t>This document defines requirements for IPv6 Customer Edge (CE) routers to 
    support DHCPv6 Prefix Delegation for distributing unused prefixes that were 
    delegated to a IPv6 CE router.  This document updates RFC 7084.</t>

  </abstract>

</front>
<middle>
    <section title="Introduction">
    <t>This document defines requirements for DHCPv6 Prefix Delegation in IPv6 Customer Edge (CE) 
    routers (<xref target="RFC7084" />) in order to properly utilize the IPv6 prefixes assigned by 
    service providers. Many service providers assign larger address blocks than /64 to CE routers, 
    as recommended in <xref target="RFC6177" />. If an IPv6 CE router does not support the 
    Identity Association for Prefix Delegation (IA_PD) Prefix Option 
    (Section 21.21 of <xref target="RFC8415" />) on the LAN, it will not be able to assign any prefixes beyond its local 
    interfaces, limiting the usefulness of assigning prefixes larger than /64 by the operator.  Supporting 
    IA_PD on the LAN interfaces of a CE Router will allow those unused prefixes to be distributed 
    into a network.  Note that efforts such as Stub Networking Auto Configuration 
    (SNAC) Working Group that depends on IPv6 prefixes being properly distributed in the LAN.</t>  

    <t>Two models, hierarchical prefix and flat, were proposed in the past for prefix sub-delegation beyond 
    an IPv6 CE router. Hierarchical prefix delegation requires an IPv6 CE router to sub delegate IPv6 prefixes 
    based on set of rules. If more than one router uses hierarchical prefix delegation, an IPv6 prefix tree is created.  
    When no routing protocol is enabled to discover the network topology, it is possible to have unbalanced 
    prefix delegation tree which leads to running out of prefixes.  More information on heirarchical prefix 
    delegation can be found, e.g., in Section 8.5 of CableLabs IPv6 eRouter Specifiction <xref target="eRouter"></xref>. 
    A flat prefix delegation requires the router to be provisioned with the initial prefix and to assign /64 prefixes 
    to all other prefix requests from routers in the LAN-facing interface. The default configuration of CE Router 
    supporting prefix delegation is designed to be a flat model to support zero configuration networking.</t>  
    
    <t>This document does not cover dealing with multi-provisioned networks with more than one provider. 
    Due to complexity of a solution that would require routing, provisioning and policy, this is out of scope of this document.</t>
    </section>

    <section anchor="Requirements Language" title="Requirements Language">

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

    </section>
    <section anchor="Terminology" title="Terminology">
    <t>The following terminology is defined for this document.
    <list style="symbols">
        <t>IPv6 node: a device that implements IPv6</t>
        <t>IPv6 router: a node that forwards IPv6 packets not explicitly addressed to itself.</t>
        <t>IPv6 host: Any IPv6 node that is not a router.</t>
        <t>ULA:Unique Local Address as defined in <xref target='RFC4193'/>.</t>
        <t>GUA:Global Unique Addresses as defined in <xref target='RFC4291'/>.</t>
    </list>
    </t>
    </section> 
    <section title="IPv6 End-User Network Architecture">
    <t>The end-user network for IPv6 that is a stub network. Figure 1 illustrates the model topology.</t>
    
    <figure align="center" title="Example IPv6 End User Topology">
                 <artwork>
                     +-----------+
                     |  Service  |
                     |  Provider |
                     |   Router  |
                     +-----+-----+
                           |
                           |
                           |  Customer
                           |  Internet Connection
                           |
                     +-----v-----+
                     |   IPv6    |
                     |    CE     |
                     |  Router   |
                     +-----+-----+
                           |
                    +------+-------+
                    |              |
                    |              |
                +---+----+   +-----+------+
                |  IPv6  |   |            |
                |  Host  |   |  Router    |
                |        |   |            |
                +--------+   +------------+
                 </artwork>
    </figure>
    </section>
    <section anchor="Requirements" title="Requirements">
    <t> IPv6 CE router distribute configuration information obtained during WAN interface
    provisioning to LAN-facing IPv6 hosts and routers.  An <xref target="RFC7084"/> compliant CE router  
    would only provide IPv6 hosts with configuration information. This allows for addressing and routing of IPv6 
    prefixes to both hosts and routers. These requirements are in addition to the ones in Section 4.3 of 
    <xref target="RFC7084"/>.</t>
       <section title="LAN Prefix Delegation Requirements (LPD)">
        <t><list style="format LPD-%d:">
           <t>IPv6 CE routers MUST support IPv6 prefix assignment according to <xref target="RFC8415"/> 
           (Identity Association for Prefix Delegation (IA_PD) option) on its LAN interface.</t>
           <t>IPv6 CE routers MUST assign a prefix from the delegated prefix as specified by L-2 in 
           Section 4.3 of <xref target="RFC7084"/>. 
           If insufficient prefixes are available the IPv6 CE Router SHOULD log a system management error.</t>
           <t>The prefix assigned to a link MUST NOT change in the absence of a local policy or a 
           topology change.</t>
           <t>After LAN link prefix assignments, the IPv6 CE router MUST make the remaining IPv6 prefixes
           available to other routers via Prefix Delegation.</t>
           <t>IPv6 CE routers MUST maintain a local routing table that is dynamically updated with leases 
           and the associated next hops as they are delegated to clients. When a delegated prefix is released 
           or expires, the associated route MUST be removed from the IPv6 CE router's routing table.</t>
           <t>By default, the IPv6 CE router filtering rules MUST allow forwarding of packets with an outer 
           IPv6 header containing a source address belonging to Delegated Prefixes, along with reciprocal 
           packets from the same flow, following the recommendations of <xref target="RFC6092"/>. This updates WPD-5 of 
           <xref target="RFC7084"/> to not drop packets from prefixes that have been delegated. IPv6 CE routers
           MUST continue to drop packets destination address that is not assigned to the LAN or delegated.</t>
           <t>The IPv6 CE routers MUST provision IA_PD prefixes with a prefix-length of 64 on the LAN-facing interface 
           unless configured to use a different prefix-length or the CE Router administrator. The prefix 
           length of 64 is used as that is the current prefix length supported by SLAAC. For hierarchical 
           prefix delegation a prefix-length shorter then 64 may be configured.</t>
           <t>IPv6 CE routers configured to generate a ULA prefix as defined in ULA-1 of Section 4.3 of <xref target="RFC7084"/> 
           MUST continue to provision available GUA IPv6 prefixes.</t>
           <t>If an IPv6 CE router is provisioning both ULA and GUA via prefix delegation, the GUA SHOULD appear first in the packet.</t>
           <t>IPv6 CE routers MUST NOT delegate prefixes via DHCPv6 on the LAN using lifetimes that
           exceed the remaining lifetimes of the corresponding prefixes learned on the WAN.</t>  
        </list></t>
       </section>
    </section>
    <section anchor="Security" title="Security Considerations">
        <t>This document does not add any new security considerations beyond those mentioned in 
        Section 4 of <xref target="RFC8213"/>, Section 22 of <xref target="RFC8415"/> and <xref target="RFC6092"/>.</t>
    </section>
    <section anchor="IANA" title="IANA Considerations">
         <t> This document makes no request of IANA.</t>
    </section>
    <section anchor="Acknowledgements" title="Acknowledgements">
    <t> Thanks to the following people for their guidance and feedback:
    
    Marion Dillon, Erik Auerswald, Esko Dijk, Tim Carlin, Richard Patterson, Ted Lemon, 
    Michael Richardson, Martin Huneki, Gabor Lencse, Ole Troan, Brian Carpenter, David Farmer, 
    Kyle Rose, Mohamed Boucadair, Tim Chown, Ron Bonica, and Erica Johnson.

    </t> 
    </section>
</middle>
<back>
 <references title="Normative References">
     <?rfc include='reference.RFC.2119.xml'?>
     <?rfc include='reference.RFC.4193.xml'?>
     <?rfc include='reference.RFC.4291.xml'?>
     <?rfc include='reference.RFC.6092.xml'?>
     <?rfc include='reference.RFC.6177.xml'?>
     <?rfc include='reference.RFC.7084.xml'?>
     <?rfc include='reference.RFC.8174.xml'?>
     <?rfc include='reference.RFC.8213.xml'?>
     <?rfc include='reference.RFC.8415.xml'?>
 </references>
 <references title="Informative References">
    <reference anchor="eRouter" target="https://www.cablelabs.com/specifications/CM-SP-eRouter">
    <front>
      <title>IPv4 and IPv6 eRouter Specification Version I21</title>

          <author fullname="CableLabs" surname="CableLabs">
            <organization></organization>
          </author>

          <date month="February" year="2022" />
        </front>
      </reference>
 </references>
</back>
</rfc>
