Internet Engineering Task Force (IETF) G. Bernstein, Ed. Request for Comments: 6344 Grotto Networking Updates: 4606 D. Caviglia Category: Standards Track Ericsson ISSN: 2070-1721 R. Rabbat Google H. van Helvoort Huawei August 2011 Operating Virtual Concatenation (VCAT) and the Link Capacity Adjustment Scheme (LCAS) with Generalized Multi-Protocol Label Switching (GMPLS) Abstract This document describes requirements for, and the use of, the Generalized Multi-Protocol Label Switching (GMPLS) control plane in support of the Virtual Concatenation (VCAT) layer 1 inverse multiplexing data plane mechanism and its companion Link Capacity Adjustment Scheme (LCAS). LCAS can be used for hitless dynamic resizing of the inverse multiplex group. These techniques apply to Optical Transport Network (OTN), Synchronous Optical Network (SONET), Synchronous Digital Hierarchy (SDH), and Plesiochronous Digital Hierarchy (PDH) signals. This document updates RFC 4606 by making modifications to the procedures for supporting virtual concatenation. Status of This Memo This is an Internet Standards Track document. This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 5741. Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at http://www.rfc-editor.org/info/rfc6344. Bernstein, et al. Standards Track [Page 1] RFC 6344 Operating VCAT and LCAS with GMPLS August 2011 Copyright Notice Copyright (c) 2011 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 (http://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. Bernstein, et al. Standards Track [Page 2] RFC 6344 Operating VCAT and LCAS with GMPLS August 2011 Table of Contents 1. Introduction ....................................................3 1.1. Conventions Used in This Document ..........................4 2. VCAT/LCAS Scenarios and Specific Requirements ...................4 2.1. VCAT/LCAS Interface Capabilities ...........................4 2.2. Member Signal Configuration Scenarios ......................5 2.3. VCAT Operation with or without LCAS ........................6 2.4. VCGs and VCG Members .......................................7 3. VCAT Data and Control Plane Concepts ............................7 4. VCGs Composed of a Single Member Set (One LSP) ..................8 4.1. One-Shot VCG Setup .........................................8 4.2. Incremental VCG Setup ......................................9 4.3. Procedure for VCG Reduction by Removing a Member ...........9 4.4. Removing Multiple VCG Members in One Shot .................10 4.5. Teardown of Whole VCG .....................................10 5. VCGs Composed of Multiple Member Sets (Multiple LSPs) ..........10 5.1. Signaled VCG Service Layer Information ....................11 5.2. CALL_ATTRIBUTES Object VCAT TLV ...........................12 5.3. Procedures for Multiple Member Sets .......................14 5.3.1. Setting Up a New VCAT Call and VCG Simultaneously ..14 5.3.2. Setting Up a VCAT Call and LSPs without a VCG ......14 5.3.3. Associating an Existing VCAT Call with a New VCG ...15 5.3.4. Removing the Association between a Call and VCG ....15 5.3.5. VCG Bandwidth Modification .........................15 6. Error Conditions and Codes .....................................16 7. IANA Considerations ............................................17 7.1. RSVP Call Attribute TLV ...................................17 7.2. RSVP Error Codes and Error Values .........................17 7.3. VCAT Elementary Signal Registry ...........................18 7.4. VCAT VCG Operation Actions ................................18 8. Security Considerations ........................................18 9. Contributors ...................................................19 10. Acknowledgments ...............................................19 11. References ....................................................19 11.1. Normative References .....................................19 11.2. Informative References ...................................20 1. Introduction The Generalized Multi-Protocol Label Switching (GMPLS) suite of protocols allows for the automated control of different switching technologies, including the Synchronous Optical Network (SONET), Synchronous Digital Hierarchy (SDH), Optical Transport Network (OTN), and Plesiochronous Digital Hierarchy (PDH). This document updates the procedures described in [RFC4606] to allow supporting additional Bernstein, et al. Standards Track [Page 3] RFC 6344 Operating VCAT and LCAS with GMPLS August 2011 applications of the Virtual Concatenation (VCAT) layer 1 inverse multiplexing mechanism that has been standardized for SONET, SDH, OTN, and PDH [ANSI-T1.105] [ITU-T-G.707] [ITU-T-G.709] [ITU-T-G.7043] technologies, along with its companion Link Capacity Adjustment Scheme (LCAS) [ITU-T-G.7042]. VCAT is a time-division multiplexing (TDM)-oriented byte striping inverse multiplexing method that works with a wide range of existing and emerging TDM framed signals, including very-high-bit-rate OTN and SDH/SONET signals. VCAT enables the selection of an optimal signal server bandwidth (size) utilizing a group of server signals and provides for efficient use of bandwidth in a mesh network. When combined with LCAS, hitless dynamic resizing of bandwidth and fast graceful degradation in the presence of network faults can be supported. To take full advantage of VCAT/LCAS functionality, additional extensions to GMPLS signaling are needed that enable the setup of diversely routed signals that are members of the same VCAT group. Note that the scope of this document is limited to scenarios where all member signals of a VCAT group are controlled using mechanisms defined in this document and related RFCs. Scenarios where a subset of member signals are controlled by a management plane or a proprietary control plane are outside the scope of this document. 1.1. Conventions Used in This Document The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [RFC2119]. 2. VCAT/LCAS Scenarios and Specific Requirements There are a number of specific requirements for the support of VCAT/LCAS in GMPLS that can be derived from the carriers' applications for the use of VCAT/LCAS. These are set out in the following section. 2.1. VCAT/LCAS Interface Capabilities In general, a label switched router (LSR) can be an ingress/egress of one or more VCAT groups. VCAT and LCAS are data plane interface capabilities. An LSR may have, for example, VCAT-capable interfaces that are not LCAS-capable. It may at the same time have interfaces that are neither VCAT-capable nor LCAS-capable. Bernstein, et al. Standards Track [Page 4] RFC 6344 Operating VCAT and LCAS with GMPLS August 2011 2.2. Member Signal Configuration Scenarios We list in this section the different scenarios. Here we use the [ITU-T-G.707] term "VCG" to refer to the VCAT group and the terminology "set" and "subset" to refer to the subdivision of the group and the individual VCAT group member signals. As noted above, the scope of these scenarios is limited to scenarios where all member signals are controlled using mechanisms defined in this document. The scenarios listed here are dependent on the terms "co-routed" and "diversely routed". In the context of this document, "co-routed" refers to a set of VCAT signals that all traverse the same sequence of switching nodes. Furthermore, a co-routed set of signals between any pair of adjacent nodes utilizes a set of links that have similar delay characteristics. Thus, "diversely routed" means a set of signals that are not classed as "co-routed". Fixed, co-routed: A fixed-bandwidth VCG, transported over a co-routed set of member signals. This is the case where the intended bandwidth of the VCG does not change and all member signals follow the same route to minimize differential delay. The application here is the capability to allocate an amount of bandwidth close to that required at the client layer. Fixed, diversely routed: A fixed-bandwidth VCG, transported over at least two diversely routed subsets of member signals. In this case, the subsets are link-disjoint over at least one link of the route. The application here is more efficient use of network resources, e.g., no unique route has the required bandwidth. Fixed, member sharing: A fixed-bandwidth VCG, transported over a set of member signals that are allocated from a common pool of available member signals without requiring member connection teardown and setup. This document only covers the case where this pool of "potential" member signals has been established via mechanisms defined in this document. Member signals need not be co-routed or be guaranteed to be diversely routed. Note that by the nature of VCAT, a member signal can only belong to one VCG at a time. To be used in a different VCG, a signal must first be removed from any VCG to which it may belong. Dynamic, co-routed: A dynamic VCG (bandwidth can be increased or decreased via the addition or removal of member signals), transported over a co-routed set of members. The application here is dynamic resizing and resilience of bandwidth. Bernstein, et al. Standards Track [Page 5] RFC 6344 Operating VCAT and LCAS with GMPLS August 2011 Dynamic, diversely routed: A dynamic VCG (bandwidth can be increased or decreased via the addition or removal of member signals), transported over at least two diversely routed subsets of member signals. The application here is efficient use of network resources, dynamic resizing, and resilience of bandwidth. Dynamic, member sharing: A dynamic-bandwidth VCG, transported over a set of member signals that are allocated from a common pool of available member signals without requiring member connection teardown and setup. 2.3. VCAT Operation with or without LCAS VCAT capabilities may be present with or without the presence of LCAS. The use of LCAS is beneficial in the provisioning of flexible bandwidth services, but in the absence of LCAS, VCAT is still a valid technique. Therefore, GMPLS mechanisms for the operation of VCAT are REQUIRED for both the case where LCAS is available and the case where it is not available. The GMPLS procedures for the two cases SHOULD be identical. o GMPLS signaling for LCAS-capable interfaces MUST support all scenarios described in Section 2.2 with no loss of traffic. o GMPLS signaling for non-LCAS-capable interfaces MUST support the "fixed" scenarios described in Section 2.2. To provide for these requirements, GMPLS signaling MUST carry the following information on behalf of the VCAT endpoints: o The type of the member signal that the VCG will contain, e.g., VC-3, VC-4, etc. o The total number of members to be in the VCG. This provides the endpoints in both the LCAS and non-LCAS case with information on which to accept or reject the request, and in the non-LCAS case will let the receiving endpoint know when all members of the VCG have been established. o Identification of the VCG and its associated members. This provides information that allows the endpoints to differentiate multiple VCGs and to tell what member, label switched paths (LSPs), to associate with a particular VCG. Bernstein, et al. Standards Track [Page 6] RFC 6344 Operating VCAT and LCAS with GMPLS August 2011 2.4. VCGs and VCG Members The signaling solution SHOULD provide a mechanism to support these scenarios: o VCG members (server-layer connections) may be set up prior to their use in a VCG. o VCG members (server-layer connections) may exist after their corresponding VCG has been removed. However, it is not required that any arbitrarily created server-layer connection be supported in the above scenarios, i.e., connections established without following the procedures described in this document. 3. VCAT Data and Control Plane Concepts When utilizing GMPLS with VCAT/LCAS, we use a number of control and data plane concepts described below. VCG - This is the group of data plane server-layer signals used to provide the bandwidth for the virtual concatenation link connection through a network ([ITU-T-G.7042]). VCG member - This is an individual data plane server-layer signal that belongs to a VCG ([ITU-T-G.7042]). Member set - One or more VCG members (or potential members) set up via the same control plane signaling exchange. Note that all members in a member set follow the same route. Data plane LSP - This is an individual VCG member. Control plane LSP - A control plane entity that can control multiple data plane LSPs. For our purposes here, this is equivalent to the member set. Call - A control plane mechanism for providing association between endpoints and possibly key transit points. Bernstein, et al. Standards Track [Page 7] RFC 6344 Operating VCAT and LCAS with GMPLS August 2011 4. VCGs Composed of a Single Member Set (One LSP) In this section and the next section, we will describe the procedures for supporting the applications described in Section 2. This section describes the support of a single VCG composed of a single member set (in support of the fixed, co-routed application and the dynamic, co-routed application) using existing GMPLS procedures [RFC4606]. Note that this section is included for informational purposes only and does not modify [RFC4606]. It is provided to show how the existing GMPLS procedures may be used. [RFC4606] provides the normative definition for GMPLS processing of VCGs composed of a single member set, and in the event of any conflict between this section and that document, [RFC4606] takes precedence. The existing GMPLS signaling protocols support a VCG composed of a single member set. Setup using the Number of Virtual Components (NVC) field is explained in Section 2.1 of [RFC4606]. In this case, one (single) control plane LSP is used in support of the VCG. There are two options for setting up the VCG, depending on policy preferences: one-shot setup and incremental setup. The following sections explain the procedure based on an example of setting up a VC-4-7v SDH VCAT group (corresponding to an STS-3c-7v SONET VCAT group), which is composed of 7 virtually concatenated VC-4s (or STS-3c). 4.1. One-Shot VCG Setup This section describes establishment of an LSP that supports all VCG members as part of the initial LSP establishment. To establish such an LSP, an RSVP-TE (Resource Reservation Protocol - Traffic Engineering) Path message is sent containing the SONET/SDH traffic parameters defined in [RFC4606]. In the case of this example: o Elementary signal is set to 6 (for VC-4/STS-3c_SPE). o NVC is set to 7 (number of members). o Per [RFC4606], a Multiplier Transform greater than 1 (say N > 1) may be used if the operator wants to set up N identical VCAT groups (for the same LSP). Bernstein, et al. Standards Track [Page 8] RFC 6344 Operating VCAT and LCAS with GMPLS August 2011 o SDH or SONET labels have to be assigned for each member of the VCG and concatenated to form a single Generalized Label constructed as an ordered list of 32-bit timeslot identifiers of the same format as TDM labels. [RFC4606] requires that the order of the labels reflect the order of the payloads to concatenate, and not the physical order of timeslots. o Refer to [RFC4606] for other traffic parameter settings. 4.2. Incremental VCG Setup In some cases, it may be necessary or desirable to set up the VCG members individually, or to add group members to an existing group. One example of this need is when the local policy requires that VCAT can only add VCAT members one at a time or cannot automatically match the members at the ingress and egress for the purposes of inverse multiplexing. Serial or incremental setup solves this problem. In order to accomplish incremental setup, an iterative process is used to add group members. For each iteration, NVC is incremented up to the final value required. A successful iteration consists of the successful completion of Path and Resv signaling. At first, NVC = 1, and the label includes just one timeslot identifier. At each of the next iterations, NVC is set to (NVC + 1), and one more timeslot identifier is added to the ordered list in the Generalized Label (in the Path or Resv message). A node that receives a Path message that contains changed fields will process the full Path message and, based on the new value of NVC, it will add a component signal to the VCAT group, and switch the new timeslot based on the new label information. Following the addition of the new label (identifying the new member) to the LSP, in the data plane, LCAS may be used to add the new member at the endpoints into the existing VCAT group. LCAS (data plane) signaling is described in [ITU-T-G.7042]. 4.3. Procedure for VCG Reduction by Removing a Member The procedure to remove a component signal is similar to that used to add components as described in Section 4.2. In the data plane, LCAS signaling is used first to take the component out of service from the group. LCAS signaling is described in [ITU-T-G.7042]. In this case, the NVC value is decremented by 1, and the timeslot identifier for the dropped component is removed from the ordered list in the Generalized Label. Bernstein, et al. Standards Track [Page 9] RFC 6344 Operating VCAT and LCAS with GMPLS August 2011 Note that for interfaces that are not LCAS-capable, removing one component of the VCG will result in failure detection of the member at the endpoint and failure of the whole group. So, this is a feature that only LCAS-capable VCAT interfaces can support without management intervention at the endpoints. Note that if using LCAS, a VCG member can be temporarily removed from the VCG due to a failure of the component signal. The LCAS data plane signaling will take appropriate actions to adjust the VCG as described in [ITU-T-G.7042]. 4.4. Removing Multiple VCG Members in One Shot The procedure is similar to that described in Section 4.3. In this case, the NVC value is changed to the new value, and all relevant timeslot identifiers for the components to be torn down are removed from the ordered list in the Generalized Label. This procedure is also not supported for VCAT-only interfaces without management intervention, as removing one or more components of the VCG will tear down the whole group. 4.5. Teardown of Whole VCG The entire LSP is deleted in a single step (i.e., all components are removed in one go) using the deletion procedures described in [RFC3473]. 5. VCGs Composed of Multiple Member Sets (Multiple LSPs) The motivation for VCGs composed of multiple member sets comes from the requirement to support VCGs with diversely routed members. The initial GMPLS specification did not support diversely routed signals using the NVC construct. [RFC4606] says: [...] The standard definition for virtual concatenation allows each virtual concatenation component to travel over diverse paths. Within GMPLS, virtual concatenation components must travel over the same (component) link if they are part of the same LSP. This is due to the way that labels are bound to a (component) link. Note, however, that the routing of components on different paths is indeed equivalent to establishing different LSPs, each one having its own route. Several LSPs can be initiated and terminated between the same nodes, and their corresponding components can then be associated together (i.e., virtually concatenated). The setup of diversely routed VCG members requires multiple VCG member sets, i.e., multiple control plane LSPs. Bernstein, et al. Standards Track [Page 10] RFC 6344 Operating VCAT and LCAS with GMPLS August 2011 The support of a VCG with multiple VCG member sets requires being able to identify separate sets of control plane LSPs with a single VCG and exchange information pertaining to the VCG as a whole between the endpoints. This document updates the procedures described in [RFC4606] to provide this capability by using the call procedures and extensions described in [RFC4974]. The VCG makes use of one or more calls (VCAT calls) to associate control plane LSPs in support of VCG server-layer connections (VCG members) in the data plane. Note that the trigger for the VCG (by management plane or client layer) is outside the scope of this document. These procedures provide for autonomy of the client layer and server layer with respect to their management. In addition, by supporting the identification of a VCG (VCG ID) and VCAT call identification (VCAT Call ID), support can be provided for the member-sharing scenarios, i.e., by explicitly separating the VCG ID from the VCAT call ID. Note that per [RFC4974], LSPs (connections) cannot be moved from one call to another; hence, to support member sharing, the procedures in this document provide support by moving call(s) and their associated LSPs from one VCG to another. Figure 1 below illustrates these relationships; however, note that VCAT calls can exist independently of a VCG (for connection pre-establishment), as will be described later in this document. +-------+ +-------------+ +-------+ +------------+ | |1 n| |1 n| |1 n| Data Plane | | VCG |<>----| VCAT Call |<>----| LSP |<>----| Connection | | | | | | | |(co-routed) | +-------+ +-------------+ +-------+ +------------+ Figure 1. Conceptual Containment Relationship between VCG, VCAT Calls, Control Plane LSPs, and Data Plane Connections 5.1. Signaled VCG Service Layer Information In this section, we provide information that will be communicated at the VCG level, i.e., between the VCG signaling endpoints using the call procedures described in [RFC4974]. To accommodate the VCG information, a new TLV is defined in this document for the CALL_ATTRIBUTES object [RFC6001] for use in the Notify message [RFC4974]. The Notify message is a targeted message and does not need to follow the path of LSPs through the network; i.e., there is no dependency on the member signaling for establishing the VCAT call, and the use of external call managers as described in [RFC4974] is not precluded. Bernstein, et al. Standards Track [Page 11] RFC 6344 Operating VCAT and LCAS with GMPLS August 2011 The following information is needed: 1. Signal type 2. Number of VCG members 3. LCAS requirements: a. LCAS required b. LCAS desired c. LCAS not supported 4. VCG Identifier - Used to identify a particular VCG separately from the call ID so that call members can be reused with different VCGs per the requirements for member sharing and the requirements of Section 2.4. 5.2. CALL_ATTRIBUTES Object VCAT TLV This document defines a CALL_ATTRIBUTES object VCAT TLV for use in the CALL_ATTRIBUTES object [RFC6001] 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 = 4 | Length = 12 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Signal Type | Number of Members | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |LCR| Reserved | Action | VCG ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type, as defined in [RFC6001]. This field MUST be set to 2. Length, as defined in [RFC6001]. This field MUST be set to 12. Signal Type: 16 bits The signal types can never be mixed in a VCG; hence, a VCAT call contains only one signal type. This field can take the following values and MUST never change over the lifetime of a VCG [ANSI-T1.105] [ITU-T-G.707] [ITU-T-G.709] [ITU-T-G.7043]: Bernstein, et al. Standards Track [Page 12] RFC 6344 Operating VCAT and LCAS with GMPLS August 2011 Value Type (Elementary Signal) ----- ------------------------- 1 VT1.5 SPE / VC-11 2 VT2 SPE / VC-12 3 STS-1 SPE / VC-3 4 STS-3c SPE / VC-4 11 ODU1 (i.e., 2.5 Gbit/s) 12 ODU2 (i.e., 10 Gbit/s) 13 ODU3 (i.e., 40 Gbit/s) 21 T1 (i.e., 1.544 Mbps) 22 E1 (i.e., 2.048 Mbps) 23 E3 (i.e., 34.368 Mbps) 24 T3 (i.e., 44.736 Mbps) Number of Members: 16 bits This field is an unsigned integer that MUST indicate the total number of members in the VCG (not just the call). This field MUST be changed (over the life of the VCG) to indicate the current number of members. LCR (LCAS Required): 2 bits This field can take the following values and MUST NOT change over the life of a VCG: Value Meaning ----- ------------------ 0 LCAS required 1 LCAS desired 2 LCAS not supported Action: 8 bits This field is used to indicate the relationship between the call and the VCG and has the following values: Value Meaning ----- ------------------------------------------------------- 0 No VCG ID (set up call prior to VCG creation) 1 New VCG for Call 2 Modification of Number of Members (no change in VCG ID) 3 Remove VCG from Call Bernstein, et al. Standards Track [Page 13] RFC 6344 Operating VCAT and LCAS with GMPLS August 2011 VCG Identifier (ID): 16 bits This field carries an unsigned integer that is used to identify a particular VCG within a session. The value of the field MUST NOT change over the lifetime of a VCG but MAY change over the lifetime of a call. 5.3. Procedures for Multiple Member Sets The creation of a VCG based on multiple member sets requires the establishment of at least one VCAT-layer call. VCAT-layer calls and related LSPs (connections) MUST follow the procedures as defined in [RFC4974], with the addition of the inclusion of a CALL_ATTRIBUTES object containing the VCAT TLV. Multiple VCAT layer calls per VCG are not required to support member sets, but are needed to support certain member-sharing scenarios. The remainder of this section provides specific procedures related to VCG signaling. The procedures described in [RFC4974] are only modified as discussed in this section. When LCAS is supported, the data plane will add or decrease the members per [ITU-T-G.7042]. When LCAS is not supported across LSPs, the data plane coordination across member sets is outside the scope of this document. 5.3.1. Setting Up a New VCAT Call and VCG Simultaneously To simultaneously set up a VCAT call and identify it with an associated VCG, a CALL_ATTRIBUTES object containing the VCAT TLV MUST be included in the Notify message at the time of call setup. The VCAT TLV Action field MUST be set to 1, which indicates that this is a new VCG for this call. LSPs MUST then be added to the call until the number of members reaches the number specified in the VCAT TLV. 5.3.2. Setting Up a VCAT Call and LSPs without a VCG To provide for pre-establishment of the server-layer connections for a VCG, a VCAT call MAY be established without an associated VCG identifier. In fact, to provide for the member-sharing scenarios, a pool of VCAT calls with associated connections (LSPs) can be established, and then one or more of these calls (with accompanying connections) can be associated with a particular VCG (via the VCG ID). Note that multiple calls can be associated with a single VCG but that a call MUST NOT contain members used in more than one VCG. Bernstein, et al. Standards Track [Page 14] RFC 6344 Operating VCAT and LCAS with GMPLS August 2011 To establish a VCAT call with no VCG association, a CALL_ATTRIBUTES object containing the VCAT TLV MUST be included at the time of call setup in the Notify message. The VCAT TLV Action field MUST be set to 0, which indicates that this is a VCAT call without an associated VCG. LSPs can then be added to the call. The Number of Members parameter in the VCAT TLV has no meaning at this point, since it reflects the intended number of members in a VCG and not in a call. 5.3.3. Associating an Existing VCAT Call with a New VCG A VCAT call that is not otherwise associated with a VCG may be associated with a VCG. To establish such an association, a Notify message MUST be sent with a CALL_ATTRIBUTES object containing a VCAT TLV. The TLV's Action field MUST be set to 1, and the VCG Identifier field MUST be set to correspond to the VCG. The Number of Members field MUST equal the sum of all LSPs associated with the VCG. Note that the total number of VCGs supported by a node may be limited; hence, on reception of any message with a change of VCG ID, this limit should be checked. Likewise, the sender of a message with a change of VCG ID MUST be prepared to receive an error response. Again, any error in a VCG may result in the failure of the complete VCG. 5.3.4. Removing the Association between a Call and VCG To reuse the server-layer connections in a call in another VCG, the current association between the call and a VCG MUST first be removed. To do this, a Notify message MUST be sent with a CALL_ATTRIBUTES object containing a VCAT TLV. The Action field of the TLV MUST be set to 3 (Remove VCG from Call). The VCG ID field is ignored and MAY be set to any value. The Number of Members field is also ignored and MAY be set to any value. When the association between a VCG and all existing calls has been removed, then the VCG is considered torn down. 5.3.5. VCG Bandwidth Modification The following cases may occur when increasing or decreasing the bandwidth of a VCG: 1. LSPs are added to or, in the case of a decrease, removed from a VCAT call already associated with a VCG. 2. An existing VCAT call (and corresponding LSPs) is associated with a VCG or, in the case of a decrease, has its association removed. Note that in the case of an increase, the call MUST NOT have any existing association with a VCG. Bernstein, et al. Standards Track [Page 15] RFC 6344 Operating VCAT and LCAS with GMPLS August 2011 The following sequence SHOULD be used when modifying the bandwidth of a VCG: 1. In both cases, prior to any other change, a Notify message MUST be sent with a CALL_ATTRIBUTES object containing a VCAT TLV for each of the existing VCAT calls associated with the VCG. The Action field of the TLV MUST be set to 2. The VCG ID field MUST be set to match the VCG. The Number of Members field MUST equal the sum of all LSPs that are anticipated to be associated with the VCG after the bandwidth change. The Notify message is otherwise formatted and processed to support call establishment as described in [RFC4974]. If an error is encountered while processing any of the Notify messages, the number of members is reverted to the pre-change value, and the increase is aborted. The reverted number of members MUST be signaled in a Notify message as described above. Failures encountered in processing these Notify messages are handled per [RFC4974]. 2. Once the existing calls have successfully been notified of the new number of members in the VCG, the bandwidth change can be made. The next step is dependent on the two cases defined above. In the first case defined above, the bandwidth change is made by adding (in the case of an increase) or removing (in the case of a decrease) LSPs to or from the VCAT call per the procedures defined in [RFC4974]. In the second case, the procedure defined in Section 5.3.3 is followed for an increase, and the procedure defined in Section 5.3.4 is followed for a decrease. 6. Error Conditions and Codes VCAT call and member LSP setup can be denied for various reasons. In addition to the call procedures and related error codes described in [RFC4974], below is a list of error conditions that can be encountered while using the procedures defined in this document. These fall under RSVP error code 39. These can occur when setting up a VCAT call or associating a VCG with a VCAT call. Error Value ------------------------------------ -------- VCG signal type not supported 1 LCAS option not supported 2 Max number of VCGs exceeded 3 Max number of VCG members exceeded 4 LSP Type incompatible with VCAT call 5 Unknown LCR (LCAS required) value 6 Unknown or unsupported ACTION 7 Bernstein, et al. Standards Track [Page 16] RFC 6344 Operating VCAT and LCAS with GMPLS August 2011 Any failure in call or LSP establishment MUST be treated as a failure of the VCG as a whole and MAY trigger the calls and LSPs associated with the VCG being deleted. 7. IANA Considerations 7.1. RSVP Call Attribute TLV IANA has made the following assignments in the "Call Attributes TLV" section of the "RSVP PARAMETERS" registry available from http://www.iana.org. IANA has made assignments from the Call Attributes TLV [RFC6001] portions of this registry. This document introduces a new Call Attributes TLV: TLV Value Name Reference --------- ---------------------- --------- 4 VCAT TLV [RFC6344] 7.2. RSVP Error Codes and Error Values A new RSVP Error Code and new Error Values are introduced. IANA assigned the following from the "RSVP Parameters" registry using the sub-registry "Error Codes and Globally-Defined Error Value Sub-Codes". o Error Codes: - VCAT Call Management (39) o Error Values: Meaning Value ------------------------------------ -------- VCG signal type not supported 1 LCAS option not supported 2 Max number of VCGs exceeded 3 Max number of VCG members exceeded 4 LSP Type incompatible with VCAT call 5 Unknown LCR (LCAS required) value 6 Unknown or unsupported ACTION 7 Bernstein, et al. Standards Track [Page 17] RFC 6344 Operating VCAT and LCAS with GMPLS August 2011 7.3. VCAT Elementary Signal Registry IANA created a registry to track elementary signal types as defined in Section 5.2. New allocations are by "IETF Review" [RFC5226]. IANA maintains the following information: - Value - Type (Elementary Signal) - RFC The available range is 0 - 65535. The registry has been initially populated with the values shown in Section 5.2 of this document. Value 0 is Reserved. Other values are marked Unassigned. 7.4. VCAT VCG Operation Actions IANA created a registry to track VCAT VCG operation actions as defined in Section 5.2. New allocations are by "IETF Review" [RFC5226]. IANA maintains the following information: - Value - Meaning - RFC The available range is 0 - 255. The registry has been initially populated with the values shown in Section 5.2 of this document. Other values are marked Unassigned. 8. Security Considerations This document introduces a specific use of the Notify message and ADMIN_STATUS object for GMPLS signaling as originally specified in [RFC3473] and as modified by [RFC4974]. It does not introduce any new signaling messages, nor does it change the relationship between LSRs that are adjacent in the control plane. The call information associated with diversely routed control plane LSPs, in the event of an interception, may indicate that these are members of the same VCAT group that take a different route, and may indicate to an interceptor that the VCG call desires increased reliability. See [RFC5920] for additional information on GMPLS security. Bernstein, et al. Standards Track [Page 18] RFC 6344 Operating VCAT and LCAS with GMPLS August 2011 9. Contributors Wataru Imajuku (NTT) 1-1 Hikari-no-oka Yokosuka Kanagawa 239-0847 Japan Phone +81-46-859-4315 EMail: imajuku.wataru@lab.ntt.co.jp Julien Meuric France Telecom 2, avenue Pierre Marzin 22307 Lannion Cedex France Phone: +33 2 96 05 28 28 EMail: julien.meuric@orange-ft.com Lyndon Ong Ciena PO Box 308 Cupertino, CA 95015 USA Phone: +1 408 705 2978 EMail: lyong@ciena.com 10. Acknowledgments The authors would like to thank Adrian Farrel, Maarten Vissers, Trevor Wilson, Evelyne Roch, Vijay Pandian, Fred Gruman, Dan Li, Stephen Shew, Jonathan Saddler, and Dieter Beller for extensive reviews and contributions to this document. 11. References 11.1. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC3473] Berger, L., Ed., "Generalized Multi-Protocol Label Switching (GMPLS) Signaling Resource ReserVation Protocol-Traffic Engineering (RSVP-TE) Extensions", RFC 3473, January 2003. Bernstein, et al. Standards Track [Page 19] RFC 6344 Operating VCAT and LCAS with GMPLS August 2011 [RFC4606] Mannie, E. and D. Papadimitriou, "Generalized Multi- Protocol Label Switching (GMPLS) Extensions for Synchronous Optical Network (SONET) and Synchronous Digital Hierarchy (SDH) Control", RFC 4606, August 2006. [RFC4974] Papadimitriou, D. and A. Farrel, "Generalized MPLS (GMPLS) RSVP-TE Signaling Extensions in Support of Calls", RFC 4974, August 2007. [RFC6001] Papadimitriou, D., Vigoureux, M., Shiomoto, K., Brungard, D., and JL. Le Roux, "Generalized MPLS (GMPLS) Protocol Extensions for Multi-Layer and Multi- Region Networks (MLN/MRN)", RFC 6001, October 2010. 11.2. Informative References [ANSI-T1.105] American National Standards Institute, "Synchronous Optical Network (SONET) - Basic Description including Multiplex Structure, Rates, and Formats", ANSI T1.105-2001, May 2001. [ITU-T-G.707] International Telecommunication Union, "Network Node Interface for the Synchronous Digital Hierarchy (SDH)", ITU-T Recommendation G.707, December 2003. [ITU-T-G.709] International Telecommunication Union, "Interfaces for the Optical Transport Network (OTN)", ITU-T Recommendation G.709, March 2003. [ITU-T-G.7042] International Telecommunication Union, "Link Capacity Adjustment Scheme (LCAS) for Virtual Concatenated Signals", ITU-T Recommendation G.7042, March 2006. [ITU-T-G.7043] International Telecommunication Union, "Virtual Concatenation of Plesiochronous Digital Hierarchy (PDH) Signals", ITU-T Recommendation G.7043, July 2004. [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 5226, May 2008. [RFC5920] Fang, L., Ed., "Security Framework for MPLS and GMPLS Networks", RFC 5920, July 2010. Bernstein, et al. Standards Track [Page 20] RFC 6344 Operating VCAT and LCAS with GMPLS August 2011 Authors' Addresses Greg M. Bernstein (editor) Grotto Networking Fremont, CA USA Phone: (510) 573-2237 EMail: gregb@grotto-networking.com Diego Caviglia Ericsson Via A. Negrone 1/A 16153 Genoa Italy Phone: +39 010 600 3736 EMail: diego.caviglia@ericsson.com Richard Rabbat Google, Inc. 1600 Amphitheatre Parkway Mountain View, CA 94043 USA EMail: rabbat@alum.mit.edu Huub van Helvoort Huawei Technologies, Ltd. Kolkgriend 38, 1356 BC Almere The Netherlands Phone: +31 36 5315076 EMail: hhelvoort@huawei.com Bernstein, et al. Standards Track [Page 21]