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: [email protected]


  Julien Meuric
  France Telecom
  2, avenue Pierre Marzin
  22307 Lannion Cedex
  France

  Phone: +33 2 96 05 28 28
  EMail: [email protected]


  Lyndon Ong
  Ciena
  PO Box 308
  Cupertino, CA  95015
  USA

  Phone: +1 408 705 2978
  EMail: [email protected]

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: [email protected]


  Diego Caviglia
  Ericsson
  Via A. Negrone 1/A 16153
  Genoa Italy

  Phone: +39 010 600 3736
  EMail: [email protected]


  Richard Rabbat
  Google, Inc.
  1600 Amphitheatre Parkway
  Mountain View, CA  94043
  USA

  EMail: [email protected]


  Huub van Helvoort
  Huawei Technologies, Ltd.
  Kolkgriend 38, 1356 BC Almere
  The Netherlands

  Phone: +31 36 5315076
  EMail: [email protected]















Bernstein, et al.            Standards Track                   [Page 21]