RFC 6002 PROPOSED STANDARD ROUTING · GMPLS · LABELS

GMPLS DCSC: Generalized MPLS (GMPLS) Data Channel Switching Capable (DCSC) and Channel Set Label Extensions

Two additions to GMPLS: switching a whole channel, and carrying several labels in one path.

On rfc-editor.org ↗
PUBLISHED
October 2010
AUTHORS
L. Berger, D. Fedyk
STREAM
IETF
BUILDS ON
RFC 3471 — GMPLS signaling, RFC 3473 — GMPLS RSVP-TE, RFC 3945 — GMPLS Architecture, RFC 4202 — GMPLS routing, RFC 4203 — OSPF for GMPLS, RFC 5307 — IS-IS GMPLS
DCSC SWITCHING TYPE VALUE
125
CHANNEL_SET LABEL_REQUEST C-TYPE
5
CHANNEL_SET LABEL CLASS AND C-TYPE
Class 16, C-Type 4
MAXIMUM SUBCHANNELS PER SUBOBJECT
1024
SUBOBJECT SIZE
A multiple of 4 bytes, at least 4
NUMBER OF SUBCHANNELS FIELD
10 bits
DOI
10.17487/RFC6002

RFC text

Contents
Original text · RFC Editor View on rfc-editor.org ↗
Internet Engineering Task Force (IETF)                         L. Berger
Request for Comments: 6002                                          LabN
Updates: 3471, 3473, 3945, 4202, 4203, 5307                     D. Fedyk
Category: Standards Track                                 Alcatel-Lucent
ISSN: 2070-1721                                             October 2010


     Generalized MPLS (GMPLS) Data Channel Switching Capable (DCSC)
                    and Channel Set Label Extensions

Abstract

   This document describes two technology-independent extensions to
   Generalized Multi-Protocol Label Switching (GMPLS).  The first
   extension defines the new switching type Data Channel Switching
   Capable.  Data Channel Switching Capable interfaces are able to
   support switching of the whole digital channel presented on single
   channel interfaces.  The second extension defines a new type of
   generalized label and updates related objects.  The new label is
   called the Generalized Channel_Set Label and allows more than one
   data plane label to be controlled as part of a Label Switched Path
   (LSP).

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/rfc6002.

Copyright Notice

   Copyright (c) 2010 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.

Table of Contents

   1. Introduction ....................................................2
      1.1. Conventions Used in This Document ..........................3
   2. Data Channel Switching ..........................................3
      2.1. Compatibility ..............................................4
   3. Generalized Channel_Set Label Related Formats ...................4
      3.1. Generalized Channel_Set LABEL_REQUEST Object ...............4
      3.2. Generalized Channel_Set LABEL Object .......................4
      3.3. Other Label-Related Objects ................................7
      3.4. Compatibility ..............................................7
   4. IANA Considerations .............................................8
      4.1. Data Channel Switching Type ................................8
      4.2. Generalized Channel_Set LABEL_REQUEST Object ...............8
      4.3. Generalized Channel_Set LABEL Object .......................8
   5. Security Considerations .........................................9
   6. References ......................................................9
      6.1. Normative References .......................................9
      6.2. Informative References ....................................10
   Acknowledgments ...................................................10

1.  Introduction

   This document describes two technology-independent extensions to
   Generalized Multi-Protocol Label Switching (GMPLS).  Both of these
   extensions were initially defined in the context of Ethernet
   services, see [RFC6004] and [RFC6005], but are generic in nature and
   may be useful to any switching technology controlled via GMPLS.

   The first extension defines a new switching type, which is called
   Data Channel Switching Capable (DCSC).  DCSC interfaces are able to
   support switching of the whole digital channel presented on single
   channel interfaces.  The second extension defines a new type of
   generalized label and updates related objects.  The new label is
   called the Generalized Channel_Set Label and allows more than one
   data plane label to be controlled as part of a GMPLS Label Switched
   Path (LSP).

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 [RFC2119].

