<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.21 (Ruby 3.3.6) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-dhc-dhcpv4-over-dhcpv6-ra-01" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.25.0 -->
  <front>
    <title abbrev="DCHP 4o6 Relay Agent">DHCPv4-over-DHCPv6 (DHCP 4o6) with Relay Agent Support</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-dhc-dhcpv4-over-dhcpv6-ra-01"/>
    <author initials="C." surname="Porfiri" fullname="Claudio Porfiri">
      <organization>Ericsson</organization>
      <address>
        <email>claudio.porfiri@ericsson.com</email>
      </address>
    </author>
    <author initials="S." surname="Krishnan" fullname="Suresh Krishnan">
      <organization>Cisco</organization>
      <address>
        <email>suresh.krishnan@gmail.com</email>
      </address>
    </author>
    <author initials="J." surname="Arkko" fullname="Jari Arkko">
      <organization>Ericsson</organization>
      <address>
        <email>jari.arkko@ericsson.com</email>
      </address>
    </author>
    <author initials="M." surname="Kühlewind" fullname="Mirja Kühlewind">
      <organization>Ericsson</organization>
      <address>
        <email>mirja.kuehlewind@ericsson.com</email>
      </address>
    </author>
    <date year="2024" month="December" day="20"/>
    <area>Internet</area>
    <workgroup>Dynamic Host Configuration</workgroup>
    <keyword>dhcp</keyword>
    <abstract>
      <?line 56?>

<t>This document describes a mechanism for networks
with legacy IPv4-only clients to use services provided by
DHCPv6 using DHCPv4-over-DHCPv6 (DHCP 4o6) in a Relay Agent.
RFC7341 specifies use of DHCPv4-over-DHCPv6 in the client only.
This document specifies
a RFC7341-based approach that allows DHCP 4o6 to be deployed as a
Relay Agent (4o6RA) that implements the 4o6 DHCP encapsulation
and decapsulation in contexts where it is not possible at the client.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-dhc-dhcpv4-over-dhcpv6-ra/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/mirjak/dhc-dhcpv4-over-dhcpv6-ra"/>.</t>
    </note>
  </front>
  <middle>
    <?line 67?>

<section anchor="introduction">
      <name>Introduction</name>
      <t><xref target="RFC7341"/> describes a transport mechanism for carrying DHCPv4 <xref target="RFC2131"/>
messages using DHCPv6 <xref target="RFC8415"/> for the dynamic provisioning
of IPv4 addresses and other DHCPv4 specific configuration parameters
across IPv6-only networks. The deployment of <xref target="RFC7341"/> requires support in
DHCP clients and at the DHCPv6 server.</t>
      <t>However, if a client is embedded in a host that only supports IPv4 and cannot
easily be replaced or updated due to a number of technical or business reasons,
this approach does not work.</t>
      <t>Similarly, the specifications for DHCPv6 Relay Agents such as LDRA <xref target="RFC6221"/>
or L3RA <xref target="RFC8415"/> do not foresee the possibility to handle legacy DHCPv4,
other than implementing DHCP 4o6 in the client.</t>
      <t>This document specifies an <xref target="RFC7341"/>-based solution that can be
implemented in intermediate nodes such as switches or routers,
without putting any requirements on clients. No new protocols or extensions are needed,
instead this document specifies an amendment to <xref target="RFC7341"/> that allows
a Relay Agent to perform the DHCP 4o6 encapsulation and decapsultion instead of
the client.</t>
      <section anchor="applicability">
        <name>Applicability Scope</name>
        <t>The mechanisms described in this document apply to the configuration phase
of the host, specifically when a DHCP server for IPv4 <xref target="RFC2131"/> is not
reacheable directly from the host, the host needs to receive an IPv4 address
and there's a DHCPv6 server than can provide IPv4 addresses by means of
the mechanisms described in <xref target="RFC7341"/> and the host doesn't implement
a DHCP client conform to <xref target="RFC7341"/> itself.</t>
      </section>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The following terms and acronyms are used in this document:</t>
      <ul spacing="normal">
        <li>
          <t>DHCP:
 In this document when not otherwise specified it referres to DHCPv4 and/or DHCPv6</t>
        </li>
        <li>
          <t>DHCPv4:
 DHCP as defined in <xref target="RFC2131"/></t>
        </li>
        <li>
          <t>DHCPv4 over DHCPv6 (or 4o6):
 The architecture, the procedures and the protocols described in the
 DHCPv4-over-DHCPv6 document <xref target="RFC7341"/>.</t>
        </li>
        <li>
          <t>DHCP Relay Agent:
 This is a concept in all of the protocols, BOOTP <xref target="RFC0951"/> <xref target="RFC1542"/>, DHCPv4
 <xref target="RFC2131"/> <xref target="RFC2132"/>, and DHCPv6 <xref target="RFC8415"/>, although the details differ
 between the protocols.</t>
        </li>
        <li>
          <t>Lightweight DHCPv6 Relay Agent (or LDRA):
 This is an extension of the original DHCPv6 Relay Agent,
 to support also Layer 2 devices performing a Relay Agent function <xref target="RFC6221"/>.</t>
        </li>
        <li>
          <t>DHCPv4 over DHCPv6 Relay Agent (or 4o6RA):
 Refers to a Relay Agent that implements the 4o6
 specified in this document.</t>
        </li>
      </ul>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" 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>
      <?line -18?>

</section>
    <section anchor="dhcpv4-over-dhcpv6-relay-agent-4o6ra">
      <name>DHCPv4 over DHCPv6 Relay Agent (4o6RA)</name>
      <t>This document assumes a network, where IPv4-only hosts are connected
to a network that supports IPv6 and limited IPv4 services.</t>
      <t>To address such a network setup, this document extends
