CCAMP C. Margaria, Ed. Internet-Draft Nokia Siemens Networks Intended status: Standards Track G. Martinelli Expires: August 11, 2013 Cisco S. Balls B. Wright Metaswitch February 07, 2013 LSP Attribute in ERO draft-ietf-ccamp-lsp-attribute-ro-00 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 August 11, 2013. Copyright Notice Copyright (c) 2013 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 Margaria, et al. Expires August 11, 2013 [Page 1] Internet-Draft General ERO LSP parameters February 2013 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. Non solution . . . . . . . . . . . . . . . . . . . . . . . 5 3.2. Extended ERO Object . . . . . . . . . . . . . . . . . . . 5 3.2.1. Semantic of the Extended ERO object . . . . . . . . . 5 3.2.2. Procedures . . . . . . . . . . . . . . . . . . . . . . 5 3.2.3. Subobjects . . . . . . . . . . . . . . . . . . . . . . 6 3.2.4. Processing . . . . . . . . . . . . . . . . . . . . . . 9 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 August 11, 2013 [Page 2] Internet-Draft General ERO LSP parameters February 2013 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 presents 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 August 11, 2013 [Page 3] Internet-Draft General ERO LSP parameters February 2013 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 August 11, 2013 [Page 4] Internet-Draft General ERO LSP parameters February 2013 3. Solutions 3.1. Non solution A solution using a specific ERO or SERO subobject is not used because the subobject length is limited to 8 bit, versus 16 bit for LSP ATTRIBUTES. This does not allow to put LSP ATTRIBUTE subobjects in ERO subobjects. 3.2. Extended ERO Object The logic of the EXTENDED_EXPLICIT_ROUTE follows the one of SERO.The class of the EXTENDED_EXPLICIT_ROUTE object is xxx (of the form 11bbbbbb). The EXTENDED_EXPLICIT_ROUTE object has the following format: Class = xxx, C_Type = 1 The EXTENDED_EXPLICIT_ROUTE object may be used if some node along the explicit route support this object. The EXTENDED_EXPLICIT_ROUTE object is assigned a class value of the form 11bbbbbb, so it is forwarded by nodes not supporting it. 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | // (Subobjects) // | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Subobjects The contents of an EXTENDED_EXPLICIT_ROUTE object are a series of variable- length data items called subobjects. The subobjects are defined in section Section 3.2.3 below. 3.2.1. Semantic of the Extended ERO object Extended ERO object is carried in Path messages and carries a list of hops extended with hop-specific information. It is structured as a sequence of hop identifier subobjects (to indicate the hop who should process the subsequent attributes) and a series of hop attributes (which may be mandatory or optional) for the specified hop to process. 3.2.2. Procedures If a Path message contains multiple EXTENDED_EXPLICIT_ROUTE objects, only the first object is meaningful. Subsequent EXTENDED_EXPLICIT_ROUTE objects MAY be ignored and SHOULD NOT be propagated. An EXTENDED_EXPLICIT_ROUTE SHOULD contain at least 2 subobjects. The first subobject MUST indicate a node or link that Margaria, et al. Expires August 11, 2013 [Page 5] Internet-Draft General ERO LSP parameters February 2013 identifies a hop that should process the next subobject(s). The address used to identify the hop SHOULD also be listed in the ERO or an SERO. This ensures that the extended attribute is for a node or link along the LSP path. The second subobject SHOULD contains an extended node or link information. In this document this SHOULD be a LSP Attribute subobject. 3.2.3. Subobjects The content of an EXTENDED_EXPLICIT_ROUTE are a series of variable length subobjects. Each subobject has the following form 0 1 2 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+--------//-----------+ | Type | Length | (Subobject contents)| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+--------//-----------+ The Type indicates the type of contents of the subobject. Currently defined values are: 1 Hop identifier subobject containing an ERO subobject: IPv4 prefix IPv6 prefix Unnumbered Interface ID Autonomous system number Path Key with 32-bit PCE ID Path Key with 128-bit PCE ID Per-hop attributes: XX LSP Attribute Length The Length contains the total length of the subobject in bytes, including the Type and Length . The Length MUST be at least 4, and MUST be a multiple of 4. 3.2.3.1. Hop identifier The Hop identifier subobject contains exactly one ERO subobject identifying a hop. The value of the subobject is a copy of the ERO Margaria, et al. Expires August 11, 2013 [Page 6] Internet-Draft General ERO LSP parameters February 2013 subobject definition. The format of the subobject is as follow: 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 |L| sub Type | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Sub Length | (Subobject contents) ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type 0x01 Hop Identifier Length The Length contains the total length of the subobject in bytes, including the Type and Length fields. Sub type The ERO subobject type, the same as the ERO subobject type. the ERO type defined are : 1 IPv4 prefix 2 IPv6 prefix 3 Reserved 4 Unnumbered Interface ID 32 Autonomous system number 33 Reserved 37 Reserved 64 Path Key with 32-bit PCE ID 65 Path Key with 128-bit PCE ID Sub length The ERO subobject type, the same as the ERO subobject length. It its unchanged compared to the ERO subobject definition. Subobject contents The ERO subobject content, it its unchanged compared to the ERO subobject definition. Margaria, et al. Expires August 11, 2013 [Page 7] Internet-Draft General ERO LSP parameters February 2013 3.2.3.2. Hop LSP Attribute The LSP attribute subobject contains information targeted at the hop identified by the preceding hop identifier 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 |R| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | // Attributes TLVs // | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 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.2.3.3. 3.2.3.3. Processing Following [RFC3209] and [RFC3473] the Extended 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 hop identifier subobject (which follows the formatting of the objects defined in [RFC3209], [RFC3473], [RFC3477], [RFC4873], [RFC4874], [RFC5520] and [RFC5553]. Several LSP attribute subobject MAY be present for each hop identification object. 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] Margaria, et al. Expires August 11, 2013 [Page 8] Internet-Draft General ERO LSP parameters February 2013 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 for the same hop identification object, then the first one MUST be processed and the others SHOULD be ignored. 3.2.4. Processing A node receiving a Path message containing an EXTENDED_EXPLICIT_ROUTE object must determine if the extended hop information is applicable for this node. The node performs the following steps: 1. The node receiving the RSVP message MUST first evaluate if the ERO object is present. If the ERO object is not present it has received the message in error and SHOULD return a pathError message. 2. Second the node MUST read the first subobject. If the node is not part of the abstract node described by the first subobject, the processing stops. 3. If there is no second subobject this indicates the end of the extended ERO. The extended ERO SHOULD be removed from the Path message. A new extended ERO MAY be added to the Path message. 4. Next the node evaluates the second subobject. A. If the subobject identified an abstract node and the node is also part of the abstract node, then the node deletes the first subobject and continue processing with step 3. B. If the subobject identified an abstract node and the node is not part of the abstract node, then the extended ERO is invalid and the node SHOULD return a PathErr with error code "Routing Error" and error value "Bad EXTENDED_EXPLICIT_ROUTE object" with the EXTENDED_EXPLICIT_ROUTE object included, truncated (on the left) to the offending unrecognized subobject C. If the subobject is an LSP Attribute subobject it processes it according to the rules for that subobject and removes it from the extended ERO. If the extended ERO does not contain further subject it SHOULD be removed from the Path message. A new extended ERO MAY be added to the Path message. If a node finds a hop identification object which matches the local router handling of the subobject it will behave as described in Margaria, et al. Expires August 11, 2013 [Page 9] Internet-Draft General ERO LSP parameters February 2013 [RFC3209] when an unrecognized ERO subobject is encountered. This node will return a PathErr with error code "Routing Error" and error value "Bad EXTENDED_EXPLICIT_ROUTE object" with the EXTENDED_EXPLICIT_ROUTE object included, truncated (on the left) to the offending unrecognized subobject. Margaria, et al. Expires August 11, 2013 [Page 10] Internet-Draft General ERO LSP parameters February 2013 4. IANA Considerations TBD once a final approach has been chosen. Margaria, et al. Expires August 11, 2013 [Page 11] Internet-Draft General ERO LSP parameters February 2013 5. Security Considerations None. Margaria, et al. Expires August 11, 2013 [Page 12] Internet-Draft General ERO LSP parameters February 2013 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). Margaria, et al. Expires August 11, 2013 [Page 13] Internet-Draft General ERO LSP parameters February 2013 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 August 11, 2013 [Page 14] Internet-Draft General ERO LSP parameters February 2013 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 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 Ben Wright Metaswitch 100 Church Street Enfield EN2 6BQ UJ Phone: +44 208 366 1177 Email: Ben.Wright@metaswitch.com Margaria, et al. Expires August 11, 2013 [Page 15]