Softwire S. Jiang, Ed. Internet-Draft Huawei Technologies Co., Ltd Intended status: Standards Track Y. Fu, Ed. Expires: December 28, 2018 CNNIC B. Liu Huawei Technologies Co., Ltd P. Deacon IEA Software, Inc. C. Xie China Telecom T. Li Tsinghua University M. Boucadair Orange June 26, 2018 RADIUS Attributes for Address plus Port based Softwire Mechanisms draft-ietf-softwire-map-radius-16 Abstract IPv4-over-IPv6 transition mechanisms provide both IPv4 and IPv6 connectivity services simultaneously during the IPv4/IPv6 co- existence period. DHCPv6 options have been defined for configuring clients to use MAP-E, MAP-T, Lightweight 4over6 and Multicast Basic Bridging BroadBand (mB4) in multicast scenarios. However, in many networks, the configuration information may be stored in an AAA server, while user configuration information is mainly provided by the BNG through the DHCPv6 protocol. This document defines three new RADIUS attributes that carry CE or mB4 configuration information from an AAA server to BNG. 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." Jiang, Ed., et al. Expires December 28, 2018 [Page 1] Internet-Draft draft-ietf-softwire-map-radius-16 June 2018 This Internet-Draft will expire on December 28, 2018. 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 3. Configuration process with RADIUS . . . . . . . . . . . . . . 4 4. Attributes . . . . . . . . . . . . . . . . . . . . . . . . . 7 4.1. Softwire46-Configuration Attribute . . . . . . . . . . . 8 4.2. Softwire46 TLVs . . . . . . . . . . . . . . . . . . . . . 9 4.3. Softwire46 Sub TLVs . . . . . . . . . . . . . . . . . . . 11 4.4. The format of Softwire46 Sub TLVs . . . . . . . . . . . . 13 4.4.1. S46-Rule Sub TLV . . . . . . . . . . . . . . . . . . 13 4.4.2. S46-BR Sub TLV . . . . . . . . . . . . . . . . . . . 14 4.4.3. S46-DMR Sub TLV . . . . . . . . . . . . . . . . . . . 15 4.4.4. S46-V4V6Bind Sub TLV . . . . . . . . . . . . . . . . 16 4.4.5. S46-PORTPARAMS Sub TLV . . . . . . . . . . . . . . . 16 4.5. Sub-TLVs for S46-Rule Sub TLV . . . . . . . . . . . . . . 17 4.5.1. Rule-IPv6-Prefix sub-TLV . . . . . . . . . . . . . . 17 4.5.2. Rule-IPv4-Prefix Sub-TLV . . . . . . . . . . . . . . 18 4.5.3. EA-Length Sub-TLV . . . . . . . . . . . . . . . . . . 19 4.6. Sub-TLVs for S46-v4v6Bind Sub TLV . . . . . . . . . . . . 19 4.6.1. The IPv4-address sub-TLV . . . . . . . . . . . . . . 19 4.6.2. The Bind-IPv6-Prefix Sub-TLV . . . . . . . . . . . . 19 4.7. Sub-TLVs for S46-PORTPARAMS Sub TLV . . . . . . . . . . . 20 4.7.1. The PSID-offset sub-TLV . . . . . . . . . . . . . . . 20 4.7.2. The PSID-len sub-TLV . . . . . . . . . . . . . . . . 21 4.7.3. The PSID sub-TLV . . . . . . . . . . . . . . . . . . 21 4.8. Softwire46-Priority Attribute . . . . . . . . . . . . . . 21 4.9. Softwire46-Multicast Attribute . . . . . . . . . . . . . 22 4.9.1. ASM-Prefix64 TLV . . . . . . . . . . . . . . . . . . 24 4.9.2. SSM-Prefix64 TLV . . . . . . . . . . . . . . . . . . 25 4.9.3. U-Prefix64 TLV . . . . . . . . . . . . . . . . . . . 26 Jiang, Ed., et al. Expires December 28, 2018 [Page 2] Internet-Draft draft-ietf-softwire-map-radius-16 June 2018 4.10. Table of attributes . . . . . . . . . . . . . . . . . . . 27 5. Diameter Considerations . . . . . . . . . . . . . . . . . . . 28 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 28 6.1. New RADIUS Attributes . . . . . . . . . . . . . . . . . . 28 6.2. New RADIUS TLVs . . . . . . . . . . . . . . . . . . . . . 29 6.3. S46 Mechanisms and Their Identifying Option Codes . . . . 29 7. Security Considerations . . . . . . . . . . . . . . . . . . . 30 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 30 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 31 9.1. Normative References . . . . . . . . . . . . . . . . . . 31 9.2. Informative References . . . . . . . . . . . . . . . . . 32 Additional Authors . . . . . . . . . . . . . . . . . . . . . . . 34 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 35 1. Introduction Recently, providers have started deployment and transition to IPv6. Many IPv4 service continuity mechanisms based on the Address plus Port (A+P) [RFC6346] have been proposed for running IPv4 over IPv6-only infrastructure. Mapping of Address and Port with Encapsulation (MAP-E)[RFC7597] and 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, 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. [RFC8114] specifies a generic solution for 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 DHCPv6 PREFIX64 option to convey the IPv6 prefixes to be used for constructing IPv4-embedded IPv6 addresses to inform the mB4 element of the PREFIX64. In many networks, user configuration information may be stored in an Authentication, Authorization, and Accounting (AAA) server. Currently, the AAA servers 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 users. A DHCPv6 server function is assumed to embed in the BNG that allows it to locally handle any DHCPv6 requests initiated by hosts. So the BNG is used in this document to describe a device which functions as both the AAA client and DHCPv6 sever. Jiang, Ed., et al. Expires December 28, 2018 [Page 3] Internet-Draft draft-ietf-softwire-map-radius-16 June 2018 Since the S46 configuration information is stored in an AAA servers and user configuration information is mainly transmitted through DHCPv6 protocol between the BNGs and hosts/CEs, new RADIUS attributes are needed to propagate the information from the AAA servers to BNGs. The RADIUS attributes designed in this document are especially for the MAP-E[RFC7597], MAP-T [RFC7599] and Lightweight 4over6 [RFC7596], providing enough information to form the corresponding DHCPv6 configuration options[RFC7598]. This document is not concerned with 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 defined to be used for carrying the Multicast-Prefixes-64, based on the equivalent DHCPv6 option already specified in [RFC8115]. 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 interpreted as described in [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here. The terms DS-Lite multicast Basic Bridging BroadBand element (mB4) 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. Jiang, Ed., et al. Expires December 28, 2018 [Page 4] Internet-Draft draft-ietf-softwire-map-radius-16 June 2018 CE BNG AAA Server | | | |-------1.DHCPv6 Solicit-------> | | | (ORO w/container option code) | | | |-------2.Access-Request------->| | | (S46-Configuration attribute | | |and/or S46-Multicast attribute)| | |<------3.Access-Accept---------| |<---4.DHCPv6 Advertisement----- | (S46-Configuration attribute | | (container option) |and/or S46-Multicast attribute)| |-------5.DHCPv6 Request------> | | | (container Option) | | |<------6.DHCPv6 Reply---------- | | | (container option) | | | | | DHCPv6 RADIUS Figure 1: the cooperation between DHCPv6 and RADIUS combined with 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 defined in[RFC7598]. As described in [RFC7598], OPTION_S46_CONT_MAPE should be included for MAP-E, OPTION_S46_CONT_MAPT for MAP-T, and OPTION_S46_CONT_LW for Lightweight 4over6. For the multicast case, the the option number for OPTION_V6_PREFIX64 (113) should be included in the client's ORO. 2. When the BNG receives 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 defined in [RFC2865], and the Softwire46-Configuration Attribute and/or Softwire46-Multicast Attribute (as reuquested by the client). The resulting message is sent to the RADIUS server. 3. If the authentication request is approved by the AAA server, and suitable configuration is available, an Access-Accept message MUST be acknowledged with the corresponding Softwire46-Configuration Attribute or Softwire46-Multicast Attribute. 4. After receiving the Access-Accept message with 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 of the requested DHCPv6 softwire container options (94, 95, 96, or 113) the CE MAY request configuration for the desired softwire mechanism(s) by Jiang, Ed., et al. Expires December 28, 2018 [Page 5] Internet-Draft draft-ietf-softwire-map-radius-16 June 2018 including the option code(s) in the ORO of 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 of the MAC address is defined as Calling-Station-Id (Section 3.20 in [RFC3580] without the SSID (Service Set Identifier) portion. It is for the IEEE 802.1X Authenticators, the Calling-Station- Id attribute is used to store the bridge 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 the lwAFTR. This can be achieved 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 the subscriber's binding state as it is created or deleted. The authorization operation could also be done independently after the authentication process. In such a scenario, after the authentication operation, the client MAY initiate 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 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 RADIUS Access-Request message, which MUST contain 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]. If the authorization request is approved by an AAA server, an Access- Accept message MUST be acknowledged with the corresponding Softwire46-Configuration Attribute. The BNG SHOULD then send the DHCPv6 Reply message containing the S46 Container option. There are three notices need to be considered: o In both the above-mentioned scenarios, Message-authenticator (type 80) [RFC2869] SHOULD be used to protect both Access-Request and Access-Accept messages. o 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. Jiang, Ed., et al. Expires December 28, 2018 [Page 6] Internet-Draft draft-ietf-softwire-map-radius-16 June 2018 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 Jiang, Ed., et al. Expires December 28, 2018 [Page 7] Internet-Draft draft-ietf-softwire-map-radius-16 June 2018 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: Jiang, Ed., et al. Expires December 28, 2018 [Page 8] Internet-Draft draft-ietf-softwire-map-radius-16 June 2018 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. Softwire46-Configuration Attribute is associated with the following identifier: 241.Extended-Type(TBD1). 4.2. Softwire46 TLVs The Softwire46 TLV 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 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 S46-MAP-E TLV, S46-MAP-T TLV, S46-Lightweight 4over6 TLV. Each type of Softwire46 TLV contains a number of sub TLVs, defined in Section 4.4. The hierarchy of the Softwire46 TLV is shown in Figure 2. Section 4.3 describes which Sub TLVs are mandatory, optional, or not permitted for each defined Softwire46 TLV. Jiang, Ed., et al. Expires December 28, 2018 [Page 9] Internet-Draft draft-ietf-softwire-map-radius-16 June 2018 / / | 1.Rule-IPv6-Prefix | | Sub-TLV | 1.S46-Rule Sub TLV-----+ 2.Rule-IPv4-Prefix S46-MAP-E TLV | | Sub-TLV | 2.S46-BR Sub TLV | 3.EA Length Sub- S46-MAP-T TLV---------+ 3.S46-DMR Sub TLV \ TLV | S46-Lightweight | /1.IPv4-address -4over6 TLV | | Sub-TLV | 4.S46-v4v6Bind Sub TLV --| 2.Bind-IPv6-Prefix | \ Sub-TLV | /1.PSID-offset | | Sub-TLV | 5.S46-PORTPARAMS Sub TLV --| 2.PSID-len | | Sub-TLV \ \3.PSID Sub- TLV Figure 2: Softwire46 TLVs Hierarchy The format of 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 octet and 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: It MUST contain the S46-Rule Sub TLV, defined in Section 4.4.1 It MUST contain the S46-BR Sub TLV, defined in Section 4.4.2 It MAY contain the S46-PORTPARAMS Sub TLV, defined in Section 4.4.5 The format of S46-MAP-T TLV is shown as below: Jiang, Ed., et al. Expires December 28, 2018 [Page 10] Internet-Draft draft-ietf-softwire-map-radius-16 June 2018 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 octet and 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: It MUST contain the S46-Rule Sub TLV, defined in Section 4.4.1 It MUST contain the S46-DMR Sub TLV, defined in Section 4.4.3 It MAY contain the S46-PORTPARAMS Sub TLV, defined in Section 4.4.5 The format of 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 octet and 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: It MUST contain the S46-BR Sub TLV, defined in Section 4.4.2 It MAY contain the S46-V4V6Bind Sub TLV, defined in Section 4.4.4 It MAY contain the S46-PORTPARAMS Sub TLV, defined in Section 4.4.5 4.3. Softwire46 Sub TLVs The table below shows which encapsulated Sub TLVs are mandatory, optional, or not permitted for each defined Softwire46 TLV. Jiang, Ed., et al. Expires December 28, 2018 [Page 11] Internet-Draft draft-ietf-softwire-map-radius-16 June 2018 +----------------+-------+-------+--------------------+ | 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 | +----------------+-------+-------+--------------------+ | 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 Jiang, Ed., et al. Expires December 28, 2018 [Page 12] Internet-Draft draft-ietf-softwire-map-radius-16 June 2018 / (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 of Softwire46 Sub TLVs 4.4.1. S46-Rule Sub TLV The S46-Rule Sub TLV can only be encapsulated in the S46-MAP-E TLV or the S46-MAP-T TLV. Depending on deployment scenario, one Basic Mapping Rule and zero or more Forwarding Mapping Rules MUST be included in one S46-MAP-E TLV or S46-MAP-T TLV. Each type of S46-Rule Sub TLV also contains a number of sub-TLVs, including Rule-IPv6-Prefix sub-TLV, Rule-IPv4-Prefix sub-TLV, and EA- Length sub-TLV. The structure of the sub-TLVs for S46-Rule Sub TLV is defined in section 4.5. Jiang, Ed., et al. Expires December 28, 2018 [Page 13] Internet-Draft draft-ietf-softwire-map-radius-16 June 2018 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 Basic Mapping Rule (Not Forwarding Mapping Rule) 2 Forwarding Mapping Rule (Not Basic Mapping Rule) 3 Basic & Forwarding Mapping Rule TLV-Length The TLV-Length field is one octet and 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 This TLV contains an IPv6 prefix that appears in a MAP rule. Refer to Section 4.5.1. Rule-IPv4-Prefix sub-TLV This TLV contains an IPv4 prefix that appears in a MAP rule. Refer to Section 4.5.2. EA-Length sub-TLV This TLV contains the information of Embedded-Address(EA) bit length. Refer to Section 4.5.3. 4.4.2. S46-BR Sub TLV The S46-BR Sub TLV can only be encapsulated in the S46-MAP-E TLV or S46-Lightweight 4over6 TLV. There MUST be at least one S46-BR Sub TLV included in each S46-MAP-E TLV or S46-Lightweight--4over6 TLV. Jiang, Ed., et al. Expires December 28, 2018 [Page 14] Internet-Draft draft-ietf-softwire-map-radius-16 June 2018 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 | | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ TLV-Type 4 TLV-Length 18 octets BR-ipv6-address IPv6 address. A fixed-length field of 16 octets that specifies the IPv6 address for the S46 BR. 4.4.3. S46-DMR Sub TLV The S46-DMR Sub TLV can only appear in the S46-MAP-T TLV. There MUST be exactly one S46-DMR Sub TLV included in one S46-MAP-T TLV. 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 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 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. Jiang, Ed., et al. Expires December 28, 2018 [Page 15] Internet-Draft draft-ietf-softwire-map-radius-16 June 2018 4.4.4. S46-V4V6Bind Sub TLV The S46-V4V6Bind Sub TLV can only be encapsulated in the S46- Lightweight-4over6 TLV. There MUST be exactly one S46-V4V6Bind Sub TLV included in each S46-Lightweight-4over6 TLV. 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 TLV-Length field is one octet and 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: IPv4-address sub-TLV This TLV contains an IPv4 address that MAY be used to specify the full or shared IPv4 address of the CE. Refer to Section 4.6.1. Bind-IPv6-Prefix sub-TLV This TLV contains the IPv6 prefix or address for the S46 CE. Refer to Section 4.6.2. 4.4.5. S46-PORTPARAMS Sub TLV The S46-PORTPARAMS Sub TLV specifies optional port set information that MAY be provided to CEs. The S46-PORTPARAMS Sub TLV can be included optionally by each type of Softwire46 TLVs . Jiang, Ed., et al. Expires December 28, 2018 [Page 16] Internet-Draft draft-ietf-softwire-map-radius-16 June 2018 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 TLV-Length The TLV-Length field is one octet and 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 This TLV pecifies the numeric value for the S46 algorithm's excluded port range/offset bits (a bits). Refer to Section 4.7.1. PSID-len sub-TLV This TLV specifies the number of significant bits in the PSID field (also known as 'k'). Refer to Section 4.7.2. PSID sub-TLV This TLV specifies PSID value. Refer to Section 4.7.3. 4.5. Sub-TLVs for S46-Rule Sub TLV There are three types of S46-Rule sub-TLVs, namely Basic Mapping Rule, Forwarding Mapping Rule, Basic and Forwarding Mapping Rule. Each type of S46-Rule 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. Rule-IPv6-Prefix sub-TLV The Rule-IPv6-Prefix sub-TLV is necessary for every S46-Rule Sub TLV. There MUST be exactly one Rule-IPv6-Prefix sub-TLV encapsulated in each type of S46-Rule Sub TLV. The Rule-IPv6-Prefix sub-TLV follows the framed IPv6 prefix designed in [RFC3162] and [RFC8044]. Jiang, Ed., et al. Expires December 28, 2018 [Page 17] Internet-Draft draft-ietf-softwire-map-radius-16 June 2018 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 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 long field that specifies an IPv6 prefix that appears in a MAP rule. 4.5.2. Rule-IPv4-Prefix Sub-TLV 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 TLV-Length 8 Reserved This field is reserved. It is always set to zero. This field is one octet in length. Ruleprefix4-len The length of IPv4 prefix, specified in the rule-ipv4-prefix field, expressed in bits. rule-ipv4-prefix IPv4 Prefix. A 32 bits long field that specifies an IPv4 prefix that appears in a MAP rule. Jiang, Ed., et al. Expires December 28, 2018 [Page 18] Internet-Draft draft-ietf-softwire-map-radius-16 June 2018 4.5.3. EA-Length Sub-TLV 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 TLV-Length 4 EA-len Integer. A 16 bits long field that specifies the Embedded-Address(EA) bit length. Allowed values range from 0 to 48. 4.6. Sub-TLVs for S46-v4v6Bind Sub TLV 4.6.1. The IPv4-address sub-TLV The IPv4-address sub-TLV MAY be used to specify the full or shared IPv4 address of the CE. 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 TLV-Length 6 ipv4-address IPv4 address. A 32 bits long field that specifies an IPv4 address that appears in the V4V6Bind Option. 4.6.2. The Bind-IPv6-Prefix Sub-TLV The bind-ipv6-prefix field specified in this field is used by the CE to identify the correct prefix to be used for the tunnel source. Jiang, Ed., et al. Expires December 28, 2018 [Page 19] Internet-Draft draft-ietf-softwire-map-radius-16 June 2018 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 TLV-Length 20 Reserved This field is reserved. It is always set to zero. This field is one octet in length. bindprefix6-len Integer. An 8 bits long field that expresses the bitmask length of the IPv6 prefix specified in the bind-ipv6-prefix field. Allowed values range from 0 to 96. 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. Sub-TLVs for S46-PORTPARAMS Sub TLV 4.7.1. The PSID-offset sub-TLV 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 TLV-Length 3 PSID-Offset Integer. An 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. Jiang, Ed., et al. Expires December 28, 2018 [Page 20] Internet-Draft draft-ietf-softwire-map-radius-16 June 2018 4.7.2. The PSID-len sub-TLV 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 TLV-Length 3 PSID-len Integer. An 8 bits long field that specifies the number of significant bits in the PSID field (also known as 'k'). When set to 0, the PSID field is to be ignored. After the first 'a' bits, there are k bits in the port number representing the value of the PSID. Subsequently, the address sharing ratio would be 2 ^k. 4.7.3. The PSID sub-TLV 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 15 TLV-Length 4 (the length of the PSID Sub Option) 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. 4.8. 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 Softwire46-Priority Attribute MAY appear in an Access-Accept packet. It MAY also appear in an Access-Request packet. Jiang, Ed., et al. Expires December 28, 2018 [Page 21] Internet-Draft draft-ietf-softwire-map-radius-16 June 2018 The Softwire46-Priority Attribute MAY appear in a CoA-Request packet. The Softwire46-Priority Attribute MAY appear in an Accounting-Request packet. The 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | Extended-Type | ... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ... 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. Extended-Type TBD5 S46-option-code Integer. A 16-bit IANA-registered option code of the DHCPv6 option that is used to identify the softwire mechanisms. 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 the corresponding S46 mechanisms are listed in Section 6.3. Softwire46-Priority Attribute is associated with the following identifier: 241.Extended-Type(TBD5). 4.9. Softwire46-Multicast Attribute The Softwire46-Multicast attribute conveys the IPv6 prefixes to be used to synthesize IPv4-embedded IPv6 addresses as per [RFC8114]. The BNG SHALL use the IPv6 prefixes returned in the RADIUS Softwire46-Multicast attribute to populate the DHCPv6 PREFIX64 Option [RFC8115]. Jiang, Ed., et al. Expires December 28, 2018 [Page 22] Internet-Draft draft-ietf-softwire-map-radius-16 June 2018 This attribute MAY be used in Access-Request packets as a hint to the RADIUS server. For example, if the BNG is pre-configured with Softwire46-Multicast, these prefixes MAY be inserted in the attribute. The 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 packet. 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. This attribute is of type "TLV" as defined in the RADIUS Protocol Extensions [RFC6929]. It contains some sub-attributes: o The Softwire46-Multicast Attribute MAY contain the ASM-Prefix64 TLV (see Section 4.9.1). o The Softwire46-Multicast Attribute MAY contain the SSM-Prefix64 TLV (see Section 4.9.2). o The Softwire46-Multicast Attribute MAY contain the U-Prefix64 TLV (see Section 4.9.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 format of the Softwire46-Multicast Attribute is shown in Figure 6. 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 ... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 6 Jiang, Ed., et al. Expires December 28, 2018 [Page 23] Internet-Draft draft-ietf-softwire-map-radius-16 June 2018 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 TBD6. Value This field contains a set of TLVs as follows: ASM-Prefix64 TLV This TLV contains the ASM IPv6 prefix. Refer to Section 4.9.1. SSM-Prefix64 TLV This TLV contains the SSM IPv6 prefix. Refer to Section 4.9.2. U-Prefix64 TLV This TLV contains the IPv4 prefix used for address translation [RFC6052]. Refer to Section 4.9.3. Softwire46-Multicast Attribute is associated with the following identifier: 241.Extended-Type(TBD6). 4.9.1. ASM-Prefix64 TLV The format of ASM-Prefix64 TLV is shown in Figure 7. Jiang, Ed., et al. Expires December 28, 2018 [Page 24] Internet-Draft draft-ietf-softwire-map-radius-16 June 2018 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 is reserved. It is always set to zero. This field is one octet in length. Prefix-Length The length of the prefix, in bits. ASM Prefix64 IPv6 prefix. This field specifies the IPv6 multicast prefix to be used to synthesize the IPv4-embedded IPv6 addresses of the multicast groups in the ASM mode. The conveyed multicast IPv6 prefix MUST belong to the ASM range. 4.9.2. SSM-Prefix64 TLV The format of SSM-Prefix64 TLV is shown in Figure 8. Jiang, Ed., et al. Expires December 28, 2018 [Page 25] Internet-Draft draft-ietf-softwire-map-radius-16 June 2018 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 is reserved. It is always set to zero. This field is one octet in length. Prefix-Length The length of the prefix, in bits. SSM Prefix64 IPv6 prefix. This field specifies the IPv6 multicast prefix to be used to synthesize the IPv4-embedded IPv6 addresses of the multicast groups in the SSM mode. The conveyed multicast IPv6 prefix MUST belong to the SSM range. 4.9.3. U-Prefix64 TLV The format of U-Prefix64 TLV is shown in Figure 9. Jiang, Ed., et al. Expires December 28, 2018 [Page 26] Internet-Draft draft-ietf-softwire-map-radius-16 June 2018 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 is always set to zero. This field is one octet in length. Prefix-Length The length of the prefix, in bits. Unicast Prefix64 IPv6 prefix. This field identifies the IPv6 unicast prefix to be used in SSM mode for constructing the IPv4-embedded IPv6 addresses representing the IPv4 multicast sources in the IPv6 domain. It may also be used to extract the IPv4 address from the received multicast data flows. 4.10. Table of attributes This document proposes three new RADIUS attributes, and their formats are as follows: o Softwire46-Configuration Attribute: 241.TB1 o Softwire46-Priority Attribute: 241.TB5 o Softwire46-Multicast Attribute: 241.TB6 The following table describes which attributes may be found, in which kinds of packets and in what quantity. Jiang, Ed., et al. Expires December 28, 2018 [Page 27] Internet-Draft draft-ietf-softwire-map-radius-16 June 2018 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 Considerations S46 Configuration using Diameter [RFC6733] is specified in [RFC7678]. 6. IANA Considerations For this document, IANA has made new code point assignments for RADIUS attributes as described in the following subsections. 6.1. New RADIUS Attributes 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 . In particular, this document defines three new RADIUS attributes, as follows, from the Short Extended Space of [RFC6929].Softwire46-Configuration Attribute, Softwire46-Priority Attribute, and Softwire46-Multicast Attribute Type Description Data Type Reference ---- ----------- --------- --------- 241.TB1 Softwire46-Configuration tlv Section 4.1 241.TB5 Softwire46-Priority integer Section 4.8 241.TB6 Softwire46-Multicast tlv Section 4.9 Jiang, Ed., et al. Expires December 28, 2018 [Page 28] Internet-Draft draft-ietf-softwire-map-radius-16 June 2018 6.2. New RADIUS TLVs IANA has created 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]]). This registry contains the following TLVs: Value Description Data Type Reference ----- ----------- --------- --------- 0 Reserved TB2 S46-MAP-E tlv Section 4.2 TB3 S46-MAP-T tlv Section 4.2 TB4 S46-Lightweight 4over6 tlv Section 4.2 1 S46-Rule tlv Section 4.4.1 2 S46-Rule tlv Section 4.4.1 3 S46-Rule tlv Section 4.4.1 4 S46-BR ipv6addr Section 4.4.2 5 S46-DMR ipv6prefix Section 4.4.3 6 S46-V4V6Bind tlv Section 4.4.4 7 S46-PORTPARAMS tlv Section 4.4.5 8 Rule-IPv6-Prefix ipv6prefix Section 4.5.1 9 Rule-IPv4-Prefix ipv4prefix Section 4.5.2 10 EA-Length integer Section 4.5.3 11 IPv4-address ipv4addr Section 4.6.1 12 Bind-IPv6-Prefix ipv6prefix Section 4.6.2 13 PSID-offset integer Section 4.7.1 14 PSID-len integer Section 4.7.2 15 PSID integer Section 4.7.3 16 ASM-Prefix64 ipv6prefix Section 4.9.1 17 SSM-Prefix64 ipv6prefix Section 4.9.2 18 U-Prefix64 ipv6prefix Section 4.9.3 19-255 Unassigned, TB2,TB3,TB4 will be assigned by IANA The registration procedure for this registry is Standards Action as defined in [RFC5226]. 6.3. S46 Mechanisms and Their Identifying Option Codes The Softwire46-Priority Attribute defines a 16-bit S46-option-code field, for which IANA is to create and maintain a new registry entitled "Option Codes Permitted in the Softwire46-Priority Attribute". This document requires IANA to register three option codes of the Softwire46 mechanisms permitted to be included in the Softwire46-Priority Attribute. The value of option code is corresponding to the TLV-Type defined in the Section 4.2. Additional options may be added to this list in the future using the IETF Review process described in Section 4.1 of [RFC5226]. Jiang, Ed., et al. Expires December 28, 2018 [Page 29] Internet-Draft draft-ietf-softwire-map-radius-16 June 2018 The following table shows the option codes that are 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 [RFC6519]. The option codes for MAP-E, MAP-T and Lightweight 4over6 need to be determined. 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 and the BNG. Security considerations for the Diameter protocol are discussed in [RFC6733]. 8. 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- Jiang, Ed., et al. Expires December 28, 2018 [Page 30] Internet-Draft draft-ietf-softwire-map-radius-16 June 2018 multicast-radius-ext-00, thanks to everyone who contributed to this draft. This document was produced using the xml2rfc tool [RFC7991]. 9. References 9.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, . [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, . [RFC3162] Aboba, B., Zorn, G., and D. Mitton, "RADIUS and IPv6", RFC 3162, DOI 10.17487/RFC3162, August 2001, . [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, . [RFC3575] Aboba, B., "IANA Considerations for RADIUS (Remote Authentication Dial In User Service)", RFC 3575, DOI 10.17487/RFC3575, July 2003, . [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, . [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA Considerations Section in RFCs", RFC 5226, DOI 10.17487/RFC5226, May 2008, . [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, . Jiang, Ed., et al. Expires December 28, 2018 [Page 31] Internet-Draft draft-ietf-softwire-map-radius-16 June 2018 [RFC6158] DeKok, A., Ed. and G. Weber, "RADIUS Design Guidelines", BCP 158, RFC 6158, DOI 10.17487/RFC6158, March 2011, . [RFC6929] DeKok, A. and A. Lior, "Remote Authentication Dial In User Service (RADIUS) Protocol Extensions", RFC 6929, DOI 10.17487/RFC6929, April 2013, . [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, . [RFC8044] DeKok, A., "Data Types in RADIUS", RFC 8044, DOI 10.17487/RFC8044, January 2017, . [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, . [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, . [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, . 9.2. Informative References [RFC2607] Aboba, B. and J. Vollbrecht, "Proxy Chaining and Policy Implementation in Roaming", RFC 2607, DOI 10.17487/RFC2607, June 1999, . [RFC2869] Rigney, C., Willats, W., and P. Calhoun, "RADIUS Extensions", RFC 2869, DOI 10.17487/RFC2869, June 2000, . Jiang, Ed., et al. Expires December 28, 2018 [Page 32] Internet-Draft draft-ietf-softwire-map-radius-16 June 2018 [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, . [RFC4301] Kent, S. and K. Seo, "Security Architecture for the Internet Protocol", RFC 4301, DOI 10.17487/RFC4301, December 2005, . [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, . [RFC6346] Bush, R., Ed., "The Address plus Port (A+P) Approach to the IPv4 Address Shortage", RFC 6346, DOI 10.17487/RFC6346, August 2011, . [RFC6519] Maglione, R. and A. Durand, "RADIUS Extensions for Dual- Stack Lite", RFC 6519, DOI 10.17487/RFC6519, February 2012, . [RFC6733] Fajardo, V., Ed., Arkko, J., Loughney, J., and G. Zorn, Ed., "Diameter Base Protocol", RFC 6733, DOI 10.17487/RFC6733, October 2012, . [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, . [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, . [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, . Jiang, Ed., et al. Expires December 28, 2018 [Page 33] Internet-Draft draft-ietf-softwire-map-radius-16 June 2018 [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, . [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, . [RFC7991] Hoffman, P., "The "xml2rfc" Version 3 Vocabulary", RFC 7991, DOI 10.17487/RFC7991, December 2016, . Additional Authors Jiang, Ed., et al. Expires December 28, 2018 [Page 34] Internet-Draft draft-ietf-softwire-map-radius-16 June 2018 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 Authors' Addresses Jiang, Ed., et al. Expires December 28, 2018 [Page 35] Internet-Draft draft-ietf-softwire-map-radius-16 June 2018 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 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 Beijing P.R. China Email: xiechf.bri@chinatelecom.cn Jiang, Ed., et al. Expires December 28, 2018 [Page 36] Internet-Draft draft-ietf-softwire-map-radius-16 June 2018 Tianxiang Li Tsinghua University Beijing 100084 P.R.China Email: peter416733@gmail.com Mohamed Boucadair Orange Rennes, 35000 France Email: mohamed.boucadair@orange.com Jiang, Ed., et al. Expires December 28, 2018 [Page 37]