DHCPv6 Relay Agents with  DHCPv4-over-DHCPv6, as
shown in <xref target="fig_4o6RA"/>.</t>
      <figure anchor="fig_4o6RA">
        <name>Architecture Example with Legacy DHCP Client</name>
        <artset>
          <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="208" width="480" viewBox="0 0 480 208" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 8,64 L 8,128" fill="none" stroke="black"/>
              <path d="M 80,48 L 80,64" fill="none" stroke="black"/>
              <path d="M 80,128 L 80,144" fill="none" stroke="black"/>
              <path d="M 96,64 L 96,128" fill="none" stroke="black"/>
              <path d="M 176,64 L 176,128" fill="none" stroke="black"/>
              <path d="M 192,48 L 192,64" fill="none" stroke="black"/>
              <path d="M 192,128 L 192,144" fill="none" stroke="black"/>
              <path d="M 288,48 L 288,64" fill="none" stroke="black"/>
              <path d="M 288,128 L 288,144" fill="none" stroke="black"/>
              <path d="M 304,64 L 304,128" fill="none" stroke="black"/>
              <path d="M 384,64 L 384,128" fill="none" stroke="black"/>
              <path d="M 400,48 L 400,64" fill="none" stroke="black"/>
              <path d="M 400,128 L 400,144" fill="none" stroke="black"/>
              <path d="M 472,64 L 472,128" fill="none" stroke="black"/>
              <path d="M 96,32 L 176,32" fill="none" stroke="black"/>
              <path d="M 304,32 L 384,32" fill="none" stroke="black"/>
              <path d="M 8,64 L 96,64" fill="none" stroke="black"/>
              <path d="M 176,64 L 304,64" fill="none" stroke="black"/>
              <path d="M 384,64 L 472,64" fill="none" stroke="black"/>
              <path d="M 96,96 L 176,96" fill="none" stroke="black"/>
              <path d="M 304,96 L 384,96" fill="none" stroke="black"/>
              <path d="M 8,128 L 96,128" fill="none" stroke="black"/>
              <path d="M 176,128 L 304,128" fill="none" stroke="black"/>
              <path d="M 384,128 L 472,128" fill="none" stroke="black"/>
              <path d="M 96,160 L 176,160" fill="none" stroke="black"/>
              <path d="M 304,160 L 384,160" fill="none" stroke="black"/>
              <path d="M 96,32 C 87.16936,32 80,39.16936 80,48" fill="none" stroke="black"/>
              <path d="M 176,32 C 184.83064,32 192,39.16936 192,48" fill="none" stroke="black"/>
              <path d="M 304,32 C 295.16936,32 288,39.16936 288,48" fill="none" stroke="black"/>
              <path d="M 384,32 C 392.83064,32 400,39.16936 400,48" fill="none" stroke="black"/>
              <path d="M 96,160 C 87.16936,160 80,152.83064 80,144" fill="none" stroke="black"/>
              <path d="M 176,160 C 184.83064,160 192,152.83064 192,144" fill="none" stroke="black"/>
              <path d="M 304,160 C 295.16936,160 288,152.83064 288,144" fill="none" stroke="black"/>
              <path d="M 384,160 C 392.83064,160 400,152.83064 400,144" fill="none" stroke="black"/>
              <g class="text">
                <text x="140" y="68">L2</text>
                <text x="340" y="68">IPv6</text>
                <text x="52" y="84">DHCPv4</text>
                <text x="136" y="84">Network</text>
                <text x="236" y="84">DHCPv6</text>
                <text x="344" y="84">Network</text>
                <text x="412" y="84">DHCP</text>
                <text x="448" y="84">4o6</text>
                <text x="52" y="100">Client</text>
                <text x="216" y="100">Relay</text>
                <text x="264" y="100">Agent</text>
                <text x="428" y="100">Server</text>
                <text x="220" y="116">with</text>
                <text x="264" y="116">4o6RA</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art" align="center"><![CDATA[
                 .-----------.             .-----------.
                |             |           |             |
       +--------+-+    L2   +-+-----------+-+  IPv6   +-+--------+
       |  DHCPv4  | Network |    DHCPv6     | Network | DHCP 4o6 |
       |  Client  +---------+  Relay Agent  +---------+  Server  |
       |          |         |   with 4o6RA  |         |          |
       +--------+-+         +-+-----------+-+         +-+--------+
                |             |           |             |
                 '-----------'             '-----------'

]]></artwork>
        </artset>
      </figure>
      <t>This document specifies the encapsulation
and decapsulation described in <xref target="RFC7341"/> to be performed in the Relay Agent
whereas the DHCPv4 client does not require any change.
In this case it is up to the Relay Agent to provide the full DHCP
4o6 support whereas a legacy client is not aware of being served
via a DHCP 4o6 service.
All prerequisites and configuration that apply to the DHCP client in
<xref section="5" sectionFormat="of" target="RFC7341"/> shall be applied to 4o6RA instead.</t>
      <t><xref target="RFC7341"/> specifies that before applying for an IPv4 address via a
DHCPv4-query message, the client must identify a suitable network interface
for the address. In the case described in this document where the
client functionality described in <xref target="RFC7341"/> is replaced by 4o6RA,
it is 4o6RA that shall also identify a suitable interface, that can be
a network interface or another Relay Agent.</t>
      <t>To maintain interoperability with existing DHCPv6 relays and servers,
the message format is unchanged from <xref target="RFC8415"/>. The 4o6RA implements
the same message types as a normal DHCPv6 Relay Agent <xref section="6" sectionFormat="of" target="RFC7341"/>.</t>
      <t>In this specification, the 4o6RA creates the DHCPV4-QUERY Message
and encapsulates the DHCP request message received from the legacy DHCPv4 client.</t>
      <t>When DHCPV4-RESPONSE Message is received by the 4o6 Relay Agent,
