<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent">


<rfc xmlns:xi="http://www.w3.org/2001/XInclude" submissionType="IETF" category="std" consensus="true" number="8658" ipr="trust200902" obsoletes="" updates="" xml:lang="en" version="3" sortRefs="true" symRefs="true" tocInclude="true" tocDepth="4" docName="draft-ietf-softwire-map-radius-26">
  <!-- xml2rfc v2v3 conversion 2.28.0 -->
  <front>
    <title abbrev="A+P RADIUS Attributes">RADIUS Attributes for Softwire
    Mechanisms Based on Address&nbsp;plus&nbsp;Port&nbsp;(A&wj;+P)</title>
    <seriesInfo name="RFC" value="8658"/>
    <author fullname="Sheng Jiang" initials="S." surname="Jiang" role="editor">
      <organization abbrev="Huawei">Huawei Technologies Co., Ltd.</organization>
      <address>
        <postal>
          <street>Q14, Huawei Campus, No.156 Beiqing Road</street>
          <city>Hai-Dian District, Beijing, 100095</city>
          <country>China</country>
        </postal>
        <email>jiangsheng@huawei.com</email>
      </address>
    </author>
    <author fullname="Yu Fu" initials="Y." surname="Fu" role="editor">
      <organization>CNNIC</organization>
      <address>
        <postal>
          <street>No.4 South 4th Street, Zhongguancun</street>
          <city>Hai-Dian District, Beijing, 100190</city>
          <country>China</country>
        </postal>
        <email>eleven711711@foxmail.com</email>
      </address>
    </author>
    <author fullname="Chongfeng Xie" initials="C." surname="Xie">
      <organization>China Telecom</organization>
      <address>
        <postal>
          <street/>
          <city>Beijing</city>
          <code/>
          <country>China</country>
        </postal>
        <email>xiechf.bri@chinatelecom.cn</email>
      </address>
    </author>
    <author fullname="Tianxiang Li" initials="T" surname="Li">
      <organization>Tsinghua University</organization>
      <address>
        <postal>
          <street/>
          <city>Beijing</city>
          <code>100084</code>
          <country>China</country>
        </postal>
        <email>peter416733@gmail.com</email>
      </address>
    </author>
    <author fullname="Mohamed Boucadair" initials="M. " role="editor" surname="Boucadair">
      <organization>Orange</organization>
      <address>
        <postal>
          <street>Rennes, 35000</street>
          <city>France</city>
          <region/>
          <code/>
          <country/>
        </postal>
        <phone/>
        <email>mohamed.boucadair@orange.com</email>
        <uri/>
      </address>
    </author>
    <date month="October" year="2019"/>
    <area>Internet Area</area>
    <workgroup>Softwire</workgroup>
    <keyword>IPv6 Transition, MAP-E, MAP-T, Lightweight 4over6, RADIUS,
    address sharing, authorization, AAA, provisioning</keyword>
    <abstract>
      <t>IPv4-over-IPv6 transition mechanisms provide IPv4 connectivity
      services over IPv6 native networks during the IPv4/IPv6 coexistence
      period. DHCPv6 options have been defined to configure clients for
      Lightweight 4over6, Mapping of Address and Port with Encapsulation (MAP-E),
      Mapping of Address and Port using Translation (MAP-T) unicast softwire
      mechanisms, and multicast softwires. However, in many networks,
      configuration information is stored in an Authentication, Authorization,
      and Accounting (AAA) server, which utilizes the Remote Authentication Dial In
      User Service (RADIUS) protocol to provide centralized management for
      users. When a new transition mechanism is developed, new RADIUS
      attributes need to be defined correspondingly.</t>
      <t>This document defines new RADIUS attributes to carry softwire
      configuration parameters based on Address plus Port from a
      AAA server to a Broadband
      Network Gateway. Both unicast and multicast attributes are covered.</t>
    </abstract>
  </front>
  <middle>
    <section numbered="true" toc="default">
      <name>Introduction</name>
      <t>Providers have started deploying and transitioning to IPv6. Several
      IPv4 service continuity mechanisms based on Address plus Port (A+P)
      <xref target="RFC6346" format="default"/> have been proposed for providing unicast
      IPv4-over-IPv6-only infrastructure, such as Mapping of Address and Port
      with Encapsulation (MAP-E) <xref target="RFC7597" format="default"/>, Mapping of
      Address and Port using Translation (MAP-T) <xref target="RFC7599" format="default"/>, and Lightweight 4over6 <xref target="RFC7596" format="default"/>. Also, <xref target="RFC8114" format="default"/> specifies
      a generic solution for the delivery of IPv4 multicast services to IPv4
      clients over an IPv6 multicast network. For each of these mechanisms,
      DHCPv6 options have been specified for client configuration.</t>
      <t>In many networks, user configuration information is stored in an
      Authentication, Authorization, and Accounting (AAA) server. AAA servers
      generally communicate using the Remote Authentication Dial In User
      Service (RADIUS) <xref target="RFC2865" format="default"/> protocol. In a fixed
      broadband network, a Broadband Network Gateway (BNG) acts as the access
      gateway for users. That is, the BNG acts as both a AAA client to the
      AAA server and a DHCPv6 server for DHCPv6 messages sent by clients.

      Throughout this document, the term "BNG" describes a device implementing
      both the AAA client and DHCPv6 server functions.</t>
      <t>Since IPv4-in-IPv6 softwire configuration information is stored in a
      AAA server and user configuration information is mainly transmitted
      through DHCPv6 between the BNGs and Customer Premises Equipment (CEs,
      a.k.a., CPE), new RADIUS attributes are needed to propagate the
      information from the AAA servers to BNGs so that they can be provided to
      CEs using the existing DHCPv6 options. </t>
      <t>The RADIUS attributes defined in this document provide the configuration
      to populate the corresponding DHCPv6 options for unicast and multicast
      softwire configurations, specifically:</t>
      <ul spacing="normal">
        <li>"Mapping of Address and Port with Encapsulation (MAP-E)" <xref target="RFC7597" format="default"/> (DHCPv6 options defined in <xref target="RFC7598" format="default"/>).</li>
        <li>"Mapping of Address and Port using Translation (MAP-T)" <xref target="RFC7599" format="default"/> (DHCPv6 options defined in <xref target="RFC7598" format="default"/>).</li>
        <li>"Lightweight 4over6: An Extension to the Dual-Stack Lite
          Architecture" <xref target="RFC7596" format="default"/> (DHCPv6 options defined
          in <xref target="RFC7598" format="default"/>).</li>
        <li>"Unified IPv4-in-IPv6 Softwire Customer Premises Equipment (CPE):
          A DHCPv6-Based Prioritization Mechanism" <xref target="RFC8026" format="default"/>.</li>
        <li>"Delivery of IPv4 Multicast Services to IPv4 Clients over an IPv6
          Multicast Network" <xref target="RFC8114" format="default"/> (DHCPv6 options
          defined in <xref target="RFC8115" format="default"/>).</li>
      </ul>
      <t>The contents of the attributes defined in this document have a 1:1
      mapping into the fields of the various DHCPv6 options in <xref target="RFC7598" format="default"/>, <xref target="RFC8026" format="default"/>, and <xref target="RFC8115" format="default"/>. <xref target="Table1"/> shows how the DHCPv6 options map to
      the corresponding RADIUS attribute. For detailed mappings between each
      DHCPv6 option field and the corresponding RADIUS attribute or field, see
      <xref target="tlv-field-map" format="default"/>.</t>



<table anchor="Table1">
	<name>Mapping between DHCPv6 Options and RADIUS&nbsp;Attributes</name>
	<thead>
	<tr>
		<th>DHCPv6 Option</th>
		<th>RADIUS Attribute</th>
	</tr>
	</thead>
	<tbody>
	<tr>
		<td>&nbsp;OPTION_S46_RULE (89)</td>
		<td>&nbsp;Softwire46-Rule</td>
	</tr>
	<tr>
		<td>&nbsp;OPTION_S46_BR (90)</td>
		<td>&nbsp;Softwire46-BR</td>
	</tr>
	<tr>
		<td>&nbsp;OPTION_S46_DMR (91)</td>
		<td>&nbsp;Softwire46-DMR</td>
	</tr>
	<tr>
		<td>&nbsp;OPTION_S46_V4V6BIND (92)</td>
		<td>&nbsp;Softwire46-V4V6Bind</td>
	</tr>
	<tr>
		<td>&nbsp;OPTION_S46_PORTPARAMS (93)</td>
		<td>&nbsp;Softwire46-PORTPARAMS</td>
	</tr>
	<tr>
		<td>&nbsp;OPTION_S46_PRIORITY (111)</td>
		<td>&nbsp;Softwire46-Priority</td>
	</tr>
	<tr>
		<td>&nbsp;OPTION_V6_PREFIX64 (113)</td>
		<td>&nbsp;Softwire46-Multicast</td>
	</tr>
	</tbody>
