Softwire                                                   S. Jiang, Ed.
Internet-Draft                              Huawei Technologies Co., Ltd
Intended status: Standards Track                              Y. Fu, Ed.
Expires: December 28, 2018 May 11, 2019                                              CNNIC
                                                                  B. Liu
                                            Huawei Technologies Co., Ltd
                                                               P. Deacon
                                                      IEA Software, Inc.
                                                                  C. Xie
                                                           China Telecom
                                                                   T. Li
                                                     Tsinghua University
                                                       M. Boucadair Boucadair, Ed.
                                                                  Orange
                                                           June 26,
                                                        November 7, 2018

RADIUS Attributes for Address plus Port (A+P) based Softwire Mechanisms
                   draft-ietf-softwire-map-radius-16
                   draft-ietf-softwire-map-radius-17

Abstract

   IPv4-over-IPv6 transition mechanisms provide both IPv4 and IPv6 connectivity
   services simultaneously over IPv6 native networks during the IPv4/IPv6 co-
   existence co-existence
   period.  DHCPv6 options have been defined for configuring clients to use MAP-E, MAP-T, for
   Lightweight 4over6 4over6, Mapping of Address and Multicast Basic
   Bridging BroadBand (mB4) in Port with Encapsulation,
   and Mapping of Address and Port using Translation unicast softwire
   mechanisms, and also multicast scenarios. softwires.  However, in many networks, the
   configuration information may be is stored in an AAA
   server, while user configuration information is mainly provided by
   the BNG through Authentication,
   Authorization, and Accounting server which utilizes the DHCPv6 protocol. RADIUS
   protocol to provide centralized management for users.  When a new
   transition mechanism is developed, new RADIUS attributes need to be
   defined correspondingly.

   This document defines three new RADIUS attributes that to carry CE or mB4 Address
   plus Port based softwire configuration information parameters from an AAA
   Authentication, Authorization, and Accounting server to BNG. a Broadband
   Network Gateway.  Both unicast and multicast attributes are covered.

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at https://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on December 28, 2018. May 11, 2019.