it looks for the DHCPv4 Message option within this message.
If this option is not found, the DHCPv4-response message <bcp14>MUST</bcp14> be discarded.
If the DHCPv4 Message option is present, the 4o6RA <bcp14>MUST</bcp14> extract the DHCPv4
message and forward the encapsulated DHCPv4-response to the requesting DHCPv4 client.</t>
      <t>Layer 2 Relay Agents receiving DHCPV4-QUERY or DHCPV4-RESPONSE messages
are expected to handle them as specified in <xref section="6" sectionFormat="of" target="RFC6221"/>.</t>
      <t>DHCPv6 servers must be compliant with 4o6 according to <xref target="RFC7341"/>.
No additional requirements on DHCPv6 servers are set by this specification.</t>
      <section anchor="intermediate-relays">
        <name>Intermediate relays</name>
        <t>Intermediate relays shall behave according to section 10 of <xref target="RFC7341"/>.</t>
      </section>
      <section anchor="topology_considerations">
        <name>4o6RA and Topology Discovery</name>
        <t>In some networks the configuration of a host may depend on the
topology.  However, when the new host attaches to a
network, it may be unaware of the topology and respectively how it
has to be configured.</t>
        <t>DHCPv4 <xref target="RFC2131"/> and DHCPv6 <xref target="RFC3315"/> specifications
describe how addresses can be allocated to clients based on network
topology information provided by a DHCP relay, typically.</t>
        <t>Address/prefix allocation decisions are integral to the allocation of
addresses and prefixes in DHCP. The argument is described in details
in <xref target="RFC7969"/>, here we want to guarantee that 4o6RA does not
break any legacy capability when related to the use of topology.</t>
        <t>The topology discovery as described in <xref target="RFC7969"/> differs between
IPv4 and IPv6 because for IPv4 it is only the first Relay Agent that can
set the giaddr field (section 3.1 of <xref target="RFC7969"/>). Thus in a generic
network involving more than one Relay Agent only part of the topology
is transported via DHCPv4.</t>
        <t>When in IPv6 context and using DHCPv6, all Relay Agents can send
link-address and Interface-ID options, that provide
information about the complete path
between the DHCPv6 client and the DHCPv6 server to the DHCPv6 server.
When in a L2 network, Lightway DHCPv6 Relay Agents <xref target="RFC6221"/>
can be used. Then, topology information for the given IP address
can be obtained from the DHCPv6 server and used for configuration
or other purposes.</t>
        <t>The adoption of <xref target="RFC7341"/> at the client permits to use the DHCPv6
mechanisms for topology discovery even in case of DHCPv4.
as using DHCPv6 encapsulation the DHCPv6 Relay Agent knows
the interface where the encapsulated DHCP request is received.</t>
        <t>Moving 4o6 in the intermediate node rather than at the client breaks
the topology propagation as 4o6RA-only does not provide any interface
information in the encapsulated message.</t>
        <figure anchor="fig_4o6RA_RA">
          <name>Topology broken path</name>
          <artset>
            <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="208" width="528" viewBox="0 0 528 208" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,64 L 8,128" fill="none" stroke="black"/>
                <path d="M 80,48 L 80,64" fill="none" stroke="black"/>
                <path d="M 80,128 L 80,144" fill="none" stroke="black"/>
                <path d="M 96,64 L 96,128" fill="none" stroke="black"/>
                <path d="M 176,64 L 176,128" fill="none" stroke="black"/>
                <path d="M 192,48 L 192,64" fill="none" stroke="black"/>
                <path d="M 192,128 L 192,144" fill="none" stroke="black"/>
                <path d="M 224,48 L 224,64" fill="none" stroke="black"/>
                <path d="M 224,128 L 224,144" fill="none" stroke="black"/>
                <path d="M 256,64 L 256,128" fill="none" stroke="black"/>
                <path d="M 296,64 L 296,128" fill="none" stroke="black"/>
                <path d="M 368,64 L 368,128" fill="none" stroke="black"/>
                <path d="M 432,64 L 432,128" fill="none" stroke="black"/>
                <path d="M 448,48 L 448,64" fill="none" stroke="black"/>
                <path d="M 448,128 L 448,144" fill="none" stroke="black"/>
                <path d="M 520,64 L 520,128" fill="none" stroke="black"/>
                <path d="M 96,32 L 176,32" fill="none" stroke="black"/>
                <path d="M 240,32 L 432,32" fill="none" stroke="black"/>
                <path d="M 8,64 L 96,64" fill="none" stroke="black"/>
                <path d="M 176,64 L 256,64" fill="none" stroke="black"/>
                <path d="M 296,64 L 368,64" fill="none" stroke="black"/>
                <path d="M 432,64 L 520,64" fill="none" stroke="black"/>
                <path d="M 96,96 L 176,96" fill="none" stroke="black"/>
                <path d="M 256,96 L 296,96" fill="none" stroke="black"/>
                <path d="M 368,96 L 432,96" fill="none" stroke="black"/>
                <path d="M 8,128 L 96,128" fill="none" stroke="black"/>
                <path d="M 176,128 L 256,128" fill="none" stroke="black"/>
                <path d="M 296,128 L 368,128" fill="none" stroke="black"/>
                <path d="M 432,128 L 520,128" fill="none" stroke="black"/>
                <path d="M 96,160 L 176,160" fill="none" stroke="black"/>
                <path d="M 240,160 L 432,160" fill="none" stroke="black"/>
                <path d="M 96,32 C 87.16936,32 80,39.16936 80,48" fill="none" stroke="black"/>
                <path d="M 176,32 C 184.83064,32 192,39.16936 192,48" fill="none" stroke="black"/>
                <path d="M 240,32 C 231.16936,32 224,39.16936 224,48" fill="none" stroke="black"/>
                <path d="M 432,32 C 440.83064,32 448,39.16936 448,48" fill="none" stroke="black"/>
                <path d="M 96,160 C 87.16936,160 80,152.83064 80,144" fill="none" stroke="black"/>
                <path d="M 176,160 C 184.83064,160 192,152.83064 192,144" fill="none" stroke="black"/>
                <path d="M 240,160 C 231.16936,160 224,152.83064 224,144" fill="none" stroke="black"/>
                <path d="M 432,160 C 440.83064,160 448,152.83064 448,144" fill="none" stroke="black"/>
                <g class="text">
                  <text x="100" y="52">L2</text>
                  <text x="144" y="52">Network</text>
                  <text x="308" y="52">IPv6</text>
                  <text x="360" y="52">Network</text>
                  <text x="52" y="84">DHCPv4</text>
                  <text x="208" y="84">4o6</text>
                  <text x="332" y="84">DHCPv6</text>
                  <text x="460" y="84">DHCP</text>
                  <text x="496" y="84">4o6</text>
                  <text x="52" y="100">Client</text>
                  <text x="216" y="100">Relay</text>
                  <text x="328" y="100">Relay</text>
                  <text x="476" y="100">Server</text>
                  <text x="216" y="116">Agent</text>
                  <text x="328" y="116">Agent</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" align="center"><![CDATA[
           .-----------.     .-------------------------.
          | L2 Network  |   |        IPv6 Network       |
 +--------+-+         +-+---+---+    +--------+       +-+--------+
 |  DHCPv4  |         |  4o6    |    | DHCPv6 |       | DHCP 4o6 |
 |  Client  +---------+  Relay  +----+ Relay  +-------+  Server  |
 |          |         |  Agent  |    | Agent  |       |          |
 +--------+-+         +-+---+---+    +--------+       +-+--------+
          |             |   |                           |
           '-----------'     '-------------------------'

]]></artwork>
          </artset>
        </figure>
        <t>As shown in <xref target="fig_4o6RA_RA"/>, the introduction of 4o6 at the