2.  Data Channel Switching

   Current GMPLS switching types are defined in [RFC3945] and [RFC3471]
   and support switching at the packet (PSC), frame (L2SC), time-slot
   (TDM), frequency (LSC), and fiber (FSC) granularities.  Parallel
   definitions for these switching types are also made in [RFC4202],
   [RFC4203], and [RFC5307].

   One type of switching that is not well represented in this current
   set is switching that occurs when all data received on an ingress
   port is switched through a network to an egress port.  While there
   are similarities between this level of switching and the "opaque
   single wavelength" case, described in Section 3.5 of [RFC4202], such
   port-to-port switching is not limited to the optical switching
   technology implied by the LSC type.  FSC is also similar, but it is
   restricted to fiber ports and also supports multiple data channels
   within a fiber port.

   This document defines a new switching type called Data Channel
   Switching Capable (DCSC).  Port switching seems a more intuitive
   name, but this naming collides with PSC so is not used.  DCSC
   interfaces are able to support switching of the whole digital channel
   presented on single channel interfaces.  Interfaces that inherently
   support multiple channels, e.g., Wavelength Division Multiplexing
   (WDM) and channelized TDM interfaces, are specifically excluded from
   this type.  Any interface that can be represented as a single digital
   channel are included.  Examples include concatenated TDM and line-
   encoded interfaces.  Framed interfaces may also be included when they
   support switching on an interface granularity, for example Ethernet
   terminated at the physical (port) level and all traffic received on a
   port is switched to a physical port at the LSP egress.

   DCSC is represented in GMPLS, see [RFC3471] and [RFC4202], using the
   value 125.  The DCSC value is carried in routing protocols in the
   Interface Switching Capability Descriptor defined in [RFC4202], and
   used in OSPF [RFC4203] and IS-IS [RFC5307].  These documents are not
   otherwise modified by this document.

   The DCSC Switching Type may be used with the Generalized Label
   Request object, [RFC3473], or the Generalized Channel_Set
   LABEL_REQUEST object defined below.  Port labels, as defined in
   [RFC3471], SHOULD be used for LSPs signaled using the DCSC Switching
   Type.

2.1.  Compatibility

   Transit and egress nodes that do not support the DCSC Switching Type
   when receiving a Path message with a Label Request containing the
   DCSC Switching Type will behave in the same way nodes generally
   handle the case of an unsupported Switching Type.  Specifically, per
   [RFC3473], such nodes are required to generate a PathErr message,
   with a "Routing problem/Unsupported Encoding" indication.

   Ingress nodes initiating a Path message containing a Label Request
   containing the DCSC Switching Type, receiving such a PathErr
   messages, then notify the requesting application user as appropriate.

3.  Generalized Channel_Set Label Related Formats

   This section defines a new type of generalized label and updates
   related objects.  This section updates the label-related definitions
   of [RFC3473].  The ability to communicate more than one label as part
   of the same LSP was motivated by the support for the communication of
   one or more VLAN IDs.  Simple concatenation of labels as is done in
   [RFC4606] was deemed impractical given the large number of VLAN IDs
   (up to 4096) that may need to be communicated.  The formats defined
   in this section are not technology specific and may be useful for
   other switching technologies.  The LABEL_SET object defined in
   [RFC3473] serves as the foundation for the defined formats.

3.1.  Generalized Channel_Set LABEL_REQUEST Object

   The Generalized Channel_Set LABEL_REQUEST object is used to indicate
   that the Generalized Channel_Set LABEL object is to be used with the
   associated LSP.  The format of the Generalized Channel_Set
   LABEL_REQUEST object is the same as the Generalized LABEL_REQUEST
   object and uses a C-Type of 5.

