Difference between revisions of "RFC6002"

From RFC-Wiki
 
Line 29: Line 29:
 
received public review and has been approved for publication by the
 
received public review and has been approved for publication by the
 
Internet Engineering Steering Group (IESG).  Further information on
 
Internet Engineering Steering Group (IESG).  Further information on
Internet Standards is available in Section 2 of RFC 5741.
+
Internet Standards is available in Section 2 of [[RFC5741|RFC 5741]].
  
 
Information about the current status of this document, any errata,
 
Information about the current status of this document, any errata,
Line 40: Line 40:
 
document authors.  All rights reserved.
 
document authors.  All rights reserved.
  
This document is subject to BCP 78 and the IETF Trust's Legal
+
This document is subject to [[BCP78|BCP 78]] and the IETF Trust's Legal
 
Provisions Relating to IETF Documents
 
Provisions Relating to IETF Documents
 
(http://trustee.ietf.org/license-info) in effect on the date of
 
(http://trustee.ietf.org/license-info) in effect on the date of
Line 55: Line 55:
 
Generalized Multi-Protocol Label Switching (GMPLS).  Both of these
 
Generalized Multi-Protocol Label Switching (GMPLS).  Both of these
 
extensions were initially defined in the context of Ethernet
 
extensions were initially defined in the context of Ethernet
services, see [[[RFC6004]]] and [[[RFC6005]]], but are generic in nature and
+
services, see [[RFC6004]] and [[RFC6005]], but are generic in nature and
 
may be useful to any switching technology controlled via GMPLS.
 
may be useful to any switching technology controlled via GMPLS.
  
Line 72: Line 72:
 
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
 
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
 
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
 
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [[[RFC2119]]].
+
document are to be interpreted as described in [[RFC2119]].
  
 
== Data Channel Switching ==
 
== Data Channel Switching ==
  
Current GMPLS switching types are defined in [[[RFC3945]]] and [[[RFC3471]]]
+
Current GMPLS switching types are defined in [[RFC3945]] and [[RFC3471]]
 
and support switching at the packet (PSC), frame (L2SC), time-slot
 
and support switching at the packet (PSC), frame (L2SC), time-slot
 
(TDM), frequency (LSC), and fiber (FSC) granularities.  Parallel
 
(TDM), frequency (LSC), and fiber (FSC) granularities.  Parallel
definitions for these switching types are also made in [[[RFC4202]]],
+
definitions for these switching types are also made in [[RFC4202]],
[[[RFC4203]]], and [[[RFC5307]]].
+
[[RFC4203]], and [[RFC5307]].
  
 
One type of switching that is not well represented in this current
 
One type of switching that is not well represented in this current
Line 86: Line 86:
 
port is switched through a network to an egress port.  While there
 
port is switched through a network to an egress port.  While there
 
are similarities between this level of switching and the "opaque
 
are similarities between this level of switching and the "opaque
single wavelength" case, described in Section 3.5 of [[[RFC4202]]], such
+
single wavelength" case, described in Section 3.5 of [[RFC4202]], such
 
port-to-port switching is not limited to the optical switching
 
port-to-port switching is not limited to the optical switching
 
technology implied by the LSC type.  FSC is also similar, but it is
 
technology implied by the LSC type.  FSC is also similar, but it is
Line 106: Line 106:
 
port is switched to a physical port at the LSP egress.
 
port is switched to a physical port at the LSP egress.
  
DCSC is represented in GMPLS, see [[[RFC3471]]] and [[[RFC4202]]], using the
+
DCSC is represented in GMPLS, see [[RFC3471]] and [[RFC4202]], using the
 
value 125.  The DCSC value is carried in routing protocols in the
 
value 125.  The DCSC value is carried in routing protocols in the
Interface Switching Capability Descriptor defined in [[[RFC4202]]], and
+
Interface Switching Capability Descriptor defined in [[RFC4202]], and
used in OSPF [[[RFC4203]]] and IS-IS [[[RFC5307]]].  These documents are not
+
used in OSPF [[RFC4203]] and IS-IS [[RFC5307]].  These documents are not
 
otherwise modified by this document.
 
otherwise modified by this document.
  
 
The DCSC Switching Type may be used with the Generalized Label
 
The DCSC Switching Type may be used with the Generalized Label
Request object, [[[RFC3473]]], or the Generalized Channel_Set
+
Request object, [[RFC3473]], or the Generalized Channel_Set
 
LABEL_REQUEST object defined below.  Port labels, as defined in
 
LABEL_REQUEST object defined below.  Port labels, as defined in
[[[RFC3471]]], SHOULD be used for LSPs signaled using the DCSC Switching
+
[[RFC3471]], SHOULD be used for LSPs signaled using the DCSC Switching
 
Type.
 
Type.
  
Line 124: Line 124:
 
DCSC Switching Type will behave in the same way nodes generally
 
DCSC Switching Type will behave in the same way nodes generally
 
handle the case of an unsupported Switching Type.  Specifically, per
 
handle the case of an unsupported Switching Type.  Specifically, per
[[[RFC3473]]], such nodes are required to generate a PathErr message,
+
[[RFC3473]], such nodes are required to generate a PathErr message,
 
with a "Routing problem/Unsupported Encoding" indication.
 
with a "Routing problem/Unsupported Encoding" indication.
  
Line 135: Line 135:
 
This section defines a new type of generalized label and updates
 
This section defines a new type of generalized label and updates
 
related objects.  This section updates the label-related definitions
 
related objects.  This section updates the label-related definitions
of [[[RFC3473]]].  The ability to communicate more than one label as part
+
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
 
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
 
one or more VLAN IDs.  Simple concatenation of labels as is done in
[[[RFC4606]]] was deemed impractical given the large number of VLAN IDs
+
[[RFC4606]] was deemed impractical given the large number of VLAN IDs
 
(up to 4096) that may need to be communicated.  The formats defined
 
(up to 4096) that may need to be communicated.  The formats defined
 
in this section are not technology specific and may be useful for
 
in this section are not technology specific and may be useful for
 
other switching technologies.  The LABEL_SET object defined in
 
other switching technologies.  The LABEL_SET object defined in
[[[RFC3473]]] serves as the foundation for the defined formats.
+
[[RFC3473]] serves as the foundation for the defined formats.
  
 
=== Generalized Channel_Set LABEL_REQUEST Object ===
 
=== Generalized Channel_Set LABEL_REQUEST Object ===
Line 158: Line 158:
 
associated with a single LSP.  The format of the Generalized
 
associated with a single LSP.  The format of the Generalized
 
Channel_Set LABEL Object is based on the LABEL_SET object defined in
 
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
+
[[RFC3473]].  It differs from the LABEL_SET object in that the full set
 
may be represented in a single object rather than the multiple
 
may be represented in a single object rather than the multiple
  
objects required by the [[[RFC3473]]] LABEL_SET object.  The object MUST
+
objects required by the [[RFC3473]] LABEL_SET object.  The object MUST
 
be used on LSPs that use the Generalized Channel_Set LABEL_REQUEST
 
be used on LSPs that use the Generalized Channel_Set LABEL_REQUEST
object.  The object MUST be processed per [[[RFC3473]]].  Make-before-
+
object.  The object MUST be processed per [[RFC3473]].  Make-before-
break procedures, see [[[RFC3209]]], SHOULD be used when modifying the
+
break procedures, see [[RFC3209]], SHOULD be used when modifying the
 
Channel_Set LABEL object.
 
Channel_Set LABEL object.
  
Line 208: Line 208:
 
Action: 8 bits
 
Action: 8 bits
  
   See [[[RFC3471]]] for definition of actions.  Range actions SHOULD be
+
   See [[RFC3471]] for definition of actions.  Range actions SHOULD be
 
   used when possible to minimize the size of the Channel_Set LABEL
 
   used when possible to minimize the size of the Channel_Set LABEL
 
   Object.
 
   Object.
Line 219: Line 219:
 
   Note that the size of the subobject may result in a Path message
 
   Note that the size of the subobject may result in a Path message
 
   being larger than a single unfragmented IP packet.  See Section
 
   being larger than a single unfragmented IP packet.  See Section
   4.4 of [[[RFC6004]]] for an example of how this case may be handled.
+
   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
 
   A value of zero (0) has special meaning and MAY be used in either
Line 231: Line 231:
 
   be used in both the LABEL and UPSTREAM_LABEL objects of the same
 
   be used in both the LABEL and UPSTREAM_LABEL objects of the same
 
   LSP.  Note that unacceptable label values continue to be handled
 
   LSP.  Note that unacceptable label values continue to be handled
   according to [[[RFC3209]]] and [[[RFC3473]]], i.e., they result in PathErr
+
   according to [[RFC3209]] and [[RFC3473]], i.e., they result in PathErr
 
   or ResvErr messages with a "Routing problem/Unacceptable label
 
   or ResvErr messages with a "Routing problem/Unacceptable label
 
   value" indication.  For example, in the case where a Resv message
 
   value" indication.  For example, in the case where a Resv message
Line 239: Line 239:
 
Label Type: 14 bits
 
Label Type: 14 bits
  
   See [[[RFC3473]]] for a description of this field.
+
   See [[RFC3473]] for a description of this field.
  
 
Subchannel: Variable
 
Subchannel: Variable
  
   See [[[RFC3471]]] for a description of this field.  Note that this
+
   See [[RFC3471]] for a description of this field.  Note that this
 
   field might not be 32-bit aligned.
 
   field might not be 32-bit aligned.
  
Line 275: Line 275:
 
impacted.  Processing of these objects and subobjects is not modified
 
impacted.  Processing of these objects and subobjects is not modified
 
and remains per their respective specifications.  The other label
 
and remains per their respective specifications.  The other label
related objects and subobjects are defined in [[[RFC3473]]] and include:
+
related objects and subobjects are defined in [[RFC3473]] and include:
  
 
   - SUGGESTED_LABEL object
 
   - SUGGESTED_LABEL object
Line 297: Line 297:
 
Channel_Set Label related formats will first receive a Path message
 
Channel_Set Label related formats will first receive a Path message
 
containing Generalized Channel_Set LABEL_REQUEST object.  When such a
 
containing Generalized Channel_Set LABEL_REQUEST object.  When such a
node receives the Path message, per [[[RFC3209]]], it will send a PathErr
+
node receives the Path message, per [[RFC3209]], it will send a PathErr
 
with the error code "Unknown object C_Type".
 
with the error code "Unknown object C_Type".
  
Line 317: Line 317:
 
   Value  Type                                  Reference
 
   Value  Type                                  Reference
 
   -----  ------------------------------------  ---------
 
   -----  ------------------------------------  ---------
     125  Data Channel Switching Capable (DCSC)  [[[RFC6002]]]
+
     125  Data Channel Switching Capable (DCSC)  [[RFC6002]]
  
 
The assigned value is reflected in IANAGmplsSwitchingTypeTC of the
 
The assigned value is reflected in IANAGmplsSwitchingTypeTC of the
Line 332: Line 332:
 
   Class Types or C-Types:
 
   Class Types or C-Types:
  
     5 Generalized Channel_Set                  [[[RFC6002]]]
+
     5 Generalized Channel_Set                  [[RFC6002]]
  
 
=== Generalized Channel_Set LABEL Object ===
 
=== Generalized Channel_Set LABEL Object ===
Line 344: Line 344:
 
   Class Types or C-Types:
 
   Class Types or C-Types:
  
     4 Generalized Channel_Set                  [[[RFC6002]]]
+
     4 Generalized Channel_Set                  [[RFC6002]]
  
 
== Security Considerations ==
 
== Security Considerations ==
  
 
This document introduces new message object formats for use in GMPLS
 
This document introduces new message object formats for use in GMPLS
signaling [[[RFC3473]]].  It does not introduce any new signaling
+
signaling [[RFC3473]].  It does not introduce any new signaling
 
messages, nor change the relationship between LSRs that are adjacent
 
messages, nor change the relationship between LSRs that are adjacent
 
in the control plane.  As such, this document introduces no
 
in the control plane.  As such, this document introduces no
additional security considerations.  See [[[RFC3473]]] for relevant
+
additional security considerations.  See [[RFC3473]] for relevant
 
security considerations.  Additionally, the existing framework for
 
security considerations.  Additionally, the existing framework for
MPLS and GMPLS security is documented in [[[RFC5920]]].
+
MPLS and GMPLS security is documented in [[RFC5920]].
  
 
== References ==
 
== References ==
Line 360: Line 360:
 
=== Normative References ===
 
=== Normative References ===
  
[[[RFC2119]]]  Bradner, S., "Key words for use in RFCs to Indicate
+
[[RFC2119]]  Bradner, S., "Key words for use in RFCs to Indicate
           Requirement Levels", BCP 14, RFC 2119, March 1997.
+
           Requirement Levels", [[BCP14|BCP 14]], [[RFC2119|RFC 2119]], March 1997.
  
[[[RFC3209]]]  Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V.,
+
[[RFC3209]]  Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V.,
 
           and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP
 
           and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP
           Tunnels", RFC 3209, December 2001.
+
           Tunnels", [[RFC3209|RFC 3209]], December 2001.
  
[[[RFC3471]]]  Berger, L., Ed., "Generalized Multi-Protocol Label
+
[[RFC3471]]  Berger, L., Ed., "Generalized Multi-Protocol Label
 
           Switching (GMPLS) Signaling Functional Description", RFC
 
           Switching (GMPLS) Signaling Functional Description", RFC
 
           3471, January 2003.
 
           3471, January 2003.
  
[[[RFC3473]]]  Berger, L., Ed., "Generalized Multi-Protocol Label
+
[[RFC3473]]  Berger, L., Ed., "Generalized Multi-Protocol Label
 
           Switching (GMPLS) Signaling Resource ReserVation Protocol-
 
           Switching (GMPLS) Signaling Resource ReserVation Protocol-
           Traffic Engineering (RSVP-TE) Extensions", RFC 3473,
+
           Traffic Engineering (RSVP-TE) Extensions", [[RFC3473|RFC 3473]],
 
           January 2003.
 
           January 2003.
  
[[[RFC3945]]]  Mannie, E., Ed., "Generalized Multi-Protocol Label
+
[[RFC3945]]  Mannie, E., Ed., "Generalized Multi-Protocol Label
           Switching (GMPLS) Architecture", RFC 3945, October 2004.
+
           Switching (GMPLS) Architecture", [[RFC3945|RFC 3945]], October 2004.
  
[[[RFC4202]]]  Kompella, K., Ed., and Y. Rekhter, Ed., "Routing
+
[[RFC4202]]  Kompella, K., Ed., and Y. Rekhter, Ed., "Routing
 
           Extensions in Support of Generalized Multi-Protocol Label
 
           Extensions in Support of Generalized Multi-Protocol Label
           Switching (GMPLS)", RFC 4202, October 2005.
+
           Switching (GMPLS)", [[RFC4202|RFC 4202]], October 2005.
  
[[[RFC4203]]]  Kompella, K., Ed., and Y. Rekhter, Ed., "OSPF Extensions
+
[[RFC4203]]  Kompella, K., Ed., and Y. Rekhter, Ed., "OSPF Extensions
 
           in Support of Generalized Multi-Protocol Label Switching
 
           in Support of Generalized Multi-Protocol Label Switching
           (GMPLS)", RFC 4203, October 2005.
+
           (GMPLS)", [[RFC4203|RFC 4203]], October 2005.
  
[[[RFC5307]]]  Kompella, K., Ed., and Y. Rekhter, Ed., "IS-IS Extensions
+
[[RFC5307]]  Kompella, K., Ed., and Y. Rekhter, Ed., "IS-IS Extensions
 
           in Support of Generalized Multi-Protocol Label Switching
 
           in Support of Generalized Multi-Protocol Label Switching
           (GMPLS)", RFC 5307, October 2008.
+
           (GMPLS)", [[RFC5307|RFC 5307]], October 2008.
  
 
=== Informative References ===
 
=== Informative References ===
  
[[[RFC4606]]]  Mannie, E. and D. Papadimitriou, "Generalized Multi-
+
[[RFC4606]]  Mannie, E. and D. Papadimitriou, "Generalized Multi-
 
           Protocol Label Switching (GMPLS) Extensions for
 
           Protocol Label Switching (GMPLS) Extensions for
 
           Synchronous Optical Network (SONET) and Synchronous
 
           Synchronous Optical Network (SONET) and Synchronous
           Digital Hierarchy (SDH) Control", RFC 4606, August 2006.
+
           Digital Hierarchy (SDH) Control", [[RFC4606|RFC 4606]], August 2006.
  
[[[RFC5920]]]  Fang, L., Ed., "Security Framework for MPLS and GMPLS
+
[[RFC5920]]  Fang, L., Ed., "Security Framework for MPLS and GMPLS
           Networks", RFC 5920, July 2010.
+
           Networks", [[RFC5920|RFC 5920]], July 2010.
  
[[[RFC6004]]]  Berger, L. and D. Fedyk, "Generalized MPLS (GMPLS) Support
+
[[RFC6004]]  Berger, L. and D. Fedyk, "Generalized MPLS (GMPLS) Support
 
           for Metro Ethernet Forum and G.8011 Ethernet Service
 
           for Metro Ethernet Forum and G.8011 Ethernet Service
           Switching", RFC 6004, October 2010.
+
           Switching", [[RFC6004|RFC 6004]], October 2010.
  
[[[RFC6005]]]  Berger, L. and D. Fedyk, "Generalized MPLS (GMPLS) Support
+
[[RFC6005]]  Berger, L. and D. Fedyk, "Generalized MPLS (GMPLS) Support
 
           for Metro Ethernet Forum and G.8011 User Network Interface
 
           for Metro Ethernet Forum and G.8011 User Network Interface
           (UNI)", RFC 6005, October 2010.
+
           (UNI)", [[RFC6005|RFC 6005]], October 2010.
  
 
Acknowledgments
 
Acknowledgments

Latest revision as of 01:29, 22 October 2020

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.

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

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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

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

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.

References

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.

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

Don Fedyk Alcatel-Lucent Groton, MA, 01450 Phone: +1-978-467-5645 EMail: [email protected]