<?xml version="1.0" encoding="US-ASCII"?>
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>

<?rfc toc="yes"?>
<?rfc tocompact="yes"?>
<?rfc tocdepth="3"?>
<?rfc tocindent="yes"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes" ?>
<?rfc compact="no"?>
<?rfc subcompact="no"?>


<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
]>
<rfc category="std" number="7570" submissionType="IETF" consensus="yes"
     ipr="trust200902" >

  <front>

    <title abbrev="General ERO LSP Parameters">Label Switched Path (LSP) Attribute in the Explicit Route Object (ERO)</title>
    <author fullname="Cyril Margaria" initials="C." role="editor" surname="Margaria">
      <organization>Juniper</organization>
      <address>
        <postal>

          <street>200 Somerset Corporate Boulevard, Suite 4001</street>
          <city>Bridgewater</city>
          <region>NJ</region>
          <code>08807</code>
          <country>United States</country>
        </postal>
        <email>cmargaria@juniper.net</email>
      </address>
    </author>

    <author fullname="Giovanni Martinelli" initials="G.M."
            surname="Martinelli">
      <organization>Cisco</organization>

      <address>
        <postal>
          <street> via Philips 12</street>
          <code>20900</code>
          <city>Monza</city>
          <country>Italy</country>
        </postal>
        <phone>+39 039 209 2044</phone>
        <email>giomarti@cisco.com</email>
      </address>
    </author>
    <author fullname="Steve Balls" initials="S." surname="Balls">
      <organization>Metaswitch</organization>

      <address>
        <postal>
          <street>100 Church Street</street>
          <code>EN2 6BQ</code>
          <city>Enfield</city>
          <country>United Kingdom</country>
        </postal>
        <phone>+44 208 366 1177</phone>
        <email>steve.balls@metaswitch.com</email>
      </address>
    </author>
    <author fullname="Ben Wright" initials="B." surname="Wright">
      <organization>Metaswitch</organization>
      <address>
        <postal>
          <street>100 Church Street</street>
          <code>EN2 6BQ</code>
          <city>Enfield</city>
          <country>United Kingdom</country>
        </postal>
        <phone>+44 208 366 1177</phone>
        <email>Ben.Wright@metaswitch.com</email>
      </address>
    </author>


    <date month="July" year="2015" />
    <area>Routing</area>
    <workgroup>TEAS</workgroup>
    <keyword>RSVP-TE</keyword>
    <keyword>GMPLS</keyword>

    <abstract>
      <t>
      RFC 5420 extends RSVP-TE to specify or record generic attributes that apply to the whole of the path of a Label Switched Path (LSP). This document defines an extension to the RSVP Explicit Route Object (ERO) and Record Route Object (RRO) to allow them to specify or record generic attributes that apply to a given hop. </t>
    </abstract>
  </front>

  <middle>
    <section title="Introduction">
      <t>
        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 subobjects
	as defined in
	<xref target="RFC3209" />, <xref target="RFC3473" />, <xref target="RFC3477" />,
	<xref target="RFC4873" />, <xref target="RFC4874" />, <xref target="RFC5520" />, and
	<xref target="RFC5553" />.
        Several documents have identified the need for attributes that can be targeted
       at specific hops in the path of an LSP, including  <xref target="RFC6163" />, <xref target="WSON-SIG" />,
        <xref target="RFC7571" />, or <xref target="OBJ-FUN" />. This document provides a
        generic mechanism for use by these other documents.
	</t>
	<t>	
	RSVP already supports generic extension of LSP attributes in <xref target="RFC5420" />.  In order to support current and future ERO constraint extensions, this document provides a mechanism to define per-hop attributes.
      </t>
      <t>
	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 <xref target="RFC5420"/> and enables attributes to be
	expressed in ERO and Secondary Explicit Route Objects (SEROs). A
	new ERO subobject is defined, containing a list of generic per-hop
	attributes.
      </t>
      <section title ="Requirements Language">
        <t>
          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 <xref target="RFC2119"  >RFC 2119</xref>.
        </t>
      </section>
    </section>
    <section title="ERO Hop Attributes Subobject" anchor="ERO_Hop_atttribute">
      <t>
	The ERO Hop Attributes subobject is OPTIONAL. If used, it is carried in
	the ERO or SERO. The subobject uses the standard format of an ERO
	subobject.
      </t>
      <section title="Encoding">
        <t>
          The length is variable and content is a list of Hop Attributes TLVs defined in <xref target='hop_attribute_tlv' />.
	  The size of the ERO subobject limits the size of the Hop Attributes 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.
        </t>
        <t>
          The ERO Hop Attributes subobject is defined as follows:
          <figure>
            <artwork><![CDATA[
   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|
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   //                  Hop Attributes TLVs                        //
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
          ]]>
            </artwork>
          </figure>
          The L, Type, and Length parameters are as defined in <xref target="RFC3209"/>, Section 4.3.3.
	  The L bit MUST be set to 0.
	  The Type for the ERO Hop Attributes subobject is 35.
          The Hop Attributes TLVs are encoded as defined in <xref target='hop_attribute_tlv' />.
        </t>
        <t>
          <list style='hanging' >

            <t hangText='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.</t>
            <t hangText='R:'> This bit reflects the LSP_REQUIRED_ATTRIBUTE and LSP_ATTRIBUTE semantic defined in <xref target='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 <xref target="ERO_HOP_ATTRIBUTE_procedure" />.
	    </t>
            <t hangText='Hop Attributes TLVs:'>The TLVs as defined in  <xref target='hop_attribute_tlv' />.</t>
          </list>
        </t>
      </section>
      <section title="Hop Attributes TLVs" anchor='hop_attribute_tlv'>
        <t>
   ERO attributes carried by the new objects defined in this document are
   encoded within TLVs.  Each object MAY contain one or more TLVs.
   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 <xref target="RFC5420" />, Section 3.
        </t>
	<t>
	  The Attribute Flags TLV defined in  <xref target="RFC5420" /> is carried
	  in an ERO Hop Attributes subobject. Flags set in the Attribute Flags
	  TLV <xref target="RFC5420" /> carried in an 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 an 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
	   <xref target="RFC5420" />, Section 5.2.
	   The set of valid flags are defined in <xref target="IANA_ATTR_FLAG" />.
	</t>
	<t>
	  The presence and ordering rule of the Attribute Flags TLV in an ERO Hop Attributes subobject is defined by each Flag.
	  A document defining a flag to be used in an Attribute Flags TLV carried in the ERO Hop Attributes subobject has to describe:
	  <list style='symbols'>
	    <t>after which kinds of ERO subobject the flag is valid,</t>
	    <t>if ordering of the flag and other ERO subobjects
            associated with the same hop (e.g., Label subobjects) is significant,</t>
	    <t>if ordering is significant, how the flag is interpreted in
            association with the preceding subobjects, and</t>
	    <t>any flag modification rules that might apply.</t>
	  </list>
	</t>
      </section> 
      <section title="Procedures" anchor="ERO_HOP_ATTRIBUTE_procedure">
        <t>
          As described in <xref target="RFC3209" />, the ERO is managed as a list of subobjects
	  each identifying a specific entity, an abstract node, or a link that defines
	  a waypoint in the network path.  Identifying subobjects of various types are
	  defined in  <xref target="RFC3209" />, <xref target="RFC3477" />,
          <xref target="RFC4873" />, <xref target="RFC4874" />, <xref target="RFC5520" />, and
          <xref target="RFC5553" />.
	</t>
	<t>
	  <xref target="RFC3473" /> modified the ERO list by allowing one or two Label subobjects
	  to be interposed in the list after a subobject identifying a link.   One or more ERO Hop Attributes
	  subobjects applicable to a particular hop MAY be inserted directly after
	  any of the existing identifying subobjects defined in<xref target="RFC3209" />, <xref target="RFC3477" />,
          <xref target="RFC4873" />, <xref target="RFC4874" />, <xref target="RFC5520" />, and
          <xref target="RFC5553" />. If any Label subobjects
	  are present for a hop, the ERO Hop Attributes subobject(s) MAY also be
	  inserted after the Label subobjects.
	</t>
	<t>
	  The attributes specified in an ERO Hop Attributes subobject apply to the immediately preceding
	  subobject(s) in the ERO subobject list.
	</t>	
	<t>
	  A document defining a specific Hop Attributes TLV has to describe:
	  <list style='symbols'>
	    <t>after which kinds of ERO subobject they are valid,</t>
	    <t>if ordering of the Hop Attributes subobject and other ERO subobjects
            associated with the same hop (e.g., Label subobjects) is significant,</t>
	    <t>if ordering is significant, how the attribute is interpreted in
            association with the preceding ERO subobjects, and</t>
	    <t> any TLV modification rules that might apply.</t>
	  </list>
	  For instance, subobject presence rules can be defined by describing rules similar to <xref target="RFC4990" />, Section 6.1.	
	</t>

        <t>
          If a node is processing an ERO Hop Attributes subobject and does not support the
          handling of the subobject, it will behave as described in <xref target="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.</t>
          <t>
          When the R bit is set, a node MUST examine the attributes TLV present in the subobject following the rules described in <xref target="RFC5420" />, Section 5.2.
          When the R bit is not set, a node MUST examine the attributes TLV present in the subobject following the rules described in <xref target="RFC5420" />, Section 4.2.
        </t>
        <t>
          A node processing an ERO Hop Attributes subobject with a 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 originate a Hop Attributes TLV longer than the ERO Hop Attributes subobject.
          The processing of the Hop Attributes TLVs SHOULD be described in the documents defining them.
        </t>

      </section> 
    </section> 
    <section title='RRO Hop Attributes Subobject' anchor="RRO_Hop_atttribute">
      <t> In some cases, it is important to determine if an OPTIONAL hop attribute has been processed by a node.</t>
      <section title='Encoding'>
        <t>
	  The RRO Hop Attributes subobject is OPTIONAL. If used, it is carried in
	  the RECORD_ROUTE object. The subobject uses the standard format of an RRO
	  subobject.	
        </t>
        <t>
          The RRO Hop Attributes subobject is defined as follows:
          <figure>
            <artwork><![CDATA[
    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                   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   //                  Hop Attributes TLVs                        //
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
          ]]>
            </artwork>
          </figure>
          The Type and Length parameters are as defined in <xref target="RFC3209"/>, Section 4.4.1.
	  The Type for the RRO Hop Attributes subobject is 35.
          The Hop Attributes TLVs are encoded as defined in <xref target='hop_attribute_tlv' />.
        </t>
        <t>
          <list style='hanging' >
            <t hangText='Reserved:'> Reserved MUST be set to 0 when the subobject is inserted in the RRO, MUST NOT be changed when a node processes the RRO, and MUST be ignored on the node addressed by the preceding RRO subobjects.</t>
            <t hangText='Hop Attributes TLVs:'>The processed or additional Hop Attributes TLVs, using the format defined in  <xref target='hop_attribute_tlv' />.</t>
          </list>
        </t>	
      </section>
      <section title='Procedures'>
        <section title='Subobject Presence Rule'>
          <t> The RRO rules defined in <xref target="RFC3209" /> are not changed. The RRO Hop Attributes subobject MUST be pushed after the RRO Attributes subobject (if present) as defined in <xref target="RFC5420" />. The RRO Hop Attributes subobject MAY be present between a pair of subobjects identifying the Label Switching Router (LSR) or links. Unless local policy applies, all such subobjects SHOULD be forwarded unmodified by transit LSRs.</t>
	  <t>
	    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 Attributes subobject before forwarding due to confidentiality policy or other reasons (for instance, RRO size reduction).
	  </t>
        </section>
        <section title='Reporting Compliance with ERO Hop Attributes'>
          <t>
            To report that an ERO hop attribute has been considered, or to report an additional attribute, an LSR can add a
            RRO Hop Attributes subobject with the Hop Attributes TLV, which describes the attribute to be reported.

            The requirement to report compliance MUST be specified in the
            document that defines the usage of a hop attribute.
          </t>
        </section> 
	<section title='Compatibility with RRO Attributes Subobject'>
	  <t>
	    The RRO Hop Attributes subobject extends the capability of the RRO Attributes subobject defined in <xref target="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.
	  </t>
	  <t>
	    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.
	  </t>
	  <t>
	    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 <xref target="RFC3209" />, Section 4.4.5.
	  </t>
	  <t> A node can use the RRO Hop Attributes subobject to report an LSP attribute signaled in LSP_ATTRIBUTES or LSP_REQUIRED_ATTRIBUTES only if the following conditions are met:
	  <list>
	    <t>The attribute and its corresponding flag is allowed on both the LSP_ATTRIBUTES or LSP_REQUIRED_ATTRIBUTES and LSP Hop Attributes subobject.</t>
	    <t>The reporting of an LSP attribute signaled in LSP_ATTRIBUTES or LSP_REQUIRED_ATTRIBUTES in the RRO Hop Attribute is specified in the document defining that LSP attribute.</t>
	  </list>
	  </t>
	
	</section>
      </section> 
    </section> 
    <section title="IANA Considerations" anchor="IANA">
	  <section title="ERO Hop Attributes Subobject" anchor="IANA_ERO">
	    <t>
	      IANA manages the "Resource Reservation Protocol (RSVP)
	      Parameters" registry located at