Copyright Notice

   Copyright (c) 2018 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (https://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   3
   2.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . .   4   5
   3.  Configuration process with  Extensions of RADIUS Attributes and TLVs  . . . . . . . . . .   6
     3.1.  Softwire46-Configuration Attribute  . . . .   4
   4.  Attributes  . . . . . . . .   6
       3.1.1.  Softwire46 TLVs . . . . . . . . . . . . . . . . .   7
     4.1.  Softwire46-Configuration Attribute . .   8
         3.1.1.1.  S46-MAP-E TLV Format  . . . . . . . . .   8
     4.2.  Softwire46 TLVs . . . . .  10
         3.1.1.2.  S46-MAP-T TLV Format  . . . . . . . . . . . . . .  11
         3.1.1.3.  S46-Lightweight-4over6 TLV Format . .   9
     4.3.  Softwire46 Sub TLVs . . . . . .  12
       3.1.2.  Softwire46 Sub-TLVs . . . . . . . . . . . . .  11
     4.4.  The format of Softwire46 Sub TLVs . . . .  13
       3.1.3.  Format of the Softwire46 Sub-TLVs . . . . . . . .  13
       4.4.1.  S46-Rule Sub TLV . .  14
         3.1.3.1.  S46-Rule Sub-TLV  . . . . . . . . . . . . . . . .  13
       4.4.2.  14
         3.1.3.2.  S46-BR Sub TLV  . . Sub-TLV  . . . . . . . . . . . . . . . . .  14
       4.4.3.  15
         3.1.3.3.  S46-DMR Sub TLV . . Sub-TLV . . . . . . . . . . . . . . . . .  15
       4.4.4.  16
         3.1.3.4.  S46-V4V6Bind Sub TLV  . . Sub-TLV  . . . . . . . . . . . . . .  16
       4.4.5.  17
         3.1.3.5.  S46-PORTPARAMS Sub TLV  . . Sub-TLV  . . . . . . . . . . . . .  16
     4.5.  18
       3.1.4.  Sub-TLVs for S46-Rule Sub TLV . . Sub-TLV . . . . . . . . . . . .  17
       4.5.1.  19
         3.1.4.1.  Rule-IPv6-Prefix sub-TLV  . . Sub-TLV  . . . . . . . . . . . .  17
       4.5.2.  19
         3.1.4.2.  Rule-IPv4-Prefix Sub-TLV  . . . . . . . . . . . . . .  18
       4.5.3.  20
         3.1.4.3.  EA-Length Sub-TLV . . . . . . . . . . . . . . . . . .  19
     4.6.  21
       3.1.5.  Sub-TLVs for S46-v4v6Bind Sub TLV . . Sub-TLV . . . . . . . . . .  19
       4.6.1.  22
         3.1.5.1.  The IPv4-address sub-TLV  . . Sub-TLV  . . . . . . . . . . . .  19
       4.6.2.  22
         3.1.5.2.  The Bind-IPv6-Prefix Sub-TLV  . . . . . . . . . . . .  19
     4.7.  22
       3.1.6.  Sub-TLVs for S46-PORTPARAMS Sub TLV . . Sub-TLV . . . . . . . . .  20
       4.7.1.  23
         3.1.6.1.  The PSID-offset sub-TLV . . Sub-TLV . . . . . . . . . . . . .  20
       4.7.2.  23
         3.1.6.2.  The PSID-len sub-TLV  . . Sub-TLV  . . . . . . . . . . . . . .  21
       4.7.3.  24
         3.1.6.3.  The PSID sub-TLV  . . Sub-TLV  . . . . . . . . . . . . . . . .  21
     4.8.  25
     3.2.  Softwire46-Priority Attribute . . . . . . . . . . . . . .  21
     4.9.  25
     3.3.  Softwire46-Multicast Attribute  . . . . . . . . . . . . .  22
       4.9.1.  26
       3.3.1.  ASM-Prefix64 TLV  . . . . . . . . . . . . . . . . . .  24
       4.9.2.  28
       3.3.2.  SSM-Prefix64 TLV  . . . . . . . . . . . . . . . . . .  25
       4.9.3.  29
       3.3.3.  U-Prefix64 TLV  . . . . . . . . . . . . . . . . . . .  26

     4.10.  30
   4.  A Sample Configuration Process with RADIUS  . . . . . . . . .  31
   5.  Table of attributes Attributes . . . . . . . . . . . . . . . . . . .  27
   5.  Diameter . .  34
   6.  Security Considerations . . . . . . . . . . . . . . . . . . .  28
   6.  35
   7.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  28
     6.1.  35
     7.1.  New RADIUS Attributes . . . . . . . . . . . . . . . . . .  28
     6.2.  35
     7.2.  New RADIUS TLVs . . . . . . . . . . . . . . . . . . . . .  29
     6.3.  36
     7.3.  S46 Mechanisms and Their Identifying Option Codes . . . .  29
   7.  Security Considerations  36
   8.  Contributing Authors  . . . . . . . . . . . . . . . . . . .  30
   8. .  37
   9.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .  30
   9.  38
   10. References  . . . . . . . . . . . . . . . . . . . . . . . . .  31
     9.1.  39
     10.1.  Normative References . . . . . . . . . . . . . . . . . .  31
     9.2.  39
     10.2.  Informative References . . . . . . . . . . . . . . . . .  32
   Additional Authors  40
   Appendix A.  DHCPv6 to RADIUS Field Mappings  . . . . . . . . . .  42
     A.1.  OPTION_S46_RULE (89) to S46-Rule Sub-TLV Field Mappings .  42
     A.2.  OPTION_S46_BR (90) to S46-BR Sub-TLV Sub-TLV Field
           Mappings  . . . . . . . . . . . .  34 . . . . . . . . . . . .  42
     A.3.  OPTION_S46_DMR (91) to S46-DMR Sub-TLV  . . . . . . . . .  42
     A.4.  OPTION_S46_V4V6BIND (92) to S46-V4V6Bind Sub-TLV  . . . .  42
     A.5.  OPTION_S46_PORTPARAMS (93) to S46-PORTPARAMS Sub-TLV
           Field Mappings  . . . . . . . . . . . . . . . . . . . . .  43
     A.6.  OPTION_S46_PRIORITY (111) to S46-PORTPARAMS Sub-TLV Field
           Mappings  . . . . . . . . . . . . . . . . . . . . . . . .  43
     A.7.  OPTION_V6_PREFIX64 (113) to Softwire46-Multicast
           Attribute TLV Field Mappings  . . . . . . . . . . . . . .  43
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  35  43

1.  Introduction

   Recently, providers

   Providers have started deployment deploying and transition transitioning to IPv6.
   Many  Several
   IPv4 service continuity mechanisms based on the Address plus Port
   (A+P) [RFC6346] have been proposed for running providing unicast IPv4 over
   IPv6-only infrastructure. infrastructure, such as Mapping of Address and Port with
   Encapsulation (MAP-E)[RFC7597] and (MAP-E) [RFC7597], Mapping of Address and Port using
   Translation (MAP-T) [RFC7599] are stateless mechanisms for running
   IPv4 over IPv6-only infrastructure.  Lightweight 4over6 [RFC7596] is
   a hub-and-spoke IPv4-over-IPv6 tunneling mechanism, with complete
   independence of IPv4 and IPv6 addressing.  And all these mechanisms
   are unicast.  MAP-E, MAP-T, [RFC7599], and Lightweight 4over6 Customer Edge (CE)
   devices may be provisioned by means of Dynamic Host Configuration
   Protocol for IPv6 (DHCPv6) [RFC3315].  [RFC7598] defines DHCPv6
   options for provisioning CEs for unicast softwires. [RFC7596].
   Also, [RFC8114] specifies a generic solution for the delivery of IPv4
   multicast services to IPv4 clients over an IPv6 multicast network.  The
   solution applies also to lw4o6 and MAP-E.  [RFC8115] defines a
   For each of these mechanisms, DHCPv6
   PREFIX64 option to convey the IPv6 prefixes to be used options have been specified for
   constructing IPv4-embedded IPv6 addresses to inform the mB4 element
   of the PREFIX64.
   client configuration.

   In many networks, user configuration information may be is stored in an
   Authentication, Authorization, and Accounting (AAA) server.
   Currently, the  AAA
   servers generally communicate using the Remote Authentication Dial In
   User Service (RADIUS) [RFC2865] protocol.  In a fixed line broadband
   network, a Broadband Network Gateway (BNG) acts as the access gateway of
   for users.  A DHCPv6 server function is
   assumed to embed in  That is, the BNG that allows it acts as both an AAA client to locally handle any the AAA
   server, and a DHCPv6 requests initiated server for DHCPv6 messages sent by hosts.  So clients.
   Throughout this document, the term BNG is used in this
   document to describe describes a device which functions as
   implementing both the AAA client and DHCPv6 sever. server functions.

   Since the S46 IPv4-in-IPv6 softwire configuration information is stored in an
   AAA servers server, and user configuration information is mainly transmitted
   through DHCPv6 protocol between the BNGs and hosts/CEs, Customer Premises
   Equipment (CEs, a.k.a., CPE), new RADIUS attributes are needed to
   propagate the information from the AAA servers to BNGs.

   The RADIUS attributes designed defined in this document are especially for
   the MAP-E[RFC7597], MAP-T [RFC7599] and Lightweight 4over6 [RFC7596],
   providing enough information provide configuration
   to form populate the corresponding DHCPv6
   configuration options[RFC7598].  This document is not concerned options for unicast and
   multicast softwire configuration, specifically:

   o  "Mapping of Address and Port with Encapsulation (MAP-E)" [RFC7597]
      (DHCPv6 options defined in [RFC7598].

   o  "Mapping of Address and Port using Translation (MAP-T)" [RFC7599]
      (DHCPv6 options defined in [RFC7598].

   o  "Lightweight 4over6: An Extension to the RADIUS attribute for Dual-Stack Lite [RFC6333] as it is already
   covered in [RFC6519].  At the Section 4.9, a new RADIUS attribute is
      Architecture" [RFC7596] (DHCPv6 options defined in [RFC7598].

   o  "Unified IPv4-in-IPv6 Softwire Customer Premises Equipment (CPE):
      A DHCPv6-Based Prioritization Mechanism" [RFC8026].

   o  "Delivery of IPv4 Multicast Services to be used for carrying the Multicast-Prefixes-64, based on
   the equivalent DHCPv6 option already specified IPv4 Clients over an IPv6
      Multicast Network" [RFC8114] (DHCPv6 options defined in [RFC8115].

2.  Terminology

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
   "OPTIONAL" contents of the attributes/sub-TLVs defined in this document are to be interpreted as described have
   a 1:1 mapping into the fields of the various DHCPv6 options in
   [RFC2119] [RFC8174] when,
   [RFC7598], [RFC8026], and only when, they appear in all capitals,
   as shown here.

   The terms DS-Lite multicast Basic Bridging BroadBand element (mB4) [RFC8115].  Table 1 shows how the DHCPv6
   options map to the corresponding RADIUS attribute, or Sub-TLV.  For
   detailed mappings between each DHCPv6 option field and the DS-Lite multicast Address Family Transition Router element
   (mAFTR) are defined in [RFC8114] .

3.  Configuration process with RADIUS

   The Figure 1 below illustrates how the RADIUS and DHCPv6 protocols
   co-operate to provide CE with softwire configuration information.
   The BNG acts as a RADIUS client and a DHCPv6 server.

  CE                              BNG                         AAA Server
  |                                |                               |
  |-------1.DHCPv6 Solicit-------> |                               |
  | (ORO w/container option code)
   corresponding RAIDUS Attribute, TLV, or Sub-TLV field, see
   Appendix A.

      +----------------------------+--------------------------------+
      |        DHCPv6 Option       |     RADIUS Attribute/Sub-TLV   |                                |-------2.Access-Request------->|
      +----------------------------+--------------------------------+
      |     OPTION_S46_RULE (89)   | (S46-Configuration attribute        S46-Rule Sub-TLV        |
      |                                |and/or S46-Multicast attribute)|     OPTION_S46_BR (90)     |                                |<------3.Access-Accept---------|
  |<---4.DHCPv6 Advertisement-----         S46-BR Sub-TLV         | (S46-Configuration attribute
      |     OPTION_S46_DMR (91)    |      (container option)        |and/or S46-Multicast attribute)|
  |-------5.DHCPv6  Request------>        S46-DMR Sub-TLV         |
      |   OPTION_S46_V4V6BIND (92) |      (container Option)      S46-v4v6Bind Sub-TLV      |
      |
  |<------6.DHCPv6 Reply---------- OPTION_S46_PORTPARAMS (93) |     S46-PORTPARAMS Sub-TLV     |
      |      (container option)  OPTION_S46_PRIORITY (111) | Softwire46-Priority Attribute  |
      |  OPTION_V6_PREFIX64 (113)  | Softwire46-Multicast Attribute |
                 DHCPv6                            RADIUS

     Figure
      +----------------------------+--------------------------------+

    Table 1: the cooperation Mapping between DHCPv6 Options and RADIUS combined with Attributes/TLVs

   A RADIUS authentication

   1.  For unicast, the CE initiates a DHCPv6 Solicit message that
   includes an Option Request option(6) with the S46 Container option
   codes as attribute for Dual-Stack Lite [RFC6333] is defined in[RFC7598].  As described in [RFC7598],
   OPTION_S46_CONT_MAPE should
   [RFC6519].

2.  Terminology

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
   "OPTIONAL" in this document are to be included for MAP-E,
   OPTION_S46_CONT_MAPT for MAP-T, interpreted as described in
   [RFC2119] [RFC8174] when, and OPTION_S46_CONT_LW for
   Lightweight 4over6.  For the multicast case, the the option number
   for OPTION_V6_PREFIX64 (113) only when, they appear in all capitals,
   as shown here.

   The reader should be included in the client's ORO.

   2.  When the BNG receives familiar with the Solicit message, it SHOULD initiate a
   RADIUS Access-Request message continaing: A User-Name attribute (1)
   (with either a CE MAC address, interface-id or both), a User-password
   attribute (2) (with a pre-configured shared password as concepts and terms defined in
   [RFC2865],
   [RFC7596], [RFC7597], [RFC7599], and the Softwire46-Configuration Attribute and/or
   Softwire46-Multicast Attribute (as reuquested by the client). [RFC8026].

   The
   resulting message terms "multicast Basic Bridging BroadBand" element (mB4) and
   "multicast Address Family Transition Router" element (mAFTR) are
   defined in [RFC8114].

   S46 is sent used throughout to denote any of the RADIUS server.

   3.  If IPv4-in-IPv6 softwire
   mechanisms listed above.  Additionally, the authentication request is approved by following abbrevitiaons
   are used within the AAA server, document:

   o  BMR: Basic Mapping Rule

   o  BNG: Broadband Network Gateway

   o  BR: Border Relay

   o  CE: Customer Edge

   o  DMR: Default Mapping Rule

   o  EA: Embedded Address
   o  FMR: Forwarding Mapping Rule

   o  PSID: Port Set Identifier

   o  TLV: Type, Length, Value

   o  MAP-E: Mapping of Address and
   suitable configuration is available, an Access-Accept message MUST be
   acknowledged Port with Encapsulation

   o  MAP-T: Mapping of Address and Port using Translation

3.  Extensions of RADIUS Attributes and TLVs

   This section defines the corresponding following attributes:

   1.  Softwire46-Configuration Attribute or Softwire46-Multicast Attribute.

   4.  After receiving (Section 3.1):

       This attribute carries the Access-Accept message with configuration information for MAP-E,
       MAP-T, and Lightweight 4over6.  The configuration information for
       each S46 mechanism is carried in the corresponding
   Attribute, the BNG SHOULD respond to the DHCPv6 Client (CE) with an
   Advertisement message.

   5.  On receipt of an Advertise message containing one or more Softwire46
       TLVs.  Different Sub-TLVs are required for each type of
       Softwire46 TLVs.

   2.  Softwire46-Priority Attribute (Section 3.2):

       Depending on the
   requested DHCPv6 softwire container options (94, 95, 96, or 113) the
   CE MAY deployment scenario, a client may support
       several different S46 mechanisms and so request configuration for
       more than one S46 mechanism at a time.  The Softwire46-Priority
       Attribute contains information allowing the desired softwire mechanism(s) by
   including client to prioritize
       which mechanism to use, corresponding to OPTION_S46_PRIORITY
       defined in [RFC8026].

   3.  Softwire46-Multicast Attribute (Section 3.3):

       This attribute conveys the option code(s) IPv6 prefixes to be used in [RFC8114]
       to synthesize IPv4-embedded IPv6 addresses.  The BNG uses the
       IPv6 prefixes returned in the ORO of RADIUS Softwire46-Multicast
       Attribute to populate the DHCPv6 Request
   message.

   6.  When the BNG receives the client's DHCPv6 Request message, it
   constructs a Reply message containing the softwire container options
   enumerated in the ORO.  The recommended format PREFIX64 Option [RFC8115].

   All of these attributes are allocated from the MAC address RADIUS "Extended Type"
   code space per [RFC6929].

   All of these attribute designs follow [RFC6158] and [RFC6929].

3.1.  Softwire46-Configuration Attribute

   This attribute is
   defined of type "TLV", as Calling-Station-Id (Section 3.20 defined in [RFC3580] without the
   SSID (Service Set Identifier) portion. RADIUS Protocol
   Extensions [RFC6929].  It is for contains some sub-attributes, with the IEEE 802.1X
   Authenticators,
   following requirements:

      The Softwire46-Configuration Attribute MUST contain one or more of
      the Calling-Station- Id attribute is used to store following: S46-MAP-E TLV, S46-MAP-T TLV, and/or S46-
      Lightweight-4over6 TLV.

      The Softwire46-Configuration Attribute conveys the bridge configuration
      information for MAP-E, MAP-T, or Access Point MAC address in ASCII format.

   For Lightweight 4over6 [RFC7596], the subscriber's binding state
   needs to be synchronized between the clients and 4over6.  The BNG
      SHALL use the lwAFTR.  This
   can be achieved configuration information returned in two ways: pre-configuring the bindings statically
   on both the AAA server and lwAFTR, or on-demand whereby the AAA
   server updates the lwAFTR with RADIUS
      attribute to populate the subscriber's binding state as it
   is created or deleted. DHCPv6 Softwire46 Container Option
      defined in Section 5 of [RFC7598].

      The authorization operation could Softwire46-Configuration Attribute MAY appear in an Access-
      Accept packet.  It MAY also be done independently after
   the authentication process.  In such a scenario, after the
   authentication operation, the client appear in an Access-Request packet.

      The Softwire46-Configuration Attribute MAY initiate appear in a DHCPv6 Request
   message that includes the corresponding S46 Container options.
   Similar to the above scenario, the ORO with the corresponding S46
   Container option code CoA-Request
      packet.

      The Softwire46-Configuration Attribute MAY appear in the initial DHCPv6 request could be optional
   if the network was planned as being S46-enabled by default.  When the
   BNG receives the DHCPv6 Request, it SHOULD initiate the an
      Accounting-Request packet.

      The Softwire46-Configuration Attribute MUST NOT appear in any
      other RADIUS
   Access-Request message, which packet.

      The Softwire46-Configuration Attribute MUST contain a Service-Type attribute
   (6) with the value Authorize Only (17), only encapsulate one
      or more of the corresponding Softwire46 TLVs defined in this document.

   The Softwire46-Configuration Attribute, and a State attribute obtained
   from the previous authentication process according to [RFC5080].  If
   the authorization request Attribute is approved by an AAA server, an Access-
   Accept message MUST structured as follows:

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |      Type     |     Length    | Extended-Type |    Value ...  .
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

     Type
       241 (To be acknowledged with confirmed by IANA).

     Length
       Indicates the corresponding
   Softwire46-Configuration Attribute.  The BNG SHOULD then send total length, in bytes, of all fields of
       this attribute, including the
   DHCPv6 Reply message containing Type, Length, Extended-Type,
       and the S46 Container option.

   There are three notices need to be considered:

   o  In both entire length of the above-mentioned scenarios, Message-authenticator (type
      80) [RFC2869] SHOULD be used embedded TLVs.

      Extended-Type
         TBD1

      Value
         Contains one or more of the following TLVs. Each TLV type
         may appear at most once:

         S46-MAP-E TLV
            For configuring MAP-E clients. For the construction of
            this TLV, Refer to protect both Access-Request and
      Access-Accept messages.

   o  If Section 3.1.1.1.

         S46-MAP-T TLV
            For configuring MAP-T clients. For the BNG does not receive construction of
            this TLV, Refer to Section 3.1.1.2.

         S46-Lightweight-4over6 TLV
            For configuring Lightweight 4over6 clients. For the corresponding
      Softwire46-Configuration Attribute in the Access-Accept message it
      MAY fallback to a pre-configured default S46 configuration, if
      any.  If the BNG does not have any pre-configured default S46
      configuration, or if the BNG receives an Access-Reject, then S46
      connection cannot be established.

   o  As specified in [RFC3315], section 18.1.4, "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, the
      secondary BNG receiving the DHCPv6 message MUST initiate a new
      Access-Request message towards the AAA server.  The secondary BNG
      MAY include the Softwire46-Configuration Attribute in its Access-
      Request message.

   In both the above-mentioned scenarios, Message-authenticator (type
   80) [RFC2869] SHOULD be used to protect both Access-Request and
   Access-Accept messages.

   If the BNG does not receive the corresponding
   Softwire46-Configuration Attribute in the Access-Accept message it
   MAY fallback to a pre-configured default S46 configuration, if any.
   If the BNG does not have any pre-configured default S46
   configuration, or if the BNG receives an Access-Reject, then S46
   connection cannot be established.

   As specified in [RFC3315], section 18.1.4, "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, the secondary BNG receiving
   the DHCPv6 message MUST initiate a new Access-Request message towards
   the AAA server.  The secondary BNG MAY include the
   Softwire46-Configuration Attribute in its Access-Request message.

4.  Attributes

   This section defines the Softwire46-Configuration Attribute,
   Softwire46-Priority Attribute, and Softwire46-Multicast Attribute.
   The attribute design follows [RFC6158] and refers to [RFC6929].

   The Softwire46-Configuration Attribute carries the configuration
   information for MAP-E, MAP-T, and Lightweight 4over6.  The
   configuration information for each S46 mechanism is carried in the
   corresponding Softwire46 TLVs.  Different Sub TLVs are required for
   each type of Softwire46 TLVs.  The RADIUS attribute for Dual-Stack
   Lite [RFC6333] is defined in [RFC6519].

   A client may be capable of supporting several different S46
   mechanisms.  Depending on the deployment scenario, a client might
   request for more than one S46 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 [RFC8026].

   The Softwire46-Multicast Attirbute conveys the IPv6 prefixes to be
   used in [RFC8114] to synthesize IPv4-embedded IPv6 addresses.  The
   BNG SHALL use the IPv6 prefixes returned in the RADIUS
   Softwire46-Multicast Attirbute to populate the DHCPv6 PREFIX64 Option
   [RFC8115].

4.1.  Softwire46-Configuration Attribute

   This attribute is of type "tlv" as defined in the RADIUS Protocol
   Extensions [RFC6929].  It contains some sub-attributes, and the
   requirements are as follows:

   The Softwire46-Configuration Attribute MAY contain the S46-MAP-E TLV
   (see Section 4.2).

   The Softwire46-Configuration Attribute MAY contain the S46-MAP-T TLV
   (see Section 4.2).

   The Softwire46-Configuration Attribute MAY contain the S46-
   Lightweight-4over6 TLV (see Section 4.2).

   The Softwire46-Configuration Attribute MUST contain at least one
   Softwire46 TLV in the attribute.

   The Softwire46-Configuration Attribute conveys the configuration
   information for MAP-E, MAP-T, and Lightweight 4over6.  The BNG SHALL
   use the configuration information returned in the RADIUS Attribute to
   populate the DHCPv6 Softwire46 Container Option defined in section 5
   of [RFC7598].

   The Softwire46-Configuration Attribute MAY appear in an Access-Accept
   packet.  It MAY also appear in an Access-Request packet.

   The Softwire46-Configuration Attribute MAY appear in a CoA-Request
   packet.

   The Softwire46-Configuration Attribute MAY appear in an Accounting-
   Request packet.

   The Softwire46-Configuration Attribute MUST NOT appear in any other
   RADIUS packet.

   The Softwire46-Configuration Attribute can only encapsulate
   Softwire46 TLV.  The Softwire46-Configuration Attribute is structured
   as follows:

   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |      Type     |     Length    | Extended-Type |    Value ...
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    Type
      241 (To be confirmed by IANA).
    Length
      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 TLVs.
     Extended-Type
        TBD1
     Value
        This field contains a set of TLVs as follows:
        S46-MAP-E TLV
           This TLV contains the S46-Rule Sub TLV, S46-BR Sub TLV,
           S46-PORTPARAMS Sub TLV. Refer to Section 4.4.
        S46-MAP-T TLV
           This TLV contains the S46-Rule Sub TLV, S46-DMR Sub TLV,
           S46-PORTPARAMS Sub TLV.  Refer to Section 4.4.
        S46-Lightweight-4over6 TLV
           This TLV contains the S46-BR Sub TLV,S46-V4V6Bind Sub
           TLV, S46-PORTPARAMS TLV.  Refer to Section 4.4.
            construction of this TLV, Refer to Section 3.1.1.3.

   The Softwire46-Configuration Attribute is associated with the
   following identifier: 241.Extended-Type(TBD1).

4.2.

3.1.1.  Softwire46 TLVs

   The Softwire46 TLV TLVs can only be encapsulated in the
   Softwire46-Configuration Attribute.  Depending on the deployment
   scenario, a client might request for more than one transition
   mechanism at a time, there time.  There MUST be at least one Softwire46 TLV
   encapsulated in one Softwire46-Configuration Attribute.  There MUST
   be at most one instance of each type of Softwire46 TLV encapsulated
   in one Softwire46-Configuration Attribute.

   There are three types of Softwire46 TLV, namely namely:

   1.  S46-MAP-E TLV, TLV (Section 3.1.1.1)

   2.  S46-MAP-T TLV, TLV (Section 3.1.1.2)

   3.  S46-Lightweight 4over6 TLV. TLV (Section 3.1.1.3)

   Each type of Softwire46 TLV contains a number of sub TLVs, sub-TLVs, defined in
   Section 4.4. 3.1.3.  The hierarchy of the Softwire46 TLV TLVs is shown in
   Figure 2. 1.  Section 4.3 3.1.2 describes which Sub TLVs Sub-TLVs are mandatory,
   optional, or not permitted for each defined Softwire46 TLV.

                                                 /

                                                 /1.Rule-IPv6-Prefix
 S                      /                       | 1.Rule-IPv6-Prefix
                       |                        |   Sub-TLV
 o  /                  | 1.S46-Rule Sub TLV-----+ Sub-TLV ----+ 2.Rule-IPv4-Prefix
 S46-MAP-E TLV
 f | S46-MAP-E TLV-----+                        |   Sub-TLV
 t |                   | 2.S46-BR Sub TLV Sub-TLV       | 3.EA Length Sub-
 w |                   |                         \  TLV
 i |                   |                               /1.PSID-offset
 r |                   |                              |   Sub-TLV
 e |                   | 5.S46-PORTPARAMS Sub-TLV ----+ 2.PSID-len
 - |                    \                             |   Sub-TLV
 C |                                                  | 3.PSID Sub-
 o |                                                   \  TLV
 n |
 f |                                             /1.Rule-IPv6-Prefix
 i |                    /                       |   Sub-TLV
 g |                   | 1.S46-Rule Sub-TLV ----+ 2.Rule-IPv4-Prefix
 u | S46-MAP-T TLV---------+ TLV ----+                        |   Sub-TLV
 r |                   | 3.S46-DMR Sub Sub-TLV      | 3.EA Length Sub-
 a |                   |                         \  TLV
 t |                   |                               /1.PSID-offset
 i |                   |                              |   Sub-TLV
 o |                   | 5.S46-PORTPARAMS Sub-TLV ----+ 2.PSID-len
 n |                    \                             |   Sub-TLV
   |                                                  | 3.PSID Sub-
 A |                                                   \  TLV
 t |
 S46-Lightweight
 t |                                                 /1.IPv4-address
 -4over6 TLV
 r |                    /                           |   Sub-TLV
 i |                   | 4.S46-v4v6Bind Sub TLV   --| Sub-TLV ----+ 2.Bind-IPv6-Prefix
 b | S46-Lightweight   |                             \  Sub-TLV
 u | -4over6 TLV ------+                               /1.PSID-offset
 t  \                  |                              |   Sub-TLV
 e                     | 5.S46-PORTPARAMS Sub TLV   --| Sub-TLV ----+ 2.PSID-len
                       |
                        \                             |   Sub-TLV
                        \                              \3.PSID
                                                      | 3.PSID Sub-
                                                       \  TLV

                    Figure 2: 1: Softwire46 TLVs TLV Hierarchy

3.1.1.1.  S46-MAP-E TLV Format

   The format of the S46-MAP-E TLV is shown as below:

      0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |   TLV-Type    |  TLV-Length   |     TLV-Value ...             .
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

     TLV-Type
       TBD2

     TLV-Length
     The TLV-Length field is one
       One octet and indicates long. Indicates the length of this TLV, including
       the TLV-Type, TLV-Length, and TLV-Value fields.

     TLV-Value
     This field contains
       Contains a set of TLVs as follows: Sub-TLVs, with the following requirements:

       It MUST contain the S46-Rule Sub TLV, Sub-TLV, defined in Section 4.4.1 3.1.3.1.

       It MUST contain the S46-BR Sub TLV, Sub-TLV, defined in Section 4.4.2 3.1.3.2.

       It MAY contain the S46-PORTPARAMS Sub TLV, Sub-TLV, defined in
       Section 4.4.5 3.1.3.5.

3.1.1.2.  S46-MAP-T TLV Format

   The format of the S46-MAP-T TLV is shown as below:

       0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   TLV-Type    |  TLV-Length   |     TLV-Value ...             .
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

     TLV-Type
        TBD3

     TLV-Length
     The TLV-Length field is one
        One octet and indicates long. Indicates the length of this TLV, including
        the TLV-Type, TLV-Length, and TLV-Value fields.
  TLV-Value
     This field contains

     TLV-Value
        Contains a set of TLVs as follows: Sub-TLVs, with the following requirements:

        It MUST contain the S46-Rule Sub TLV, Sub-TLV, defined in
        Section 4.4.1 3.1.3.1.

        It MUST contain the S46-DMR Sub TLV, Sub-TLV, defined in
        Section 4.4.3 3.1.3.3.

        It MAY contain the S46-PORTPARAMS Sub TLV, Sub-TLV, defined in
        Section 4.4.5 3.1.3.5.

3.1.1.3.  S46-Lightweight-4over6 TLV Format

   The format of S46-Lightweight 4over6 the S46-Lightweight-4over6 TLV is shown as below:

       0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   TLV-Type    |  TLV-Length   |     TLV-Value ...             .
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

     TLV-Type
        TBD4

     TLV-Length
     The TLV-Length field is one
        One octet and indicates long. Indicates the length of this TLV, including
        the TLV-Type, TLV-Length, and TLV-Value fields.

     TLV-Value
     This field contains
        Contains a set of TLVs Sub-TLVs as follows:

        It MUST contain the S46-BR Sub TLV, Sub-TLV, defined in
        Section 4.4.2 3.1.3.2.

        It MAY MUST contain the S46-V4V6Bind Sub TLV, Sub-TLV, defined in
        Section 4.4.4 3.1.3.4.

        It MAY contain the S46-PORTPARAMS Sub TLV, Sub-TLV, defined in
        Section 4.4.5

4.3. 3.1.3.5.

3.1.2.  Softwire46 Sub TLVs

   The table below Sub-TLVs

   Table 2 shows which encapsulated Sub TLVs Sub-TLVs are mandatory, optional, or
   not permitted for each defined Softwire46 TLV.

   +----------------+-------+-------+--------------------+
   | Sub TLV Sub-TLV        | MAP-E | MAP-T | Lightweight 4over6 |
   +----------------+-------+-------+--------------------+
   | S46-BR         |   M   |  N/P  |          M         |
   +----------------+-------+-------+--------------------+
   | S46-Rule       |   M   |   M   |         N/P        |
   +----------------+-------+-------+--------------------+
   | S46-DMR        |  N/P  |   M   |         N/P        |
   +----------------+-------+-------+--------------------+
   | S46-V4V6Bind   |  N/P  |  N/P  |          O          M         |
   +----------------+-------+-------+--------------------+
   | S46-PORTPARAMS |   O   |   O   |          O         |
   +----------------+-------+-------+--------------------+

   M - Mandatory, O - Optional, N/P - Not Permitted

   According to the table described above, the Fig.2 had beed structured
   into Figure 3, Figure 4 and Figure 5:

                         / (Mandatory)            /1.Rule-IPv6-Prefix
                        |                        |   sub-TLV
                        | 1.S46-Rule ------------+ 2.Rule-IPv4-Prefix
                        |    Sub TLV             |   sub-TLV
                        |                        | 3.EA-Length
   S46-MAP-E TLV--------+                         \  sub-TLV
                        | 2.S46-BR Sub TLV
                   - - - - - - - - - - - - - - - - - - - - - - - - -
                        | (Optional)               /1.PSID-offset
                        |                         |   sub-TLV
                        | 3.S46-PORTPARAMS -------+ 2.PSID-len
                        |     Sub TLV             |   sub-TLV
                        |                         | 3.PSID
                         \                         \  sub-TLV

                     Figure 3: S46-MAP-E TLV Hierarchy
                         / (Mandatory)            /1.Rule-IPv6-Prefix
                        |                        |   sub-TLV
                        | 1.S46-Rule ------------+ 2.Rule-IPv4-Prefix
                        |    Sub TLV             |   sub-TLV
                        |                        | 3.EA-Length
   S46-MAP-T TLV--------+                         \  sub-TLV
                        | 2.S46-DMR Sub TLV
                   - - - - - - - - - - - - - - - - - - - - - - - - -
                        | (Optional)               /1.PSID-offset
                        |                         |   sub-TLV
                        | 3.S46-PORTPARAMS -------+ 2.PSID-len
                        |     Sub TLV             |   sub-TLV
                        |                         | 3.PSID
                         \                         \  sub-TLV

                     Figure 4: S46-MAP-T TLV Hierarchy

                        / (Mandatory)
                       |
                       | 1.S46-BR Sub TLV
                  - - - - - - - - - - - - - - - - - - - - - - - - -
                       | (Optional)
  S46-Lightweight   ---+                             /1.IPv4-address
  --4over6 TLV         |                            |   sub-TLV
                       | 2.S46-v4v6Bind Sub TLV   --| 2.Bind-IPv6-Prefix
                       |                             \  sub-TLV
                       |                          /1.PSID-offset
                       |                         |   sub-TLV
                       | 3.S46-PORTPARAMS -------+ 2.PSID-len
                       |     Sub TLV             |   sub-TLV
                       |                         | 3.PSID-sub-TLV
                        \                         \

              Figure 5: S46-Lightweight 4over6 TLV Hierarchy

4.4.  The format

                       Table 2: Softwire46 Sub-TLVs

3.1.3.  Format of the Softwire46 Sub TLVs

4.4.1. Sub-TLVs

3.1.3.1.  S46-Rule Sub TLV Sub-TLV

   The S46-Rule Sub TLV Sub-TLV can only be encapsulated in the S46-MAP-E TLV
   (Section 3.1.1.1) or the S46-MAP-T TLV. TLV (Section 3.1.1.2).  Depending
   on the deployment scenario, one Basic Mapping Rule (BMR) and zero or
   more Forwarding Mapping Rules (RMRs) MUST be included in one
   S46-MAP-E TLV or S46-MAP-T TLV.

   Each type of S46-Rule Sub TLV Sub-TLV also contains a number of sub-TLVs, Sub-TLVs,
   including Rule-IPv6-Prefix sub-TLV, Sub-TLV, Rule-IPv4-Prefix sub-TLV, Sub-TLV, and EA-
   Length sub-TLV. Sub-TLV.  The structure of the sub-TLVs Sub-TLVs for the S46-Rule Sub Sub-
   TLV is defined in section 4.5. Section 3.1.4.

   Defining multiple TLV-types achieves the same design goals as the
   "S46 Rule Flags" defined in Section 4.1 of [RFC7598].  Using TLV-type
   set to 2 is equivalent to setting the F-flag in the OPTION_S46_RULE
   S46 Rule Flags field.

       0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   TLV-Type    |  TLV-Length   |     TLV-Value ...             .
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

     TLV-Type
       1
        TBD7 Basic Mapping Rule (Not Forwarding Mapping Rule)
       2 only (not to be used for forwarding)
        TBD8 Forwarding Premitted Mapping Rule (Not (may be used for
           forwarding. Can also be a Basic Mapping Rule)
       3 Basic & Forwarding Mapping Rule
    TLV-Length
      The

     TLV-Length field is one
        One octet and indicates long. Indicates the length of this TLV, including
        the TLV-Type, TLV-Length, and TLV-Value fields.

     TLV-Value
        This field contains a set of TLVs as follows:

        Rule-IPv6-Prefix sub-TLV Sub-TLV
           This TLV contains an the IPv6 prefix that appears for use in a the MAP rule.
           Refer to Section 4.5.1. 3.1.4.1.

        Rule-IPv4-Prefix sub-TLV Sub-TLV
           This TLV contains an the IPv4 prefix that appears for use in a the MAP rule.
           Refer to Section 4.5.2. 3.1.4.2.

        EA-Length sub-TLV Sub-TLV
           This TLV contains the information of  Embedded-Address(EA) Embedded-Address (EA) bit length.
           Refer to Section 4.5.3.

4.4.2. 3.1.4.1.

3.1.3.2.  S46-BR Sub TLV Sub-TLV

   The S46-BR Sub TLV Sub-TLV can only be encapsulated in the S46-MAP-E TLV
   (Section 3.1.1.1) or
   S46-Lightweight 4over6 TLV. S46-Lightweight-4over6 TLV (Section 3.1.1.3).

   There MUST be at least one S46-BR Sub
   TLV Sub-TLV included in each S46-MAP-E
   TLV or S46-Lightweight--4over6 S46-Lightweight-4over6 TLV.

   The format of the S46-BR Sub-TLV is shown below:

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    TLV-Type   |   TLV-Length  |                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +                               |
   |                                                               |                        BR-ipv6-address
   |                        br-ipv6-address                        |
   |                                                               |
   |
   +                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      TLV-Type
         4
         TBD9

      TLV-Length
         18 octets
      BR-ipv6-address

      br-ipv6-address
         IPv6 address. A fixed-length field of 16 octets that
         specifies the IPv6 address for the S46 BR.

4.4.3. Border Relay (BR).

3.1.3.3.  S46-DMR Sub TLV Sub-TLV

   The S46-DMR Sub TLV can Sub-TLV may only appear in the S46-MAP-T TLV. TLV
   (Section 3.1.1.2).  There MUST be exactly one S46-DMR Sub TLV Sub-TLV
   included in one S46-MAP-T TLV.

   The format of the S46-DMR Sub-TLV is shown below:

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    TLV-Type   |   TLV-Length  |    Reserved   |dmr-prefix6-len|
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                        dmr-ipv6-prefix                        |
   |
   .                       (variable length)                       |                       .
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      TLV-Type
         5
      TLV-Type
         TBD10

      TLV-Length
         4 + length of dmr-ipv6-prefix specified in octets

      Reserved
         This field is reserved. It should be set to all zeros.

      dmr-prefix6-len
         An 8 bits long field that expresses
         8-bits long. Expresses the bitmask length of the IPv6 prefix
         specified in the dmr-ipv6-prefix field. Allowed values range
         from 0 to 96.

      dmr-ipv6-prefix
         IPv6 Prefix. A variable-length field specifying the IPv6
         prefix or address for the BR. This field is right-padded  with zeros to
         the nearest octet boundary when dmr-prefix6-len is not
         divisible by 8.

4.4.4.

3.1.3.4.  S46-V4V6Bind Sub TLV Sub-TLV

   The S46-V4V6Bind Sub TLV can Sub-TLV may only be encapsulated in the S46-
   Lightweight-4over6 TLV. TLV (Section 3.1.1.3).  There MUST be exactly one
   S46-V4V6Bind Sub
   TLV Sub-TLV included in each S46-Lightweight-4over6 TLV.

   The format of the S46-V4V6Bind Sub-TLV is shown below:

       0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   TLV-Type    |  TLV-Length   |     TLV-Value ...             .
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      TLV-Type
       6
    TLV-Length
      The
         TBD11

      TLV-Length field is one octet and indicates
         8-bits long. Indicates the length of this TLV, including
         the TLV-Type, TLV-Length, and TLV-Value fields.

      TLV-Value
         This field contains a set of TLVs Sub-TLVs as follows:

         IPv4-address sub-TLV Sub-TLV
            This TLV contains an IPv4 address that MAY be address, used to specify the full
            or shared IPv4 address of the CE. Refer to Section 4.6.1. 3.1.5.1.

         Bind-IPv6-Prefix sub-TLV Sub-TLV
            This TLV contains the an IPv6 prefix or address for used to indicate which
            configured prefix the S46 CE. CE should use for constructing
            the softwire. Refer to Section 4.6.2.

4.4.5. 3.1.5.2.

3.1.3.5.  S46-PORTPARAMS Sub TLV Sub-TLV

   The S46-PORTPARAMS Sub TLV specifies optional Sub-TLV is optional.  It is used to specify port
   set information
   that MAY be provided to CEs. for IPv4 address sharing between clients.  The
   S46-PORTPARAMS Sub TLV can Sub-TLV MAY be included optionally by each type in any of the Softwire46 TLVs . TLVs.

   The format of the S46-PORTPARAMS Sub-TLV is shown below:

       0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   TLV-Type    |  TLV-Length   |     TLV-Value ...             .
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      TLV-Type
       7
         TBD12

      TLV-Length
      The TLV-Length field is one octet and indicates
         8-bits long. Indicates the length of this TLV, including
         the TLV-Type, TLV-Length, and TLV-Value fields.

      TLV-Value
         This field contains a set of TLVs as follows:

         PSID-offset sub-TLV Sub-TLV
            This TLV pecifies specifies the numeric value for the S46 algorithm's
            excluded port range/offset bits (a bits). Refer to
            Section 4.7.1. 3.1.6.1.

         PSID-len sub-TLV Sub-TLV
            This TLV specifies the number of significant bits in the
            PSID field (also known as 'k'). Refer to Section 4.7.2. 3.1.6.2.

         PSID sub-TLV Sub-TLV
            This TLV specifies PSID value. Refer to Section 4.7.3.

4.5. 3.1.6.3.

3.1.4.  Sub-TLVs for S46-Rule Sub TLV Sub-TLV

   There are three two types of S46-Rule sub-TLVs, namely S46-Rule: the Basic Mapping
   Rule, Forwarding Mapping Rule, Basic Rule and the
   Forwarding Mapping Rule. Rule, indicated by the value in the TLV-Type field
   of the S46-Rule Sub-TLV (see Section 3.1.3.1).

   Each type of S46-Rule Sub TLV Sub-TLV also contains a number of sub-TLVs.
   The Rule-IPv6-Prefix sub-TLV is necessary for every type of S46-Rule
   Sub TLV.  It should appear for once and only once.

4.5.1. Sub-TLVs as
   detailed in the following sub-sections.

3.1.4.1.  Rule-IPv6-Prefix sub-TLV Sub-TLV

   The Rule-IPv6-Prefix sub-TLV Sub-TLV is necessary REQUIRED for every S46-Rule Sub TLV. Sub-TLV.
   There MUST be exactly one Rule-IPv6-Prefix sub-TLV Sub-TLV encapsulated in
   each type of S46-Rule Sub TLV. Sub-TLV.

   The Rule-IPv6-Prefix sub-TLV Sub-TLV follows the framed IPv6 prefix designed
   in [RFC3162] and [RFC8044].

   The format of the Rule-IPv6-Prefix Sub-TLV is shown below:

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    TLV-Type   |   TLV-Length  |   Reserved    |ruleprefix6-len|
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   |                        rule-ipv6-prefix                       |
   |                                                               |
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      TLV-Type
         8
         TBD13

      TLV-Length
         20

      Reserved
         This field is reserved. It is always set to zero. This field
         is one octet in length.

      Ruleprefix6-len
         The length of IPv6 prefix, specified in the rule-ipv6-prefix
         field, expressed in bits.

      rule-ipv6-prefix
         IPv6 Prefix. A 128 bits 128-bits long field that specifies specifying an IPv6
         prefix that appears appearing in a the MAP rule.

4.5.2.

3.1.4.2.  Rule-IPv4-Prefix Sub-TLV

   This Sub-TLV is used to convey the MAP Rule IPv4 prefix.  The format
   of the Rule-IPv4-Prefix Sub-TLV is shown below:

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    TLV-Type   |   TLV-Length  |   Reserved    |ruleprefix4-len|
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                       rule-ipv4-prefix                        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      TLV-Type
         9
         TBD14

      TLV-Length
         8

      Reserved
         8-bits long. This field is reserved. It reserved and is always set to
         zero. This field
         is one octet in length.
      Ruleprefix4-len

      ruleprefix4-len
         8-bits long. The length of IPv4 prefix, prefix specified in the
         rule-ipv4-prefix field, expressed in bits.

      rule-ipv4-prefix
         IPv4 Prefix. A 32 bits long field that specifies an
         32-bits long. Specifies the IPv4 prefix that appears appearing in a the MAP
         rule.

4.5.3.

3.1.4.3.  EA-Length Sub-TLV

   This Sub-TLV is used to convey the Embedded-Address(EA) bit length.
   The format of the EA-Length Sub-TLV is shown below:

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    TLV-Type   |  TLV-Length   |             EA-len            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      TLV-Type
         10
         TBD15

      TLV-Length
         4

      EA-len
         Integer. A 16 bits long field that specifies
         16-bits long. Specifies the Embedded-Address(EA) bit length.
         Allowed values range from 0 to 48.

4.6.

3.1.5.  Sub-TLVs for S46-v4v6Bind Sub TLV

4.6.1. Sub-TLV

3.1.5.1.  The IPv4-address sub-TLV Sub-TLV

   The IPv4-address sub-TLV Sub-TLV MAY be used to specify the full or shared
   IPv4 address of the CE.

   The format of the IPv4-address Sub-TLV is shown below:

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   TLV-Type    |  TLV-Length   |            ipv4-address       |       .
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |
   .           ipv4-address        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      TLV-Type
         11
         TBD16

      TLV-Length
         6

      ipv4-address
         IPv4 address. A 32 bits long field that specifies an
         32-bits long. Specifies the IPv4 address that appears to appear in the V4V6Bind Option.

4.6.2.
         S46-V4V6Bind Sub-TLV (Section 3.1.3.4).

3.1.5.2.  The Bind-IPv6-Prefix Sub-TLV

   The bind-ipv6-prefix field specified in this field Bind-IPv6-Prefix Sub-TLV is used by the CE to identify the
   correct IPv6 prefix to be used for as the tunnel source.

   The format of the Bind-IPv6-Prefix Sub-TLV is shown below:

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    TLV-Type   |   TLV-Length  |   Reserved    |bindprefix6-len|
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   |                        bind-ipv6-prefix                       |
   |                        (variable length)                      |
   |                                                               |
   .                                                               .
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      TLV-Type
         12
         TBD17

      TLV-Length
         20
         4 + length of bind-ipv6-prefix specified in octets

      Reserved
         8-bits long. This field is reserved. It reserved and is always set
         to zero. This field
         is one octet in length.

      bindprefix6-len
         Integer. An 8 bits long field that expresses
         8-bits long. Expresses the bitmask length of the IPv6
         prefix specified in the bind-ipv6-prefix field. Allowed
         values range from 0 to 96. 128.

      bind-ipv6-prefix
         IPv6 prefix. A variable-length field specifying the IPv6
         prefix or address for the S46 CE. This field is
         right-padded with zeros to the nearest octet boundary
         when bindprefix6-len is not divisible by 8.

4.7.

3.1.6.  Sub-TLVs for S46-PORTPARAMS Sub TLV

4.7.1. Sub-TLV

3.1.6.1.  The PSID-offset Sub-TLV

   This Sub-TLV is used to convey the Port Set Identifier offset as
   defined in [RFC7597].

   The format of the PSID-offset sub-TLV Sub-TLV is shown below:

    0                   1                   2
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    TLV-Type   |   TLV-Length  |  PSID-Offset  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      TLV-Type
         13
         TBD18

      TLV-Length
         3

      PSID-Offset
         Integer. An 8 bits 8-bits long field that specifies the
         numeric value for the S46 algorithm's excluded
         port range/offset bits (a bits), as per Section 5.1
         of RFC7597. Allowed values are between 0 and 15.
         Default values for this field are specific to the
         Softwire mechanism being implemented and are defined
         in the relevant specification document.

4.7.2.

3.1.6.2.  The PSID-len Sub-TLV

   This Sub-TLV is used to convey the PSID length as defined in
   [RFC7597].

   The format of the PSID-len sub-TLV Sub-TLV is shown below:

    0                   1                   2
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    TLV-Type   |   TLV-Length  |    PSID-len   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      TLV-Type
         14
         TBD19

      TLV-Length
         3

      PSID-len
         Integer. An 8 bits
         8-bits long field that specifies specifying 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 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.

3.1.6.3.  The PSID Sub-TLV

   This Sub-TLV is used to convey the PSID as defined in [RFC7597].

   The format of the PSID Sub-TLV is shown below:

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   TLV-Type    |   TLV-Length  |             PSID              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      TLV-Type
         TBD20

      TLV-Length
         4

      PSID (Port-set ID)
         Integer. An explicit 16-bit (unsigned word) PSID value.
         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 is the PSID value. The remaining (16-k) bits
         on the right are padding zeros.

3.2.  Softwire46-Priority Attribute

   The Softwire46-Priority Attribute defines a 16-bit S46-option-code
   field to contain the information allowing the client to prioritize
   which mechanism to use, corresponding to OPTION_S46_PRIORITY defined
   in [RFC8026].  The following requirements apply:

      The Softwire46-Priority Attribute MAY appear in an Access-Accept
      packet.  It MAY also appear in an Access-Request packet.

      The Softwire46-Priority Attribute MAY appear in a CoA-Request
      packet.

      The Softwire46-Priority Attribute MAY appear in the port number representing the value of
         the PSID. Subsequently, the address sharing ratio
         would be 2 ^k.

4.7.3. an Accounting-
      Request packet.

      The PSID sub-TLV Softwire46-Priority Attribute MUST NOT appear in any other
      RADIUS packet.

   The S46-Priority Attribute is structured as follows:

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   TLV-Type      Type     |   TLV-Length    Length     |             PSID Extended-Type |      ...      .
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      TLV-Type
         15
      TLV-Length
         4 (the
   .          S46-option-code      |       S46-option-code         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      Type
        241 (To be confirmed by IANA)

      Length
        One octet long. Indicates the length of this TLV, including
        the PSID Sub Option)
      PSID (Port-set ID) TLV-Type, TLV-Length, and TLV-Value fields.

      Extended-Type
        TBD5

      S46-option-code
        Integer. An explicit A 16-bit (unsigned word) PSID value.
         The PSID value algorithmically identifies a set of ports
         assigned to a CE. IANA-registered option code representing
        an S46 mechanism. The first k bits on option codes and their corresponding
        S46 mechanisms are listed in Section 7.3.

        S46 mechanisms are prioritized in the left appearance order of this
         2-octet field is the PSID value. The remaining (16-k) bits
         on
        S46-option-code(s) in the right are padding zeros.

4.8. Softwire46-Priority Attribute.

        A Softwire46-Priority Attribute MUST contain at least one
        S46-option-code.

   The Softwire46-Priority Attribute defines is associated with the following
   identifier: 241.Extended-Type (TBD5).

3.3.  Softwire46-Multicast Attribute

   The Softwire46-Multicast Attribute conveys the IPv6 prefixes to be
   used to synthesize multicast and unicast IPv4-embedded IPv6 addresses
   as per [RFC8114].  This attribute is of type "TLV" and contains
   additional TLVs.  The following requirements apply:

      The BNG SHALL use the IPv6 prefixes returned in the RADIUS
      Softwire46-Multicast Attribute to populate the DHCPv6 PREFIX64
      Option [RFC8115].

      This attribute MAY be used in Access-Request packets as a 16-bit S46-option-code
   field hint to contain
      the information allowing RADIUS server.  For example, if the client to prioritize
   which mechanism to use, corresponding to OPTION_S46_PRIORITY defined BNG is pre-configured for
      Softwire46-Multicast, these prefixes MAY be inserted in [RFC8026]. the
      attribute.  The Softwire46-Priority RADIUS server MAY ignore the hint sent by the BNG,
      and it MAY assign a different Softwire46-Multicast Attribute.

      The Softwire46-Multicast Attribute MAY appear in an Access-Accept Access-Request
      packet.  It

      The Softwire46-Multicast Attribute MAY also appear in an Access-Request Access-Accept
      packet.

      The Softwire46-Priority Softwire46-Multicast Attribute MAY appear in a CoA-Request
      packet.

      The Softwire46-Priority Softwire46-Multicast Attribute MAY appear in an Accounting-Request Accounting-
      Request packet.

      The Softwire46-Priority Softwire46-Multicast Attribute MUST NOT appear in any other
      RADIUS packet.

      The S46-Priority Softwire46-Multicast Attribute MAY contain the ASM-Prefix64
      TLV (see Section 3.3.1).

      The Softwire46-Multicast Attribute MAY contain the SSM-Prefix64
      TLV (see Section 3.3.2).

      The Softwire46-Multicast Attribute MAY contain the U-Prefix64 TLV
      (see Section 3.3.3).

      The Softwire46-Multicast Attribute MUST include the ASM-Prefix64
      TLV or the SSM-Prefix64 TLV, and it MAY include both.

      The U-Prefix64 TLV MUST be present when the SSM-Prefix64 TLV is
      present.  The U-Prefix64 TLV MAY be present when the ASM-Prefix64
      TLV is present.

   The the Softwire46-Multicast Attribute is structured as follows:

  0                   1                   2                   3
  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |      Type     |     Length    | Extended-Type |    Value ...
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   ...        S46-option-code      |       S46-option-code         |  .
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

    Type
      241 (To be confirmed by IANA)

    Length
      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 S46-option-code. embedded TLVs.

    Extended-Type
         TBD5
      S46-option-code
         Integer. A 16-bit IANA-registered option code
      TBD6

    Value
      This field contains a set of TLVs as follows:

      ASM-Prefix64 TLV
        This TLV contains the
         DHCPv6 option that is used ASM IPv6 prefix. Refer to identify Section 3.3.1.

        SSM-Prefix64 TLV
          This TLV contains the softwire
         mechanisms. SSM IPv6 prefix. Refer to section 5 of RFC7598. S46 mechanisms are
         prioritized in the appearance order of the
         S46-option-code(s) in the Softwire46-Priority Attribute.
         A Softwire46-Priority Attribute MUST contain at least one
         S46-option-code. The option codes of Section 3.3.2.

        U-Prefix64 TLV
          This TLV contains the corresponding
         S46 mechanisms are listed in IPv4 prefix used for address
          translation. Refer to Section 6.3.

   Softwire46-Priority 3.3.3.

   The Softwire46-Multicast Attribute is associated with the following
   identifier: 241.Extended-Type(TBD5).

4.9.  Softwire46-Multicast Attribute 241.Extended-Type(TBD6).

3.3.1.  ASM-Prefix64 TLV

   The Softwire46-Multicast attribute conveys the IPv6 prefixes to be
   used to synthesize IPv4-embedded IPv6 addresses ASM-Prefix64 TLV is structured as per [RFC8114].
   The BNG SHALL use the IPv6 prefixes returned in the RADIUS
   Softwire46-Multicast attribute to populate the DHCPv6 PREFIX64 Option
   [RFC8115]. follows:

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   TLV-Type    |   Reserved    | Prefix-Length |               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+               |
|                                                               |
|                                                               |
|                           ASM Prefix64                        |
|                                                               |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   TLV-Type
      TBD21

   Reserved
     This attribute MAY be used in Access-Request packets as a hint field is reserved. It is always set to the
   RADIUS server.  For example, if the BNG zero. This field
     is pre-configured with
   Softwire46-Multicast, these prefixes MAY be inserted one octet in the
   attribute. length.

   Prefix-Length
      The RADIUS server MAY ignore the hint sent by length of the BNG,
   and it MAY assign a different Softwire46-Multicast attribute.

   The Softwire46-Multicast Attribute MAY appear prefix, in an Access-Accept
   packet. bits. It MAY also appear in an Access-Request packet.

   The Softwire46-Multicast Attribute MAY appear in a CoA-Request
   packet.

   The Softwire46-Multicast Attribute MAY appear in an Accounting-
   Request packet.

   The Softwire46-Multicast Attribute MUST NOT appear in any other
   RADIUS packet. be set to 96 [RFC8115].

   ASM Prefix64
      IPv6 prefix. This attribute is field specifies the IPv6 multicast prefix
      to be used to synthesize the IPv4-embedded IPv6 addresses of type "TLV" as defined the
      multicast groups in the RADIUS Protocol
   Extensions [RFC6929].  It contains some sub-attributes:

   o ASM mode. The Softwire46-Multicast Attribute MAY contain conveyed multicast IPv6
      prefix MUST belong to the ASM-Prefix64 ASM range.

3.3.2.  SSM-Prefix64 TLV (see Section 4.9.1).

   o

   The Softwire46-Multicast Attribute MAY contain the format of SSM-Prefix64 TLV (see Section 4.9.2).

   o is shown below:

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   TLV-Type    |    Reserved   |Prefix-Length  |               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+               |
|                                                               |
|                                                               |
|                          SSM Prefix64                         |
|                                                               |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   TLV-Type
      TBD22

   Reserved
      This field is reserved. It is always set to zero. This field
      is one octet in length.

   Prefix-Length
      The Softwire46-Multicast Attribute MAY contain length of the U-Prefix64 TLV
      (see Section 4.9.3).

   The Softwire46-Multicast Attribute prefix, in bits. It MUST include be set to 96 [RFC8115].

   SSM Prefix64
      IPv6 prefix. This field specifies the ASM-Prefix64 TLV
   or IPv6 multicast prefix
      to be used to synthesize the SSM-Prefix64 TLV, and it MAY include both. IPv4-embedded IPv6 addresses of the
      multicast groups in the SSM mode. The U-Prefix64 TLV conveyed multicast IPv6
      prefix MUST be present when belong to the SSM-Prefix64 TLV is
   present.  The SSM range.

3.3.3.  U-Prefix64 TLV MAY be present when the ASM-Prefix64 TLV
   is present.

   The format of the Softwire46-Multicast Attribute U-Prefix64 TLV is shown in
   Figure 6. below:

   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |      Type   TLV-Type    |  Reserved     | Prefix-Length |               |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+               |
  |                                                               |
  |                                                               |
  |                       Unicast Prefix64                        |
  |                                                               |     Length
  | Extended-Type                                                               |    Value ...
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                                 Figure 6

   Type

      241 (To be confirmed by IANA).

   Length

     TLV-Type
        TBD23

     Reserved
        This field is reserved. It is always set to zero. This field indicates the total length
        is one octet in bytes of all fields of
      this attribute, including the Type, Length, Extended-Type, and the
      entire length.

     Prefix-Length
        The length of the embedded TLVs.

   Extended-Type

      TBD6.

   Value

      This field contains a set of TLVs as follows:

      ASM-Prefix64 TLV

         This TLV contains prefix, in bits. As specified in [RFC6052],
        the ASM Unicast-prefix prefix-length MUST be set to 32, 40, 48,
        56, 64, or 96.

     Unicast Prefix64
        IPv6 prefix.  Refer to Section 4.9.1.

      SSM-Prefix64 TLV This TLV contains field identifies the IPv6 unicast prefix to
        be used in SSM mode for constructing the IPv4-embedded IPv6 prefix.  Refer
        addresses representing the IPv4 multicast sources in the IPv6
        domain. It may also be used to Section 4.9.2.

      U-Prefix64 TLV

         This TLV contains extract the IPv4 address from the
        received multicast data flows.

4.  A Sample Configuration Process with RADIUS

   Figure 2 illustrates how the RADIUS and DHCPv6 protocols interwork to
   provide CE with softwire configuration information.

   CE                             BNG                         AAA Server
   |                               |                               |
   |-------1.DHCPv6 Solicit------->|                               |
   |(ORO with unicast and/or m'cast|                               |
   |    container option code(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

      Figure 2: Interaction between DHCPv6 and AAA Server with RADIUS
                              authentication

   1.  The CE creates a DHCPv6 Solicit message.  For unicast softwire
       configuration, the message includes an OPTION_REQUEST_OPTION (6)
       with the S46 Container option codes as defined in [RFC7598].
       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 IPv4 prefix used option
       number for address translation
         [RFC6052].  Refer OPTION_V6_PREFIX64 (113) is included in the client's
       ORO.  The message is sent to Section 4.9.3. the BNG.

   2.  On receipt of the Solicit message, the BNG constructs a RADIUS
       Access-Request message containing a User-Name Attribute (1)
       (containing either a CE MAC address, interface-id or both), a
       User-Password Attribute (2) (with a pre-configured shared
       password as defined in [RFC2865].  The Softwire46-Configuration
       Attribute and/or Softwire46-Multicast Attribute are also included
       (as requested by the client).  The resulting message is associated with sent to
       the following
   identifier: 241.Extended-Type(TBD6).

4.9.1.  ASM-Prefix64 TLV AAA server.

   3.  The format of ASM-Prefix64 TLV AAA server authenticates the request.  If this is shown in Figure 7.

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   TLV-Type    |   Reserved    | Prefix-Length |ASM Prefix64 ...
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        ... ASM Prefix64 ...
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        ... ASM Prefix64 ...
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        ... ASM Prefix64                                           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                                 Figure 7

   TLV-Type

      16

   Reserved

      This field successful,
       and suitable configuration is reserved.  It available, an Access-Accept message
       is always set sent to zero.  This field the BNG containing the requested
       Softwire46-Configuration Attribute or Softwire46-Multicast
       Attribute.

   4.  The BNG maps the received softwire configuration into the
       corresponding fields in the DHCPv6 softwire configuration
       option(s).  Theses are included in the DHCPv6 Advertise message
       which is
      one octet sent to the CE.

   5.  The CE send a DHCPv6 Request message.  In the ORO, the option
       code(s) of any of the required softwire options that were
       received in length.

   Prefix-Length the Advertise message are included.

   6.  The length of BNG sends a Reply message to the prefix, client containing the
       softwire container options enumerated in bits.

   ASM Prefix64

      IPv6 prefix.  This field specifies the IPv6 multicast prefix to ORO.

   The authorization operation could also be
      used to synthesize done independently, after
   the IPv4-embedded IPv6 addresses of authentication process.  In this case, steps 1-5 are completed as
   above, then the
      multicast groups in following steps are performed:

   6a. When the ASM mode. 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
       [RFC5080].  The conveyed multicast IPv6
      prefix MUST belong resulting message is sent to the ASM range.

4.9.2.  SSM-Prefix64 TLV AAA server.

   7a. The format of SSM-Prefix64 TLV is shown in Figure 8.

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   TLV-Type    |    Reserved   |Prefix-Length | SSM Prefix64 ...
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        ... SSM Prefix64 ...
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        ... SSM Prefix64 ...
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        ... SSM Prefix64                                           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                                 Figure 8

   TLV-Type

      17

   Reserved

      This field AAA checks the authorization request.  If it is reserved.  It approved, an
       Access-Accept message is always set returned to zero.  This field is
      one octet in length.

   Prefix-Length the BNG with the
       corresponding Softwire46-Configuration Attribute.

   8a. The length of BNG sends a Reply message to the prefix, client containing the
       softwire container options enumerated in bits.

   SSM Prefix64

      IPv6 prefix.  This field specifies the IPv6 multicast prefix ORO.

   In addition to the above, the following points need to be considered:

   o  In both the configuration message flows described above the
      Message-authenticator (type 80) [RFC2869] SHOULD be used to synthesize
      protect both Access-Request and Access-Accept messages.

   o  If the IPv4-embedded IPv6 addresses of BNG does not receive the
      multicast groups corresponding
      Softwire46-Configuration Attribute in the SSM mode.  The conveyed multicast IPv6
      prefix MUST belong Access-Accept message it
      MAY fallback to creating the SSM range.

4.9.3.  U-Prefix64 TLV

   The format of U-Prefix64 TLV is shown in Figure 9.

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   TLV-Type    |  Reserved     | Prefix-Length |Unicast Prefix64
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        ... Unicast Prefix64 ...
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        ... Unicast Prefix64 ...
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        ... Unicast Prefix64                                       |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                                 Figure 9

   TLV-Type

      18

   Reserved

      This field is reserved.  It DHCPv6 softwire configuration options
      using pre-configured S46 configuration, if this is always set present.

   o  If the BNG receives an Access-Reject from the AAA server, then S46
      configuration MUST NOT be supplied to zero.  This field is
      one octet the client.

   o  As specified in length.

   Prefix-Length

      The length [RFC3315], Section 18.1.4, "Creation and
      Transmission of Rebind Messages", if the prefix, in bits.

   Unicast Prefix64

      IPv6 prefix.  This field identifies 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 IPv6 unicast prefix Softwire46-Configuration Attribute in this Access-
      Request message.

   o  For Lightweight 4over6, the subscriber's binding state needs to be
      used in SSM mode for constructing
      synchronized between the IPv4-embedded IPv6 addresses
      representing clients and the IPv4 multicast sources lwAFTR/BR.  This can be
      achieved in two ways: static pre-configuring of the IPv6 domain.  It
      may also be used to extract bindings on
      both the IPv4 address from AAA server and lwAFTR, or on-demand whereby the received
      multicast data flows.

4.10. AAA
      server updates the lwAFTR with the subscriber's binding state as
      it is created or deleted.

5.  Table of attributes Attributes

   This document proposes specifies three new RADIUS attributes, and their
   formats are as follows:

   o  Softwire46-Configuration Attribute: 241.TB1 241.TBD1

   o  Softwire46-Priority Attribute: 241.TB5 241.TBD5

   o  Softwire46-Multicast Attribute: 241.TB6 241.TBD6

   The following table describes which attributes may be found, in which
   kinds of packets and in what quantity.

   Request Accept Reject Challenge Accounting  #       Attribute
                                    Request
    0-1     0-1     0      0         0-1      241.TBD1 Softwire46-
                                                       Configuration
    0-1     0-1     0      0         0-1      241.TBD5 Softwire46-
                                                       Priority
    0-1     0-1     0      0         0-1      241.TBD6 Softwire46-
                                                       Multicast

   The following table defines the meaning of the above table entries.

   0     This attribute MUST NOT be present in packet.
   0+    Zero or more instances of this attribute MAY be present in
         packet.
   0-1   Zero or one instance of this attribute MAY be present in
         packet.
   1     Exactly one instance of this attribute MUST be present in
         packet.

5.  Diameter

6.  Security Considerations

   S46 Configuration using Diameter [RFC6733]

   Known security vulnerabilities of the RADIUS protocol are discussed
   in [RFC2607], [RFC2865], and[RFC2869].  Use of IPsec [RFC4301] for
   providing security when RADIUS is specified carried in [RFC7678].

6. IPv6 is discussed in
   [RFC3162].

   Specific security considerations for interactions between the MAP CE
   and the BNG are discussed in [RFC7597] and [RFC7599].  Security
   considerations for Lightweight 4over6 are discussed in [RFC7596].
   Security considerations for DHCPv6-Based S46 Prioritization Mechanism
   are discussed in [RFC8026].  Security considerations for multicast
   scenarios are discussed in [RFC 8114].  Furthermore, generic DHCPv6
   security mechanisms can be applied to DHCPv6 intercommunication
   between the CE and the BNG.

7.  IANA Considerations

   For this document,

   IANA has made is requested to make new code point assignments for RADIUS
   attributes as described in the following subsections.

6.1.

7.1.  New RADIUS Attributes

   The

   This document requests IANA to assign the Attribute Types defined in
   this document have been registered by
   IANA from the RADIUS namespace as described in the "IANA
   Considerations" section of [RFC3575], in accordance with BCP 26
   [RFC5226].  For RADIUS packets, attributes, and registries created by
   this document, IANA has placed them at
   <http://www.iana.org/assignments/radius-types>.

   In particular, this

   This document defines requests that IANA register three new RADIUS
   attributes, as
   follows, from the Short "Short Extended Space Space" of
   [RFC6929].Softwire46-Configuration [RFC6929].  The
   attributes are: Softwire46-Configuration Attribute,
   Softwire46-Priority Attribute, and Softwire46-Multicast Attribute Attribute:

      Type        Description                Data Type   Reference
      ----        -----------                ---------   ---------
      241.TB1
      241.TBD1     Softwire46-Configuration   tlv   TLV         Section 4.1
      241.TB5
      241.TBD5     Softwire46-Priority        integer     Section 4.8
      241.TB6 4.2
      241.TBD6     Softwire46-Multicast       tlv       TLV         Section 4.9

6.2. 4.3

7.2.  New RADIUS TLVs

   IANA has created is requested to create a new registry called "RADIUS Softwire46
   Configuration and Multicast TLVs".

   All TLVs in this registry have one or more parent RADIUS attributes
   in nesting (refer to
   [RFC6929]]). [RFC6929]).

   This registry contains must be initially populated with the following TLVs: values:

         Value  Description              Data Type    Reference
         -----  -----------              ---------    ---------
         0      Reserved
         TB2
         TBD2   S46-MAP-E                tlv                TLV          Section 4.2
         TB3 3.1.1.1
         TBD3   S46-MAP-T                tlv          Section 4.2
         TB4    S46-Lightweight 4over6   tlv                TLV          Section 4.2
         1      S46-Rule                 tlv 3.1.1.2
         TBD4   S46-Lightweight-4over6   TLV          Section 4.4.1
         2 3.1.1.3
         TBD7   S46-Rule                 tlv                 TLV          Section 4.4.1
         3 3.1.3.1
         TBD8   S46-Rule                 tlv                 TLV          Section 4.4.1
         4 3.1.3.1
         TBD9   S46-BR                   ipv6addr     Section 4.4.2
         5 3.1.3.2
         TBD10  S46-DMR                  ipv6prefix   Section 4.4.3
         6 3.1.3.3
         TBD11  S46-V4V6Bind             tlv             TLV          Section 4.4.4
         7 3.1.3.4
         TBD12  S46-PORTPARAMS           tlv           TLV          Section 4.4.5
         8 3.1.3.5
         TBD13  Rule-IPv6-Prefix         ipv6prefix   Section 4.5.1
         9 3.1.4.1
         TBD14  Rule-IPv4-Prefix         ipv4prefix   Section 4.5.2
         10 3.1.4.2
         TBD15  EA-Length                integer      Section 4.5.3
         11 3.1.4.3
         TBD16  IPv4-address             ipv4addr     Section 4.6.1
         12 3.1.5.1
         TBD17  Bind-IPv6-Prefix         ipv6prefix   Section 4.6.2
         13 3.1.5.2
         TBD18  PSID-offset              integer      Section 4.7.1
         14 3.1.6.1
         TBD19  PSID-len                 integer      Section 4.7.2
         15 3.1.6.2
         TBD20  PSID                     integer      Section 4.7.3
         16 3.1.6.3
         TBD21  ASM-Prefix64             ipv6prefix   Section 4.9.1
         17 3.3.1
         TBD22  SSM-Prefix64             ipv6prefix   Section 4.9.2
         18 3.3.2
         TBD23  U-Prefix64               ipv6prefix   Section 4.9.3
         19-255 3.3.3
         21-255 Unassigned, TB2,TB3,TB4 TBD2,TBD3,TBD4 will be assigned by IANA

   The registration procedure for this registry is Standards Action as
   defined in [RFC5226].

6.3.  The registry may be added to using the IETF
   Review process described in Section 4.1 of [RFC5226].

7.3.  S46 Mechanisms and Their Identifying Option Codes

   The Softwire46-Priority Attribute defines a 16-bit S46-option-code
   field, for which IANA is requested to create and maintain a new
   registry entitled "Option Codes Permitted in the Softwire46-Priority
   Attribute".  The registration procedure for this registry is
   Standards Action as defined in [RFC5226].

   This document requires IANA to register the three option codes of the
   Softwire46 mechanisms permitted to be included in the
   Softwire46-Priority Attribute.  The value of option code is
   corresponding corresponds
   to the TLV-Type defined in the Section 4.2. 3.1.1.  Additional options may
   be added to this list in the future using the IETF Review process
   described in Section 4.1 of [RFC5226].

   The following table

   Table 3. shows the option codes that are required required, and the S46 mechanisms that
   they represent.  The option code for DS-Lite is derived from the IANA
   allocated RADIUS Attribute Type value for DS-
   Lite DS-Lite [RFC6519].  The
   option codes for MAP-E, MAP-T MAP-T, and Lightweight 4over6 need to be determined.
   assigned.  The option codes for MAP-E, MAP-T, and
   Lightweight 4over6 should also be used as the TLV-Type values for the
   MAP-E, MAP-T, and Lightweight 4over6 TLV defined in Section 4.2.

             +-------------+------------------+-----------+
             | Option Code |  S46 Mechanism   | Reference |
             +-------------+------------------+-----------+
             |     TBD2    |       MAP-E      |  RFC7597  |
             +-------------+------------------+-----------+
             |     TBD3    |       MAP-T      |  RFC7599  |
             +-------------+------------------+-----------+
             |     TBD4    |Lightweight 4over6|  RFC7596  |
             +-------------+------------------+-----------+
             |     144     |     DS-Lite      |  RFC6519  |
             +--------------------------------+-----------+

                  Table 1: Option Codes to S46 Mechanisms

7.  Security Considerations

   Known security vulnerabilities of the RADIUS protocol are discussed
   in [RFC2607], [RFC2865], and[RFC2869].  Use of IPsec [RFC4301] for
   providing security when RADIUS is carried in IPv6 is discussed in
   [RFC3162].

   Specific security considerations for interactions between the MAP CE
   and the BNG are discussed in [RFC7597] and [RFC7599].  Security
   considerations for Lightweight 4over6 are discussed in [RFC7596].
   Security considerations for DHCPv6-Based S46 Prioritization Mechanism
   are discussed in [RFC8026].  Security considerations for multicast
   scenarios are discussed in [RFC 8114].  Furthermore, generic DHCPv6
   security mechanisms can be applied to DHCPv6 intercommunication
   between the CE codes for MAP-E, MAP-T, and Lightweight 4over6
   should also be used as the BNG.

   Security considerations TLV-Type values for the Diameter protocol are discussed MAP-E, MAP-T, and
   Lightweight 4over6 TLV defined in
   [RFC6733]. Section 3.1.1.

             +-------------+------------------+-----------+
             | Option Code |  S46 Mechanism   | Reference |
             +-------------+------------------+-----------+
             |     TBD2    |       MAP-E      |  RFC7597  |
             |     TBD3    |       MAP-T      |  RFC7599  |
             |     TBD4    |Lightweight 4over6|  RFC7596  |
             |     144     |     DS-Lite      |  RFC6519  |
             +--------------------------------+-----------+

                  Table 3: Option Codes to S46 Mechanisms

8.  Contributing Authors
   Qiong Sun
   China Telecom
   Beijing  China
   Email: sunqiong@ctbri.com.cn

   Qi Sun
   Tsinghua University
   Department of Computer Science, Tsinghua University
   Beijing 100084
   P.R.China
   Phone: +86-10-6278-5822
   Email: sunqibupt@gmail.com

   Cathy Zhou
   Huawei Technologies
   Bantian, Longgang District
   Shenzhen 518129
   Email: cathy.zhou@huawei.com

   Tina Tsou
   Huawei Technologies(USA)
   2330 Central Expressway
   Santa Clara, CA 95050
   USA
   Email: Tina.Tsou.Zouting@huawei.com

   ZiLong Liu
   Tsinghua University
   Beijing 100084
   P.R.China
   Phone: +86-10-6278-5822
   Email: liuzilong8266@126.com

   Yong Cui
   Tsinghua University
   Beijing 100084
   P.R.China
   Phone: +86-10-62603059
   Email: yong@csnet1.cs.tsinghua.edu.cn

9.  Acknowledgements

   The authors would like to thank the valuable comments made by Peter
   Lothberg, Wojciech Dec, Ian Farrer, Suresh Krishnan, Qian Wang, Wei
   Meng and Cui Wang for this document.  This document was merged with
   draft-sun-softwire-lw4over6-radext-01 and draft-wang-radext-
   multicast-radius-ext-00, thanks to everyone who contributed to this
   draft.
   document.

   This document was produced using the xml2rfc tool [RFC7991].

9.

10.  References

9.1.

10.1.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <https://www.rfc-editor.org/info/rfc2119>.

   [RFC2865]  Rigney, C., Willens, S., Rubens, A., and W. Simpson,
              "Remote Authentication Dial In User Service (RADIUS)",
              RFC 2865, DOI 10.17487/RFC2865, June 2000,
              <https://www.rfc-editor.org/info/rfc2865>.

   [RFC3162]  Aboba, B., Zorn, G., and D. Mitton, "RADIUS and IPv6",
              RFC 3162, DOI 10.17487/RFC3162, August 2001,
              <https://www.rfc-editor.org/info/rfc3162>.

   [RFC3315]  Droms, R., Ed., Bound, J., Volz, B., Lemon, T., Perkins,
              C., and M. Carney, "Dynamic Host Configuration Protocol
              for IPv6 (DHCPv6)", RFC 3315, DOI 10.17487/RFC3315, July
              2003, <https://www.rfc-editor.org/info/rfc3315>.

   [RFC3575]  Aboba, B., "IANA Considerations for RADIUS (Remote
              Authentication Dial In User Service)", RFC 3575,
              DOI 10.17487/RFC3575, July 2003,
              <https://www.rfc-editor.org/info/rfc3575>.

   [RFC5080]  Nelson, D. and A. DeKok, "Common Remote Authentication
              Dial In User Service (RADIUS) Implementation Issues and
              Suggested Fixes", RFC 5080, DOI 10.17487/RFC5080, December
              2007, <https://www.rfc-editor.org/info/rfc5080>.

   [RFC5226]  Narten, T. and H. Alvestrand, "Guidelines for Writing an
              IANA Considerations Section in RFCs", RFC 5226,
              DOI 10.17487/RFC5226, May 2008,
              <https://www.rfc-editor.org/info/rfc5226>.

   [RFC6052]  Bao, C., Huitema, C., Bagnulo, M., Boucadair, M., and X.
              Li, "IPv6 Addressing of IPv4/IPv6 Translators", RFC 6052,
              DOI 10.17487/RFC6052, October 2010,
              <https://www.rfc-editor.org/info/rfc6052>.

   [RFC6158]  DeKok, A., Ed. and G. Weber, "RADIUS Design Guidelines",
              BCP 158, RFC 6158, DOI 10.17487/RFC6158, March 2011,
              <https://www.rfc-editor.org/info/rfc6158>.

   [RFC6929]  DeKok, A. and A. Lior, "Remote Authentication Dial In User
              Service (RADIUS) Protocol Extensions", RFC 6929,
              DOI 10.17487/RFC6929, April 2013,
              <https://www.rfc-editor.org/info/rfc6929>.

   [RFC8026]  Boucadair, M. and I. Farrer, "Unified IPv4-in-IPv6
              Softwire Customer Premises Equipment (CPE): A DHCPv6-Based
              Prioritization Mechanism", RFC 8026, DOI 10.17487/RFC8026,
              November 2016, <https://www.rfc-editor.org/info/rfc8026>.

   [RFC8044]  DeKok, A., "Data Types in RADIUS", RFC 8044,
              DOI 10.17487/RFC8044, January 2017,
              <https://www.rfc-editor.org/info/rfc8044>.

   [RFC8114]  Boucadair, M., Qin, C., Jacquenet, C., Lee, Y., and Q.
              Wang, "Delivery of IPv4 Multicast Services to IPv4 Clients
              over an IPv6 Multicast Network", RFC 8114,
              DOI 10.17487/RFC8114, March 2017,
              <https://www.rfc-editor.org/info/rfc8114>.

   [RFC8115]  Boucadair, M., Qin, J., Tsou, T., and X. Deng, "DHCPv6
              Option for IPv4-Embedded Multicast and Unicast IPv6
              Prefixes", RFC 8115, DOI 10.17487/RFC8115, March 2017,
              <https://www.rfc-editor.org/info/rfc8115>.

   [RFC8174]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
              2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
              May 2017, <https://www.rfc-editor.org/info/rfc8174>.

9.2.

10.2.  Informative References

   [RFC2607]  Aboba, B. and J. Vollbrecht, "Proxy Chaining and Policy
              Implementation in Roaming", RFC 2607,
              DOI 10.17487/RFC2607, June 1999,
              <https://www.rfc-editor.org/info/rfc2607>.

   [RFC2869]  Rigney, C., Willats, W., and P. Calhoun, "RADIUS
              Extensions", RFC 2869, DOI 10.17487/RFC2869, June 2000,
              <https://www.rfc-editor.org/info/rfc2869>.

   [RFC3580]  Congdon, P., Aboba, B., Smith, A., Zorn, G., and J. Roese,
              "IEEE 802.1X Remote Authentication Dial In User Service
              (RADIUS) Usage Guidelines", RFC 3580,
              DOI 10.17487/RFC3580, September 2003,
              <https://www.rfc-editor.org/info/rfc3580>.

   [RFC4301]  Kent, S. and K. Seo, "Security Architecture for the
              Internet Protocol", RFC 4301, DOI 10.17487/RFC4301,
              December 2005, <https://www.rfc-editor.org/info/rfc4301>.

   [RFC6333]  Durand, A., Droms, R., Woodyatt, J., and Y. Lee, "Dual-
              Stack Lite Broadband Deployments Following IPv4
              Exhaustion", RFC 6333, DOI 10.17487/RFC6333, August 2011,
              <https://www.rfc-editor.org/info/rfc6333>.

   [RFC6346]  Bush, R., Ed., "The Address plus Port (A+P) Approach to
              the IPv4 Address Shortage", RFC 6346,
              DOI 10.17487/RFC6346, August 2011,
              <https://www.rfc-editor.org/info/rfc6346>.

   [RFC6519]  Maglione, R. and A. Durand, "RADIUS Extensions for Dual-
              Stack Lite", RFC 6519, DOI 10.17487/RFC6519, February
              2012, <https://www.rfc-editor.org/info/rfc6519>.

   [RFC6733]  Fajardo, V., Ed., Arkko, J., Loughney, J., and G. Zorn,
              Ed., "Diameter Base Protocol", RFC 6733,
              DOI 10.17487/RFC6733, October 2012,
              <https://www.rfc-editor.org/info/rfc6733>.

   [RFC7596]  Cui, Y., Sun, Q., Boucadair, M., Tsou, T., Lee, Y., and I.
              Farrer, "Lightweight 4over6: An Extension to the Dual-
              Stack Lite Architecture", RFC 7596, DOI 10.17487/RFC7596,
              July 2015, <https://www.rfc-editor.org/info/rfc7596>.

   [RFC7597]  Troan, O., Ed., Dec, W., Li, X., Bao, C., Matsushima, S.,
              Murakami, T., and T. Taylor, Ed., "Mapping of Address and
              Port with Encapsulation (MAP-E)", RFC 7597,
              DOI 10.17487/RFC7597, July 2015,
              <https://www.rfc-editor.org/info/rfc7597>.

   [RFC7598]  Mrugalski, T., Troan, O., Farrer, I., Perreault, S., Dec,
              W., Bao, C., Yeh, L., and X. Deng, "DHCPv6 Options for
              Configuration of Softwire Address and Port-Mapped
              Clients", RFC 7598, DOI 10.17487/RFC7598, July 2015,
              <https://www.rfc-editor.org/info/rfc7598>.

   [RFC7599]  Li, X., Bao, C., Dec, W., Ed., Troan, O., Matsushima, S.,
              and T. Murakami, "Mapping of Address and Port using
              Translation (MAP-T)", RFC 7599, DOI 10.17487/RFC7599, July
              2015, <https://www.rfc-editor.org/info/rfc7599>.

   [RFC7678]  Zhou, C., Taylor, T., Sun, Q., and M. Boucadair,
              "Attribute-Value Pairs for Provisioning Customer Equipment
              Supporting IPv4-Over-IPv6 Transitional Solutions",
              RFC 7678, DOI 10.17487/RFC7678, October 2015,
              <https://www.rfc-editor.org/info/rfc7678>.

   [RFC7991]  Hoffman, P., "The "xml2rfc" Version 3 Vocabulary",
              RFC 7991, DOI 10.17487/RFC7991, December 2016,
              <https://www.rfc-editor.org/info/rfc7991>.

Additional Authors
   Qiong Sun
   China Telecom
   Beijing  China
   Email: sunqiong@ctbri.com.cn

   Qi Sun
   Tsinghua University
   Department of Computer Science, Tsinghua University
   Beijing 100084
   P.R.China
   Phone: +86-10-6278-5822
   Email: sunqibupt@gmail.com

   Cathy Zhou
   Huawei Technologies
   Bantian, Longgang District
   Shenzhen 518129
   Email: cathy.zhou@huawei.com

   Tina Tsou
   Huawei Technologies(USA)
   2330 Central Expressway
   Santa Clara, CA 95050
   USA
   Email: Tina.Tsou.Zouting@huawei.com

   ZiLong Liu
   Tsinghua University
   Beijing 100084
   P.R.China
   Phone: +86-10-6278-5822
   Email: liuzilong8266@126.com

   Yong Cui
   Tsinghua University
   Beijing 100084
   P.R.China
   Phone: +86-10-62603059
   Email: yong@csnet1.cs.tsinghua.edu.cn 2016,
              <https://www.rfc-editor.org/info/rfc7991>.

Appendix A.  DHCPv6 to RADIUS Field Mappings

   The following sections detail the mappings between the softwire
   DHCPv6 option fields and the relevant RADIUS attributes, TLVs and
   Sub-TLVs as defined in this document.

A.1.  OPTION_S46_RULE (89) to S46-Rule Sub-TLV Field Mappings

   +---------------------+----------------------+----------------------+
   |   OPTION_S46_RULE   |   S46-Rule Sub-TLV   |      TLV Field       |
   |        Field        |         Name         |                      |
   +---------------------+----------------------+----------------------+
   |        flags        |         N/A          |   TLV-type (TBD7,    |
   |                     |                      |        TBD8)         |
   |        ea-len       |      EA-Length       |        EA-len        |
   |     prefix4-len     |   Rule-IPv4-Prefix   |   ruleprefix4-len    |
   |     ipv4-prefix     |   Rule-IPv4-Prefix   |   rule-ipv4-prefix   |
   |     prefix6-len     |   Rule-IPv6-Prefix   |   ruleprefix6-len    |
   |     ipv6-prefix     |   Rule-IPv6-Prefix   |   rule-ipv6-prefix   |
   +---------------------+----------------------+----------------------+

A.2.  OPTION_S46_BR (90) to S46-BR Sub-TLV Sub-TLV Field Mappings

              +---------------------+----------------------+
              | OPTION_S46_BR Field | S46-BR Sub-TLV Field |
              +---------------------+----------------------+
              |   br-ipv6-address   |   br-ipv6-address    |
              +---------------------+----------------------+

A.3.  OPTION_S46_DMR (91) to S46-DMR Sub-TLV

              +---------------------+-----------------------+
              | OPTION_S46_BR Field | S46-DMR Sub-TLV Field |
              +---------------------+-----------------------+
              |   dmr-prefix6-len   |    dmr-prefix6-len    |
              |   dmr-ipv6-prefix   |    dmr-ipv6-prefix    |
              +---------------------+-----------------------+

A.4.  OPTION_S46_V4V6BIND (92) to S46-V4V6Bind Sub-TLV

   +------------------------+-----------------------+------------------+
   |  OPTION_S46_V4V6BIND   |  S46-V4V6Bind Sub-TLV |    TLV Field     |
   |         Field          |          Name         |                  |
   +------------------------+-----------------------+------------------+
   |      ipv4-address      |      IPv4-address     |   ipv4-address   |
   |    bindprefix6-len     |    Bind-IPv6-Prefix   | bind6prefix-len  |
   |    bind-ipv6-prefix    |    Bind-IPv6-Prefix   | bind-ipv6-prefix |
   +------------------------+-----------------------+------------------+

A.5.  OPTION_S46_PORTPARAMS (93) to S46-PORTPARAMS Sub-TLV Field
      Mappings

   +---------------------------+-------------------------+-------------+
   |   OPTION_S46_PORTPARAMS   |  S46-PORTPARAMS Sub-TLV |  TLV Field  |
   |           Field           |           Name          |             |
   +---------------------------+-------------------------+-------------+
   |           offset          |       PSID-offset       | PSID-Offset |
   |          PSID-len         |         PSID-len        |   PSID-len  |
   |            PSID           |           PSID          |     PSID    |
   +---------------------------+-------------------------+-------------+

A.6.  OPTION_S46_PRIORITY (111) to S46-PORTPARAMS Sub-TLV Field Mappings

    +---------------------------+-------------------------------------+
    | OPTION_S46_PRIORITY Field | Softwire46-Priority Attribute Field |
    +---------------------------+-------------------------------------+
    |      s46-option-code      |           S46-option-code           |
    +---------------------------+-------------------------------------+

A.7.  OPTION_V6_PREFIX64 (113) to Softwire46-Multicast Attribute TLV
      Field Mappings

   +--------------------+------------------------------+---------------+
   | OPTION_V6_PREFIX64 |     Softwire46-Multicast     |   TLV Field   |
   |       Field        |      Attribute TLV Name      |               |
   +--------------------+------------------------------+---------------+
   |     asm-length     |         ASM-Prefix64         | Prefix-Length |
   |   ASM_mPrefix64    |         ASM-Prefix64         |  ASM Prefix64 |
   |     ssm-length     |         SSM-Prefix64         | Prefix-Length |
   |   SSM_mPrefix64    |         SSM-Prefix64         |  SSM Prefix64 |
   |   unicast-length   |          U-Prefix64          | Prefix-Length |
   |     uPrefix64      |          U-Prefix64          |    Unicast    |
   |                    |                              |    Prefix64   |
   +--------------------+------------------------------+---------------+

Authors' Addresses

   Sheng Jiang
   Huawei Technologies Co., Ltd
   Q14, Huawei Campus, No.156 Beiqing Road
   Hai-Dian District, Beijing, 100095
   P.R. China

   Email: jiangsheng@huawei.com
   Yu Fu
   CNNIC
   No.4 South 4th Street, Zhongguancun
   Hai-Dian District, Beijing, 100190
   P.R. China

   Email: fuyu@cnnic.cn eleven711711@foxmail.com

   Bing Liu
   Huawei Technologies Co., Ltd
   Q14, Huawei Campus, No.156 Beiqing Road
   Hai-Dian District, Beijing, 100095
   P.R. China

   Email: leo.liubing@huawei.com

   Peter Deacon
   IEA Software, Inc.
   P.O. Box 1170
   Veradale, WA  99037
   USA

   Email: peterd@iea-software.com

   Chongfeng Xie
   China Telecom
   China Telecom Beijing Information Sci.&Tech. Park,
   Beiqijia Town, Changping District, Beijing  102209
   P.R. China

   Email: xiechf.bri@chinatelecom.cn

   Tianxiang Li
   Tsinghua University
   Beijing  100084
   P.R.China

   Email: peter416733@gmail.com
   Mohamed Boucadair (editor)
   Orange
   Rennes, 35000
   France

   Email: mohamed.boucadair@orange.com