<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<?rfc toc="yes"?>
<?rfc tocompact="yes"?>
<?rfc tocdepth="3"?>
<?rfc tocindent="yes"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<?rfc strict='yes'?>
<?rfc iprnotified='no'?>
<rfc category="std" docName="draft-templin-6man-dhcpv6nd-00" ipr="trust200902" updates="">
  <front>
    <title abbrev="DHCPv6 IPv6 ND (DHCPv6ND)">DHCPv6 Option for IPv6 ND (DHCPv6ND)</title>

    <author fullname="Fred L. Templin" initials="F. L." role="editor"
            surname="Templin">
      <organization>Boeing Research &amp; Technology</organization>

      <address>
        <postal>
          <street>P.O. Box 3707</street>

          <city>Seattle</city>

          <region>WA</region>

          <code>98124</code>

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

        <email>fltemplin@acm.org</email>
      </address>
    </author>

    <date day="10" month="October" year="2024"/>

    <keyword>I-D</keyword>

    <keyword>Internet-Draft</keyword>

    <abstract>
      <t>On some IPv6 links, hosts/clients may have advanced knowledge
      that all routers on the link would be willing to provide DHCPv6
      address/prefix delegation services without the need for an
      initial RS/RA message exchange followed by one or more separate
      DHCPv6 exchanges. This document specifies a new IPv6 Neighbor
      Discovery option termed the "DHCPv6 Option" that supports the
      managed delegation of addresses/prefixes in a single message
      exchange.</t>
    </abstract>
  </front>

  <middle>
    <section anchor="intro" title="Introduction">
      <t>On some IPv6 links, hosts/clients may have advanced knowledge
      that all routers on the link would be willing to provide DHCPv6
      address/prefix delegation services without the need for an
      initial RS/RA message exchange followed by one or more separate
      DHCPv6 exchanges. This document specifies a new IPv6 Neighbor
      Discovery option termed the "DHCPv6 Option" that supports the
      managed delegation of addresses/prefixes in a single message
      exchange.</t>
    </section>

    <section anchor="ipv6" title="IPv6 ND DHCPv6 Option">
      <t>The IPv6 Neighbor Discovery (IPv6 ND) specification <xref
      target="RFC4861"/> defines the protocol, message formats and
      option types for operation of the IPv6 protocol <xref target=
      "RFC8200"/> over all manners of links. Routers on the link
      send Router Advertisement (RA) messages to a link-scoped
      multicast address allowing hosts/clients to detect their
      presence. After receiving an RA, hosts/clients can then
      invoke the Dynamic Host Configuration Protocol for IPv6
      (DHCPv6) <xref target="RFC8415"/> and/or StateLess Address
      AutoConfiguration (SLAAC) <xref target="RFC4862"/> procedures
      to obtain IPv6 addresses. (In some environments, the DHCPv6
      Prefix Delegation (PD) service may also be available to
      fulfill client needs.)</t>

      <t>This document concerns a class of links on which
      hosts/clients may not receive timely unsolicited RA messages
      and may therefore be compelled to send Router Solicitation
      (RS) messages to invoke an RA response. If the hosts/clients
      are further aware in advance that all routers on the link
      would be willing to provide DHCPv6 address/prefix delegation
      services, it would be beneficial if the RS/RA message
      exchanges themselves could also convey DHCPv6 parameters.
      This document therefore proposes a DHCPv6 Option for
      IPv6 ND.</t>

      <t>The DHCPv6 Option for IPv6 ND has the following format:

      <figure anchor="mla-fmt"
              title="DHCPv6 Option for IPv6 ND Format">
          <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     |           Reserved            |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |    msg-type   |               transaction-id                  |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                                                               |
     ~                        DHCPv6 options                         ~
     ~                 (variable number and length)                  ~
     |                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |    Null Padding ....
     +-+-+-+-+-+-+-+-+-+-+-+-
   ]]></artwork></figure></t>

      <t>In this format "Type" is assigned an integer IPv6 ND option
      type value (see: IANA Considerations), "Length" is the length
      of the option in units of 8 octets, and the remainder of the
      option is a standard-format DHCPv6 message beginning with a
      msg-type and transaction-id and ending with a variable-length
      concatenation of DHCPv6 options. If the message is not an
      integral number of 8 octets, Null Padding is added following
      the end of the DHCPv6 options.</t>

      <t>In a reference use case, when a host/client on a link with
      known properties does not receive a timely RA message, it can
      send an RS message containing a DHCPv6 Option with the DHCPv6
      message populated according to <xref target="RFC8415"/>.
      The DHCPv6 message will typically include a request for
      address and/or prefix delegations plus a Rapid Commit option.</t>

      <t>Upon receiving the RS message, one or more routers on the
      link that are willing to provide DHCPv6 services convey the
      DHCPv6 message to a nearby DHCPv6 server. When the DHCPv6
      server responds, the router encapsulates the DHCPv6 response
      in an RA message DHCPv6 option and sends the RA message to
      the unicast address of the host/client.</t>

      <t>It is important to understand that multiple routers on
      the link may send RA responses to a single RS message. The
      host/client should process the union of all DHCPv6 information
      received in RAs (keeping track of their respective routers of
      origin) and either accept or decline any offered addresses
      or prefixes.</t>

      <t>Note that it is not an error for a router that either
      does not recognize the option or cannot provide the requested
      service to return an RA with a DHCPv6 Option response containing
      a failure code or no DHCPv6 Option at all. The host/client can
      then attempt to obtain DHCPv6 services via another router on
      the link. However, routers SHOULD NOT return a DHCPv6 Option
      response in an RA message sent to a multicast address, and
      hosts/clients MUST ignore a DHCPv6 Option response in a
      multicast RA.</t>
    </section>

    <section anchor="implement" title="Implementation Status">
      <t>In progress.</t>
    </section>

    <section anchor="iana" title="IANA Considerations">
      <t>The IANA is instructed to allocate a new IPv6 ND option
      Type for the DHCPv6 Option.</t>
    </section>

    <section anchor="secure" title="Security Considerations">
      <t>TBD.</t>
    </section>

    <section anchor="ack" title="Acknowledgements">
      <t>This work was inspired by continued investigations into
      5G MANET operations in cooperation with the Virginia Tech
      National Security Institute (VTNSI).</t>

      <t>Honoring life, liberty and the pursuit of happiness.</t>
    </section>
  </middle>

  <back>
    <references title="Normative References">

      <?rfc include="reference.RFC.8200"?>

      <?rfc include="reference.RFC.4861"?>

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

    <references title="Informative References">

      <?rfc include="reference.RFC.4862"?>

    </references>

    <section title="Change Log">
      <t>&lt;&lt; RFC Editor - remove prior to publication &gt;&gt;</t>

      <t>Differences from earlier versions:<list style="symbols">
          <t>First draft publication.</t>
        </list></t>
    </section>
  </back>
</rfc>