<vspace />
	      &lt;http://www.iana.org/assignments/rsvp&nbhy;parameters&gt;.  Per
	      this document, IANA has
	      made an allocation in the Sub-object type 20 EXPLICIT_ROUTE -
	      Type 1 Explicit Route registry.
	    </t>
	    <t> This document introduces a new ERO subobject:</t>
	    <texttable  suppress-title='true' style='none'>
              <ttcol align='left'></ttcol>	
              <ttcol align='left'></ttcol>
              <ttcol align='left'></ttcol>
              <c>Value</c> <c>Description</c>      <c>Reference</c>
              <c>------</c><c>-----------------</c><c>------------------------</c>
              <c>35</c>   <c>Hop Attributes</c><c>This document, <xref target="ERO_Hop_atttribute" /> </c>
	    </texttable>
       </section>
	  <section title="RRO Hop Attributes Subobject" anchor="IANA_RRO">
	    <t>
	      IANA manages the "Resource Reservation Protocol (RSVP)
	      Parameters" registry located at
<vspace />
	      &lt;http://www.iana.org/assignments/rsvp-parameters&gt;.  Per
	      this document, IANA has
	      made an allocation in the Sub-object type 21 ROUTE_RECORD -
	      Type 1 Route Record registry.
	      This value is the same as that in <xref target="IANA_ERO" />.
	    </t>
	    <t> This document introduces a new RRO subobject:</t>
	    <texttable  suppress-title='true' style='none'>
              <ttcol align='left'></ttcol>
              <ttcol align='left'></ttcol>
              <ttcol align='left'></ttcol>
              <c>Value </c><c>Description</c>      <c>Reference</c>
              <c>------</c><c>-----------------</c><c>------------------------</c>
              <c>35</c>   <c>Hop Attributes</c><c>This document, <xref target="RRO_Hop_atttribute" /> </c>

	    </texttable>
       </section>
       <section title="Existing Attribute Flags" anchor="IANA_ATTR_FLAG">
	 <t>
	   IANA manages the "Attribute Flags" registry  as part of the
	   "Resource Reservation Protocol-Traffic Engineering (RSVP-TE)
	   Parameters" registry located at 
