TEAS C. Margaria, Ed.
Internet-Draft Juniper
Intended status: Standards Track G. Martinelli
Expires: August 6, 2015 Cisco
S. Balls
B. Wright
Metaswitch
February 2, 2015

LSP Attribute in ERO
draft-ietf-teas-lsp-attribute-ro-02

Abstract

RFC5420 extends RSVP-TE to specify or record generic attributes which apply to the whole of the path of an LSP. This document defines an extension to the RSVP ERO and RRO objects to allow it to specify or record generic attributes which apply to a given hop.

Status of This Memo

This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.

Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at http://datatracker.ietf.org/drafts/current/.

Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."

This Internet-Draft will expire on August 6, 2015.

Copyright Notice

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

Generalized MPLS (GMPLS) Traffic Engineering (TE) Label Switched Paths (LSPs) can be route-constrained by making use of the Explicit Route object (ERO) and related sub-objects as defined in [RFC3209], [RFC3473], [RFC3477], [RFC4873], [RFC4874], [RFC5520] and [RFC5553]. Several documents have identified the need for attributes that can be targeted at specific hops in the path of an LSP, including [RFC6163], [I-D.ietf-ccamp-wson-signaling], [I-D.ietf-teas-rsvp-te-li-lb] or [I-D.ali-ccamp-rc-objective-function-metric-bound]. This document provides a generic mechanism for use by these other documents.

RSVP already supports generic extension of LSP Attributes in [RFC5420]. In order to support current and future ERO constraint extensions this document defines a mechanism to define per-Hop attributes.

The document describes a generic mechanism for carrying information related to specific nodes when signaling an LSP. This document does not restrict what that information can be used for. The defined approach builds on LSP Attributes defined in [RFC5420], and enables attributes to be expressed in ERO and Secondary Explicit Route object (SERO) objects. A new ERO sub-object is defined, containing a list of generic per-Hop attributes.

1.1. Requirements Language

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. ERO Hop Attributes Subobject

The ERO Hop Attributes subobject may be carried in the ERO or SERO object if they are present. The subobject uses the standard format of an ERO subobject.

2.1. Encoding

The length is variable and content is a list of HOP Attributes TLVs defined in Section 2.2. The size of the ERO sub-object limits the size of the attribute TLV to 250 bytes. The typical size of currently defined and forthcoming LSP_ATTRIBUTE TLVs applicable to a specific hop (WSON_SIGNALING, Objective Function (OF) and Metric) is not foreseen to exceed this limit.

   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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |L|    Type     |     Length    |    Reserved                 |R|
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   //                      Attributes TLVs                        //
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
          
            

The ERO Hop Attributes subobject is defined as follows: [RFC3209] section 4.3.3. The L bit MUST be set to 0. The Type for the ERO Hop Attributes subobject is TBA by IANA. The attributes TLV are encoded as defined in section Section 2.2.

Reserved
Reserved, MUST be set to 0 when the subobject is inserted in the ERO, MUST NOT be changed when a node processes the ERO and MUST be ignored on the node addressed by the preceding ERO subobjects.
R
This bit reflects the LSP_REQUIRED_ATTRIBUTE and LSP_ATTRIBUTE semantic defined in [RFC5420]. When set it indicates required hop attributes to be processed by the node. When cleared, it indicates that the hop attributes are not required as described in Section Section 2.3.
Attributes TLVs
as defined in Section 2.2.

2.2. HOP Attributes TLVs

ERO Attributes carried by the new objects defined in this document are encoded within TLVs. One or more TLVs MAY be present in each object. There are no ordering rules for TLVs, and interpretation SHOULD NOT be placed on the order in which TLVs are received. The TLV format is defined in [RFC5420] section 3.

The Attribute Flags TLV defined in [RFC5420] MAY be carried in an ERO Hop Attributes Subobject. Flags set in the an Attribute Flags TLV [RFC5420] carried in a ERO Hop Attributes Subobject SHALL be interpreted in the context of the received ERO. Only a subset of defined flags are defined as valid for use in Attribute Flags TLV carried in a ERO Hop Attributes Subobject. Invalid flags SHALL be silently ignored. Unknown flags SHOULD trigger the generation of a PathErr with Error Code "Unknown Attributes Bit" as defined in [RFC5420] Section 5.2.