</table>

      <t>A RADIUS attribute for Dual-Stack Lite <xref target="RFC6333" format="default"/>
      is defined in <xref target="RFC6519" format="default"/>.</t>
      <t>This document targets deployments where a trusted relationship is in
      place between the RADIUS client and server.</t>
    </section>
    <section numbered="true" toc="default">
      <name>Terminology</name>
      <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&nbsp;14 <xref target="RFC2119" format="default"/> <xref target="RFC8174" format="default"/> 
    when, and only when, they appear in all capitals, as shown here.
      </t>
      <t>The reader should be familiar with the concepts and terms defined in
      <xref target="RFC7596" format="default"/>, <xref target="RFC7597" format="default"/>, <xref target="RFC7599" format="default"/>, and <xref target="RFC8026" format="default"/>.</t>
      <t>The terms "multicast Basic Bridging BroadBand" element (mB4) and
      "multicast Address Family Transition Router" element (mAFTR) are defined
      in <xref target="RFC8114" format="default"/>.</t>
      <t>Softwire46 (S46) is used throughout to denote any of the IPv4-in-IPv6
      softwire mechanisms listed above. Additionally, the following
      abbreviations are used within the document:</t>
      <dl spacing="normal" indent="10">
        <dt>BNG:</dt><dd>Broadband Network Gateway</dd>
        <dt>BR:</dt><dd>Border Relay</dd>
        <dt>CE:</dt><dd>Customer Edge</dd>
        <dt>CoA:</dt><dd>Change-of-Authorization </dd>
        <dt>DMR:</dt><dd>Default Mapping Rule</dd>
        <dt>EA:</dt><dd>Embedded Address</dd>
        <dt>lwAFTR:</dt><dd>Lightweight Address Family Transition Router</dd>
        <dt>MAP-E:</dt><dd>Mapping of Address and Port with Encapsulation</dd>
        <dt>MAP-T:</dt><dd>Mapping of Address and Port using Translation</dd>
        <dt>PSID:</dt><dd>Port Set Identifier</dd>
        <dt>TLV:</dt><dd>Type, Length, Value</dd>
      </dl>
    </section>
    <section numbered="true" toc="default">
      <name>New RADIUS Attributes</name>
      <t>This section defines the following attributes: </t>
      <ol spacing="normal" type="1">
        <li>
          <t>Softwire46-Configuration Attribute (<xref target="conf-attr" format="default"/>): </t>
          <t>This attribute
          carries the configuration information for MAP-E, MAP-T, and
          Lightweight 4over6. The configuration information for each
          Softwire46 mechanism is carried in the corresponding Softwire46
          attributes. Different attributes are required for each Softwire46
          mechanism.</t>
        </li>
        <li>
          <t>Softwire46-Priority Attribute (<xref target="s46-prio-attr" format="default"/>): </t>
          <t>Depending
          on the deployment scenario, a client may support several different
          Softwire46 mechanisms. Therefore, a client may request configuration
          for more than one Softwire46 mechanism at a time. The
          Softwire46-Priority Attribute contains information allowing the
          client to prioritize which mechanism to use, corresponding to
          OPTION_S46_PRIORITY defined in <xref target="RFC8026" format="default"/>.</t>
        </li>
        <li>
          <t>Softwire46-Multicast Attribute (<xref target="s46-mcast-attr" format="default"/>): </t>
          <t>This
          attribute conveys the IPv6 prefixes to be used in <xref target="RFC8114" format="default"/> to synthesize IPv4-embedded IPv6 addresses.
          The BNG uses the IPv6 prefixes returned in the RADIUS
          Softwire46-Multicast Attribute to populate the DHCPv6 PREFIX64
          Option <xref target="RFC8115" format="default"/>.</t>
        </li>
      </ol>
      <t>All of these attributes are allocated from the RADIUS "Extended Type"
      code space per <xref target="RFC6929" format="default"/>.</t>
      <t>All of these attribute designs follow <xref target="RFC6158" format="default"/>
      and <xref target="RFC6929" format="default"/>.</t>
      <t>This document adheres to the guidance in <xref target="RFC8044" format="default"/> for defining
      new RADIUS attributes.</t>
      <section anchor="conf-attr" numbered="true" toc="default">
        <name>Softwire46-Configuration Attribute</name>
        <t>This attribute is of type "tlv", as defined in "Remote Authentication Dial-In User Service (RADIUS) Protocol
        Extensions" <xref target="RFC6929" format="default"/>. It contains some
        sub-attributes, with the following requirements:</t>
        <ul spacing="normal">
          <li>The Softwire46-Configuration Attribute <bcp14>MUST</bcp14> contain one or more
            of the following attributes: Softwire46-MAP-E, Softwire46-MAP-T,
            and/or Softwire46-Lightweight-4over6.</li>
          <li>The Softwire46-Configuration Attribute conveys the
            configuration information for MAP-E, MAP-T, or Lightweight 4over6.
            The BNG <bcp14>SHALL</bcp14> use the configuration information returned in the
            RADIUS attribute to populate the DHCPv6 Softwire46 container
            option(s) defined in <xref target="RFC7598" sectionFormat="of" section="5"/>.</li>
          <li>The Softwire46-Configuration Attribute <bcp14>MAY</bcp14> appear in an
            Access-Accept packet. It <bcp14>MAY</bcp14> also appear in an Access-Request
            packet to indicate a preferred Softwire46 configuration. However,
            the server is not required to honor such a preference.</li>
          <li>The Softwire46-Configuration Attribute <bcp14>MAY</bcp14> appear in a
            CoA-Request packet.</li>
          <li>The Softwire46-Configuration Attribute <bcp14>MAY</bcp14> appear in an
            Accounting-Request packet.</li>
          <li>The Softwire46-Configuration Attribute <bcp14>MUST NOT</bcp14> appear in any
            other RADIUS packet.</li>
        </ul>
        <t>The Softwire46-Configuration Attribute is structured as
        follows:</t>
        <dl newline="true" spacing="normal">
          <dt>Type</dt>
          <dd>241</dd>
          <dt>Length</dt>
          <dd>
    Indicates the total length, in bytes, of all fields of
    this attribute, including the Type, Length, Extended-Type, 
    and the entire length of the embedded attributes.</dd>
          <dt>Extended-Type</dt>
          <dd>9</dd>
          <dt>Value</dt>
          <dd>
            <t>
      Contains one or more of the following attributes. Each attribute
      type may appear once at most:
</t>
            <dl newline="true" spacing="normal">
              <dt>Softwire46-MAP-E</dt>
              <dd>
         For configuring MAP-E clients. For the construction of
         this attribute, refer to <xref target="etlv" format="default"/>.</dd>
              <dt>Softwire46-MAP-T</dt>
              <dd>
         For configuring MAP-T clients. For the construction of
         this attribute, refer to <xref target="ttlv" format="default"/>.</dd>
              <dt>Softwire46-Lightweight-4over6</dt>
              <dd>
         For configuring Lightweight 4over6 clients. For the
         construction of this attribute, refer to <xref target="ltlv" format="default"/>.</dd>
            </dl>
          </dd>
        </dl>
        <t>The Softwire46-Configuration Attribute is associated with the
        following identifier: 241.9.</t>
        <section anchor="s46-tlvs" numbered="true" toc="default">
          <name>Softwire46 Attributes</name>
          <t>The Softwire46 attributes can only be encapsulated in the
          Softwire46-Configuration Attribute. Depending on the deployment
          scenario, a client might request more than one transition
          mechanism at a time. There <bcp14>MUST</bcp14> be at least one Softwire46 attribute
          encapsulated in one Softwire46-Configuration Attribute. There <bcp14>MUST</bcp14>
          be at most one instance of each type of Softwire46 attribute
          encapsulated in one Softwire46-Configuration Attribute.</t>
          <t>There are three types of Softwire46 attributes, namely:</t>
          <ol spacing="normal" type="1">
            <li>Softwire46-MAP-E (<xref target="etlv" format="default"/>)</li>
            <li>Softwire46-MAP-T (<xref target="ttlv" format="default"/>)</li>
            <li>Softwire46-Lightweight 4over6 (<xref target="ltlv" format="default"/>)</li>
          </ol>
          <t>Each type of Softwire46 attribute contains a number of
          sub-attributes, defined in <xref target="s46-sub-tlv-format" format="default"/>. The hierarchy of the Softwire46
          attributes is shown in <xref target="Hierar" format="default"/>.  <xref target="s46-sub-tlvs" format="default"/> describes which sub-attributes are
          mandatory, optional, or not permitted for each defined Softwire46
          attribute.</t>
          <figure anchor="Hierar">
            <name>Softwire46 Attribute Hierarchy</name>
            <artwork name="" type="" align="left" alt=""><![CDATA[
	                                    /1.Rule-IPv6-Prefix
S                      /                    |
o  /                  | 1.Softwire46-Rule --+ 2.Rule-IPv4-Prefix
f | Softwire46-MAP-E--+                     |
t |                   | 2.Softwire46-BR     | 3.EA-Length
w |                   |                      \
i |                   |                               /1.PSID-Offset
r |                   |                              |
e |                   | 3.Softwire46-PORTPARAMS -----+ 2.PSID-Len
4 |                    \                             |
6 |                                                  | 3.PSID
- |                                                   \
C |
o |                                          /1.Rule-IPv6-Prefix
n |                    /                    |
f |                   | 1.Softwire46-Rule---+ 2.Rule-IPv4-Prefix
i | Softwire46-MAP-T--+                     |
g |                   | 2.Softwire46-DMR    | 3.EA-Length
u |                   |                      \
r |                   |                               /1.PSID-Offset
a |                   |                              |
t |                   | 3.Softwire46-PORTPARAMS------+ 2.PSID-Len
i |                    \                             |
o |                                                  | 3.PSID
n |                                                   \
  |
A |                                              /1.IPv4-Address
t |                    /                        |
t |                   | 1.Softwire46-V4V6Bind --+ 2.Bind-IPv6-Prefix
r | Softwire46-       |                          \
i | Lightweight-4over6+ 2.Softwire46-BR               /1.PSID-Offset
b  \                  |                              |
u                     | 3.Softwire46-PORTPARAMS  ----+ 2.PSID-Len
t                      \                             |
e                                                    | 3.PSID
                                                      \ ]]></artwork>
          </figure>
          <section anchor="etlv" numbered="true" toc="default">
            <name>Softwire46-MAP-E Attribute</name>
            <t> The Softwire46-MAP-E attribute is designed to carry the
            configuration information for MAP-E. The structure of
            Softwire46-MAP-E is shown below:</t>
            <dl newline="true" spacing="normal">
              <dt>TLV-Type</dt>
              <dd>
     1</dd>
              <dt>TLV-Length</dt>
              <dd>
     Indicates the length of this attribute, including
     the TLV-Type, TLV-Length, and TLV-Value fields.</dd>
              <dt>TLV-Value</dt>
              <dd>
                <t>
     Contains a set of sub-attributes, with the following requirements:
</t>
                <t>
     It <bcp14>MUST</bcp14> contain Softwire46-Rule, defined in <xref target="s46-rule-sub-tlv" format="default"/>.
</t>
                <t>
     It <bcp14>MUST</bcp14> contain Softwire46-BR, defined in <xref target="s46br" format="default"/>.
</t>
                <t>
     It <bcp14>MAY</bcp14> contain Softwire46-PORTPARAMS, defined in <xref target="s46param" format="default"/>.</t>
              </dd>
            </dl>
          </section>
          <section anchor="ttlv" numbered="true" toc="default">
            <name>Softwire46-MAP-T Attribute</name>
            <t>The Softwire46-MAP-T attribute is designed to carry the
            configuration information for MAP-T. The structure of
            Softwire46-MAP-T is shown below:</t>
            <dl newline="true" spacing="normal">
              <dt>TLV-Type</dt>
              <dd>
     2</dd>
              <dt>TLV-Length</dt>
              <dd>
     Indicates the length of this attribute, including
     the TLV-Type, TLV-Length, and TLV-Value fields.</dd>
              <dt>TLV-Value</dt>
              <dd>
                <t>
     Contains a set of sub-attributes, with the following requirements:
</t>
                <t>
     It <bcp14>MUST</bcp14> contain Softwire46-Rule, defined in <xref target="s46-rule-sub-tlv" format="default"/>.
</t>
                <t>
     It <bcp14>MUST</bcp14> contain Softwire46-DMR, defined in <xref target="s46dmr" format="default"/>.