<vspace/>
&lt;http://www.iana.org/assignments/rsvp-te-parameters&gt;.  A new column in the registry is introduced
	   by this document.  This column indicates if the flag is permitted to be used in an Attribute Flags TLV carried in the ERO Hop Attributes subobject.
	   The column uses the heading "ERO" and the registry has been updated as follows:
	 </t>

	    <texttable  suppress-title='true' style='none'>
              <ttcol align='left'></ttcol> 
              <ttcol align='left'></ttcol> 
              <ttcol align='left'></ttcol> 
              <ttcol align='left'></ttcol> 
              <ttcol align='left'></ttcol> 
              <ttcol align='left'></ttcol> 
              <ttcol align='left'></ttcol> 	
	      <c>Bit</c><c>Name</c>                   <c>Attribute</c><c>Attribute</c><c>RRO</c><c>ERO</c><c>Reference</c>
              <c>No.</c><c></c>                       <c>FlagsPath</c><c>FlagsResv</c><c></c>   <c></c>   <c></c>
	      <c>0</c><c>End-to-end re-routing</c>    <c>Yes</c>
	      <c>No</c>       <c>No</c> <c>No</c> <c><xref target="RFC4920" />
	      <xref target="RFC5420" /></c>
              <c>  </c><c></c>                        <c></c>         <c></c>         <c></c>   <c></c>   <c>This Document</c>
	      <c>1</c><c>Boundary re-routing</c>      <c>Yes</c>
	      <c>No</c>       <c>No</c> <c>No</c> <c><xref target="RFC4920" />
	      <xref target="RFC5420" /></c>
              <c>  </c><c></c>                        <c></c>         <c></c>         <c></c>   <c></c>   <c>This Document</c>
	      <c>2</c><c>Segment-based re-routing</c> <c>Yes</c>
	      <c>No</c>       <c>No</c> <c>No</c> <c><xref target="RFC4920" />
	      <xref target="RFC5420" /></c>
              <c>  </c><c></c>                        <c></c>         <c></c>         <c></c>   <c></c>   <c>This Document</c>
	      <c>3</c><c>LSP Integrity Required</c>   <c>Yes</c>
	      <c>No</c>       <c>No</c> <c>No</c> <c><xref target="RFC4875" /></c>
              <c>  </c><c></c>                        <c></c>         <c></c>         <c></c>   <c></c>   <c>This Document</c>
	      <c>4</c><c>Contiguous LSP</c>           <c>Yes</c>      <c>No</c>       <c>Yes</c><c>No</c> <c><xref target="RFC5151" /></c>
              <c>  </c><c></c>                        <c></c>         <c></c>         <c></c>   <c></c>   <c>This Document</c>
	      <c>5</c><c>LSP stitching desired</c>    <c>Yes</c>      <c>No</c>       <c>Yes</c><c>No</c> <c><xref target="RFC5150" /></c>
              <c>  </c><c></c>                        <c></c>         <c></c>         <c></c>   <c></c>   <c>This Document</c>
	      <c>6</c><c>Pre-Planned LSP Flag</c>     <c>Yes</c>      <c>No</c>       <c>No</c> <c>No</c> <c><xref target="RFC6001" /></c>
              <c>  </c><c></c>                        <c></c>         <c></c>         <c></c>   <c></c>   <c>This Document</c>
	      <c>7</c><c>Non-PHP behavior flag</c>    <c>Yes</c>      <c>No</c>       <c>Yes</c><c>No</c> <c><xref target="RFC6511" /></c>
              <c>  </c><c></c>                        <c></c>         <c></c>         <c></c>   <c></c>   <c>This Document</c>
	      <c>8</c><c>OOB mapping flag</c>         <c>Yes</c>      <c>No</c>       <c>Yes</c><c>No</c> <c><xref target="RFC6511" /></c>
              <c>  </c><c></c>                        <c></c>         <c></c>         <c></c>   <c></c>   <c>This Document</c>
	      <c>9</c><c>Entropy Label Capability</c> <c>Yes</c>      <c>Yes</c>      <c>No</c> <c>No</c> <c><xref target="RFC6790" /></c>
              <c>  </c><c></c>                        <c></c>         <c></c>         <c></c>   <c></c>   <c>This Document</c>
	      <c>10</c><c>OAM MEP entities desired</c><c>Yes</c>      <c>Yes</c>      <c>Yes</c><c>No</c> <c><xref target="RFC7260" /></c>
              <c>  </c><c></c>                        <c></c>         <c></c>         <c></c>   <c></c>   <c>This Document</c>
	      <c>11</c><c>OAM MIP entities desired</c><c>Yes</c>      <c>Yes</c>      <c>Yes</c><c>No</c> <c><xref target="RFC7260" /></c>
              <c>  </c><c></c>                        <c></c>         <c></c>         <c></c>   <c></c>   <c>This Document</c>
	      <c>12</c><c>SRLG collection Flag</c>    <c>Yes</c>      <c>Yes</c>      <c>Yes</c><c>No</c> <c><xref target="SRLG-COLLECT"/></c>
              <c>   </c><c>(TEMPORARY - registered</c><c></c>         <c></c>         <c></c>   <c></c>   <c>This Document</c>
              <c>   </c><c>2014-09-11, expires</c>    <c></c>         <c></c>         <c></c>   <c></c>   <c></c>
              <c>   </c><c>2015-09-11)</c>            <c></c>         <c></c>         <c></c>   <c></c>   <c></c>
              <c>  </c><c></c>                        <c></c>         <c></c>         <c></c>   <c></c>   <c></c>

   
	    </texttable>

	    <t>
	      New allocation requests to this registry SHALL indicate the value to be used in the ERO column.
	    </t>

       </section>
       <section title="Existing LSP Attribute TLVs " anchor="IANA_ATTR">
         <t>
           IANA manages the "Resource Reservation Protocol-Traffic
	   Engineering (RSVP-TE) Parameters" registry located at 