2.3. Procedures

As described in [RFC3209] and [RFC3473] the ERO is managed as a list where each hop information starts with a subobject identifying an abstract node or link. The ERO Hop Attributes subobject MAY be appended after any of the existing subobjects defined in [RFC3209], [RFC3473], [RFC3477], [RFC4873], [RFC4874], [RFC5520] and [RFC5553]. Several ERO Hop Attributes subobject MAY be present, for each hop.

Document defining specific Hop attribute TLV must describe after which kind of subobject they are valid and if TLV modification rules applies. For instance, subobject presence rules can be defined by describing rules similar to [RFC4990] section 6.1.

If a node is processing an ERO Hop Attributes subobject and does not support handling of the subobject it will behave as described in [RFC3209] when an unrecognized ERO subobject is encountered. This node will return a PathErr with error code "Routing Error" and error value "Bad EXPLICIT_ROUTE object" with the EXPLICIT_ROUTE object included, truncated (on the left) to the offending unrecognized subobject.

When the R bit is set a node MUST examine the attribute TLV present in the subobject following the rules described in [RFC5420] section 5.2. When the R bit is not set a node MUST examine the attribute TLV present in the subobject following the rules described in [RFC5420] section 4.2.

A node processing an ERO Hop Attributes subobject with an HOP Attributes TLV longer than the ERO subobject SHOULD return a PathErr with error code "Routing Error" and error value "Bad EXPLICIT_ROUTE object" with the EXPLICIT_ROUTE object included, truncated (on the left) to the offending malformed subobject. A processing node MUST NOT originates a HOP Attributes TLV longer than the ERO HOP Attributes Subobject. The processing of the Hop attribute TLVs SHOULD be described in the documents defining them.

3. RRO Hop Attributes Subobject

In some cases it is important to determine if an optional Hop attribute has been processed by a node.

3.1. Encoding

The RRO Hop Attributes subobject may be carried in the RECORD_ROUTE object if it is present. The subobject uses the standard format of an RRO subobject.

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |      Type     |     Length    |    Reserved                   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   //                      Attributes TLVs                        //
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
          
            

The RRO Hop Attributes subobject is defined as follows: [RFC3209] section 4.4.1. The Type for the RRO Hop Attributes subobject is TBA by IANA. The attributes TLV are encoded as defined in section Section 2.2.

Reserved
Reserved, must be set to 0 when the subobject is inserted in the RRO, MUST NOT be changed when a node process the RRO and must be ignored on the node addressed by the preceding RRO subobjects.
Attributes TLVs
The processed or additional HOP Attributes, using the format defined in Section 2.2.

3.2. Procedures

3.2.1. Subobject presence rule

The RRO rules defined in [RFC3209] are not changed. The RRO Hop Attributes subobject MUST be pushed after the RRO Attributes subobject (if present) defined in in [RFC5420]. The RRO Hop Attributes subobject MAY be present between a pair of subobjects identifying Label Switching Router (LSR) or links. Unless local policy apply all such subobjects SHOULD be forwarded unmodified by transit LSRs.

It is noted that a node (e.g. a domain edge node) may edit the RRO to prune/modify the RRO, including the RRO Hop Attribute subobject before forwarding due to confidentiality policy or other reasons (for instance RRO size reduction).

3.2.2. Reporting Compliance with ERO Hop Attributes

To report that an ERO Hop attribute has been considered, or to report an additional attribute, an LSR MAY add a RRO Hop Attributes subobject with the HOP Attribute TLV which describes the attribute to be reported. The requirement to report compliance MUST be specified in the document that defines the usage of an Hop attribute.

3.2.3. Compatibility with RRO Attributes subobject

The RRO Hop Attributes subobject extends the capability of the RRO Attributes subobject defined in [RFC5420] section 7.2 by allowing the node to report the attribute value. The mechanism defined in this document is compatible with the RRO Attributes subobject using the following procedures.