3.2.  Generalized Channel_Set LABEL Object

   The Generalized Channel_Set LABEL Object communicates one or more
   labels, all of which can be used equivalently in the data path
   associated with a single LSP.  The format of the Generalized
   Channel_Set LABEL Object is based on the LABEL_SET object defined in
   [RFC3473].  It differs from the LABEL_SET object in that the full set
   may be represented in a single object rather than the multiple
   objects required by the [RFC3473] LABEL_SET object.  The object MUST
   be used on LSPs that use the Generalized Channel_Set LABEL_REQUEST
   object.  The object MUST be processed per [RFC3473].  Make-before-
   break procedures, see [RFC3209], SHOULD be used when modifying the
   Channel_Set LABEL object.

   The format of the Generalized Channel_Set LABEL object is:

   o  Generalized Channel_Set LABEL object: Class = 16, C-Type = 4

       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                   Channel_Set Subobject 1                     |
      |                              ...                              |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      :                               :                               :
      :                               :                               :
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                   Channel_Set Subobject N                     |
      |                              ...                              |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   The Channel_Set Subobject size is measured in bytes and MUST always
   be a multiple of 4, and at least 4, and has the following format:

       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |    Action     |  Num Subchannels  |        Label Type         |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                          Subchannel 1                         |
      |                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |       ...                     |                               :
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               :
      :                               :                               :
      :                               :                               :
      :                               :                               :
      :                               :                               :
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                          Subchannel N                         |
      |                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |           ...                 |         Padding               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   Action: 8 bits

      See [RFC3471] for definition of actions.  Range actions SHOULD be
      used when possible to minimize the size of the Channel_Set LABEL
      Object.

   Number of Subchannels: 10 bits

      Indicates the number of subchannels carried in the subobject.
      When the number of subchannels required exceeds the limit of the
      field, i.e., 1024, multiple Channel_Set Subobjects MUST be used.
      Note that the size of the subobject may result in a Path message
      being larger than a single unfragmented IP packet.  See Section
      4.4 of [RFC6004] for an example of how this case may be handled.

      A value of zero (0) has special meaning and MAY be used in either
      the LABEL or UPSTREAM_LABEL object.  A value of zero (0) is used
      in a LABEL or UPSTREAM_LABEL object to indicate that the
      subchannel(s) used in the corresponding (downstream or upstream)
      direction MUST match the subchannel(s) carried in the reverse
      directions label object.  When value of zero (0) is used, no
      subchannels are included in the Channel_Set Subobject and only one
      Channel_Set Subobject may be present.  The zero (0) value MUST NOT
      be used in both the LABEL and UPSTREAM_LABEL objects of the same
      LSP.  Note that unacceptable label values continue to be handled
      according to [RFC3209] and [RFC3473], i.e., they result in PathErr
      or ResvErr messages with a "Routing problem/Unacceptable label
      value" indication.  For example, in the case where a Resv message
      containing a zero (0) in both the LABEL and UPSTREAM_LABEL objects
      is received, the node would generate a ResvErr message.

   Label Type: 14 bits

      See [RFC3473] for a description of this field.

   Subchannel: Variable

      See [RFC3471] for a description of this field.  Note that this
      field might not be 32-bit aligned.

   Padding: Variable

      Padding is used to ensure that the length of a Channel_Set
      Subobject meets the multiple of 4 byte size requirement stated
      above.  The field is only required when the Subchannel field is
      not 32-bit aligned and the number of included Subchannel fields
      result in the Subobject not being 32-bit aligned.

      The Padding field MUST be included when the number of bits
      represented in all the Subchannel fields included in a Generalized
      Channel_Set Subobject result in the Subobject not being 32-bit
      aligned.  When present, the Padding field MUST have a length that
      results in the Subobject being 32-bit aligned.  When present, the
      Padding field MUST be set to a zero (0) value on transmission and
      MUST be ignored on receipt.  These bits SHOULD be passed through
      unmodified by transit nodes.

      Note that the overall length of a Channel_Set Subobject is
      determined based on the value of the Num Subchannels field
      together with the size of each Subchannel field as well as any
      required padding.  The size of the Subchannel field is uniquely
      identified by the Label Type field.

3.3.  Other Label-Related Objects

   The previous section introduced a new LABEL object.  As such the
   formats of the other label-related objects and subobjects are also
   impacted.  Processing of these objects and subobjects is not modified
   and remains per their respective specifications.  The other label
   related objects and subobjects are defined in [RFC3473] and include:

      - SUGGESTED_LABEL object
      - LABEL_SET object
      - ACCEPTABLE_LABEL_SET object
      - UPSTREAM_LABEL object
      - RECOVERY_LABEL object
      - Label ERO subobject
      - Label RRO subobject

   The label-related objects and subobjects each contain a Label field,
   all of which may carry any label type.  As any label type may be
   carried, the introduction of a new label type means that the new
   label type may be carried in the Label field of each of the label-
   related objects and subobjects.  No new definition needs to specified
   as their original specification is label-type agnostic.