<vspace/>
&lt;http://www.iana.org/assignments/rsvp-te-parameters&gt;.
	   The "Attributes TLV Space" registry manages the following attributes, as defined in <xref target="RFC5420" />:
	   <list style='symbols'>
	     <t>TLV Type (T-field value)</t>
	     <t>TLV Name</t>
	     <t>Whether allowed on LSP_ATTRIBUTES object</t>
	     <t>Whether allowed on LSP_REQUIRED_ATTRIBUTES object</t>
	   </list>
	   Per this document, IANA has added the following information for each TLV in the RSVP TLV type identifier registry.
         <list style='symbols'>
           <t>Whether allowed on LSP Hop Attributes ERO subobject</t>
         </list>
         </t>
         <t>
           The existing registry has been modified for existing TLVs as follows.
	   The following abbreviations are used below:
	   <list style='hanging'>
	     <t hangText="LSP_A:">  Whether allowed on LSP_ATTRIBUTES object. </t>
	     <t hangText="LSP_RA:">  Whether allowed on LSP_REQUIRED_ATTRIBUTES object.</t>
	     <t hangText="HOP_A:">   Whether allowed on LSP Hop Attributes subobject.</t>
	   </list>

         </t>


 	    <texttable  suppress-title='true' style='none'>
              <ttcol align='left'></ttcol>
              <ttcol align='left'></ttcol>
              <ttcol align='left'></ttcol>
              <ttcol align='left'></ttcol>
              <ttcol align='left'></ttcol>
              <ttcol align='left'></ttcol>
              <c>T</c><c>Name</c>                 <c>LSP_A</c><c>LSP_RA</c><c>HOP_A</c><c>Ref.</c>
              <c>-</c><c>---------------------</c><c>-----</c><c>------</c><c>-----</c><c>--------------</c>
              <c>1</c><c>Attribute Flags</c>      <c>Yes</c>  <c>Yes</c>   <c>Yes</c>   <c><xref target="RFC5420" /></c>
              <c></c> <c></c>                     <c></c>     <c></c>      <c></c>      <c>This Document</c>
              <c>2</c><c>Service ID TLV</c>       <c>Yes</c>  <c>No</c>    <c>No</c>   <c><xref target="RFC6060" /></c>
              <c></c> <c></c>                     <c></c>     <c></c>      <c></c>      <c>This Document</c>
              <c>3</c><c>OAM Configuration TLV</c><c>Yes</c> <c>Yes</c>    <c>No</c>   <c><xref target="RFC7260" /></c>
              <c></c> <c></c>                     <c></c>     <c></c>      <c></c>      <c>This Document</c>
	    </texttable>



       </section>

    </section> 

    <section title="Security Considerations">
      <t>
	This document adds a new subobject in the EXPLICIT_ROUTE and the ROUTE_RECORD objects carried in RSVP messages used in MPLS and GMPLS signaling.
	It builds on mechanisms defined in  <xref target="RFC3209" /> and <xref target="RFC5420"/> and does not introduce any new security. The
	existing security considerations described in <xref target="RFC2205" />, <xref target="RFC3209"/>, <xref target="RFC3473" />, and <xref target="RFC5420" /> do apply.
      </t>
      <t>
	As with any RSVP-TE signaling request, the procedures defined in this document permit the transfer and reporting of functional preferences on a specific node.
	The mechanism added in this document does allow more control of LSP
	attributes at a given node. 