For LSP attributes signaled in the LSP_ATTRIBUTES or LSP_REQUIRED_ATTRIBUTES objects, a node SHOULD use the RRO Attributes subobject to report processing of those attributes.

For LSP attributes signaled in the ERO Hop Attributes subobject and not in the LSP_ATTRIBUTES or LSP_REQUIRED_ATTRIBUTES objects, if a node desires to report the attributes, it SHOULD use the RRO Hop Attributes subobject and SHOULD NOT use the RRO Attributes subobject. Ingress nodes not supporting the RRO Hop Attributes subobject will drop the information, as described in [RFC3209] section 4.4.5.

A node MAY use the RRO Hop Attribute to report a LSP Attribute signaled in LSP_ATTRIBUTES or LSP_REQUIRED_ATTRIBUTES only if the following conditions are met :

4. IANA Considerations

4.1. ERO Hop Attribute Subobject

IANA manages the "RSVP PARAMETERS" registry located at http://www.iana.org/assignments/rsvp-parameters/rsvp-parameters.xml. We request IANA to make an allocation in the Sub-object type 20 EXPLICIT_ROUTE - Type 1 Explicit Route registry.

This document introduces a new ERO sub-object:

Value Description Reference
------ ----------------- ------------------------
TBA Hop Attributes This document, Section 2

4.2. RRO LSP Attribute Subobject

IANA manages the "RSVP PARAMETERS" registry located at http://www.iana.org/assignments/rsvp-parameters/rsvp-parameters.xml. We request IANA to make an allocation in the Sub-object type 21 ROUTE_RECORD - Type 1 Route Record registry. We request the value to be the same as Section 4.1.

This document introduces a new RRO sub-object:

Value Description Reference
------ ----------------- ------------------------
TBA Hop Attributes This document, Section 3

4.3. Existing Attribute Flags

IANA manages the "Attribute Flags" registry as part of the "RSVP-TE PARAMETERS" registry located at http://www.iana.org/assignments/rsvp-te-parameters/rsvp-te-parameters.xml. A new column in the registry is introduced by this document. This column indicates if the flag is permitted to be used in a Attribute Flags TLV carried in the ERO Hop Attributes Subobject. The column uses the heading "ERO" and the registery is to be updated as follows:

Bit Name Attribute Attribute RRO ERO Reference
FlagsPath FlagsResv
0 End-to-end re-routing Yes No No No [RFC4920]
[RFC5420]
1 Boundary re-routing Yes No No No [RFC4920]
[RFC5420]
2 Segment-based re-routing Yes No No No [RFC4920]
[RFC5420]
3 LSP Integrity Required Yes No No No [RFC4875]
4 Contiguous LSP Yes No Yes No [RFC5151]
5 LSP stitching desired Yes No Yes No [RFC5150]
6 Pre-Planned LSP Flag Yes No No No [RFC6001]
7 Non-PHP behavior flag Yes No Yes No [RFC6511]
8 OOB mapping flag Yes No Yes No [RFC6511]
9 Entropy Label Capability Yes Yes No No [RFC6790]
10 OAM MEP entities desired Yes Yes Yes No [RFC7260]
11 OAM MIP entities desired Yes Yes Yes No [RFC7260]
12 SRLG collection Flag Yes Yes Yes No [I.D.draft-
(TEMPORARY - registered ietf-teas-
2014-09-11, expires rsvp-te-
2015-09-11) srlg-collect]

New allocation requests to this registry shall indicate the value to be used in the ERO column.

4.4. Existing LSP Attribute TLVs

IANA manages the "RSVP-TE PARAMETERS" registry located at http://www.iana.org/assignments/rsvp-te-parameters/rsvp-te-parameters.xml. The "Attributes TLV Space" registry manage the following attributes, as defined in [RFC5420]:

We request IANA to add the following information for each TLV in the RSVP TLV type identifier registry.

The existing registry is modified for existing TLVs as follows: The following abbreviation are used in the table:

LSP_A
Whether allowed on LSP_ATTRIBUTES object.
LSP_RA
Whether allowed on LSP_REQUIRED_ATTRIBUTES object.
HOP_A
Whether allowed on LSP Hop Attributes subobject.