3.4.  Compatibility

   Transit and egress nodes that do not support the Generalized
   Channel_Set Label related formats will first receive a Path message
   containing Generalized Channel_Set LABEL_REQUEST object.  When such a
   node receives the Path message, per [RFC3209], it will send a PathErr
   with the error code "Unknown object C_Type".

   Ingress nodes initiating a Path message containing a Generalized
   Channel_Set LABEL_REQUEST object on receiving such a PathErr
   messages, then notify the requesting application user as appropriate.

4.  IANA Considerations

   IANA has assigned new values for namespaces defined in this document
   and summarized in this section.  The registries are available from
   http://www.iana.org.

4.1.  Data Channel Switching Type

   IANA has made the following assignment in the "Switching Types"
   section of the "GMPLS Signaling Parameters" registry.

      Value   Type                                   Reference
      -----   ------------------------------------   ---------
        125   Data Channel Switching Capable (DCSC)  [RFC6002]

   The assigned value is reflected in IANAGmplsSwitchingTypeTC of the
   IANA-GMPLS-TC-MIB available from http://www.iana.org.

4.2.  Generalized Channel_Set LABEL_REQUEST Object

   IANA has made the following assignment in the "Class Names, Class
   Numbers, and Class Types" section of the "RSVP PARAMETERS" registry.

   A new class type for the existing LABEL_REQUEST Object class number
   (19) with the following definition:

      Class Types or C-Types:

        5 Generalized Channel_Set                  [RFC6002]

4.3.  Generalized Channel_Set LABEL Object

   IANA has made the following assignment in the "Class Names, Class
   Numbers, and Class Types" section of the "RSVP PARAMETERS" registry.

   A new class type for the existing RSVP_LABEL Object class number (16)
   with the following definition:

      Class Types or C-Types:

        4 Generalized Channel_Set                  [RFC6002]

5.  Security Considerations

   This document introduces new message object formats for use in GMPLS
   signaling [RFC3473].  It does not introduce any new signaling
   messages, nor change the relationship between LSRs that are adjacent
   in the control plane.  As such, this document introduces no
   additional security considerations.  See [RFC3473] for relevant
   security considerations.  Additionally, the existing framework for
   MPLS and GMPLS security is documented in [RFC5920].

6.  References

6.1.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC3209]  Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V.,
              and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP
              Tunnels", RFC 3209, December 2001.

   [RFC3471]  Berger, L., Ed., "Generalized Multi-Protocol Label
              Switching (GMPLS) Signaling Functional Description", RFC
              3471, January 2003.

   [RFC3473]  Berger, L., Ed., "Generalized Multi-Protocol Label
              Switching (GMPLS) Signaling Resource ReserVation Protocol-
              Traffic Engineering (RSVP-TE) Extensions", RFC 3473,
              January 2003.

   [RFC3945]  Mannie, E., Ed., "Generalized Multi-Protocol Label
              Switching (GMPLS) Architecture", RFC 3945, October 2004.

   [RFC4202]  Kompella, K., Ed., and Y. Rekhter, Ed., "Routing
              Extensions in Support of Generalized Multi-Protocol Label
              Switching (GMPLS)", RFC 4202, October 2005.

   [RFC4203]  Kompella, K., Ed., and Y. Rekhter, Ed., "OSPF Extensions
              in Support of Generalized Multi-Protocol Label Switching
              (GMPLS)", RFC 4203, October 2005.

   [RFC5307]  Kompella, K., Ed., and Y. Rekhter, Ed., "IS-IS Extensions
              in Support of Generalized Multi-Protocol Label Switching
              (GMPLS)", RFC 5307, October 2008.