A node SHOULD check the hop attributes against its policies and admission procedures as it does with other inputs.

A node MAY reject the message using existing RSVP Error Codes like "Policy Control Failure" or "Admission Control Failure". The node MAY also, depending on the specific TLV procedures, modify the requested attribute.
	This can reveal information about the LSP request and status to anyone with unauthorized access. The mechanism described in this document does not contribute to this issue, which can be only resolved by encrypting the content of the whole signaling message.
      </t>
      <t>
	In addition, the reporting of attributes using the RRO can reveal details about the node that the operator wishes to remain 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.	
      </t>
    </section>

  </middle>

  <back>

    <references title="Normative References">
      <?rfc include="reference.RFC.2119.xml"?>
      <?rfc include="reference.RFC.2205.xml"?>
      <?rfc include="reference.RFC.3473.xml"?>
      <?rfc include="reference.RFC.3477.xml"?>
      <?rfc include="reference.RFC.3209.xml"?>
      <?rfc include="reference.RFC.4873.xml"?>
      <?rfc include="reference.RFC.4874.xml"?>
      <?rfc include="reference.RFC.4875.xml"?>
      <?rfc include="reference.RFC.4920.xml"?>
      <?rfc include="reference.RFC.5150.xml"?>
      <?rfc include="reference.RFC.5151.xml"?>
      <?rfc include="reference.RFC.5520.xml"?>
      <?rfc include="reference.RFC.5553.xml"?>
      <?rfc include="reference.RFC.5420.xml"?>
      <?rfc include="reference.RFC.6001.xml"?>
      <?rfc include="reference.RFC.6060.xml"?>
      <?rfc include="reference.RFC.6511.xml"?>
      <?rfc include="reference.RFC.6790.xml"?>
      <?rfc include="reference.RFC.7260.xml"?>
      </references>
      <references title="Informative References">
        <?rfc include="reference.RFC.4990.xml"?>
        <?rfc include="reference.RFC.6163.xml"?>