</t>
                <t>
     It <bcp14>MAY</bcp14> contain Softwire46-PORTPARAMS, defined in <xref target="s46param" format="default"/>.</t>
              </dd>
            </dl>
          </section>
          <section anchor="ltlv" numbered="true" toc="default">
            <name>Softwire46-Lightweight-4over6 Attribute</name>
            <t>The Softwire46-Lightweight-4over6 attribute is designed to
            carry the configuration information for Lightweight 4over6. The
            structure of Softwire46-Lightweight-4over6 is shown below:</t>
            <dl newline="true" spacing="normal">
              <dt>TLV-Type</dt>
              <dd>
     3</dd>
              <dt>TLV-Length</dt>
              <dd>
     Indicates the length of this attribute, including
     the TLV-Type, TLV-Length, and TLV-Value fields.</dd>
              <dt>TLV-Value</dt>
              <dd>
                <t>
     Contains a set of sub-attributes as follows:
</t>
                <t>
     It <bcp14>MUST</bcp14> contain Softwire46-BR, defined in <xref target="s46br" format="default"/>.
</t>
                <t>
     It <bcp14>MUST</bcp14> contain Softwire46-V4V6Bind, defined in <xref target="s46bind" format="default"/>.
</t>
                <t>
     It <bcp14>MAY</bcp14> contain Softwire46-PORTPARAMS, defined in <xref target="s46param" format="default"/>.</t>
              </dd>
            </dl>
          </section>
        </section>
        <section anchor="s46-sub-tlvs" numbered="true" toc="default">
          <name>Softwire46 Sub-attributes</name>
          <t><xref target="Table2"/> shows which encapsulated sub-attributes are mandatory,
          optional, or not permitted for each defined Softwire46
          attribute.</t>


<table anchor="Table2">
	<name>Softwire46 Sub-attributes</name>
	<thead>
	<tr>
		<th>Sub-attributes</th>
		<th>MAP-E</th>
		<th>MAP-T</th>
		<th>Lightweight 4over6</th>
	</tr>
	</thead>
	<tbody>
	<tr>
		<td>Softwire46-BR</td>
		<td>&nbsp;1+</td>
		<td>&nbsp;0</td>
		<td>&nbsp;1+</td>
	</tr>
	<tr>
		<td>Softwire46-Rule</td>
		<td>&nbsp;1</td>
		<td>&nbsp;1</td>
		<td>&nbsp;0</td>
	</tr>
	<tr>
		<td>Softwire46-DMR</td>
		<td>&nbsp;0</td>
		<td>&nbsp;1</td>
		<td>&nbsp;0</td>
	</tr>
	<tr>
		<td>&nbsp;Softwire46-V4V6Bind</td>
		<td>&nbsp;0</td>
		<td>&nbsp;0</td>
		<td>&nbsp;1</td>
	</tr>
	<tr>
		<td>&nbsp;Softwire46-PORTPARAMS</td>
		<td>&nbsp;0-1</td>
		<td>&nbsp;0-1</td>
		<td>&nbsp;0-1</td>
	</tr>
	</tbody>
</table>


	  
          <t>The following list defines the meaning of the <xref target="Table2"/> entries.</t>
          <dl newline="false" spacing="compact" indent="6">
            <dt>0</dt>
            <dd>Not permitted</dd>
            <dt>0-1</dt>
            <dd>Optional; zero or one instance of the attribute may be present.</dd>
            <dt>1</dt>
            <dd>Mandatory; only one instance of the attribute must be present.</dd>
            <dt>1+</dt>
            <dd>Mandatory; one or more instances of the attribute may be present.</dd>
          </dl>
        </section>
        <section anchor="s46-sub-tlv-format" numbered="true" toc="default">
          <name>Specification of the Softwire46 Sub-attributes</name>
          <section anchor="s46-rule-sub-tlv" numbered="true" toc="default">
            <name>Softwire46-Rule Attribute</name>
            <t>Softwire46-Rule can only be encapsulated in Softwire46-MAP-E
            (<xref target="etlv" format="default"/>) or Softwire46-MAP-T (<xref target="ttlv" format="default"/>). Depending on the deployment scenario, one Basic Mapping Rule (BMR) and zero or more Forwarding Mapping Rules (FMRs) <bcp14>MUST</bcp14> be included in Softwire46-MAP-E and Softwire46-MAP-T.</t>
            <t>Each type of Softwire46-Rule also contains a number of
            sub-attributes, including Rule-IPv6-Prefix, Rule-IPv4-Prefix, and
            EA-Length. The structure of the sub-attributes for Softwire46-Rule
            is defined in <xref target="s46-rule-sub-tlvs" format="default"/>.</t>
            <t>Defining multiple TLV types achieves the same design goals as
            the "Softwire46 Rule Flags" defined in <xref target="RFC7598" sectionFormat="of" section="4.1"/>. Using a TLV type set to 5 is equivalent
	    to setting the F flag in the OPTION_S46_RULE S46 Rule Flags
            field.</t>
            <dl newline="true" spacing="normal">
              <dt>TLV-Type</dt>
              <dd>
                <t>
     4 Basic Mapping Rule only (not to be used for forwarding)</t>
                <t>
     5 Forwarding Permitted Mapping Rule</t>
              </dd>
              <dt>TLV-Length</dt>
              <dd>
     Indicates the length of this attribute, including
     the TLV-Type, TLV-Length, and TLV-Value fields.</dd>
              <dt>Data Type</dt>
              <dd>
     The attribute Softwire46-Rule is of type "tlv" (<xref target="RFC8044" sectionFormat="of" section="3.13"/>).</dd>
              <dt>TLV-Value</dt>
              <dd>
                <t>
     This field contains a set of attributes as follows:
</t>
                <dl newline="true" spacing="normal">
                  <dt>Rule-IPv6-Prefix</dt>
                  <dd>
        This attribute contains the IPv6 prefix for use in the MAP rule.
        Refer to <xref target="v6prefix" format="default"/>.</dd>
                  <dt>Rule-IPv4-Prefix</dt>
                  <dd>
        This attribute contains the IPv4 prefix for use in the MAP rule.
        Refer to <xref target="v4prefix" format="default"/>.</dd>
                  <dt>EA-Length</dt>
                  <dd>
        This attribute contains the Embedded Address (EA) bit length.
        Refer to <xref target="ea-length" format="default"/>.</dd>
                </dl>
              </dd>
            </dl>
          </section>
          <section anchor="s46br" numbered="true" toc="default">
            <name>Softwire46-BR Attribute</name>
            <t>Softwire46-BR can only be encapsulated in Softwire46-MAP-E
            (<xref target="etlv" format="default"/>) or Softwire46-Lightweight-4over6
            (<xref target="ltlv" format="default"/>).</t>
            <t>There <bcp14>MUST</bcp14> be at least one Softwire46-BR included in each
            Softwire46-MAP-E or Softwire46-Lightweight-4over6.</t>
            <t>The structure of Softwire46-BR is shown below:</t>
            <dl newline="true" spacing="normal">
              <dt>TLV-Type</dt>
              <dd>
      6</dd>
              <dt>TLV-Length</dt>
              <dd>
      18 octets</dd>
              <dt>Data Type</dt>
              <dd>
      The attribute Softwire46-BR is of type "ipv6addr" (<xref target="RFC8044" sectionFormat="of" section="3.9"/>).</dd>
              <dt>TLV-Value</dt>
              <dd>
      br-ipv6-address. A fixed-length field of 16 octets that 
      specifies the IPv6 address for the Softwire46 Border Relay (BR).</dd>
            </dl>
          </section>
          <section anchor="s46dmr" numbered="true" toc="default">
            <name>Softwire46-DMR Attribute</name>
            <t>Softwire46-DMR may only appear in Softwire46-MAP-T (<xref target="ttlv" format="default"/>). There <bcp14>MUST</bcp14> be exactly one Softwire46-DMR
            included in one Softwire46-MAP-T.</t>
            <t>The structure of Softwire46-DMR is shown below:</t>
            <dl newline="true" spacing="normal">
              <dt>TLV-Type</dt>
              <dd>
      7</dd>
              <dt>TLV-Length</dt>
              <dd>
      4 + length of dmr-ipv6-prefix specified in octets.</dd>
              <dt>Data Type</dt>
              <dd>
      The attribute Softwire46-DMR is of type "ipv6prefix" (<xref target="RFC8044" sectionFormat="of" section="3.10"/>).</dd>
              <dt>TLV-Value</dt>
              <dd>
      A variable-length (dmr-prefix6-len) field 
      specifying the IPv6 prefix (dmr-ipv6-prefix) for the BR. This field
      is right-padded with zeros to the nearest octet boundary when 
      dmr-prefix6-len is not divisible by 8. Prefixes with lengths from
      0 to 96 are allowed.</dd>
            </dl>
          </section>
          <section anchor="s46bind" numbered="true" toc="default">
            <name>Softwire46-V4V6Bind Attribute</name>
            <t>Softwire46-V4V6Bind may only be encapsulated in
            Softwire46-Lightweight-4over6 (<xref target="ltlv" format="default"/>). There
            <bcp14>MUST</bcp14> be exactly one Softwire46-V4V6Bind included in each
            Softwire46-Lightweight-4over6.</t>
            <t>The structure of Softwire46-V4V6Bind is shown below:</t>
            <dl newline="true" spacing="normal">
              <dt>TLV-Type</dt>
              <dd>
      8</dd>
              <dt>TLV-Length</dt>
              <dd>
      Indicates the length of this attribute, including
      the TLV-Type, TLV-Length, and TLV-Value fields.</dd>
              <dt>Data Type</dt>
              <dd>
      The attribute Softwire46-V4V6Bind is of type "tlv" (<xref target="RFC8044" sectionFormat="of" section="3.13"/>).</dd>
              <dt>TLV-Value</dt>
              <dd>
                <t>
      This field contains a set of attributes as follows:
</t>
                <dl newline="true" spacing="normal">
                  <dt>IPv4-Address</dt>
                  <dd>
         This attribute contains an IPv4 address, used to specify 
         the full or shared IPv4 address of the CE. Refer to 
         <xref target="v4address" format="default"/>.</dd>
                  <dt>Bind-IPv6-Prefix</dt>
                  <dd>
         This attribute contains an IPv6 prefix used to indicate which 
         configured prefix the Softwire46 CE should use for constructing
         the softwire. Refer to <xref target="bindv6" format="default"/>.</dd>
                </dl>
              </dd>
            </dl>
          </section>
          <section anchor="s46param" numbered="true" toc="default">
            <name>Softwire46-PORTPARAMS Attribute</name>
            <t>Softwire46-PORTPARAMS is optional. It is used to specify port
            set information for IPv4 address sharing between clients.
            Softwire46-PORTPARAMS <bcp14>MAY</bcp14> be included in any of the Softwire46
            attributes.</t>
            <t>The structure of Softwire46-PORTPARAMS is shown below:</t>
            <dl newline="true" spacing="normal">
              <dt>TLV-Type</dt>
              <dd>
      9</dd>
              <dt>TLV-Length</dt>
              <dd>
      Indicates the length of this attribute, including
      the TLV-Type, TLV-Length, and TLV-Value fields.</dd>
              <dt>Data Type</dt>
              <dd>
      The attribute Softwire46-PORTPARAMS is of type "tlv" (<xref target="RFC8044" sectionFormat="of" section="3.13"/>).</dd>
              <dt>TLV-Value</dt>
              <dd>
                <t>
      This field contains a set of attributes as follows:
</t>
                <dl newline="true" spacing="normal">
                  <dt>PSID-Offset</dt>
                  <dd>
         This attribute specifies the numeric value for the Softwire46
         algorithm's excluded port range/offset bits (a bits). Refer to 
         <xref target="psid-offset" format="default"/>.</dd>
                  <dt>PSID-Len</dt>
                  <dd> 
         This attribute specifies the number of significant bits in the
         PSID field (also known as 'k'). Refer to <xref target="psid-len" format="default"/>.</dd>
                  <dt>PSID</dt>
                  <dd> 
         This attribute specifies the PSID value. Refer to <xref target="psid" format="default"/>.</dd>
                </dl>
              </dd>
            </dl>
          </section>
        </section>
        <section anchor="s46-rule-sub-tlvs" numbered="true" toc="default">
          <name>Sub-attributes for Softwire46-Rule</name>
          <t>There are two types of Softwire46-Rule: the Basic Mapping Rule
          and the Forwarding Mapping Rule, indicated by the value in the
          TLV-Type field of Softwire46-Rule (<xref target="s46-rule-sub-tlv" format="default"/>).</t>
          <t>Each type of Softwire46-Rule also contains a number of
          sub-attributes as detailed in the following subsections.</t>
          <section anchor="v6prefix" numbered="true" toc="default">
            <name>Rule-IPv6-Prefix Attribute</name>
            <t>Rule-IPv6-Prefix is <bcp14>REQUIRED</bcp14> for every Softwire46-Rule. There
            <bcp14>MUST</bcp14> be exactly one Rule-IPv6-Prefix encapsulated in each type of
            Softwire46-Rule.</t>
            <t>Rule-IPv6-Prefix follows the framed IPv6 prefix designed in
            <xref target="RFC3162" format="default"/> and <xref target="RFC8044" format="default"/>.</t>
            <t>The structure of Rule-IPv6-Prefix is shown below:</t>
            <dl newline="true" spacing="normal">
              <dt>TLV-Type</dt>
              <dd>
      10</dd>
              <dt>TLV-Length</dt>
              <dd> 
      4 + length of rule-ipv6-prefix specified in
      octets.</dd>
              <dt>Data Type</dt>
              <dd>
      The attribute Rule-IPv6-Prefix is of type "ipv6prefix" (<xref target="RFC8044" sectionFormat="of" section="3.10"/>).</dd>
              <dt>TLV-Value</dt>
              <dd>
      A variable-length field that specifies an IPv6 
      prefix (rule-ipv6-prefix) appearing in the MAP rule.</dd>
            </dl>
          </section>
          <section anchor="v4prefix" numbered="true" toc="default">
            <name>Rule-IPv4-Prefix Attribute</name>
            <t>This attribute is used to convey the MAP Rule IPv4 prefix. The
            structure of Rule-IPv4-Prefix is shown below:</t>
            <dl newline="true" spacing="normal">
              <dt>TLV-Type</dt>
              <dd>
      11</dd>
              <dt>TLV-Length</dt>
              <dd>
      4 + length of rule-ipv4-prefix specified in octets.</dd>
              <dt>Data Type</dt>
              <dd>
      The attribute Rule-IPv4-Prefix is of type "ipv4prefix" (<xref target="RFC8044" sectionFormat="of" section="3.11"/>).</dd>
              <dt>TLV-Value</dt>
              <dd>
      A variable-length field that specifies  
      an IPv4 prefix (rule-ipv4-prefix) appearing in the MAP rule.</dd>
            </dl>
          </section>
          <section anchor="ea-length" numbered="true" toc="default">
            <name>EA-Length Attribute</name>
            <t>This attribute is used to convey the Embedded Address (EA) bit
            length. The structure of EA-Length is shown below:</t>
            <dl newline="true" spacing="normal">
              <dt>TLV-Type</dt>
              <dd> 
      12</dd>
              <dt>TLV-Length</dt>
              <dd>
      6 octets</dd>
              <dt>Data Type</dt>
              <dd>
      The attribute EA-Length is of type "integer" (<xref target="RFC8044" sectionFormat="of" section="3.1"/>).</dd>
              <dt>TLV-Value</dt>
              <dd>
      EA-len; 32 bits long. Specifies the Embedded Address (EA) bit 
      length. Allowed values range from 0 to 48.</dd>
            </dl>
          </section>
        </section>
        <section numbered="true" toc="default">
          <name>Attributes for Softwire46-v4v6Bind</name>
          <section anchor="v4address" numbered="true" toc="default">
            <name>IPv4-Address Attribute</name>
            <t>The IPv4-Address <bcp14>MAY</bcp14> be used to specify the full or shared IPv4
            address of the CE.</t>
            <t>The structure of IPv4-Address is shown below:</t>
            <dl newline="true" spacing="normal">
              <dt>TLV-Type</dt>
              <dd>
      13</dd>
              <dt>TLV-Length</dt>
              <dd>
      6 octets</dd>
              <dt>Data Type</dt>
              <dd>
      The attribute IPv4-Address is of type "ipv4addr" (<xref target="RFC8044" sectionFormat="of" section="3.8"/>).</dd>
              <dt>TLV-Value</dt>
              <dd>
      32 bits long. Specifies the IPv4 address (ipv4-address) to 
      appear in Softwire46-V4V6Bind (<xref target="s46bind" format="default"/>).</dd>
            </dl>
          </section>
          <section anchor="bindv6" numbered="true" toc="default">
            <name>Bind-IPv6-Prefix Attribute</name>
            <t>The Bind-IPv6-Prefix is used by the CE to identify the correct
            IPv6 prefix to be used as the tunnel source.</t>
            <t>The structure of Bind-IPv6-Prefix is shown below:</t>
            <dl newline="true" spacing="normal">
              <dt>TLV-Type</dt>
              <dd>
      14</dd>
              <dt>TLV-Length</dt>
              <dd>
      4 + length of bind-ipv6-prefix specified in octets.</dd>
              <dt>Data Type</dt>
              <dd>
      The attribute Bind-IPv6-Prefix is of type "ipv6prefix" (<xref target="RFC8044" sectionFormat="of" section="3.10"/>).</dd>
              <dt>TLV-Value</dt>
              <dd> 
      A variable-length field specifying the IPv6 
      prefix or address for the Softwire46 CE (bind-ipv6-prefix). 
      This field is right-padded with zeros to the nearest octet 
      boundary when the prefix length is not divisible by 8.</dd>
            </dl>
          </section>
        </section>
        <section numbered="true" toc="default">
          <name>Attributes for Softwire46-PORTPARAMS</name>
          <section anchor="psid-offset" numbered="true" toc="default">
            <name>PSID-Offset Attribute</name>
            <t>This attribute is used to convey the Port Set Identifier offset
            as defined in <xref target="RFC7597" format="default"/>. This attribute is
            encoded in 32 bits as per the recommendation in 
            <xref target="RFC6158" sectionFormat="of" section="A.2.1"/>.</t>
            <t>The structure of PSID-Offset is shown below:</t>
            <dl newline="true" spacing="normal">
              <dt>TLV-Type</dt>
              <dd>
      15</dd>
              <dt>TLV-Length</dt>
              <dd>
      6 octets</dd>
              <dt>Data Type</dt>
              <dd>
      The attribute PSID-Offset is of type "integer" (<xref target="RFC8044" sectionFormat="of" section="3.1"/>).</dd>
              <dt>TLV-Value</dt>
              <dd>
      <t>Contains the PSID-Offset (8 bits) right
      justified, and the unused bits in this field <bcp14>MUST</bcp14>
      be set to zero. This field specifies the
      numeric value for the Softwire46 algorithm's excluded 
      port range/offset bits (a bits), as per 
      <xref target="RFC7597" sectionFormat="of" section="5.1"/>.</t>
           
              <t>  
      Default values for this field are specific to the 
      softwire mechanism being implemented and are defined 
      in the relevant specification document.</t></dd>
            </dl>
          </section>
          <section anchor="psid-len" numbered="true" toc="default">
            <name>PSID-Len Attribute</name>
            <t>This attribute is used to convey the PSID length as defined in
            <xref target="RFC7597" format="default"/>. This attribute is encoded in 32
            bits as per the recommendation in <xref target="RFC6158" sectionFormat="of" section="A.2.1"/>.</t>
            <t>The structure of PSID-Len is shown below:</t>
            <dl newline="true" spacing="normal">
              <dt>TLV-Type</dt>
              <dd>
      16</dd>
              <dt>TLV-Length</dt>
              <dd>
      6 octets</dd>
              <dt>Data Type</dt>
              <dd>
      The attribute PSID-Len is of type "integer" (<xref target="RFC8044" sectionFormat="of" section="3.1"/>).</dd>
              <dt>TLV-Value</dt>
              <dd>
      Contains the PSID-len (8 bits) right
      justified, and the unused bits in this field <bcp14>MUST</bcp14>
      be set to zero. This field specifies the number of 
      significant bits in the PSID field (also known as
      'k'). When set to 0, the PSID field is to be ignored.
      After the first a bits, there are k bits in the
      port number representing the value of the PSID.
      Subsequently, the address-sharing ratio would be 
      2^k.</dd>
            </dl>
          </section>
          <section anchor="psid" numbered="true" toc="default">
            <name>PSID Attribute</name>
            <t>This attribute is used to convey the PSID as defined in <xref target="RFC7597" format="default"/>. This attribute is encoded in 32 bits as
            per the recommendation in <xref target="RFC6158" sectionFormat="of" section="A.2.1"/>.</t>
            <t>The structure of PSID is shown below:</t>
            <dl newline="true" spacing="normal">
              <dt>TLV-Type</dt>
              <dd>
      17</dd>
              <dt>TLV-Length</dt>
              <dd>
      6 octets</dd>
              <dt>Data Type</dt>
              <dd>
      The attribute PSID is of type "integer" (<xref target="RFC8044" sectionFormat="of" section="3.1"/>).</dd>
              <dt>TLV-Value</dt>
              <dd>
                <t>
      Contains the PSID (16 bits) right justified, and the unused bits 
      in this field <bcp14>MUST</bcp14> be set to zero.</t>
                <t>
      The PSID value algorithmically identifies a set of ports 
      assigned to a CE. The first k bits on the left of this 
      2-octet field are the PSID value. The remaining (16-k) bits 
      on the right are padding zeros.
