CCAMP C. Margaria, Ed. Internet-Draft Nokia Siemens Networks Intended status: Standards Track D. Schroetter Expires: January 16, 2013 NUTS:iX GmbH G. Martinelli Cisco S. Balls B. Wright Metaswitch July 15, 2012 LSP Attribute in ERO draft-margaria-ccamp-lsp-attribute-ero-01 Abstract LSP attributes can be specified or recorded for whole path, but they cannot be targeted to a specific hop. This document proposes alternative ways to extend the semantic for RSVP ERO object to target LSP attributes to a specific 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 January 16, 2013. Copyright Notice Copyright (c) 2012 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 Margaria, et al. Expires January 16, 2013 [Page 1] Internet-Draft General ERO LSP parameters July 2012 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 . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1. Contributing Authors . . . . . . . . . . . . . . . . . . . 3 1.2. Requirements Language . . . . . . . . . . . . . . . . . . 3 2. Requirements . . . . . . . . . . . . . . . . . . . . . . . . . 4 3. Solutions . . . . . . . . . . . . . . . . . . . . . . . . . . 5 3.1. ERO LSP Attribute Subobject . . . . . . . . . . . . . . . 5 3.1.1. ERO LSP_ATTRIBUTE subobject . . . . . . . . . . . . . 5 3.1.2. Procedures . . . . . . . . . . . . . . . . . . . . . . 6 3.1.3. Pros and Cons . . . . . . . . . . . . . . . . . . . . 6 3.2. Information carried in the LSP Attribute object . . . . . 7 3.2.1. Solution overview . . . . . . . . . . . . . . . . . . 7 3.2.2. ERO Hop Info Index Subobject . . . . . . . . . . . . . 7 3.2.3. RRO Hop Info Index Subobject . . . . . . . . . . . . . 8 3.2.4. LSP Attribute Hop Info TLV . . . . . . . . . . . . . . 8 3.2.5. Procedures . . . . . . . . . . . . . . . . . . . . . . 9 3.2.6. Pros and Cons . . . . . . . . . . . . . . . . . . . . 10 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11 5. Security Considerations . . . . . . . . . . . . . . . . . . . 12 6. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 13 7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 14 7.1. Normative References . . . . . . . . . . . . . . . . . . . 14 7.2. Informative References . . . . . . . . . . . . . . . . . . 14 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 15 Margaria, et al. Expires January 16, 2013 [Page 2] Internet-Draft General ERO LSP parameters July 2012 1. Introduction Generalized MPLS (GMPLS) Traffic Engineering (TE) Label Switched Paths (LSPs) can be route-constrained by making use of the Explicit Route (ERO) object and related sub-objects as defined in [RFC3209], [RFC3473], [RFC3477], [RFC4873], [RFC4874], [RFC5520] and [RFC5553]. This document proposes mechanisms to target LSP attributes at a specific hop. This document present several solutions for discussion, final document will contains only one document after WG consensus. 1.1. Contributing Authors 1.2. 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]. Margaria, et al. Expires January 16, 2013 [Page 3] Internet-Draft General ERO LSP parameters July 2012 2. Requirements The requirement is to provide a generic mechanism to carry information related to specific nodes when signaling an LSP. This document does not restrict what that information can be used for. LSP attribute defined [RFC5420] should be expressed in ERO and SERO objects. Margaria, et al. Expires January 16, 2013 [Page 4] Internet-Draft General ERO LSP parameters July 2012 3. Solutions 3.1. ERO LSP Attribute Subobject The ERO LSP 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. 3.1.1. ERO LSP_ATTRIBUTE subobject The length is variable and content MUST be the same as for the LSP_ATTRIBUTE object with Attributes TLVs. The ERO LSP attribute subobject is defined as follows: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |L| Type | Length | Reserved |R| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | // Attributes TLVs // | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ See [RFC3209] for a description of L parameters. The attributes TLV are encoded as defined in [RFC5420] section 3. Type x TBD by IANA. Length The Length contains the total length of the subobject in bytes, including the Type and Length fields. The Length MUST be always divisible by 4. Reserved Reserved, must be set to 0 when the subobject is inserted in the ERO, MUST NOT be changed when a node process 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. When set indicates required LSP attributes to be processed by the node, when cleared the LSP attributes are not required as described in Section 3.1.2. Margaria, et al. Expires January 16, 2013 [Page 5] Internet-Draft General ERO LSP parameters July 2012 Attributes TLVs as defined in [RFC5420] section 3. 3.1.2. 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 LSP attribute subobject must be appended after the existing subobjects defined in [RFC3209], [RFC3473], [RFC3477], [RFC4873], [RFC4874], [RFC5520] and [RFC5553]. Several LSP attribute subobject MAY be present. If a node is processing an LSP attribute 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. If more than one ERO LSP attribute subobject having the R bit set is present, the first one MUST be processed and the others SHOULD be ignored. If more than one ERO LSP attribute subject having the R bit cleared is present, the first one MUST be processed and the others SHOULD be ignored. [[anchor8: This need to be revised due to object length Pb --Ed.]] 3.1.3. Pros and Cons This solution minimize the changes to the ERO object and so implementations can access all per-hop information when processing the ERO. However, per hop ERO sub-objects are limited to 255 bytes in length which may limit its extensibility. Subsequent uses of this mechanism may wish to carry large amounts of contiguous information targeted at a single hop, which would need to split across multiple sub-objects. It also requires the sub-object to be duplicated multiple times in the ERO if the same information needs to be targeted at multiple nodes. Margaria, et al. Expires January 16, 2013 [Page 6] Internet-Draft General ERO LSP parameters July 2012 3.2. Information carried in the LSP Attribute object 3.2.1. Solution overview A new ERO/RRO sub-object (Hop info index) is defined to be an index/ pointer to a new TLV (Hop info) carried in the LSP_ATTRIBUTES object. This TLV is formed of sub-TLVs carrying information targeted at a specific node. 3.2.2. ERO Hop Info Index Subobject The ERO Hop Info Index subobject may be carried in the ERO or SERO object if they are present. The subobject uses the standard format of an ERO subobject. The ERO Hop info index subobject is defined as follows: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |L| Type | Length |R| Res | Index | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ See [RFC3209] for a description of L parameters. Type Type x TBD by IANA. Length The Length contains the total length of the subobject in bytes, including the Type and Length fields. The Length MUST be always divisible by 4. Res Reserved, must be set to 0 when the subobject is inserted in the ERO, MUST NOT be changed when a node process the ERO and must be ignored on the node addressed by the preceding ERO subobjects. R If set, the corresponding Hop Info TLV should be handled as required and according to the rules of the LSP_REQUIRED_ATTRIBUTE object. If clear, the corresponding Hop Info TLV should be handled as optional and according to the rules of the LSP_ATTRIBUTE object. This bit is present in the ERO to allow attributes mandatory on some node and optional on others. Index A value used to refer to an LSP Attribute Hop Info TLV containing information targeted at the node processing this ERO. Each hop on an LSP may have at most two ERO Hop Info Index subobjects associated with it. One for optional attributes, and one for Margaria, et al. Expires January 16, 2013 [Page 7] Internet-Draft General ERO LSP parameters July 2012 required attributes. Note that both these attributes are carried as separate Hop Info TLVs within the LSP_ATTRIBUTE object as they are not Required on the LSP as a whole. 3.2.3. RRO Hop Info Index Subobject The RRO Hop Info Index subobject may be carried in the RRO object if it is present. The subobject uses the standard format of an RRO subobject. The RRO Hop info index subobject is defined as follows: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | Res | Index | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type x TBD by IANA. Length The Length contains the total length of the subobject in bytes, including the Type and Length fields. The Length MUST be always divisible by 4. Res Reserved, must be set to 0 when the subobject is inserted in the ERO, MUST NOT be changed when a node process the ERO and must be ignored on the node addressed by the preceding ERO subobjects. Index A value used to refer to an LSP Attribute Hop Info TLV containing information targeted at the node processing this ERO. Each hop on an LSP may have at most one RRO Hop Info Index subobjects associated with it. 3.2.4. LSP Attribute Hop Info TLV The LSP Attribute Hop Info TLV may be carried in the LSP Attribute object if present. It MUST be carried if an ERO Hop Info Index subobject is present in an ERO or SERO. The LSP Attribute Hop Info TLV is defined as follows: Margaria, et al. Expires January 16, 2013 [Page 8] Internet-Draft General ERO LSP parameters July 2012 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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Index | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | // Sub-TLVs // | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type x TBD by IANA. Length The Length contains the total length of the subobject in bytes, including the Type and Length fields. The Length MUST be always divisible by 4. Index A value referred to by the Index field in the ERO Hop Info Index Subobject. Reserved Reserved, must be set to 0 when the subobject is inserted in the LSP Attributes, MUST NOT be changed when a node process the LSP Attributes and must be ignored on the node processing the Hop Info TLV. Sub-TLVs The information that is targeted at the specific hop or hops identified by the Index field. This document defines 1 sub-TLV type as below. 3.2.4.1. Per Hop Attribute sub-TLV The Per Hop Attribute sub-TLV is defined to be identical to the Attributes TLV in [RFC5420]. Thus using this sub-TLV means any Attribute TLV can now be targeted at specific nodes using the LSP Attribute Hop Info TLV. Note that this means the number space for the Type value of Attributes for the whole LSP and those that can only ever be targeted at specific hops is shared. 3.2.5. 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 Hop Info Index subobject must be appended Margaria, et al. Expires January 16, 2013 [Page 9] Internet-Draft General ERO LSP parameters July 2012 after the existing subobjects defined in [RFC3209], [RFC3473], [RFC3477], [RFC4873], [RFC4874], [RFC5520] and [RFC5553]. Only one Hop Info Index subobject may be added per node or link entry. If a node is processing an ERO Hop Info Index 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. If the node does supports the Hop Info Index subobject it will look for a corresponding (Both having the same Index field value) LSP Attribute Hop Info TLV in the LSP Attribute object. If one is not present it will return a PathErr with error code "Routing Error" and error value "Bad EXPLICIT_ROUTE object". A node processing the LSP Attribute Hop Info TLV should not alter it. It is valid for multiple ERO entries to refer to the same Hop Info TLV, thus targeting the same information at multiple nodes. The RRO Hop Info Index subobject should be processed according to the rules of section 7.3.1 of [RFC5420]. A node inserting an RRO Hop Info Index subobject should not also insert an RRO Attributes subobject. 3.2.6. Pros and Cons This solution is more complex in term of processing, but addresses some of the restrictions in the first solution. LSP Attribute TLVs allow a length of up to 65535 bytes and the indexing system allows multiple nodes to target the same information. The LSP Attribute Hop Info TLV may be extended by further sub-TLV types Other objects may be candidate to contain the Indexed ERO attribute, for instance the ERO object with a new C-Type. Margaria, et al. Expires January 16, 2013 [Page 10] Internet-Draft General ERO LSP parameters July 2012 4. IANA Considerations TBD once a final approach has been chosen. Margaria, et al. Expires January 16, 2013 [Page 11] Internet-Draft General ERO LSP parameters July 2012 5. Security Considerations None. Margaria, et al. Expires January 16, 2013 [Page 12] Internet-Draft General ERO LSP parameters July 2012 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]. Margaria, et al. Expires January 16, 2013 [Page 13] Internet-Draft General ERO LSP parameters July 2012 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. [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. [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. 7.2. Informative References [I-D.kern-ccamp-rsvpte-hop-attributes] Kern, A. and A. Takacs, "Encoding of Attributes of LSP intermediate hops using RSVP-TE", draft-kern-ccamp-rsvpte-hop-attributes-00 (work in progress), October 2009. Margaria, et al. Expires January 16, 2013 [Page 14] Internet-Draft General ERO LSP parameters July 2012 Authors' Addresses Cyril Margaria (editor) Nokia Siemens Networks St Martin Strasse 76 Munich, 81541 Germany Phone: +49 89 5159 16934 Email: cyril.margaria@nsn.com Dirk Schroetter NUTS:iX GmbH Langer Weg 88 Eschborn, 65185 DE Phone: +49 6173 39198411 Email: dirk.schroetter@nutsix.de 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 UJ Phone: +44 208 366 1177 Email: steve.balls@metaswitch.com Margaria, et al. Expires January 16, 2013 [Page 15] Internet-Draft General ERO LSP parameters July 2012 Ben Wright Metaswitch 100 Church Street Enfield EN2 6BQ UJ Phone: +44 208 366 1177 Email: Ben.Wright@metaswitch.com Margaria, et al. Expires January 16, 2013 [Page 16]