<!--draft-kern-ccamp-rsvpte-hop-attributes-00, Expired (and no replacement doc listed)-->
<reference anchor='RSVP-TE-HOPS'>
<front>
<title>Encoding of Attributes of LSP intermediate hops using RSVP-TE</title>
<author initials='A' surname='Kern' fullname='Andras Kern'>
    <organization />
</author>
<author initials='A' surname='Takacs' fullname='Attila Takacs'>
    <organization />
</author>
<date month='October' year='2009' />
</front>
<seriesInfo name='Work in Progress,' value='draft-kern-ccamp-rsvpte-hop-attributes-00' />
</reference>

<!--draft-ietf-ccamp-wson-signaling-10, Active - IESG Evaluation -->
<reference anchor='WSON-SIG'>
<front>
<title>Signaling Extensions for Wavelength Switched Optical Networks</title>
<author initials='G' surname='Bernstein' fullname='Greg Bernstein'>
    <organization />
</author>
<author initials='S' surname='Xu' fullname='Sugang Xu'>
    <organization />
</author>
<author initials='Y' surname='Lee' fullname='Young Lee'>
    <organization />
</author>
<author initials='G' surname='Martinelli' fullname='Giovanni Martinelli'>
    <organization />
</author>
<author initials='H' surname='Harai' fullname='Hiroaki Harai'>
    <organization />