T Name LSP_A LSP_RA HOP_A Ref.
- --------------------- ----- ------ ----- --------
1 Attribute Flags Yes Yes Yes [RFC5420]
2 Service ID TLV Yes No No [RFC6060]
3 OAM Configuration TLV Yes Yes No [RFC7260]

5. Security Considerations

This document adds new subobject in the EXPLICIT_ROUTE and the ROUTE_RECORD object carried in RSVP message used in MPLS and GMPLS signaling. It builds on mechanism defined in [RFC3209] and [RFC5420] and does not introduce any new security. The existing security considerations described in [RFC2205], [RFC3209], [RFC3473] and [RFC5420] do apply.

As any RSVP-TE signaling request, the procedures defined in this document permit the transfer and reporting of functional preferences on specific node. The mechanism added in this document does allow more control of LSP attributes at a given node. As other inputs, a node should check the Hop Attributes against his policies and admission procedures. A node may reject the message using existing RSVP error code like "Policy Control Failure" or "Admission Control Failure". The node may also, depending on the specific TLV procedures, modify the requested attribute. This may reveal information about the LSP request and status to anyone with unauthorized access. The mechanism described in this document do not contribute to this issue, which can be only resolved by encrypting the content of the whole signaling message.

In addition the reporting of attributes using the RRO may reveal details about the node that the operator wishes to remains confidential. The same strategy and policies that apply to other RRO subobjects also apply to this new mechanism. It is recommended that domain boundary policies take the releasing of RRO hop attributes into consideration.

6. Acknowledgments

The authors would like to thanks Lou Berger for his directions and Attila Takacs for inspiring this [I-D.kern-ccamp-rsvpte-hop-attributes]. The authors also thanks Dirk Schroetter for his contribution to the initial versions of the documents (version -00 up to -02).

7. References

7.1. Normative References