</t>
              </dd>
            </dl>
          </section>
        </section>
      </section>
      <section anchor="s46-prio-attr" numbered="true" toc="default">
        <name>Softwire46-Priority Attribute</name>
        <t>The Softwire46-Priority Attribute includes an ordered list of
        Softwire46 mechanisms allowing the client to prioritize which
        mechanism to use, corresponding to OPTION_S46_PRIORITY defined in
        <xref target="RFC8026" format="default"/>. The following requirements apply:</t>
        <ul empty="true" spacing="normal">
          <li>The Softwire46-Priority Attribute <bcp14>MAY</bcp14> appear in an
            Access-Accept packet. It <bcp14>MAY</bcp14> also appear in an Access-Request
            packet.</li>
          <li>The Softwire46-Priority Attribute <bcp14>MAY</bcp14> appear in a CoA-Request
            packet.</li>
          <li>The Softwire46-Priority Attribute <bcp14>MAY</bcp14> appear in an
            Accounting-Request packet.</li>
          <li>The Softwire46-Priority Attribute <bcp14>MUST NOT</bcp14> appear in any other
            RADIUS packet.</li>
        </ul>
        <t>The Softwire46-Priority Attribute is structured as follows:</t>
        <dl newline="true" spacing="normal">
          <dt>Type</dt>
          <dd>
     241</dd>
          <dt>Length</dt>
          <dd>
     Indicates the length of this attribute, 
     including the Type, Length, Extended-Type and Value fields.</dd>
          <dt>Extended-Type</dt>
          <dd>
     10</dd>
          <dt>TLV-Value</dt>
          <dd>
            <t>
    The attribute includes one or more Softwire46-Option-Code TLVs:
       A Softwire46-Priority Attribute <bcp14>MUST</bcp14> contain at least one 
       Softwire46-Option-Code TLV (<xref target="opc" format="default"/>).</t>
            <t>

       Softwire46 mechanisms are prioritized in the appearance order
       in the Softwire46-Priority Attribute. That is, 
       the first-appearing mechanism is most preferred.</t>
          </dd>
        </dl>
        <t>The Softwire46-Priority Attribute is associated with the following
        identifier: 241.10.</t>
        <section anchor="opc" numbered="true" toc="default">
          <name>Softwire46-Option-Code</name>
          <t>This attribute is used to convey an option code assigned to a
          Softwire46 mechanism <xref target="RFC8026" format="default"/>. This attribute
          is encoded in 32 bits as per the recommendation in
          <xref target="RFC6158" sectionFormat="of" section="A.2.1"/>.</t>
          <t>The structure of Softwire46-Option-Code is shown below:</t>
          <dl newline="true" spacing="normal">
            <dt>TLV-Type</dt>
            <dd>
      18</dd>
            <dt>TLV-Length</dt>
            <dd>
      6 octets</dd>
            <dt>Data Type</dt>
            <dd>
      The attribute Softwire46-Option-Code is of type "integer"
     (<xref target="RFC8044" sectionFormat="of" section="3.1"/>).</dd>
            <dt>TLV-Value</dt>
            <dd> 
      A 32-bit IANA-registered option code representing a Softwire46
      mechanism (Softwire46-option-code). The codes and their 
      corresponding Softwire46 mechanisms are listed in <xref target="s46option" format="default"/>.</dd>
          </dl>
        </section>
      </section>
      <section anchor="s46-mcast-attr" numbered="true" toc="default">
        <name>Softwire46-Multicast Attribute</name>
        <t>The Softwire46-Multicast Attribute conveys the IPv6 prefixes to be
        used to synthesize multicast and unicast IPv4-embedded IPv6 addresses
        as per <xref target="RFC8114" format="default"/>. This attribute is of type "tlv"
        and contains additional TLVs. The following requirements apply:</t>
        <ul spacing="normal">
          <li>The BNG <bcp14>SHALL</bcp14> use the IPv6 prefixes returned in the RADIUS
            Softwire46-Multicast Attribute to populate the DHCPv6 PREFIX64
            Option <xref target="RFC8115" format="default"/>.</li>
          <li>This attribute <bcp14>MAY</bcp14> be used in Access-Request packets as a hint
            to the RADIUS server. For example, if the BNG is preconfigured
            for Softwire46-Multicast, these prefixes may be inserted in the
            attribute. The RADIUS server <bcp14>MAY</bcp14> ignore the hint sent by the BNG,
            and it <bcp14>MAY</bcp14> assign a different Softwire46-Multicast Attribute.</li>
          <li>The Softwire46-Multicast Attribute <bcp14>MAY</bcp14> appear in an
            Access-Request, Access-Accept, CoA-Request, and Accounting-Request
            packet.</li>
          <li>The Softwire46-Multicast Attribute <bcp14>MUST NOT</bcp14> appear in any other
            RADIUS packet.</li>
          <li>The Softwire46-Multicast Attribute <bcp14>MAY</bcp14> contain ASM-Prefix64
            (<xref target="TLV0" format="default"/>), SSM-Prefix64 (<xref target="TLV1" format="default"/>), and U-Prefix64 (<xref target="TLV2" format="default"/>).</li>
          <li>The Softwire46-Multicast Attribute <bcp14>MUST</bcp14> include ASM-Prefix64 or
            SSM-Prefix64, and it <bcp14>MAY</bcp14> include both.</li>
          <li>The U-Prefix64 <bcp14>MUST</bcp14> be present when SSM-Prefix64 is present.
            U-Prefix64 <bcp14>MAY</bcp14> be present when ASM-Prefix64 is present.</li>
        </ul>
        <t>The Softwire46-Multicast Attribute is structured as follows:</t>
        <dl newline="true" spacing="normal">
          <dt>Type</dt>
          <dd>
     241</dd>
          <dt>Length</dt>
          <dd>
     This field indicates the total length in bytes of all fields of
     this attribute, including the Type, Length, Extended-Type, and the
     entire length of the embedded attributes.</dd>
          <dt>Extended-Type</dt>
          <dd>
     11</dd>
          <dt>Value</dt>
          <dd>
            <t>
     This field contains a set of attributes as follows:
</t>
            <dl newline="true" spacing="normal">
              <dt>ASM-Prefix64</dt>
              <dd>
       This attribute contains the Any-Source Multicast (ASM)
       IPv6 prefix. Refer to <xref target="TLV0" format="default"/>.</dd>
              <dt>SSM-Prefix64</dt>
              <dd>
       This attribute contains the Source-Source Multicast (SSM)
       IPv6 prefix. Refer to <xref target="TLV1" format="default"/>.</dd>
              <dt>U-Prefix64</dt>
              <dd>
       This attribute contains the IPv4 prefix used for address
       translation. Refer to <xref target="TLV2" format="default"/>.</dd>
            </dl>
          </dd>
        </dl>
        <t>The Softwire46-Multicast Attribute is associated with the following
        identifier: 241.11.</t>
        <section anchor="TLV0" numbered="true" toc="default">
          <name>ASM-Prefix64 Attribute</name>
          <t>The ASM-Prefix64 attribute is structured as follows:</t>
          <dl newline="true" spacing="normal">
            <dt>TLV-Type</dt>
            <dd>
      19</dd>
            <dt>TLV-Length</dt>
            <dd>
      16 octets. The length of asm-prefix64 must be /96 <xref target="RFC8115" format="default"/>.</dd>
            <dt>Data Type</dt>
            <dd>
      The attribute ASM-Prefix64 is of type "ipv6prefix" (<xref target="RFC8044" sectionFormat="of" section="3.10"/>).</dd>
            <dt>TLV-Value</dt>
            <dd>
      This field specifies the IPv6 multicast prefix (asm-prefix64)
      to be used to synthesize the IPv4-embedded IPv6 addresses of the
      multicast groups in the ASM mode. The conveyed multicast IPv6
      prefix <bcp14>MUST</bcp14> belong to the ASM range. </dd>
          </dl>
        </section>
        <section anchor="TLV1" numbered="true" toc="default">
          <name>SSM-Prefix64 Attribute</name>
          <t>The SSM-Prefix64 attribute is structured as follows:</t>
          <dl newline="true" spacing="normal">
            <dt>Type</dt>
            <dd>
     20</dd>
            <dt>TLV-Length</dt>
            <dd>
      16 octets. The length of ssm-prefix64 must be /96 <xref target="RFC8115" format="default"/>.</dd>
            <dt>Data Type</dt>
            <dd>
      The attribute SSM-Prefix64 is of type "ipv6prefix" (<xref target="RFC8044" sectionFormat="of" section="3.10"/>).</dd>
            <dt>TLV-Type</dt>
            <dd>
      This field specifies the IPv6 multicast prefix (ssm-prefix64)
      to be used to synthesize the IPv4-embedded IPv6 addresses of the
      multicast groups in the SSM mode. The conveyed multicast IPv6
      prefix <bcp14>MUST</bcp14> belong to the SSM range. </dd>
          </dl>
        </section>
        <section anchor="TLV2" numbered="true" toc="default">
          <name>U-Prefix64 Attribute</name>
          <t>The structure of U-Prefix64 is shown below:</t>
          <dl newline="true" spacing="normal">
            <dt>TLV-Type</dt>
            <dd>
      21</dd>
            <dt>TLV-Length</dt>
            <dd>
      4 + length of unicast-prefix. As specified in <xref target="RFC6052" format="default"/>, 
      the unicast-prefix prefix length <bcp14>MUST</bcp14> be set to 32, 40, 48,
      56, 64, or 96.</dd>
            <dt>Data Type</dt>
            <dd>
      The attribute U-Prefix64 is of type "ipv6prefix" (<xref target="RFC8044" sectionFormat="of" section="3.10"/>).</dd>
            <dt>TLV-Value</dt>
            <dd>
      This field identifies the IPv6 unicast prefix (u-prefix64) to
      be used in the SSM mode for constructing the IPv4-embedded IPv6
      addresses representing the IPv4 multicast sources in the IPv6
      domain. It may also be used to extract the IPv4 address from the
      received multicast data flows.</dd>
          </dl>
        </section>
      </section>
    </section>
    <section numbered="true" toc="default">
      <name>A Sample Configuration Process with RADIUS</name>
      <t><xref target="example" format="default"/> illustrates how the RADIUS and DHCPv6
      protocols interwork to provide CE with softwire configuration
      information.</t>
      <figure anchor="example">
        <name>Interaction between DHCPv6 and AAA Server with RADIUS&nbsp;Authentication</name>
        <artwork name="" type="" align="left" alt=""><![CDATA[ 
CE                             BNG                     AAA Server
|                               |                               |
|-------1.DHCPv6 Solicit------->|                               |
|(ORO with unicast and/or       |                               |
|    multicast container option |                               |
|    codes(s))                  |                               |
|                               |-------2.Access-Request------->|
|                               |   (Softwire46-Configuration   |
|                               |       Attribute and/or        |
|                               |Softwire46-Multicast Attribute)|
|                               |                               |
|                               |<------3.Access-Accept---------|
|                               |   (Softwire46-Configuration   |
|                               |       Attribute and/or        |
|                               |Softwire46-Multicast Attribute)|
|                               |                               |
|<----4.DHCPv6 Advertisement----|                               |
|     (container option(s))     |                               |
|                               |                               |
|-------5.DHCPv6  Request------>|                               |
|     (container option(s))     |                               |
|                               |                               |
|<--------6.DHCPv6 Reply--------|                               |
|     (container option(s))     |                               |
|                               |                               |
             DHCPv6                         RADIUS]]></artwork>
      </figure>
      <ol spacing="normal" type="1">
        <li>The CE creates a DHCPv6 Solicit message. For unicast softwire
          configuration, the message includes an OPTION_REQUEST_OPTION (6)
          with the Softwire46 Container option code(s) as defined in <xref target="RFC7598" format="default"/>. OPTION_S46_CONT_MAPE (94) should be
          included for MAP-E, OPTION_S46_CONT_MAPT (95) for MAP-T, and
          OPTION_S46_CONT_LW (96) for Lightweight 4over6. For multicast
          configuration, the option number for OPTION_V6_PREFIX64 (113) is
          included in the client's Option Request Option (ORO). The message is sent to the BNG.</li>

        <li>On receipt of the DHCPv6 Solicit message, the BNG constructs a RADIUS
          Access-Request message containing a User-Name Attribute (1)
          (containing either a CE Media Access Control (MAC) address,
	  interface-id, or both) and a
          User-Password Attribute (2) (with a preconfigured shared password
          between the CE and AAA server as defined in <xref target="RFC2865" format="default"/>). The Softwire46-Configuration Attribute
          and/or Softwire46-Multicast Attribute are also included (as
          requested by the client). The resulting message is sent to the AAA
          server.</li>
        <li>The AAA server authenticates the request. If this is successful,
          and a suitable configuration is available, an Access-Accept message
	  is sent to the BNG containing the requested Softwire46-Configuration
          Attribute or Softwire46-Multicast Attribute. It is the
          responsibility of the AAA server to ensure the consistency of the
          provided configuration.</li>
        <li>The BNG maps the received softwire configuration into the
          corresponding fields in the DHCPv6 softwire configuration option(s).
          These are included in the DHCPv6 Advertise message, which is sent to
          the CE.</li>
        <li>The CE sends a DHCPv6 Request message. In the ORO, the option
          codes of any of the required softwire options that were received
          in the DHCPv6 Advertise message are included.</li>
        <li>The BNG sends a DHCPv6 Reply message to the client containing the
          softwire container option(s) enumerated in the ORO.</li>
      </ol>
      <t>The authorization operation could be done independently after the
      authentication process. In this case, steps 1-5 are completed as above,
      then the following steps are performed:</t>
      <dl newline="false" spacing="normal" indent="5">
        <dt>6a.</dt>
        <dd>When the BNG receives the DHCPv6 Request, it
          constructs a RADIUS Access-Request message, which contains a
          Service-Type Attribute (6) with the value "Authorize Only" (17), the
          corresponding Softwire46-Configuration Attribute, and a State
          Attribute obtained from the previous authentication process
          according to <xref target="RFC5080" format="default"/>. The resulting message
          is sent to the AAA server.</dd>
        <dt>7a.</dt>
        <dd>The AAA server checks the authorization request. If it is
          approved, an Access-Accept message is returned to the BNG with the
          corresponding Softwire46-Configuration Attribute.</dd>
        <dt>8a.</dt>
        <dd>The BNG sends a Reply message to the client
          containing the softwire container options enumerated in the ORO.</dd>
      </dl>
      <t>In addition to the above, the following points need to be
      considered:</t>
      <ul spacing="normal">
        <li>In the configuration message flows described above, the
          Message-Authenticator (type 80) <xref target="RFC2869" format="default"/>
          should be used to protect both Access-Request and Access-Accept
          messages.</li>
        <li>If the BNG does not receive the corresponding
          Softwire46-Configuration Attribute in the Access-Accept message, it
          may fall back to creating the DHCPv6 softwire configuration options
          using the preconfigured Softwire46 configuration if this is
          present.</li>
        <li>If the BNG receives an Access-Reject from the AAA server, then
          the Softwire46 configuration must not be supplied to the client.</li>
        <li>As specified in <xref target="RFC8415" sectionFormat="of" section="18.2.5"/> ("Creation and Transmission of Rebind Messages") if the DHCPv6 server
          to which the DHCPv6 Renew message was sent at time T1 has not
          responded by time T2, the CE (DHCPv6 client) should enter the Rebind
          state and attempt to contact any available server. In this
          situation, a secondary BNG receiving the DHCPv6 message must
          initiate a new Access-Request message towards the AAA server. The
          secondary BNG includes the Softwire46-Configuration Attribute in
          this Access-Request message.</li>
        <li>For Lightweight 4over6, the CE's binding state needs to be
          synchronized between the clients and the Lightweight AFTR
          (lwAFTR)/BR. This can be achieved in two ways: static
          preconfiguration of the bindings on both the AAA server and lwAFTR
          or on demand, whereby the AAA server updates the lwAFTR with the CE's
          binding state as it is created or deleted.</li>
      </ul>
      <t>In some deployments, the DHCP server may use the Accounting-Request
      to report the softwire configuration returned to a
      requesting host to a AAA server. It is the responsibility of the DHCP server to ensure
      the consistency of the configuration provided to the requesting hosts.
      Reported data to a AAA server may be required for various operational
      purposes (e.g., regulatory).</t>
      <t>A configuration change (e.g., BR address) may result in an exchange
      of CoA-Requests between the BNG and the AAA server, as shown in <xref target="coa" format="default"/>. Concretely, when the BNG receives a CoA-Request
      message containing Softwire46 attributes, it sends a DHCPv6 Reconfigure
      message to the appropriate CE to inform that CE that an updated
      configuration is available. Upon receipt of such a message, the CE sends a
      DHCPv6 Renew or Information-Request in order to receive the updated
      Softwire46 configuration. In deployments where the BNG embeds a DHCPv6
      relay, CoA-Requests can be used following the procedure specified in
      <xref target="RFC6977" format="default"/>. </t>
      <figure anchor="coa">
        <name>Change of Configuration Example</name>
        <artwork name="" type="" align="left" alt=""><![CDATA[
	CE                          BNG                    AAA Server
        |                           |                            |
        |---DHCPv6 Solicit--------->|                            |
        |                           |---Access-Request---------->|
        |                           |<--Access-Accept------------|
        |                           |(Softwire46-Configuration   |
        |                           |    Attribute ...)          |
                                  ....
        |                           |                            |
        |                           |<-----CoA-Request-----------|
        |                           |(Softwire46-Configuration   |
        |                           |    Attribute ...)          |
        |                           |------CoA-Response--------->|
        |<--DHCPv6 Reconfigure------|                            |
        |                           |                            |
                                  ....]]></artwork>
      </figure>
    </section>
    
    <section numbered="true" toc="default">
      <name>Table of Attributes</name>
      <t>This document specifies three new RADIUS attributes, and their
      formats are as follows:</t>
      <ul spacing="normal">
        <li>Softwire46-Configuration Attribute: 241.9</li>
        <li>Softwire46-Priority Attribute: 241.10</li>
        <li>Softwire46-Multicast Attribute: 241.11</li>
      </ul>
      <t><xref target="Table3"/> describes which attributes may be found in which kinds of
      packets and in what quantity.</t>



  <table anchor="Table3">
	<name>Table of Attributes</name>
	<thead>
	<tr>
		<th>Request</th>
		<th>Accept</th>
		<th>Reject</th>
		<th>Challenge</th>
		<th>Acct Req</th>
		<th>CoA-Req</th>
		<th>#</th>
		<th>Attribute</th>
	</tr>
	</thead>
	<tbody>
	<tr>
		<td>&nbsp;0-1</td>
		<td>&nbsp;0-1</td>
		<td>0</td>
		<td>&nbsp;0</td>
		<td>&nbsp;0-1</td>
		<td>&nbsp;0-1</td>
		<td>&nbsp;241.9</td>
		<td>Softwire46-&zwsp;Configuration</td>
	</tr>
	<tr>
		<td>&nbsp;0-1</td>
		<td>&nbsp;0-1</td>
		<td>0</td>
		<td>&nbsp;0</td>
		<td>&nbsp;0-1</td>
		<td>&nbsp;0-1</td>
		<td>&nbsp;241.10</td>
		<td>Softwire46-&zwsp;Priority</td>
	</tr>
	<tr>
		<td>&nbsp;0-1</td>
		<td>&nbsp;0-1</td>
		<td>0</td>
		<td>&nbsp;0</td>
		<td>&nbsp;0-1</td>
		<td>&nbsp;0-1</td>
		<td>&nbsp;241.11</td>
		<td>Softwire46-&zwsp;Multicast</td>
	</tr>
	</tbody>