</author>
<date month='March' year='2015' />
</front>
<seriesInfo name='Work in Progress,' value='draft-ietf-ccamp-wson-signaling-10' />
</reference>

<!--draft-ietf-teas-rsvp-te-li-lb-05: RFC-to-be 7571 -->
<reference anchor='RFC7571' target="http://www.rfc-editor.org/info/rfc7571">
<front>
<title>GMPLS RSVP-TE Extensions for Lock Instruct and Loopback</title>
<author initials='J' surname='Dong' fullname='Jie Dong'>
    <organization />
</author>
<author initials='M' surname='Chen' fullname='Mach Chen'>
    <organization />
</author>
<author initials='Z' surname='Li' fullname='Zhenqiang Li'>
    <organization />
</author>
<author initials='D' surname='Ceccarelli' fullname='Daniele Ceccarelli'>
    <organization />
</author>
<date month='July' year='2015' />
</front>
    <seriesInfo name='RFC' value='7571' />
    <seriesInfo name='DOI' value='10.17487/RFC7571'/>
</reference>

<!--draft-ietf-teas-rsvp-te-srlg-collect-00, Active - I-D Exists -->
<reference anchor='SRLG-COLLECT'>
<front>
<title>RSVP-TE Extensions for Collecting SRLG Information</title>
<author initials='F' surname='Zhang' fullname='Fatai Zhang'>
    <organization />
