CCAMP                                                   C. Margaria, Ed.
Internet-Draft                                              Coriant GmbH                                                   Juniper
Intended status: Standards Track                           G. Martinelli
Expires: January 16, August 17, 2014                                           Cisco
                                                                S. Balls
                                                               B. Wright
                                                              Metaswitch
                                                           July 15, 2013
                                                       February 13, 2014

                          LSP Attribute in ERO
                  draft-ietf-ccamp-lsp-attribute-ro-02
                  draft-ietf-ccamp-lsp-attribute-ro-03

Abstract

   LSP attributes can be specified

   RFC5420 extends RSVP-TE to specify or recorded for whole path, but they
   cannot be targeted record generic attributes which
   apply to a specific hop. the whole of the path of an LSP.  This document proposes
   alternative ways an
   extension to extend the semantic for RSVP ERO object and RRO objects to target
   LSP allow it to specify or
   record generic attributes which apply to a specific 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 January 16, August 17, 2014.

Copyright Notice

   Copyright (c) 2013 2014 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  . . . . . . . . . . . . . . . . . . . . . . . .   2
     1.1.  Contributing Authors  . . . . . . . . . . . . . . . . . .   2   3
     1.2.  Requirements Language . . . . . . . . . . . . . . . . . .   3
   2.  Requirements  . . . . . . . . . . . . . . . . . . . . . . . .   3
   3.  ERO  Specifying Hop Attribute  . . . . . . . . . . . . . . . . . . . . . . . .   3
     3.1.  ERO_ATTRIBUTE  ERO_HOP_ATTRIBUTE subobject . . . . . . . . . . . . . . . . .   3
     3.2.  HOP Attributes TLVs . . . . . . . . . . . . . . . . . . .   4
     3.3.  Procedures  . . . . . . . . . . . . . . . . . . . . . . .   5
   4.  Recording Hop attribute per LSP . . . . . . . . . . . . . . . . . . .   5
     4.1.  RRO Hop Attributes  RRO_HOP_ATTRIBUTE subobject . . . . . . . . . . . . . . .   5
     4.2.  Procedures  . . . . . . . . . . . . . . . . . . . . . . .   6
       4.2.1.  Subobject presence rule . . . . . . . . . . . . . . .   6
       4.2.2.  Reporting Compliance with ERO Hop Attributes  . . . .   6
   5.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   7
   6.  Security Considerations . . . . . . . . . . . . . . . . . . .   7
   7.  Acknowledgments . . . . . . . . . . . . . . . . . . . . . . .   7
   8.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   7
     8.1.  Normative References  . . . . . . . . . . . . . . . . . .   7
     8.2.  Informative References  . . . . . . . . . . . . . . . . .   8
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   8

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].
   Those route constraints are extended by a number
   Several documents have identified the need for attributes that can be
   targeted at specific hops in the path of documents, an LSP, 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],
   [I-D.ali-ccamp-rc-objective-function-metric-bound],. This document
   provides a generic mechanism for example the
   WSON_SIGNALING object, Metric and Objective Function subobjects. 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 target generic
   attributes at a specific hop. define per-Hop
   attributes.

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.  A
   mechanism similar to LSP attribute defined [RFC5420] should be
   expressed in ERO and SERO objects.  A new ERO sub-object is defined,
   containing a list of generic Hop per-Hop attributes.  The mechanism
   defined in this document limits itself to single HOP attributes, and
   does not address attributes valid for a LSP section [[This [[CREF1: This can
   be revised based on feedback]] feedback --Ed.]]

3.  ERO  Specifying Hop Attribute

   The ERO 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.  ERO_ATTRIBUTE  ERO_HOP_ATTRIBUTE subobject

   The length is variable and content MUST be the same as for the
   LSP_ATTRIBUTE object with is a list of HOP Attributes TLVs. TLVs
   defined in Section 3.2.  The size of the ERO sub-
   object sub-object limits the
   size of the LSP Attribute 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 ERO attribute ERO_HOP_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 section Section 3.2.

   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 defined in [RFC5420].  When set it indicates required LSP hop
      attributes to be processed by the node, when cleared node.  When cleared, it
      indicates that the LSP hop attributes are not required as described in
      Section Section 3.3.

   Attributes TLVs  as defined in Section 3.2 .

3.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 no interpretation
   should be placed on the order in which TLVs are received.

   Each TLV is encoded 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              |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      //                            Value                            //
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Type  The identifier of the TLV..

   Length  Indicates the total length of the TLV in octets.  That is,
      the combined length of the Type, Length, and Value fields, i.e.,
      four plus the length of the Value field in octets.  The entire TLV
      MUST be padded with between zero and three trailing zeros to make
      it four-octet aligned.  The Length field does not count any
      padding.

   Value  The data carried in the TLV.

3.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 attribute ERO_HOP_ATTRIBUTE subobject must be
   appended after the existing subobjects defined in [RFC3209],
   [RFC3473], [RFC3477], [RFC4873], [RFC4874], [RFC5520] and [RFC5553].
   Several
   ERO attribute ERO_HOP_ATTRIBUTE subobject MAY be present, for each hop.

   If a node is processing an ERO attribute ERO_HOP_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.

   A node processing an ERO attribute ERO_HOP_ATTRIBUTE subobject with an HOP
   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
   Hop attribute TLVs should be described in the documents defining
   them.

4.  Recording Hop attribute per LSP

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

4.1.  RRO Hop Attributes  RRO_HOP_ATTRIBUTE subobject

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

   The RRO Hop attribute RRO_HOP_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                   |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      //                      Attributes TLVs                        //
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   See [RFC3209] for a description of L parameters.  The attributes TLV
   are encoded as defined in section Section 3.2.

   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 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 addition HOP attributes, using the
      format defined in Section 3.2 .

4.2.  Procedures

4.2.1.  Subobject presence rule

   The RRO rules defined in [RFC3209] are not changed.  The RRO Hop
   attribute
   RRO_HOP_ATTRIBUTE subobject must be pushed after the RRO attribute
   subobject (if present) defined in in [RFC5420].  The RRO Hop attribute
   RRO_HOP_ATTRIBUTE subobject MAX MAY be present between a pait pair of
   subobject identifying LSR or links.  All such subobjects MUST be
   forwarded unmodified by transit LSRs.

4.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 RRO_HOP_ATTRIBUTE subobject
   with the HOP Attribute used. 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.  [[This  [[CREF2:
   This is not the most efficient encoding, a more efficient encoding
   would use a bit field ala RFC5420 ]] --Ed.]]

5.  IANA Considerations

   TBD once a final approach has been chosen.

6.  Security Considerations

   None.

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

8.  References

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

8.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, R., Ceccarelli, D., and X. Zhang, "Resource
              ReserVation Protocol-Traffic Engineering (RSVP-TE) extension
              Extension for signaling Signaling Objective Function and Metric
              Bound", draft-ali-ccamp-rc-objective-
              function-metric-bound-02 draft-ali-ccamp-rc-objective-function-metric-
              bound-04 (work in progress), July 2012. October 2013.

   [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-06
              (work in progress), July 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)
   Coriant GmbH
   St Martin Strasse 76
   Munich  81541
   Germany

   Phone: +49 89 5159 16934
   Juniper

   Email: cyril.margaria@coriant.com 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
   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