--- 1/draft-ietf-ccamp-lsp-attribute-ro-00.txt 2013-02-25 09:33:38.991792348 +0100 +++ 2/draft-ietf-ccamp-lsp-attribute-ro-01.txt 2013-02-25 09:33:39.007792354 +0100 @@ -1,22 +1,22 @@ CCAMP C. Margaria, Ed. Internet-Draft Nokia Siemens Networks Intended status: Standards Track G. Martinelli -Expires: August 11, 2013 Cisco +Expires: August 28, 2013 Cisco S. Balls B. Wright Metaswitch - February 07, 2013 + February 24, 2013 LSP Attribute in ERO - draft-ietf-ccamp-lsp-attribute-ro-00 + draft-ietf-ccamp-lsp-attribute-ro-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 @@ -26,21 +26,21 @@ 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. + This Internet-Draft will expire on August 28, 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 @@ -49,300 +49,141 @@ 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 + 3. ERO LSP Attribute Subobject . . . . . . . . . . . . . . . . . 5 + 3.1. ERO LSP_ATTRIBUTE subobject . . . . . . . . . . . . . . . 5 + 3.2. Procedures . . . . . . . . . . . . . . . . . . . . . . . . 6 + 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 + 5. Security Considerations . . . . . . . . . . . . . . . . . . . 8 + 6. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 9 + 7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 10 + 7.1. Normative References . . . . . . . . . . . . . . . . . . . 10 + 7.2. Informative References . . . . . . . . . . . . . . . . . . 10 + Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 12 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. + Those route constraints are extended by a number of documents, + including element defined in [RFC6163], + [I-D.ietf-ccamp-wson-signaling], + [I-D.dong-ccamp-rsvp-te-mpls-tp-li-lb] or + [I-D.ali-ccamp-rc-objective-function-metric-bound]. + + 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 target LSP attributes + at a specific hop. 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]. 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. -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 - 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 - 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 +3. ERO LSP Attribute Subobject - Sub length The ERO subobject type, the same as the ERO subobject - length. It its unchanged compared to the ERO subobject - definition. + 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. - Subobject contents The ERO subobject content, it its unchanged - compared to the ERO subobject definition. +3.1. ERO LSP_ATTRIBUTE subobject -3.2.3.2. Hop LSP Attribute + The length is variable and content MUST be the same as for the + LSP_ATTRIBUTE object with Attributes TLVs. The size of the ERO sub- + object limits the size of the LSP Attribute TLV to 250 bytes. The + typical size of currently defined and forthcoming LSP_ATTRIBUTE TLVs + applicable to a specific hop (WSON_SIGNALING, OF and Metric) is not + foreseen to exceed this limit. - The LSP attribute subobject contains information targeted at the hop - identified by the preceding hop identifier subobject. + 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | Type | Length | Reserved |R| + |L| Type | Length | Reserved |R| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | // Attributes TLVs // | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - The attributes TLV are encoded as defined in [RFC5420] section 3. + 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 + 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. + required as described in Section 3.2. -3.2.3.3. Processing + Attributes TLVs as defined in [RFC5420] section 3. - 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. +3.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, for each hop. + + 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 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 + section 4.2. - [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. + A node processing an LSP attribute subobject with an LSP_ATTRIBUTE + 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. The processing of the LSP_ATTRIBUTE + TLVs should be described in the documents defining them. 4. IANA Considerations TBD once a final approach has been chosen. 5. Security Considerations None. 6. Acknowledgments @@ -387,26 +228,51 @@ [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.ali-ccamp-rc-objective-function-metric-bound] + Ali, Z., Swallow, G., Filsfils, C., Fang, L., Kumaki, K., + and R. Kunze, "Resource ReserVation Protocol-Traffic + Engineering (RSVP-TE) extension for signaling Objective + Function and Metric Bound", + draft-ali-ccamp-rc-objective-function-metric-bound-02 + (work in progress), July 2012. + + [I-D.dong-ccamp-rsvp-te-mpls-tp-li-lb] + Dong, J., Chen, M., and Z. Li, "GMPLS RSVP-TE Extensions + for Lock Instruct and Loopback", + draft-dong-ccamp-rsvp-te-mpls-tp-li-lb-05 (work in + progress), December 2012. + + [I-D.ietf-ccamp-wson-signaling] + Bernstein, G., Xu, S., Lee, Y., Martinelli, G., and H. + Harai, "Signaling Extensions for Wavelength Switched + Optical Networks", draft-ietf-ccamp-wson-signaling-05 + (work in progress), February 2013. + [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. + [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) Nokia Siemens Networks St Martin Strasse 76 Munich, 81541 Germany Phone: +49 89 5159 16934 Email: cyril.margaria@nsn.com