</author>
<author initials='O' surname='Dios' fullname='Oscar Gonzalez de Dios'>
    <organization />
</author>
<author initials='D' surname='Li' fullname='Dan Li'>
    <organization />
</author>
<author initials='C' surname='Margaria' fullname='Cyril Margaria'>
    <organization />
</author>
<author initials='M' surname='Hartley' fullname='Matt Hartley'>
    <organization />
</author>
<author initials='Z' surname='Ali' fullname='Zafar Ali'>
    <organization />
</author>
<date month='December' year='2014' />
</front>
<seriesInfo name='Work in Progress,' value='draft-ietf-teas-rsvp-te-srlg-collect-00' />
</reference>

<!--draft-ali-ccamp-rc-objective-function-metric-bound-05, Expired (and no replacement doc listed)-->
<reference anchor='OBJ-FUN'>
<front>
<title>Resource ReserVation Protocol-Traffic Engineering (RSVP-TE) Extension for Signaling Objective Function and Metric Bound</title>
<author initials='Z' surname='Ali' fullname='Zafar Ali'>
    <organization />
</author>
<author initials='G' surname='Swallow' fullname='George Swallow'>
    <organization />
</author>
<author initials='C' surname='Filsfils' fullname='Clarence Filsfils'>
    <organization />
</author>
<author initials='L' surname='Fang' fullname='Luyuan Fang'>
    <organization />
</author>
<author initials='K' surname='Kumaki' fullname='Kenji Kumaki'>
    <organization />
</author>
<author initials='R' surname='Kunze' fullname='Ruediger Kunze'>
    <organization />
</author>
<author initials='D' surname='Ceccarelli' fullname='Daniele Ceccarelli'>
    <organization />
</author>
<author initials='X' surname='Zhang' fullname='Xian Zhang'>
    <organization />
</author>
<date month='February' year='2014' />
</front>
<seriesInfo name='Work in Progress,' value='draft-ali-ccamp-rc-objective-function-metric-bound-05' />
</reference>
      </references>
  <section title="Acknowledgments" numbered="no">
      <t>
        The authors would like to thank Lou Berger for his directions and Attila Takacs for inspiring
        <xref target="RSVP-TE-HOPS" />.
        The authors also thank Dirk Schroetter for his contribution to the initial draft versions of this document.
      </t>
    </section>
  </back>
</rfc>

