<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd"[]>
<?rfc toc="yes" ?>
<?rfc tocompact="yes"?>
<?rfc tocdepth="4"?>
<?rfc tocindent="yes"?>
<?rfc symrefs="yes" ?>
<?rfc sortrefs="yes"?>
<?rfc subcompact="no"?>
<?rfc compact="yes" ?>

<rfc ipr="pre5378Trust200902" category="std" number="7896" updates="5440" submissionType="IETF" consensus="yes" xml:lang="en">
  <front>
  <!--[Dhruv]: changing the 'the' in the title
  OLD: 
  Update to Include the Route Object (IRO) Specification
     in the Path Computation Element Communication Protocol (PCEP)
  New:
  Update to the Include Route Object (IRO) Specification
     in the Path Computation Element Communication Protocol (PCEP) 
     -->  
    <title abbrev="IRO Specification Update">Update to the Include Route Object 
    (IRO) Specification in&nbsp;the&nbsp;Path&nbsp;Computation&nbsp;Element&nbsp;Communication&nbsp;Protocol&nbsp;(PCEP)</title>
    <author initials="D" surname="Dhody" fullname="Dhruv Dhody">
      <organization>Huawei Technologies</organization>
      <address>
        <postal>
          <street>Divyashree Techno Park, Whitefield</street>
          <city>Bangalore</city>
          <region>Karnataka</region>
          <code>560066</code>
          <country>India</country>
        </postal>
        <email>dhruv.ietf@gmail.com</email>
      </address>
    </author>
    <date month="June" year="2016" />
    <area>Routing</area>
    <workgroup>PCE Working Group</workgroup>

    <keyword>PCEP</keyword>
    <keyword>PCE</keyword>
    <keyword>IRO</keyword>
    <abstract>
   <t>

      The Path Computation Element Communication Protocol (PCEP) enables 
       communications between a Path Computation Client (PCC) and a 
      PCE, or between two PCEs. RFC 5440 defines the Include Route Object 
      (IRO) to specify network elements to be traversed in the computed 
      path.  The specification does not specify if the IRO contains an 
      ordered or unordered list of subobjects. During recent discussions, 
      it was determined that there was a need to define a standard 
      representation to ensure interoperability. It was also noted
      that there is a benefit in the handling of an attribute of the IRO's
      subobject, the L bit.</t>
   
   <t>This document updates RFC 5440 regarding the IRO specification.</t>
   
   </abstract>
  </front>
  <middle>
    <section title="Introduction" toc="default">
    <t>The Path Computation Element Communication Protocol (PCEP) enables 
     communications between a Path Computation Client (PCC) and a PCE, 
    or between two PCEs. <xref target="RFC5440"/> defines the Include 
    Route Object (IRO) to specify network
   elements to be traversed in the computed path.  The specification does
   not specify if the IRO is an ordered or unordered list of subobjects.
   In addition, it defines the L bit as having no meaning 
   within an IRO.</t>

   <t><xref target="RFC5441"/> describes the use of an IRO to indicate the sequence of
   domains to be traversed during inter-domain path computation.</t>

   <t>During recent discussions, it was determined that there was a need 
   to define a standard representation to ensure interoperability.</t>
   <t>This document updates the IRO specifications in Section 7.12 of
   <xref target="RFC5440"/>.</t>
    

          
    </section>
<section title="Update in the IRO Specification" toc="default" anchor="SEC_IRO_UPD">
      <t>Section 7.12 of <xref target="RFC5440"/> describes the IRO as an optional object used to specify
       a set of network elements to be traversed in the computed path.
    It states that the L bit in the subobject has 
   no meaning within an IRO. It does not mention if the IRO contains an ordered or 
   unordered list of subobjects.  </t>
   
   
   <section title="Update to RFC 5440">
   <t>The IRO specification is updated to remove the last line in the Section 7.12 
   of <xref target="RFC5440"/>, which states: </t>
        <t>
          <figure title="" suppress-title="false" align="center" alt="" width="" height="">
            <artwork xml:space="preserve" name="" type="" align="center" alt="" width="" height=""><![CDATA[   
"The L bit of such sub-object has no meaning within an IRO."
]]></artwork>
          </figure>
        </t>

   <t>Further, Section 7.12 of <xref target="RFC5440"/> is updated 
   to add the following two statements at the end of the first paragraph.
    <list style="hanging">   
   <t hangText="-"> The content of an IRO is an ordered list of subobjects 
   representing a series of abstract nodes (refer to Section 4.3.2 
   of <xref target="RFC3209"/>). </t>

   <t hangText="-"> The L bit of an IRO subobject is set based on the loose or strict 
   hop property of the subobject; it is set 
   if the subobject represents a loose hop. If the bit is not set, the 
   subobject represents a strict hop. The
   interpretation of the L bit is as per Section 4.3.3.1 of <xref target="RFC3209"/>.</t>
    </list></t>
   </section>
   </section>
      
    <section title="Operational Considerations" toc="default" anchor="sec_o">
    <t>Because of the lack of clarity in <xref target="RFC5440"/>, it is possible 
    to encounter implementations that always interpret the IRO subobjects as loose. 
    When these implementations interwork with an implementation conforming to
    this document, the following impact might be seen:

    <list style="symbols">
        <t>If a non-conforming (to this document) PCC sends an IRO to a 
        conforming (to this document) PCE, then the PCE may unexpectedly 
        fail to find a path (since the PCC may think of the IRO subobjects 
        as loose hops, but the PCE interprets them as strict hops).</t>

        <t>If a conforming PCC sends an IRO containing strict hops to a 
        non-conforming PCE, then the PCE may erroneously return a path 
        that does not comply with the requested strict hops (since the PCE 
        interprets them all as loose hops).  The PCC may check the 
        returned path and find the issue, or it may end up using an incorrect 
        path.</t>
    </list>
    </t>
    
    </section>
    <section title="Security Considerations" toc="default">
    <t>This update in the IRO specification does not introduce any
    new security considerations, apart from those mentioned in 
    <xref target="RFC5440"/>.  Clarification in the 
    supported IRO ordering or Loose hop bit handling will not have any negative security impact.
     </t>

     <t>It is worth noting that PCEP operates over TCP.  An analysis of the
   security issues for routing protocols that use TCP (including PCEP)
   is provided in <xref target="RFC6952"/>.</t>
    </section>
     
  </middle>
  <back>

    <references title="Normative References">
    
    <?rfc include="reference.RFC.3209.xml" ?>
    <?rfc include="reference.RFC.5440.xml" ?>
    </references>
    <references title="Informative References">
     
     <?rfc include="reference.RFC.5441.xml" ?>
     <?rfc include="reference.RFC.6952.xml" ?>
      
    </references>

       <section title="Acknowledgments" toc="default" numbered='no'>
      <t>A special thanks to the PCE chairs for guidance regarding this work.</t>
      <t>Thanks to Francesco Fondelli for his suggestions in clarifying the L&nbsp;bit usage.</t>
      <t>Thanks to Adrian Farrel for his review and comments.</t>
      <t>Thanks to Jonathan Hardwick for shepherding the document and providing text in <xref target="sec_o"/>.</t>
      <t>Thanks to Deborah Brungard for her comments and being the responsible AD.</t>
      <t>Thanks to Peter Yee for the Gen-ART review.</t>
      <t>Thanks to Alvaro Retana for comments during the IESG review.</t>
    </section>  
  </back>
</rfc>