edge of the IPv6 network hides the L2 network from the DHCPv6 RA.</t>
        <t>In order to preserve the topology information, it is recommended that the
implementation of 4o6RA is combined with the implementation of LDRA <xref target="RFC6221"/>
and that the implementation has a mechanism for LDRA to get interface information
that can be used for the Interface-ID option, as specified in
<xref section="5.3.2" sectionFormat="of" target="RFC6221"/>.
The internal mechanisms to exchange interface information,
their format and whether the interface information contains an indication that a 4o6RA
is involved are out of the scope for this document.</t>
        <figure anchor="fig_4o6LDRA">
          <name>Topology path preserved with LDRA</name>
          <artset>
            <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="208" width="480" viewBox="0 0 480 208" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,64 L 8,128" fill="none" stroke="black"/>
                <path d="M 80,48 L 80,64" fill="none" stroke="black"/>
                <path d="M 80,128 L 80,144" fill="none" stroke="black"/>
                <path d="M 96,64 L 96,128" fill="none" stroke="black"/>
                <path d="M 176,64 L 176,128" fill="none" stroke="black"/>
                <path d="M 192,48 L 192,64" fill="none" stroke="black"/>
                <path d="M 192,128 L 192,144" fill="none" stroke="black"/>
                <path d="M 224,48 L 224,64" fill="none" stroke="black"/>
                <path d="M 224,128 L 224,144" fill="none" stroke="black"/>
                <path d="M 248,64 L 248,128" fill="none" stroke="black"/>
                <path d="M 328,64 L 328,128" fill="none" stroke="black"/>
                <path d="M 384,64 L 384,128" fill="none" stroke="black"/>
                <path d="M 464,48 L 464,56" fill="none" stroke="black"/>
                <path d="M 464,136 L 464,144" fill="none" stroke="black"/>
                <path d="M 472,64 L 472,128" fill="none" stroke="black"/>
                <path d="M 96,32 L 176,32" fill="none" stroke="black"/>
                <path d="M 240,32 L 448,32" fill="none" stroke="black"/>
                <path d="M 8,64 L 96,64" fill="none" stroke="black"/>
                <path d="M 176,64 L 328,64" fill="none" stroke="black"/>
                <path d="M 384,64 L 472,64" fill="none" stroke="black"/>
                <path d="M 96,96 L 176,96" fill="none" stroke="black"/>
                <path d="M 328,96 L 384,96" fill="none" stroke="black"/>
                <path d="M 8,128 L 96,128" fill="none" stroke="black"/>
                <path d="M 176,128 L 328,128" fill="none" stroke="black"/>
                <path d="M 384,128 L 472,128" fill="none" stroke="black"/>
                <path d="M 96,160 L 176,160" fill="none" stroke="black"/>
                <path d="M 240,160 L 448,160" fill="none" stroke="black"/>
                <path d="M 96,32 C 87.16936,32 80,39.16936 80,48" fill="none" stroke="black"/>
                <path d="M 176,32 C 184.83064,32 192,39.16936 192,48" fill="none" stroke="black"/>
                <path d="M 240,32 C 231.16936,32 224,39.16936 224,48" fill="none" stroke="black"/>
                <path d="M 448,32 C 456.83064,32 464,39.16936 464,48" fill="none" stroke="black"/>
                <path d="M 96,160 C 87.16936,160 80,152.83064 80,144" fill="none" stroke="black"/>
                <path d="M 176,160 C 184.83064,160 192,152.83064 192,144" fill="none" stroke="black"/>
                <path d="M 240,160 C 231.16936,160 224,152.83064 224,144" fill="none" stroke="black"/>
                <path d="M 448,160 C 456.83064,160 464,152.83064 464,144" fill="none" stroke="black"/>
                <g class="text">
                  <text x="100" y="52">L2</text>
                  <text x="144" y="52">Network</text>
                  <text x="324" y="52">IPv6</text>
                  <text x="376" y="52">Network</text>
                  <text x="52" y="84">DHCPv4</text>
                  <text x="208" y="84">4o6</text>
                  <text x="284" y="84">LDRA</text>
                  <text x="412" y="84">DHCP</text>
                  <text x="448" y="84">4o6</text>
                  <text x="52" y="100">Client</text>
                  <text x="216" y="100">Relay</text>
                  <text x="288" y="100">RFC6221</text>
                  <text x="428" y="100">Server</text>
                  <text x="216" y="116">Agent</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" align="center"><![CDATA[
           .-----------.     .---------------------------.
          | L2 Network  |   |          IPv6 Network       |
 +--------+-+         +-+---+--+---------+      +----------+
 |  DHCPv4  |         |  4o6   |  LDRA   |      | DHCP 4o6 |
 |  Client  +---------+  Relay + RFC6221 +------+  Server  |
 |          |         |  Agent |         |      |          |
 +--------+-+         +-+---+--+---------+      +----------+
          |             |   |                             |
           '-----------'     '---------------------------'

]]></artwork>
          </artset>
        </figure>
        <t>The assumed architecture is shown in <xref target="fig_4o6LDRA"/> where the whole