</table>
      
    </section>
    <section anchor="Security" numbered="true" toc="default">
      <name>Security Considerations</name>
      <t><xref target="RFC7596" sectionFormat="of" section="9"/> discusses security issues
      related to Lightweight 4over6; <xref target="RFC7597" sectionFormat="of" section="10"/> discusses security issues related to MAP-E;
       <xref target="RFC7599" sectionFormat="of" section="13"/> discusses security issues
      related to MAP-T; and <xref target="RFC8114" sectionFormat="of" section="9"/>
      discusses security issues related to the delivery of IPv4 multicast
      services to IPv4 clients over an IPv6 multicast network.</t>
      <t>This document does not introduce any security issues inherently
      different from those already identified in <xref target="RFC2865" sectionFormat="of" section="8"/> and <xref target="RFC5176" sectionFormat="of" section="6"/>
      for CoA messages. Known security vulnerabilities of the RADIUS protocol
      discussed in <xref target="RFC2607" sectionFormat="of" section="7"/> and 
      <xref target="RFC2869" sectionFormat="of" section="7"/> apply to this specification. These
      well-established properties of the RADIUS protocol place some
      limitations on how it can safely be used, since there is some inherent
      requirement to trust the counterparty to not misbehave.</t>
      <t>Accordingly, this document targets deployments where a trusted
      relationship is in place between the RADIUS client and server, with
      communication optionally secured by IPsec or Transport Layer Security
      (TLS) <xref target="RFC6614" format="default"/>. The use of IPsec <xref target="RFC4301" format="default"/> for providing security when RADIUS is carried
      in IPv6 is discussed in <xref target="RFC3162" format="default"/>.</t>
      <t>Security considerations for interactions between a Softwire46 CE and
      the BNG are discussed in <xref target="RFC7598" sectionFormat="of" section="9"/>
      (DHCPv6 options for the configuration of Softwire46 address and port-mapped
      clients), <xref target="RFC8026" sectionFormat="of" section="3"/> (a DHCPv6-based
      Softwire46 prioritization mechanism), and <xref target="RFC8115" sectionFormat="of" section="5"/> (DHCPv6 options for configuration of
      IPv4-embedded IPv6 prefixes).</t>
    </section>
    <section anchor="IANA" numbered="true" toc="default">
      <name>IANA Considerations</name>
      <t>IANA has made new code point assignments for RADIUS
      attributes as described in the following subsections. The assignments
      should use the RADIUS registry available at
      &lt;<eref target="https://www.iana.org/assignments/radius-types/"/>&gt;.</t>
      <section numbered="true" toc="default">
        <name>New RADIUS Attributes</name>
        <t>IANA has assigned the attribute types defined
        in this document from the RADIUS namespace as described in Section <xref target="RFC3575" section="2" sectionFormat="bare">IANA Considerations</xref> of <xref target="RFC3575"/>, in
        accordance with BCP 26 <xref target="RFC8126" format="default"/>.</t>
        <t>IANA has registered three new RADIUS
        attributes from the "Short Extended Space" section of <xref target="RFC6929" format="default"/>. The attributes are the Softwire46-Configuration
        Attribute, Softwire46-Priority Attribute, and Softwire46-Multicast
        Attribute:</t>



<table anchor="Table4">
      <name>New RADIUS Attributes</name>
	<thead>
	<tr>
		<th>Type</th>
		<th>Description</th>
		<th>Data Type</th>
		<th>Reference</th>
	</tr>
	</thead>
	<tbody>
	<tr>
		<td>&nbsp;241.9</td>
		<td>&nbsp;Softwire46-Configuration</td>
		<td>&nbsp;tlv</td>
		<td>&nbsp;<xref target="conf-attr"/></td>
	</tr>
	<tr>
		<td>&nbsp;241.10</td>
		<td>&nbsp;Softwire46-Priority</td>
		<td>&nbsp;tlv</td>
		<td>&nbsp;<xref target="s46-prio-attr"/></td>
	</tr>
	<tr>
		<td>&nbsp;241.11</td>
		<td>&nbsp;Softwire46-Multicast</td>
		<td>&nbsp;tlv</td>
		<td>&nbsp;<xref target="s46-mcast-attr"/></td>
	</tr>
	</tbody>
</table>


      </section>
      <section numbered="true" toc="default">
        <name>RADIUS Softwire46 Configuration and Multicast Attributes</name>
        <t>IANA has created a new registry called "RADIUS
        Softwire46 Configuration and Multicast Attributes".</t>
        <t>All attributes in this registry have one or more parent RADIUS
        attributes in nesting (refer to <xref target="RFC6929" format="default"/>).</t>
        <t>This registry has been initially populated with the following
        values:</t>

<table anchor="Table5">
<name>RADIUS Softwire46 Configuration and Multicast Attributes</name>
	<thead>
	<tr>
		<th>Value</th>
		<th>Description</th>
		<th>Data Type</th>
		<th>Reference</th>
	</tr>
	</thead>
	<tbody>
	<tr>
		<td>&nbsp;0</td>
		<td>&nbsp;Reserved</td>
		<td>&nbsp;</td>
		<td>&nbsp;</td>
	</tr>
	<tr>
		<td>&nbsp;1</td>
		<td>&nbsp;Softwire46-MAP-E</td>
		<td>&nbsp;tlv</td>
		<td>&nbsp;<xref target="etlv"/></td>
	</tr>
	<tr>
		<td>&nbsp;2</td>
		<td>&nbsp;Softwire46-MAP-T</td>
		<td>&nbsp;tlv</td>
		<td>&nbsp;<xref target="ttlv"/></td>
	</tr>
	<tr>
		<td>&nbsp;3</td>
		<td>&nbsp;Softwire46-Lightweight-4over6</td>
		<td>&nbsp;tlv</td>
		<td>&nbsp;<xref target="ltlv"/></td>
	</tr>
	<tr>
		<td>&nbsp;4</td>
		<td>&nbsp;Softwire46-Rule (BMR)</td>
		<td>&nbsp;tlv</td>
		<td>&nbsp;<xref target="s46-rule-sub-tlv"/></td>
	</tr>
	<tr>
		<td>&nbsp;5</td>
		<td>&nbsp;Softwire46-Rule (FMR)</td>
		<td>&nbsp;tlv</td>
		<td>&nbsp;<xref target="s46-rule-sub-tlv"/></td>
	</tr>
	<tr>
		<td>&nbsp;6</td>
		<td>&nbsp;Softwire46-BR</td>
		<td>&nbsp;ipv6addr</td>
		<td>&nbsp;<xref target="s46br"/></td>
	</tr>
	<tr>
		<td>&nbsp;7</td>
		<td>&nbsp;Softwire46-DMR</td>
		<td>&nbsp;ipv6prefix</td>
		<td>&nbsp;<xref target="s46dmr"/></td>
	</tr>
	<tr>
		<td>&nbsp;8</td>
		<td>&nbsp;Softwire46-V4V6Bind</td>
		<td>&nbsp;tlv</td>
		<td>&nbsp;<xref target="s46bind"/></td>
	</tr>
	<tr>
		<td>&nbsp;9</td>
		<td>&nbsp;Softwire46-PORTPARAMS</td>
		<td>&nbsp;tlv</td>
		<td>&nbsp;<xref target="s46param"/></td>
	</tr>
	<tr>
		<td>&nbsp;10</td>
		<td>&nbsp;Rule-IPv6-Prefix</td>
		<td>&nbsp;ipv6prefix</td>
		<td>&nbsp;<xref target="v6prefix"/></td>
	</tr>
	<tr>
		<td>&nbsp;11</td>
		<td>&nbsp;Rule-IPv4-Prefix</td>
		<td>&nbsp;ipv4prefix</td>
		<td>&nbsp;<xref target="v4prefix"/></td>
	</tr>
	<tr>
		<td>&nbsp;12</td>
		<td>&nbsp;EA-Length</td>
		<td>&nbsp;integer</td>
		<td>&nbsp;<xref target="ea-length"/></td>
	</tr>
	<tr>
		<td>&nbsp;13</td>
		<td>&nbsp;IPv4-Address</td>
		<td>&nbsp;ipv4addr</td>
		<td>&nbsp;<xref target="v4address"/></td>
	</tr>
	<tr>
		<td>&nbsp;14</td>
		<td>&nbsp;Bind-IPv6-Prefix</td>
		<td>&nbsp;ipv6prefix</td>
		<td>&nbsp;<xref target="bindv6"/></td>
	</tr>
	<tr>
		<td>&nbsp;15</td>
		<td>&nbsp;PSID-Offset</td>
		<td>&nbsp;integer</td>
		<td>&nbsp;<xref target="psid-offset"/></td>
	</tr>
	<tr>
		<td>&nbsp;16</td>
		<td>&nbsp;PSID-Len</td>
		<td>&nbsp;integer</td>
		<td>&nbsp;<xref target="psid-len"/></td>
	</tr>
	<tr>
		<td>&nbsp;17</td>
		<td>&nbsp;PSID</td>
		<td>&nbsp;integer</td>
		<td>&nbsp;<xref target="psid"/></td>
	</tr>
	<tr>
		<td>&nbsp;18</td>
		<td>&nbsp;Softwire46-Option-Code</td>
		<td>&nbsp;integer</td>
		<td>&nbsp;<xref target="opc"/></td>
	</tr>
	<tr>
		<td>&nbsp;19</td>
		<td>&nbsp;ASM-Prefix64</td>
		<td>&nbsp;ipv6prefix</td>
		<td>&nbsp;<xref target="TLV0"/></td>
	</tr>
	<tr>
		<td>&nbsp;20</td>
		<td>&nbsp;SSM-Prefix64</td>
		<td>&nbsp;ipv6prefix</td>
		<td>&nbsp;<xref target="TLV1"/></td>
	</tr>
	<tr>
		<td>&nbsp;21</td>
		<td>&nbsp;U-Prefix64</td>
		<td>&nbsp;ipv6prefix</td>
		<td>&nbsp;<xref target="TLV2"/></td>
	</tr>
	<tr>
		<td>&nbsp;22-255</td>
		<td>&nbsp;Unassigned</td>
		<td>&nbsp;</td>
		<td>&nbsp;</td>
	</tr>
	</tbody>
</table>

        <t>The registration procedure for this registry is Standards Action as
        defined in <xref target="RFC8126" format="default"/>.</t>
      </section>
      <section anchor="s46option" numbered="true" toc="default">
        <name>Softwire46 Mechanisms and Their Identifying Option Codes</name>
        <t>The Softwire46-Priority Attribute conveys an ordered list of option
        codes assigned to Softwire46 mechanisms, for which IANA has
        created and will maintain a new registry titled "Option Codes Permitted
        in the Softwire46-Priority Attribute".</t>
        <t><xref target="Table6"/> shows the initial version of allowed option codes and the
        Softwire46 mechanisms that they represent. The option code for DS-Lite
        is derived from the IANA-allocated RADIUS Attribute Type value for
        DS-Lite <xref target="RFC6519" format="default"/>. The option codes for MAP-E,
        MAP-T, and Lightweight 4over6 are the TLV-Type values for the MAP-E,
        MAP-T, and Lightweight 4over6 attributes defined in <xref target="s46-tlvs" format="default"/>.</t>
<table anchor="Table6">
	<name>Option Codes to S46 Mechanisms</name>
	<thead>
	<tr>
		<th>Option Code</th>
		<th>Softwire46 Mechanism</th>
		<th>Reference</th>
	</tr>	</thead>	<tbody>	<tr>
		<td>&nbsp;1</td>
		<td>&nbsp;MAP-E</td>
		<td>&nbsp;<xref target="RFC7597"/></td>
	</tr>
	<tr>
		<td>&nbsp;2</td>
		<td>&nbsp;MAP-T</td>
		<td>&nbsp;<xref target="RFC7599"/></td>
	</tr>
	<tr>
		<td>&nbsp;3</td>
		<td>&nbsp;Lightweight 4over6</td>
		<td>&nbsp;<xref target="RFC7596"/></td>
	</tr>
	<tr>
		<td>&nbsp;144</td>
		<td>&nbsp;DS-Lite</td>
		<td>&nbsp;<xref target="RFC6519"/></td>
	</tr>
	</tbody>