[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2205] Braden, B., Zhang, L., Berson, S., Herzog, S. and S. Jamin, "Resource ReSerVation Protocol (RSVP) -- Version 1 Functional Specification", RFC 2205, September 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.
[RFC3473] Berger, L., "Generalized Multi-Protocol Label Switching (GMPLS) Signaling Resource ReserVation Protocol-Traffic Engineering (RSVP-TE) Extensions", RFC 3473, January 2003.
[RFC3477] Kompella, K. and Y. Rekhter, "Signalling Unnumbered Links in Resource ReSerVation Protocol - Traffic Engineering (RSVP-TE)", RFC 3477, January 2003.
[RFC4873] Berger, L., Bryskin, I., Papadimitriou, D. and A. Farrel, "GMPLS Segment Recovery", RFC 4873, May 2007.
[RFC4874] Lee, CY., Farrel, A. and S. De Cnodder, "Exclude Routes - Extension to Resource ReserVation Protocol-Traffic Engineering (RSVP-TE)", RFC 4874, April 2007.
[RFC4875] Aggarwal, R., Papadimitriou, D. and S. Yasukawa, "Extensions to Resource Reservation Protocol - Traffic Engineering (RSVP-TE) for Point-to-Multipoint TE Label Switched Paths (LSPs)", RFC 4875, May 2007.
[RFC4920] Farrel, A., Satyanarayana, A., Iwata, A., Fujita, N. and G. Ash, "Crankback Signaling Extensions for MPLS and GMPLS RSVP-TE", RFC 4920, July 2007.
[RFC5150] Ayyangar, A., Kompella, K., Vasseur, JP. and A. Farrel, "Label Switched Path Stitching with Generalized Multiprotocol Label Switching Traffic Engineering (GMPLS TE)", RFC 5150, February 2008.
[RFC5151] Farrel, A., Ayyangar, A. and JP. Vasseur, "Inter-Domain MPLS and GMPLS Traffic Engineering -- Resource Reservation Protocol-Traffic Engineering (RSVP-TE) Extensions", RFC 5151, February 2008.
[RFC5420] Farrel, A., Papadimitriou, D., Vasseur, JP. and A. Ayyangarps, "Encoding of Attributes for MPLS LSP Establishment Using Resource Reservation Protocol Traffic Engineering (RSVP-TE)", RFC 5420, February 2009.
[RFC5520] Bradford, R., Vasseur, JP. and A. Farrel, "Preserving Topology Confidentiality in Inter-Domain Path Computation Using a Path-Key-Based Mechanism", RFC 5520, April 2009.
[RFC5553] Farrel, A., Bradford, R. and JP. Vasseur, "Resource Reservation Protocol (RSVP) Extensions for Path Key Support", RFC 5553, May 2009.
[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.
[RFC6060] Fedyk, D., Shah, H., Bitar, N. and A. Takacs, "Generalized Multiprotocol Label Switching (GMPLS) Control of Ethernet Provider Backbone Traffic Engineering (PBB-TE)", RFC 6060, March 2011.
[RFC6511] Ali, Z., Swallow, G. and R. Aggarwal, "Non-Penultimate Hop Popping Behavior and Out-of-Band Mapping for RSVP-TE Label Switched Paths", RFC 6511, February 2012.
[RFC6790] Kompella, K., Drake, J., Amante, S., Henderickx, W. and L. Yong, "The Use of Entropy Labels in MPLS Forwarding", RFC 6790, November 2012.
[RFC7260] Takacs, A., Fedyk, D. and J. He, "GMPLS RSVP-TE Extensions for Operations, Administration, and Maintenance (OAM) Configuration", RFC 7260, June 2014.

7.2. Informative References

[I-D.ali-ccamp-rc-objective-function-metric-bound] Ali, Z., Swallow, G., Filsfils, C., Fang, L., Kumaki, K., Kunze, R., Ceccarelli, D. and X. Zhang, "Resource ReserVation Protocol-Traffic Engineering (RSVP-TE) Extension for Signaling Objective Function and Metric Bound", Internet-Draft draft-ali-ccamp-rc-objective-function-metric-bound-05, February 2014.
[I-D.ietf-ccamp-wson-signaling] Bernstein, G., Xu, S., Lee, Y., Martinelli, G. and H. Harai, "Signaling Extensions for Wavelength Switched Optical Networks", Internet-Draft draft-ietf-ccamp-wson-signaling-09, September 2014.
[I-D.ietf-teas-rsvp-te-li-lb] Dong, J., Chen, M., Li, Z. and D. Ceccarelli, "GMPLS RSVP-TE Extensions for Lock Instruct and Loopback", Internet-Draft draft-ietf-teas-rsvp-te-li-lb-03, January 2015.
[I-D.ietf-teas-rsvp-te-srlg-collect] Zhang, F., Dios, O., Li, D., Margaria, C., Hartley, M. and Z. Ali, "RSVP-TE Extensions for Collecting SRLG Information", Internet-Draft draft-ietf-teas-rsvp-te-srlg-collect-00, December 2014.
[I-D.kern-ccamp-rsvpte-hop-attributes] Kern, A. and A. Takacs, "Encoding of Attributes of LSP intermediate hops using RSVP-TE", Internet-Draft draft-kern-ccamp-rsvpte-hop-attributes-00, October 2009.
[RFC4990] Shiomoto, K., Papneja, R. and R. Rabbat, "Use of Addresses in Generalized Multiprotocol Label Switching (GMPLS) Networks", RFC 4990, September 2007.
[RFC6163] Lee, Y., Bernstein, G. and W. Imajuku, "Framework for GMPLS and Path Computation Element (PCE) Control of Wavelength Switched Optical Networks (WSONs)", RFC 6163, April 2011.

Authors' Addresses

Cyril Margaria (editor) Juniper 200 Somerset Corporate Boulevard, , Suite 4001 Bridgewater, NJ 08807 USA EMail: cmargaria@juniper.net
Giovanni Martinelli Cisco via Philips 12 Monza, 20900 IT Phone: +39 039 209 2044 EMail: giomarti@cisco.com
Steve Balls Metaswitch 100 Church Street Enfield, EN2 6BQ GB Phone: +44 208 366 1177 EMail: steve.balls@metaswitch.com
Ben Wright Metaswitch 100 Church Street Enfield, EN2 6BQ GB Phone: +44 208 366 1177 EMail: Ben.Wright@metaswitch.com