The Relay Agent is built up with cooperating 4o6RA and LDRA, and an internal interface to
propagate topology information from 4o6RA to LDRA.</t>
        <t>In a simple case, where the same node hosts the 4o6RA and the DHCP4o6 server,
it might be enough to only use 4o6RA, as shown in <xref target="fig_4o6RAserver"/>.</t>
        <figure anchor="fig_4o6RAserver">
          <name>Topology path preserved 4o6 Relay Agent in DHCP server</name>
          <artset>
            <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="208" width="344" viewBox="0 0 344 208" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,64 L 8,128" fill="none" stroke="black"/>
                <path d="M 80,48 L 80,64" fill="none" stroke="black"/>
                <path d="M 80,128 L 80,144" fill="none" stroke="black"/>
                <path d="M 96,64 L 96,128" fill="none" stroke="black"/>
                <path d="M 176,64 L 176,128" fill="none" stroke="black"/>
                <path d="M 192,48 L 192,64" fill="none" stroke="black"/>
                <path d="M 192,128 L 192,144" fill="none" stroke="black"/>
                <path d="M 248,64 L 248,128" fill="none" stroke="black"/>
                <path d="M 336,64 L 336,128" fill="none" stroke="black"/>
                <path d="M 96,32 L 176,32" fill="none" stroke="black"/>
                <path d="M 8,64 L 96,64" fill="none" stroke="black"/>
                <path d="M 176,64 L 336,64" fill="none" stroke="black"/>
                <path d="M 96,96 L 176,96" fill="none" stroke="black"/>
                <path d="M 8,128 L 96,128" fill="none" stroke="black"/>
                <path d="M 176,128 L 336,128" fill="none" stroke="black"/>
                <path d="M 96,160 L 176,160" fill="none" stroke="black"/>
                <path d="M 96,32 C 87.16936,32 80,39.16936 80,48" fill="none" stroke="black"/>
                <path d="M 176,32 C 184.83064,32 192,39.16936 192,48" fill="none" stroke="black"/>
                <path d="M 96,160 C 87.16936,160 80,152.83064 80,144" fill="none" stroke="black"/>
                <path d="M 176,160 C 184.83064,160 192,152.83064 192,144" fill="none" stroke="black"/>
                <g class="text">
                  <text x="100" y="52">L2</text>
                  <text x="144" y="52">Network</text>
                  <text x="52" y="84">DHCP</text>
                  <text x="208" y="84">4o6</text>
                  <text x="276" y="84">DHCP</text>
                  <text x="312" y="84">4o6</text>
                  <text x="52" y="100">Client</text>
                  <text x="216" y="100">Relay</text>
                  <text x="292" y="100">Server</text>
                  <text x="36" y="116">on</text>
                  <text x="64" y="116">CPE</text>
                  <text x="216" y="116">Agent</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" align="center"><![CDATA[
           .-----------.
          | L2 Network  |
 +--------+-+         +-+------+----------+
 |   DHCP   |         |  4o6   | DHCP 4o6 |
 |  Client  +---------+  Relay +  Server  |
 |  on CPE  |         |  Agent |          |
 +--------+-+         +-+------+----------+
          |             |
           '-----------'

]]></artwork>
          </artset>
        </figure>
      </section>
    </section>
    <section anchor="deployment-considerations">
      <name>Deployment Considerations</name>
      <t>As clients are not aware of the presence of 4o6RA, the network deployment needs to ensure that
all DHCPv4 broadcast and unicast messages from clients are steered to a 4o6RA.
This can, e.g., be achieved by placing the 4o6RA in a central position that can observe all traffic
from the clients or use of address translation with the 4o6RA address for unicast
messages.</t>
    </section>
    <section anchor="seccons">
      <name>Security Considerations</name>
      <t>This documents specifies the applicability of 4o6 DHCP in a scenario where legacy IPv4 clients are
connected to 4o6 DHCP Relay Agents that performs the encapsulation and decapsulation. This document
does not change anything else in the 4o6 DHCP specification and therefore the
security consideration of <xref target="RFC7341"/> still apply.</t>
      <t>This mechanism differs from <xref target="RFC7341"/> as the DHCP client