</table>


        <t>Additional option codes may be added to this list in the future
        using the IETF Review process described in <xref target="RFC8126" sectionFormat="of" section="4.8"/>.</t>
      </section>
    </section>
  </middle>
  <back>
    <displayreference target="I-D.wang-radext-multicast-radius-ext" to="RADIUS-EXT"/>
     <displayreference target="I-D.sun-softwire-lw4over6-radext" to="LIGHTWEIGHT-4OVER6"/>

    <references>
      <name>References</name>

      <references>
        <name>Normative References</name>



	
<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.2865.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.3162.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.3575.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5080.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5176.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6052.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6158.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6929.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8026.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8044.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8115.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8126.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8415.xml"/>
      </references>
      <references>
        <name>Informative References</name>


     <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2607.xml"/>
     <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2869.xml"/>
     <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.4301.xml"/>
     <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6333.xml"/>
     <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6346.xml"/>
     <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6519.xml"/>
     <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6614.xml"/>
     <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6977.xml"/>
     <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7596.xml"/>
     <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7597.xml"/>
     <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7598.xml"/>
     <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7599.xml"/>
     <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8114.xml"/>

<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml3/reference.I-D.wang-radext-multicast-radius-ext.xml"/>


<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml3/reference.I-D.sun-softwire-lw4over6-radext.xml"/>



	 
        <!-- <?rfc include='reference.I-D.wang-radext-multicast-radius-ext'?>; Expired -->
       
        <!--  <?rfc include='reference.I-D.sun-softwire-lw4over6-radext'?>; Expired -->

      </references>
    </references>
    
    <section anchor="tlv-field-map" numbered="true" toc="default">
      <name>DHCPv6 to RADIUS Field Mappings</name>
      <t>The following sections detail the mappings between the softwire
      DHCPv6 option fields and the relevant RADIUS attributes as defined in
      this document.</t>
      <section numbered="true" toc="default">
        <name>OPTION_S46_RULE (89) to Softwire46-Rule Sub-TLV Field Mappings</name>

        <table align="center">
	  <name>OPTION_S46_RULE to Softwire46-Rule Sub-TLV Field Mappings</name>
          <thead>
            <tr>
              <th align="center">OPTION_S46_RULE Field</th>
              <th align="center">Softwire46-Rule Name</th>
              <th align="center">TLV Subfield</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="center">flags</td>
              <td align="center">N/A</td>
              <td align="center">TLV-type (4, 5)</td>
            </tr>
            <tr>
              <td align="center">ea-len</td>
              <td align="center">EA-Length</td>
              <td align="center">EA-len</td>
            </tr>
            <tr>
              <td align="center">prefix4-len</td>
              <td align="center">Rule-IPv4-Prefix</td>
              <td align="center">Prefix-Length</td>
            </tr>
            <tr>
              <td align="center">ipv4-prefix</td>
              <td align="center">Rule-IPv4-Prefix</td>
              <td align="center">rule-ipv4-prefix</td>
            </tr>
            <tr>
              <td align="center">prefix6-len</td>
              <td align="center">Rule-IPv6-Prefix</td>
              <td align="center">Prefix-Length</td>
            </tr>
            <tr>
              <td align="center">ipv6-prefix</td>
              <td align="center">Rule-IPv6-Prefix</td>
              <td align="center">rule-ipv6-prefix</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section numbered="true" toc="default">
        <name>OPTION_S46_BR (90) to Softwire46-BR Field Mappings</name>
        <table align="center">
	  <name>OPTION_S46_BR to Softwire46-BR Field Mappings</name>
          <thead>
            <tr>
              <th align="center">OPTION_S46_BR Field</th>
              <th align="center">Softwire46-BR Subfield</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="center">br-ipv6-address</td>
              <td align="center">br-ipv6-address</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section numbered="true" toc="default">
        <name>OPTION_S46_DMR (91) to Softwire46-DMR</name>
        <table align="center">
	  <name>OPTION_S46_DMR to Softwire46-DMR Field Mappings</name>
          <thead>
            <tr>
              <th align="center">OPTION_S46_DMR Field</th>
              <th align="center">Softwire46-DMR Subfield</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="center">dmr-prefix6-len</td>
              <td align="center">dmr-prefix6-len</td>
            </tr>
            <tr>
              <td align="center">dmr-ipv6-prefix</td>
              <td align="center">dmr-ipv6-prefix</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section numbered="true" toc="default">
        <name>OPTION_S46_V4V6BIND (92) to Softwire46-V4V6Bind</name>
        <table align="center">
	  <name>OPTION_S46_V4V6BIND to Softwire46-V4V6Bind Field&nbsp;Mappings</name>
          <thead>
            <tr>
              <th align="center">OPTION_S46_V4V6BIND Field</th>
              <th align="center">Softwire46-V4V6Bind Name</th>
              <th align="center">TLV Subfield</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="center">ipv4-address</td>
              <td align="center">IPv4-Address</td>
              <td align="center">ipv4-address</td>
            </tr>
            <tr>
              <td align="center">bindprefix6-len</td>
              <td align="center">Bind-IPv6-Prefix</td>
              <td align="center">Prefix-Length</td>
            </tr>
            <tr>
              <td align="center">bind-ipv6-prefix</td>
              <td align="center">Bind-IPv6-Prefix</td>
              <td align="center">bind-ipv6-prefix</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section numbered="true" toc="default">
        <name>OPTION_S46_PORTPARAMS (93) to Softwire46-PORTPARAMS Field Mappings</name>
        <table align="center">
	  <name>OPTION_S46_PORTPARAMS to Softwire46-PORTPARAMS Field&nbsp;Mappings</name>
          <thead>
            <tr>
              <th align="center">OPTION_S46_PORTPARAMS Field</th>
              <th align="center">Softwire46-PORTPARAMS Name</th>
              <th align="center">TLV Subfield</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="center">offset</td>
              <td align="center">PSID-Offset</td>
              <td align="center">PSID-Offset</td>
            </tr>
            <tr>
              <td align="center">PSID-len</td>
              <td align="center">PSID-Len</td>
              <td align="center">PSID-len</td>
            </tr>
            <tr>
              <td align="center">PSID</td>
              <td align="center">PSID</td>
              <td align="center">PSID</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section numbered="true" toc="default">
        <name>OPTION_S46_PRIORITY (111) to Softwire46-PORTPARAMS Field Mappings</name>
        <table align="center">
	  <name>OPTION_S46_PRIORITY to Softwire46-PORTPARAMS Field Mappings</name>
          <thead>
            <tr>
              <th align="center">OPTION_S46_PRIORITY Field</th>
              <th align="center">Softwire46-Priority Attribute Subfield</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="center">s46-option-code</td>
              <td align="center">Softwire46-option-code</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section numbered="true" toc="default">
        <name>OPTION_V6_PREFIX64 (113) to Softwire46-Multicast Attribute Field Mappings</name>
        <table align="center">
	  <name>OPTION_V6_PREFIX64 to Softwire46-Multicast Field Mappings</name>
          <thead>
            <tr>
              <th align="center">OPTION_V6_PREFIX64 Field</th>
              <th align="center">Softwire46-Multicast Attribute TLV
          Name</th>
              <th align="center">TLV Subfield</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="center">asm-length</td>
              <td align="center">ASM-Prefix64</td>
              <td align="center">Prefix-Length</td>
            </tr>
            <tr>
              <td align="center">ASM_mPrefix64</td>
              <td align="center">ASM-Prefix64</td>
              <td align="center">asm-prefix64</td>
            </tr>
            <tr>
              <td align="center">ssm-length</td>
              <td align="center">SSM-Prefix64</td>
              <td align="center">Prefix-Length</td>
            </tr>
            <tr>
              <td align="center">SSM_mPrefix64</td>
              <td align="center">SSM-Prefix64</td>
              <td align="center">ssm-prefix64</td>
            </tr>
            <tr>
              <td align="center">unicast-length</td>
              <td align="center">U-Prefix64</td>
              <td align="center">Prefix-Length</td>
            </tr>
            <tr>
              <td align="center">uPrefix64</td>
              <td align="center">U-Prefix64</td>
              <td align="center">u-prefix64</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
    <section anchor="Acknowledgements" numbered="false" toc="default">
      <name>Acknowledgements</name>
      <t>The authors would like to thank Peter Lothberg, Wojciech Dec, Ian
      Farrer, Suresh Krishnan, Qian Wang, Wei Meng, Cui Wang, Alan Dekok,
      Stefan Winter, and Yu Tianpeng for their valuable comments regarding this
      document.</t>
      <t>This document was merged with <xref target="I-D.sun-softwire-lw4over6-radext" format="default"/> and <xref target="I-D.wang-radext-multicast-radius-ext" format="default"/>. Thanks to
      everyone who contributed to this document.</t>

      <t>Many thanks to Al Morton, Bernie Volz, Joel Halpern, and Donald
      Eastlake for the review.</t>
    </section>
    <section numbered="false" toc="default">
      <name>Contributors</name>
      
 <artwork name="" type="" align="left" alt="">
Bing Liu 
Huawei Technologies Co., Ltd. 
China 

Email: leo.liubing@huawei.com</artwork>
 <artwork name="" type="" align="left" alt="">
Peter Deacon 
IEA Software, Inc. 
United States of America 

Email: peterd@iea-software.com</artwork>
 <artwork name="" type="" align="left" alt="">
Qiong Sun 
China Telecom 
China 

Email: sunqiong@ctbri.com.cn</artwork>
 <artwork name="" type="" align="left" alt="">
Qi Sun 
Tsinghua University 
China 

Email: sunqibupt@gmail.com</artwork>
 <artwork name="" type="" align="left" alt="">
Cathy Zhou 
Huawei Technologies 
China 
   
Email: cathy.zhou@huawei.com</artwork>
 <artwork name="" type="" align="left" alt="">
Tina Tsou 
Huawei Technologies (USA) 
United States of America 

Email: Tina.Tsou.Zouting@huawei.com</artwork>
 <artwork name="" type="" align="left" alt="">
ZiLong Liu 
Tsinghua University 
China 

Email: liuzilong8266@126.com</artwork>
 <artwork name="" type="" align="left" alt="">
Yong Cui 
Tsinghua University 
China 

Email: yong@csnet1.cs.tsinghua.edu.cn</artwork>

    </section>
  </back>
</rfc>