6.2.  Informative References

   [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.

   [RFC5920]  Fang, L., Ed., "Security Framework for MPLS and GMPLS
              Networks", RFC 5920, July 2010.

   [RFC6004]  Berger, L. and D. Fedyk, "Generalized MPLS (GMPLS) Support
              for Metro Ethernet Forum and G.8011 Ethernet Service
              Switching", RFC 6004, October 2010.

   [RFC6005]  Berger, L. and D. Fedyk, "Generalized MPLS (GMPLS) Support
              for Metro Ethernet Forum and G.8011 User Network Interface
              (UNI)", RFC 6005, October 2010.

Acknowledgments

   Dimitri Papadimitriou provided substantial textual contributions to
   this document and coauthored earlier versions of this document.

   The authors would like to thank Evelyne Roch, Stephen Shew, and
   Adrian Farrel for their valuable comments.

Authors' Addresses

   Lou Berger
   LabN Consulting, L.L.C.
   Phone: +1-301-468-9228
   EMail: lberger@labn.net

   Don Fedyk
   Alcatel-Lucent
   Groton, MA, 01450
   Phone: +1-978-467-5645
   EMail: donald.fedyk@alcatel-lucent.com

ISO Plain Language

On this page
PROBLEMGMPLS had no switching type for a link that carries one whole digital channel, and no way to send several data plane labels in a single path.
MECHANISMThe RFC defines a Data Channel Switching Capable switching type with the value 125, and a Generalized Channel_Set label object that carries a list of subchannels, each with its own label.
WHY IT MATTERSA GMPLS path can be set up over a single-channel interface and can carry a set of labels together, which is what Ethernet services with many VLAN identifiers need.

§1The Two Extensions

The document describes two technology-independent extensions to Generalized Multi-Protocol Label Switching. Both were initially defined in the context of Ethernet services, in RFC 6004 and RFC 6005, but they are generic in nature and may be useful to any switching technology controlled through GMPLS.

The first extension defines a new switching type called Data Channel Switching Capable, or DCSC. DCSC interfaces are able to support switching of the whole digital channel presented on single-channel interfaces. The second extension defines a new type of generalized label and updates the related objects. The new label is called the Generalized Channel_Set Label and allows more than one data plane label to be controlled as part of one GMPLS label switched path.

The first addition names a kind of interface that carries one channel and switches it whole. The second addition lets one path hold several labels at once, instead of one label per path.

§2Where DCSC Fits Among the Switching Types

The current GMPLS switching types are defined in RFC 3945 and RFC 3471, and support switching at the packet, frame, time-slot, frequency and fiber granularities. Parallel definitions are also made in RFC 4202, RFC 4203 and RFC 5307.

One type of switching is not well represented in that set: switching where all the data received on an ingress port is switched through the network to an egress port. There are similarities with the opaque single wavelength case of Section 3.5 of RFC 4202, but this port-to-port switching is not limited to the optical technology implied by the frequency switching type. Fiber switching is similar too, but it is restricted to fiber ports and also supports multiple data channels within a fiber port.

The new switching type is called Data Channel Switching Capable. Port switching would be a more intuitive name, but it collides with packet switching, so it is not used. DCSC interfaces support switching of the whole digital channel presented on single-channel interfaces. Interfaces that inherently support multiple channels, such as wavelength division multiplexing and channelised TDM interfaces, are specifically excluded from this type. Any interface that can be represented as a single digital channel is included. The examples given are concatenated TDM and line-encoded interfaces. Framed interfaces may also be included when they support switching at interface granularity, for example Ethernet terminated at the physical port level, where all the traffic received on a port is switched to a physical port at the path egress.

DCSC is represented in GMPLS using the value 125. That value is carried in the routing protocols in the Interface Switching Capability Descriptor of RFC 4202, and used in OSPF and IS-IS. Those documents are not otherwise modified.

GMPLS already has switching types for packets, frames, time slots, wavelengths and whole fibres. The new type covers the case of an interface that carries one channel: everything that arrives on it is switched to another port. Interfaces that carry several channels are excluded, because they are a different case.

§2.1Using the New Switching Type

The DCSC switching type may be used with the Generalized Label Request object of RFC 3473, or with the Generalized Channel_Set LABEL_REQUEST object defined in the document. Port labels, as defined in RFC 3471, should be used for paths signalled with the DCSC switching type.

Nodes that do not support the DCSC switching type and receive a Path message with a label request containing it behave in the way nodes generally handle an unsupported switching type: per RFC 3473, they generate a PathErr message with a Routing problem, Unsupported Encoding indication. An ingress node that initiated such a Path message, on receiving that error, notifies the requesting application user as appropriate.

A router that does not know the new switching type rejects the request with the usual error for an unknown encoding, and the node that asked tells the application which asked for the path.

§3Why a Label Can Hold Several Labels

The document defines a new type of generalized label and updates the related objects, updating the label-related definitions of RFC 3473. The ability to communicate more than one label as part of the same path was motivated by the support for communicating one or more VLAN identifiers. Simply concatenating labels, as done in RFC 4606, was deemed impractical given the large number of VLAN identifiers, up to 4096, that may need to be communicated. The formats defined here are not technology specific and may be useful for other switching technologies, and the LABEL_SET object of RFC 3473 serves as the foundation for them.

The Generalized Channel_Set LABEL_REQUEST object indicates that the Generalized Channel_Set LABEL object is to be used with the associated path. Its format is the same as the Generalized LABEL_REQUEST object and uses a C-Type of 5.

The Generalized Channel_Set LABEL object communicates one or more labels, all of which can be used equivalently in the data path associated with a single path. Its format is based on the LABEL_SET object of RFC 3473, and differs from it in that the full set may be represented in a single object rather than the multiple objects that the LABEL_SET object requires. The object must be used on paths that use the Generalized Channel_Set LABEL_REQUEST object, and it must be processed per RFC 3473. Make-before-break procedures should be used when modifying the Channel_Set LABEL object.

One path can carry several labels, and each of them works the same way in the data path. The reason is that a service may need a list of VLAN identifiers, and there can be thousands of them, so sending one label per identifier as separate objects does not scale.

THE THREE OBJECTS THE DOCUMENT ADDS OR CHANGES
ObjectClass and typeWhat it does
DCSC switching typeValue 125Describes an interface that carries and switches one whole digital channel
Generalized Channel_Set LABEL_REQUESTLABEL_REQUEST, C-Type 5Asks for the Generalized Channel_Set LABEL object on the path
Generalized Channel_Set LABELClass 16, C-Type 4Carries the list of subchannels, each with its own label

§3.2The Format of the Channel Set Label

The Generalized Channel_Set LABEL object has Class 16 and C-Type 4, and its body is a list of Channel_Set Subobjects, one after another.

The size of a Channel_Set Subobject is measured in bytes and must always be a multiple of 4, and at least 4. Its first three fields are the Action, 8 bits, which is defined in RFC 3471, with range actions recommended where possible to keep the object small; the Number of Subchannels, 10 bits, which says how many subchannels the subobject carries; and the Label Type, 14 bits, described in RFC 3473. The subchannels follow, each of variable length and described in RFC 3471, and the subchannel field might not be 32-bit aligned. Padding is used to make the length of the subobject a multiple of 4 bytes, and it is only required when the subchannels do not come out aligned.

When the number of subchannels needed exceeds the limit of the field, which is 1024, several Channel_Set Subobjects must be used. The size of the subobject may result in a Path message being larger than a single unfragmented IP packet. The document notes that a value of zero in the number of subchannels has a special meaning and may be used in either the LABEL or the UPSTREAM_LABEL object: it indicates that the subchannels used in the corresponding direction must match the subchannels carried in the reverse direction's label object. When zero is used, no subchannels are included in the subobject and only one Channel_Set Subobject may be present, and the zero value must not be used in both the LABEL and the UPSTREAM_LABEL objects of the same path. Label values that are unacceptable continue to be handled as RFC 3209 and RFC 3473 require, with a PathErr or ResvErr message carrying a Routing problem, Unacceptable label value indication. So a Resv message with a zero in both the LABEL and the UPSTREAM_LABEL objects makes the node generate a ResvErr.

The padding field must be included when the bits represented by all the subchannel fields do not leave the subobject 32-bit aligned, and when present its length must make the subobject aligned. It must be set to zero on transmission and ignored on receipt, and those bits should be passed through unmodified by transit nodes. The overall length of a subobject is determined by the number of subchannels, the size of each subchannel field, and any required padding, and the size of the subchannel field is uniquely identified by the Label Type field.

The object is a list of subobjects, each holding a count, a label type and the labels themselves. The list is padded so that it fits the alignment rules. A count of zero is a special case meaning that the two directions of the path use the same subchannels.

THE CHANNEL_SET SUBOBJECT HEADER
Channel_Set Subobject
FieldNameSizeValueDescription
ACTIONAction1 byteThe action defined in RFC 3471. Range actions keep the object small.
SUBCHANNELSNum Subchannels10 bitsHow many subchannels this subobject carries. A value of zero has a special meaning.
RESERVEDReserved6 bitsUnassigned bits.
TYPELabel Type14 bitsThe type of the labels that follow, which also fixes their size.
THE RULES THE SUBOBJECT HAS TO FOLLOW
  • SizeA multiple of 4 bytes, and at least 4 bytes.
  • Subchannel limitAt most 1024 subchannels in one subobject; more needs several subobjects.
  • A count of zeroMeans the two directions use the same subchannels. Only one subobject may then be present.
  • PaddingFills the subobject to a 32-bit boundary, set to zero on transmission and ignored on receipt.

§3.3The Other Label Objects and Older Nodes

Because the document introduces a new LABEL object, the formats of the other label-related objects and subobjects are also affected, although their processing is not modified and remains as their respective specifications state. The other label-related objects and subobjects are defined in RFC 3473 and are the SUGGESTED_LABEL object, the LABEL_SET object, the ACCEPTABLE_LABEL_SET object, the UPSTREAM_LABEL object, the RECOVERY_LABEL object, the Label ERO subobject and the Label RRO subobject.

Each of them contains a Label field, and all of those may carry any label type. Since any label type may be carried, the introduction of a new label type means that it may be carried in the Label field of each of these objects and subobjects, and no new definition needs to be given, because their original specification is label-type agnostic.

Nodes that do not support the Generalized Channel_Set Label formats first receive a Path message containing the Generalized Channel_Set LABEL_REQUEST object. Such a node, per RFC 3209, answers with a PathErr carrying the error code Unknown object C_Type. An ingress node that initiated such a Path message, on receiving that error, notifies the requesting application user as appropriate.

The other places where a label can appear, such as the recorded route and the upstream label, can all carry the new label type without any change to their own definitions. A node that does not know the new request object refuses it with an unknown-object error.

§4IANA Assignments

IANA has made three assignments. In the Switching Types section of the GMPLS Signaling Parameters registry, the value 125 has been assigned to Data Channel Switching Capable, and the assignment is reflected in the IANAGmplsSwitchingTypeTC object of the IANA-GMPLS-TC-MIB. In the Class Names, Class Numbers and Class Types section of the RSVP PARAMETERS registry, a new class type has been added for the existing LABEL_REQUEST object class number 19, with the value 5 for Generalized Channel_Set. A new class type has also been added for the existing RSVP_LABEL object class number 16, with the value 4 for Generalized Channel_Set.

The document asks IANA for three numbers: one for the new switching type, one for the new request object and one for the new label object.

§5Security Considerations

The document introduces new message object formats for use in GMPLS signalling. It does not introduce any new signalling messages, nor change the relationship between label switching routers that are adjacent in the control plane, and so it introduces no additional security considerations. The security considerations of RFC 3473 apply, and the existing framework for MPLS and GMPLS security is documented in RFC 5920.

Nothing here changes how routers talk to each other or what is protected between them, so the existing security rules for GMPLS signalling apply unchanged.

§9References

[RFC2119]RFC 2119Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.March 1997[RFC3209]RFC 3209Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V., and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP Tunnels", RFC 3209, December 2001.December 2001[RFC3471]RFC 3471Berger, L., Ed., "Generalized Multi-Protocol Label Switching (GMPLS) Signaling Functional Description", RFC 3471, January 2003.February 2003[RFC3473]RFC 3473Berger, L., Ed., "Generalized Multi-Protocol Label Switching (GMPLS) Signaling Resource ReserVation Protocol-Traffic Engineering (RSVP-TE) Extensions", RFC 3473, January 2003.February 2003[RFC3945]RFC 3945Mannie, E., Ed., "Generalized Multi-Protocol Label Switching (GMPLS) Architecture", RFC 3945, October 2004.November 2004[RFC4202]RFC 4202Kompella, K., Ed., and Y. Rekhter, Ed., "Routing Extensions in Support of Generalized Multi-Protocol Label Switching (GMPLS)", RFC 4202, October 2005.October 2005[RFC4606]RFC 4606Mannie, 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.August 2006[RFC5920]RFC 5920Fang, L., Ed., "Security Framework for MPLS and GMPLS Networks", RFC 5920, July 2010.July 2010[RFC6004]RFC 6004Berger, L. and D. Fedyk, "Generalized MPLS (GMPLS) Support for Metro Ethernet Forum and G.8011 Ethernet Service Switching", RFC 6004, October 2010.October 2010