sends and receives DHCPv4 messages, whereas in <xref target="RFC7341"/> it
only sends DHCPv6 messages. This makes it possible that
DHCPv4 messages could reach a DHCPv4 server without using the 4o6RA.
While this can cause erroneous state in both clients and servers
and potentially even lead to misconfigurations that impact reachability,
this is not seen as a security concern rather than a deployment error.
Further, even though it may be used for attacks from within the network,
this is not new and it is not introduced because of this specification.</t>
      <t>More generally, legacy IPv4 clients are not aware of this mechanism, however, even
when DHCP 4o6 is used, the client does not have any control about the
information provided by the Relay agent. As such this change does not
raise any additional security concerns.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC3315">
          <front>
            <title>Dynamic Host Configuration Protocol for IPv6 (DHCPv6)</title>
            <author fullname="R. Droms" initials="R." role="editor" surname="Droms"/>
            <author fullname="J. Bound" initials="J." surname="Bound"/>
            <author fullname="B. Volz" initials="B." surname="Volz"/>
            <author fullname="T. Lemon" initials="T." surname="Lemon"/>
            <author fullname="C. Perkins" initials="C." surname="Perkins"/>
            <author fullname="M. Carney" initials="M." surname="Carney"/>
            <date month="July" year="2003"/>
          </front>
          <seriesInfo name="RFC" value="3315"/>
          <seriesInfo name="DOI" value="10.17487/RFC3315"/>
        </reference>
        <reference anchor="RFC6221">
          <front>
            <title>Lightweight DHCPv6 Relay Agent</title>
            <author fullname="D. Miles" initials="D." role="editor" surname="Miles"/>
            <author fullname="S. Ooghe" initials="S." surname="Ooghe"/>
            <author fullname="W. Dec" initials="W." surname="Dec"/>
            <author fullname="S. Krishnan" initials="S." surname="Krishnan"/>
            <author fullname="A. Kavanagh" initials="A." surname="Kavanagh"/>
            <date month="May" year="2011"/>
            <abstract>
              <t>This document proposes a Lightweight DHCPv6 Relay Agent (LDRA) that is used to insert relay agent options in DHCPv6 message exchanges identifying client-facing interfaces. The LDRA can be implemented in existing access nodes (such as Digital Subscriber Link Access Multiplexers (DSLAMs) and Ethernet switches) that do not support IPv6 control or routing functions. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6221"/>
          <seriesInfo name="DOI" value="10.17487/RFC6221"/>
        </reference>
        <reference anchor="RFC7341">
          <front>
            <title>DHCPv4-over-DHCPv6 (DHCP 4o6) Transport</title>
            <author fullname="Q. Sun" initials="Q." surname="Sun"/>
            <author fullname="Y. Cui" initials="Y." surname="Cui"/>
            <author fullname="M. Siodelski" initials="M." surname="Siodelski"/>
            <author fullname="S. Krishnan" initials="S." surname="Krishnan"/>
            <author fullname="I. Farrer" initials="I." surname="Farrer"/>
            <date month="August" year="2014"/>
            <abstract>
              <t>IPv4 connectivity is still needed as networks migrate towards IPv6. Users require IPv4 configuration even if the uplink to their service provider supports IPv6 only. This document describes a mechanism for obtaining IPv4 configuration information dynamically in IPv6 networks by carrying DHCPv4 messages over DHCPv6 transport. Two new DHCPv6 messages and two new DHCPv6 options are defined for this purpose.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7341"/>
          <seriesInfo name="DOI" value="10.17487/RFC7341"/>
        </reference>
        <reference anchor="RFC7969">
          <front>
            <title>Customizing DHCP Configuration on the Basis of Network Topology</title>
            <author fullname="T. Lemon" initials="T." surname="Lemon"/>
            <author fullname="T. Mrugalski" initials="T." surname="Mrugalski"/>
            <date month="October" year="2016"/>
            <abstract>
              <t>DHCP servers have evolved over the years to provide significant functionality beyond that described in the DHCP base specifications. One aspect of this functionality is support for context-specific configuration information. This memo describes some such features and explains their operation.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7969"/>
          <seriesInfo name="DOI" value="10.17487/RFC7969"/>
        </reference>
        <reference anchor="RFC8415">
          <front>
            <title>Dynamic Host Configuration Protocol for IPv6 (DHCPv6)</title>
            <author fullname="T. Mrugalski" initials="T." surname="Mrugalski"/>
            <author fullname="M. Siodelski" initials="M." surname="Siodelski"/>
            <author fullname="B. Volz" initials="B." surname="Volz"/>
            <author fullname="A. Yourtchenko" initials="A." surname="Yourtchenko"/>
            <author fullname="M. Richardson" initials="M." surname="Richardson"/>
            <author fullname="S. Jiang" initials="S." surname="Jiang"/>
            <author fullname="T. Lemon" initials="T." surname="Lemon"/>
            <author fullname="T. Winters" initials="T." surname="Winters"/>
            <date month="November" year="2018"/>
            <abstract>
              <t>This document describes the Dynamic Host Configuration Protocol for IPv6 (DHCPv6): an extensible mechanism for configuring nodes with network configuration parameters, IP addresses, and prefixes. Parameters can be provided statelessly, or in combination with stateful assignment of one or more IPv6 addresses and/or IPv6 prefixes. DHCPv6 can operate either in place of or in addition to stateless address autoconfiguration (SLAAC).</t>
              <t>This document updates the text from RFC 3315 (the original DHCPv6 specification) and incorporates prefix delegation (RFC 3633), stateless DHCPv6 (RFC 3736), an option to specify an upper bound for how long a client should wait before refreshing information (RFC 4242), a mechanism for throttling DHCPv6 clients when DHCPv6 service is not available (RFC 7083), and relay agent handling of unknown messages (RFC 7283). In addition, this document clarifies the interactions between models of operation (RFC 7550). As such, this document obsoletes RFC 3315, RFC 3633, RFC 3736, RFC 4242, RFC 7083, RFC 7283, and RFC 7550.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8415"/>
          <seriesInfo name="DOI" value="10.17487/RFC8415"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC0951">
          <front>
            <title>Bootstrap Protocol</title>
            <author fullname="W.J. Croft" initials="W.J." surname="Croft"/>
            <author fullname="J. Gilmore" initials="J." surname="Gilmore"/>
            <date month="September" year="1985"/>
            <abstract>
              <t>This RFC describes an IP/UDP bootstrap protocol (BOOTP) which allows a diskless client machine to discover its own IP address, the address of a server host, and the name of a file to be loaded into memory and executed. The bootstrap operation can be thought of as consisting of TWO PHASES. This RFC describes the first phase, which could be labeled `address determination and bootfile selection'. After this address and filename information is obtained, control passes to the second phase of the bootstrap where a file transfer occurs. The file transfer will typically use the TFTP protocol, since it is intended that both phases reside in PROM on the client. However BOOTP could also work with other protocols such as SFTP or FTP. This RFC suggests a proposed protocol for the ARPA-Internet community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="951"/>
          <seriesInfo name="DOI" value="10.17487/RFC0951"/>
        </reference>
        <reference anchor="RFC1542">
          <front>
            <title>Clarifications and Extensions for the Bootstrap Protocol</title>
            <author fullname="W. Wimer" initials="W." surname="Wimer"/>
            <date month="October" year="1993"/>
            <abstract>
              <t>Some aspects of the BOOTP protocol were rather loosely defined in its original specification. In particular, only a general description was provided for the behavior of "BOOTP relay agents" (originally called "BOOTP forwarding agents"). The client behavior description also suffered in certain ways. This memo attempts to clarify and strengthen the specification in these areas. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="1542"/>
          <seriesInfo name="DOI" value="10.17487/RFC1542"/>
        </reference>
        <reference anchor="RFC2131">
          <front>
            <title>Dynamic Host Configuration Protocol</title>
            <author fullname="R. Droms" initials="R." surname="Droms"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>The Dynamic Host Configuration Protocol (DHCP) provides a framework for passing configuration information to hosts on a TCPIP network. DHCP is based on the Bootstrap Protocol (BOOTP), adding the capability of automatic allocation of reusable network addresses and additional configuration options. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2131"/>
          <seriesInfo name="DOI" value="10.17487/RFC2131"/>
        </reference>
        <reference anchor="RFC2132">
          <front>
            <title>DHCP Options and BOOTP Vendor Extensions</title>
            <author fullname="S. Alexander" initials="S." surname="Alexander"/>
            <author fullname="R. Droms" initials="R." surname="Droms"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>This document specifies the current set of DHCP options. Future options will be specified in separate RFCs. The current list of valid options is also available in ftp://ftp.isi.edu/in-notes/iana/assignments. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2132"/>
          <seriesInfo name="DOI" value="10.17487/RFC2132"/>
        </reference>
      </references>
    </references>
    <?line 351?>

<section anchor="usecase">
      <name>Example Use Case: Topology Discovery for IPv4-only Radio Unit in the RAN Switched Fronthaul</name>
      <t>The Radio Fronthaul Network (FH) is built up with Radio Units (RU) and
Baseband Units (BB), each being an IP host.
Each RU is unique as it is tied to a set of antennas, and each antenna
is serving a specific Cell and Sector.
Each RU is configured by the BB depending on the Cell and Sectors it serves.
However, that dependency is only specified by the cabling between RU and antennas.</t>
      <t>If BB is directly cabled to a set of RUs, the
BB can recognize the relationship between Russia and Cell/Sectors
based on the cabling between the RUs and antennas.</t>
      <t>The introduction of a switched network between RUs and BBs has
added a level of complexity that requires the BBs to have a deeper
knowledge of the topology in order to properly configure the RUs,
involving knowledge all the cabling in the switched network.</t>
      <t>Examples for switched networks are show in section 3 of <xref target="RFC7969"/>
and demonstrate the different levels of complexity.
An example of a FH is depicted in <xref target="l2_switched_fh"/>.</t>
      <figure anchor="l2_switched_fh">
        <name>Layer 2 Switched Fronthaul Example</name>
        <artset>
          <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="352" width="544" viewBox="0 0 544 352" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 8,32 L 8,80" fill="none" stroke="black"/>
              <path d="M 8,112 L 8,160" fill="none" stroke="black"/>
              <path d="M 8,192 L 8,240" fill="none" stroke="black"/>
              <path d="M 8,272 L 8,320" fill="none" stroke="black"/>
              <path d="M 80,32 L 80,80" fill="none" stroke="black"/>
              <path d="M 80,112 L 80,160" fill="none" stroke="black"/>
              <path d="M 80,192 L 80,240" fill="none" stroke="black"/>
              <path d="M 80,272 L 80,320" fill="none" stroke="black"/>
              <path d="M 152,48 L 152,144" fill="none" stroke="black"/>
              <path d="M 152,208 L 152,304" fill="none" stroke="black"/>
              <path d="M 168,48 L 168,80" fill="none" stroke="black"/>
              <path d="M 168,208 L 168,240" fill="none" stroke="black"/>
              <path d="M 224,48 L 224,144" fill="none" stroke="black"/>
              <path d="M 224,208 L 224,304" fill="none" stroke="black"/>
              <path d="M 272,48 L 272,320" fill="none" stroke="black"/>
              <path d="M 296,64 L 296,144" fill="none" stroke="black"/>
              <path d="M 296,224 L 296,304" fill="none" stroke="black"/>
              <path d="M 336,64 L 336,96" fill="none" stroke="black"/>
              <path d="M 392,64 L 392,144" fill="none" stroke="black"/>
              <path d="M 392,224 L 392,304" fill="none" stroke="black"/>
              <path d="M 432,48 L 432,320" fill="none" stroke="black"/>
              <path d="M 456,144 L 456,224" fill="none" stroke="black"/>
              <path d="M 536,144 L 536,224" fill="none" stroke="black"/>
              <path d="M 8,32 L 80,32" fill="none" stroke="black"/>
              <path d="M 152,48 L 224,48" fill="none" stroke="black"/>
              <path d="M 80,64 L 144,64" fill="none" stroke="black"/>
              <path d="M 296,64 L 392,64" fill="none" stroke="black"/>
              <path d="M 8,80 L 80,80" fill="none" stroke="black"/>
              <path d="M 168,80 L 224,80" fill="none" stroke="black"/>
              <path d="M 272,96 L 288,96" fill="none" stroke="black"/>
              <path d="M 336,96 L 392,96" fill="none" stroke="black"/>
              <path d="M 8,112 L 80,112" fill="none" stroke="black"/>
              <path d="M 80,128 L 144,128" fill="none" stroke="black"/>
              <path d="M 224,128 L 264,128" fill="none" stroke="black"/>
              <path d="M 392,128 L 424,128" fill="none" stroke="black"/>
              <path d="M 152,144 L 224,144" fill="none" stroke="black"/>
              <path d="M 296,144 L 392,144" fill="none" stroke="black"/>
              <path d="M 456,144 L 536,144" fill="none" stroke="black"/>
              <path d="M 8,160 L 80,160" fill="none" stroke="black"/>
              <path d="M 432,176 L 448,176" fill="none" stroke="black"/>
              <path d="M 8,192 L 80,192" fill="none" stroke="black"/>
              <path d="M 152,208 L 224,208" fill="none" stroke="black"/>
              <path d="M 80,224 L 144,224" fill="none" stroke="black"/>
              <path d="M 296,224 L 392,224" fill="none" stroke="black"/>
              <path d="M 456,224 L 536,224" fill="none" stroke="black"/>
              <path d="M 8,240 L 80,240" fill="none" stroke="black"/>
              <path d="M 168,240 L 224,240" fill="none" stroke="black"/>
              <path d="M 272,256 L 288,256" fill="none" stroke="black"/>
              <path d="M 8,272 L 80,272" fill="none" stroke="black"/>
              <path d="M 80,288 L 144,288" fill="none" stroke="black"/>
              <path d="M 224,288 L 264,288" fill="none" stroke="black"/>
              <path d="M 392,288 L 424,288" fill="none" stroke="black"/>
              <path d="M 152,304 L 224,304" fill="none" stroke="black"/>
              <path d="M 296,304 L 392,304" fill="none" stroke="black"/>
              <path d="M 8,320 L 80,320" fill="none" stroke="black"/>
              <g class="text">
                <text x="40" y="52">RU1</text>
                <text x="132" y="52">P1</text>
                <text x="196" y="68">L2RA</text>
                <text x="364" y="84">L3RA</text>
                <text x="180" y="100">L2</text>
                <text x="132" y="116">P2</text>
                <text x="188" y="116">switch</text>
                <text x="40" y="132">RU2</text>
                <text x="180" y="132">#1</text>
                <text x="348" y="132">Router</text>
                <text x="484" y="180">DHCP</text>
                <text x="492" y="196">Server</text>
                <text x="40" y="212">RU3</text>
                <text x="132" y="212">P1</text>
                <text x="492" y="212">#1</text>
                <text x="196" y="228">L2RA</text>
                <text x="180" y="260">L2</text>
                <text x="340" y="260">Baseband</text>
                <text x="132" y="276">P2</text>
                <text x="188" y="276">switch</text>
                <text x="340" y="276">Unit</text>
                <text x="40" y="292">RU4</text>
                <text x="180" y="292">#2</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art" align="center"><![CDATA[
     +--------+
     |  RU1   |     P1 +-+------+     |                   |
     |        +--------| | L2RA |     |  +----+------+    |
     +--------+        | +------+     |  |    | L3RA |    |
                       |  L2    |     +--|    +------+    |
     +--------+     P2 | switch |     |  |           |    |
     |  RU2   +--------|  #1    +-----|  |   Router  +----|
     |        |        +--------+     |  +-----------+    |  +---------+
     +--------+                       |                   |  |         |
                                      |                   +--| DHCP    |
     +--------+                       |                   |  | Server  |
     |  RU3   |     P1 +-+------+     |                   |  |   #1    |
     |        +--------| | L2RA |     |  +-----------+    |  +---------+
     +--------+        | +------+     |  |           |    |
                       |  L2    |     +--| Baseband  |    |
     +--------+     P2 | switch |     |  |   Unit    |    |
     |  RU4   +--------|  #2    +-----|  |           +----|
     |        |        +--------+     |  +-----------+    |
     +--------+                       |                   |
]]></artwork>
        </artset>
      </figure>
      <t>Among the various alternatives, DHCP topology knowledge can be used
for solving the RU configuration problem when the FH is IPv6. Such solution
would use the topology discovery mechanisms described in section 3.2
of <xref target="RFC7969"/>. The same mechanisms applies when RUs are connected via IPv4 and
implement 4o6 according to <xref target="RFC7341"/>.</t>
      <t>In order to extend the solution described above also to the case where
RUs are using IPv4 but cannot support <xref target="RFC7341"/>, it is possible to adopt
the mechanisms described in this document by introducing 4o6RA in
the switches.</t>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The authors would also like to acknowledge interesting discussions in
this problem space with Sarah Gannon, Ines Ramadza and Siddharth Sharma.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
C1B5eBH+WaqJ+F+9bI6eFEIAAA==

-->

</rfc>
