<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent">

<rfc xmlns:xi="http://www.w3.org/2001/XInclude" submissionType="IETF"
     category="std" consensus="true" docName="draft-ietf-isis-mpls-elc-13"
     number="9088" ipr="trust200902" obsoletes="" updates="" xml:lang="en"
     tocInclude="true" tocDepth="3" symRefs="true" sortRefs="true"
     version="3"> 

  <front>
    <title abbrev="Signaling ELC and ERLD Using IS-IS">Signaling Entropy Label
    Capability and Entropy Readable Label Depth Using IS-IS</title>
    <seriesInfo name="RFC" value="9088"/>
    <author fullname="Xiaohu Xu" initials="X." surname="Xu">
      <organization>Capitalonline</organization>
      <address>
        <email>xiaohu.xu@capitalonline.net</email>

      </address>
    </author>
    <author fullname="Sriganesh Kini" initials="S." surname="Kini">
      <organization/>
      <address>
        <postal>
          <street/>
          <city/>
          <region/>
          <code/>
          <country/>
        </postal>
        <phone/>
        <email>sriganeshkini@gmail.com</email>
        <uri/>
      </address>
    </author>
    <author fullname="Peter Psenak" initials="P." surname="Psenak">
      <organization>Cisco Systems, Inc.</organization>
      <address>
        <postal>
          <extaddr>Eurovea Centre, Central 3</extaddr>
          <street>Pribinova Street 10</street>
          <city>Bratislava</city>
          <code>81109</code>
          <country>Slovakia</country>
        </postal>
        <email>ppsenak@cisco.com</email>
      </address>
    </author>
    <author fullname="Clarence Filsfils" initials="C." surname="Filsfils">
      <organization>Cisco Systems, Inc.</organization>
      <address>
        <postal>
          <street/>
          <city>Brussels</city>
          <region/>
          <code/>
          <country>Belgium</country>
        </postal>
        <email>cfilsfil@cisco.com</email>
      </address>
    </author>
    <author fullname="Stephane Litkowski" initials="S." surname="Litkowski">
      <organization>Cisco Systems, Inc.</organization>
      <address>
        <postal>
          <street>La Rigourdiere</street>
          <city>Cesson Sevigne</city>
          <code/>
          <country>France</country>
        </postal>
        <email>slitkows@cisco.com</email>
        <uri/>
      </address>
    </author>


  <author fullname="Matthew Bocci" initials="M." surname="Bocci">
      <organization>Nokia</organization>
      <address>
        <postal>
          <street>Aztec West Business Park</street>
          <city>Bristol</city>
          <extaddr>740 Waterside Drive</extaddr>
          <code>BS32 4UF</code>
          <country>United Kingdom</country>
        </postal>
        <email>matthew.bocci@nokia.com</email>
        <uri/>
      </address>
  </author>

    <date year="2021" month="August"/>
    <area>RTG</area>
    <workgroup>LSR</workgroup>

    <abstract>
      <t>Multiprotocol Label Switching (MPLS) has defined a mechanism to load-balance 
      traffic flows using Entropy Labels (EL). An ingress Label
      Switching Router (LSR) cannot insert ELs for packets going into a given
      Label Switched Path (LSP) unless an egress LSR has indicated via signaling that it has the
      capability to process ELs, referred to as the Entropy Label Capability
      (ELC), on that LSP. In addition, it would be useful for ingress LSRs
      to know each LSR's capability for reading the maximum label stack depth
      and performing EL-based load-balancing, referred to as Entropy Readable
      Label Depth (ERLD). This document defines a mechanism to signal these two
      capabilities using IS-IS and Border Gateway Protocol - Link State (BGP-LS).</t>
    </abstract>
  </front>
  <middle>
    <section numbered="true" toc="default">
      <name>Introduction</name>
      <t><xref target="RFC6790" format="default"/> describes a method to
      load-balance Multiprotocol Label Switching (MPLS) traffic flows using
      Entropy Labels (EL). It also introduces the concept of Entropy Label
      Capability (ELC) and defines the signaling of this capability via MPLS
      signaling protocols. Recently, mechanisms have been defined to signal
      labels via link-state Interior Gateway Protocols (IGP) such as IS-IS
      <xref target="RFC8667" format="default"/>.  This document defines a
      mechanism to signal the ELC using IS-IS. </t>
      <t>In cases where Segment Routing (SR) is used with the MPLS data plane
      (e.g., SR-MPLS <xref target="RFC8660" format="default"/>), it would be
      useful for ingress LSRs to know each intermediate LSR's capability of
      reading the maximum label stack depth and performing EL-based
      load-balancing.  This capability, referred to as Entropy Readable Label
      Depth (ERLD) as defined in <xref target="RFC8662" format="default"/>,
      may be used by ingress LSRs to determine the position of the EL label in
      the stack, and whether it's necessary to insert multiple ELs at
      different positions in the label stack. This document defines a
      mechanism to signal the ERLD using IS-IS.</t>
    </section>
    <section anchor="Teminology" numbered="true" toc="default">
      <name>Terminology</name>
      <t>This memo makes use of the terms defined in <xref target="RFC6790" format="default"/>,
     and <xref target="RFC8662" format="default"/>.</t>


      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>",
      "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
      NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>",
      "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
      "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are
      to be interpreted as described in BCP&nbsp;14 <xref target="RFC2119"
      format="default"/> <xref target="RFC8174" format="default"/> when, and
      only when, they appear in all capitals, as shown here.</t>


    </section>


    <section anchor="ELC_ADV" numbered="true" toc="default">
      <name>Advertising ELC Using IS-IS</name>
      <t>Even though ELC is a property of the node, in some cases it is
      advantageous to associate and advertise the ELC with a prefix. In a
      multi-area network, routers may not know the identity of the prefix
      originator in a remote area or may not know the capabilities of such
      originator. Similarly, in a multi-domain network, the identity of the
      prefix originator and its capabilities may not be known to the ingress
      LSR.</t>

      <t> Bit 3 in the Prefix Attribute Flags <xref target="RFC7794"
      format="default"/> is used as the ELC Flag (E-Flag), as shown in <xref
      target="prefix-flags"/>. If a router has multiple interfaces, the router
      <bcp14>MUST NOT</bcp14> announce the ELC for any local host prefixes
      unless all of its interfaces are capable of processing ELs. If a router
      supports ELs on all of its interfaces, it <bcp14>SHOULD</bcp14> set the
      ELC for every local host prefix it advertises in IS-IS.</t>

      <figure anchor="prefix-flags">
	<name> Prefix Attribute Flags </name>

	<artwork name="" type="" align="left" alt="">
       0 1 2 3 4 5 6 7...
      +-+-+-+-+-+-+-+-+...
      |X|R|N|E|        ...
      +-+-+-+-+-+-+-+-+...
      	</artwork>

      </figure>

      
      
      
<dl newline="true">
<dt>E-Flag:
</dt>
<dd>ELC Flag (Bit 3) - Set for local host prefix of the originating node if it
supports ELC on all interfaces.
</dd>
</dl>
             
		
      <t>The ELC signaling <bcp14>MUST</bcp14> be preserved when a router propagates a prefix
         between IS-IS levels <xref target="RFC5302" format="default"/>.
      </t>
      <t>When redistributing a prefix between two IS-IS protocol instances or
      redistributing from another protocol to an IS-IS protocol instance, a
      router <bcp14>SHOULD</bcp14> preserve the ELC signaling for that prefix
      if it exists. The exact mechanism used to exchange ELC between protocol
      instances running on an Autonomous System Border Router is outside of
      the scope of this document.</t>

    </section>
    <section anchor="ERLD_ADV" numbered="true" toc="default">
      <name>Advertising ERLD Using IS-IS</name>
      <t>A new MSD-Type <xref target="RFC8491" format="default"/>, called
      ERLD-MSD, is defined to advertise the ERLD <xref target="RFC8662"
      format="default"/> of a given router. An MSD-Type code 2 has been
      assigned by IANA for ERLD-MSD. The MSD-Value field is set to the ERLD in
      the range between 0 to 255. The scope of the advertisement depends on
      the application.  If a router has multiple interfaces with different
      capabilities of reading the maximum label stack depth, the router
      <bcp14>MUST</bcp14> advertise the smallest value found across all its
      interfaces.</t>
      <t>The absence of ERLD-MSD advertisements indicates only that the advertising
      node does not support advertisement of this capability.</t>
      <t>The considerations for advertising the ERLD are specified in 
      <xref target="RFC8662" format="default"/>.</t>
      <t>If the ERLD-MSD type is received in the Link MSD sub-TLV, 
      it <bcp14>MUST</bcp14> be ignored.</t>
    </section>
    <section anchor="BGPLS" numbered="true" toc="default">
      <name>Signaling ELC and ERLD in BGP-LS</name>
      <t>The IS-IS extensions defined in this document can be advertised via
   BGP-LS (distribution of Link-State and TE information using BGP) <xref target="RFC7752" format="default"/> 
   using existing BGP-LS TLVs.</t>
      <t>The ELC is advertised using the Prefix Attribute Flags TLV as defined in
   <xref target="RFC9085" format="default"/>.</t>
      <t>The ERLD-MSD is advertised using the Node MSD TLV as defined in
   <xref target="RFC8814" format="default"/>.</t>
    </section>
    <section anchor="IANA" numbered="true" toc="default">
      <name>IANA Considerations</name>
      <t>IANA has completed the following actions for this document:
      </t>
      <ul>
    
        <li>Bit 3 in the "Bit Values for Prefix Attribute Flags Sub-TLV" registry has
   been assigned to the ELC Flag.  IANA has updated the registry to
   reflect the name used in this document: ELC Flag (E-Flag).</li>
       
        <li> Type 2 in the "IGP MSD-Types" registry has been assigned for the ERLD-MSD.
   IANA has updated the registry to reflect the name used in this
   document: ERLD-MSD.</li>
      </ul>
      
    </section>
    
    <section anchor="Security" numbered="true" toc="default">
      <name>Security Considerations</name>
      <t>This document specifies the ability to advertise additional node
      capabilities using IS-IS and BGP-LS.  As such, the security
      considerations as described in <xref target="RFC7752"
      format="default"/>, <xref target="RFC7794" format="default"/>, <xref
      target="RFC7981" format="default"/>, <xref target="RFC8491"
      format="default"/>, <xref target="RFC8662" format="default"/>, <xref
      target="RFC8814" format="default"/>, and <xref target="RFC9085"
      format="default"/> are applicable to this document.</t>

      <t>Incorrectly setting the E-Flag during origination, propagation, or
      redistribution may lead to poor or no load-balancing of the MPLS traffic
      or to MPLS traffic being discarded on the egress node.</t>


      <t>Incorrectly setting the ERLD value may lead to poor or no load-balancing of the 
      MPLS traffic.</t>
    </section>

  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7981.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6790.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5302.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7752.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7794.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8491.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8662.xml"/>

        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8814.xml"/>


<reference anchor='RFC9085' target='https://www.rfc-editor.org/info/rfc9085'>
<front>
<title>Border Gateway Protocol - Link State (BGP-LS) Extensions for Segment Routing</title>

<author initials='S' surname='Previdi' fullname='Stefano Previdi'>
    <organization />
</author>

<author initials='K' surname='Talaulikar' fullname='Ketan Talaulikar' role='editor'>
    <organization />
</author>

<author initials='C' surname='Filsfils' fullname='Clarence Filsfils'>
    <organization />
</author>

<author initials='H' surname='Gredler' fullname='Hannes Gredler'>
    <organization />
</author>

<author initials='M' surname='Chen' fullname='Mach(Guoyi) Chen'>
    <organization />
</author>

<date month='August' year='2021' />

</front>
<seriesInfo name="RFC" value="9085"/>
<seriesInfo name="DOI" value="10.17487/RFC9085"/>
</reference>

      </references>
      <references>
        <name>Informative References</name>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8660.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8667.xml"/>
      </references>
    </references>


    <section anchor="Acknowledgements" numbered="false" toc="default">
      <name>Acknowledgements</name>
      <t>The authors would like to thank <contact fullname="Yimin
      Shen"/>, <contact fullname="George Swallow"/>, <contact
      fullname="Acee Lindem"/>, <contact fullname="Les Ginsberg"/>,
      <contact fullname="Ketan Talaulikar"/>, <contact fullname="Jeff
      Tantsura"/>, <contact fullname="Bruno Decraene"/>, <contact
      fullname="Carlos Pignataro"/>, <contact fullname="Wim Hendrickx"/>,
      and <contact fullname="Gunter Van de Velde"/> for their valuable comments.</t>

    </section>

    <section anchor="CONTR" numbered="false" toc="default">
      <name>Contributors</name>
      <t>The following people contributed to the content
      of this document and should be considered as coauthors:</t>
              
  <contact fullname=" Gunter Van de Velde (editor)">
  <organization>Nokia</organization>
  <address>
    <postal>
     <city>Antwerp</city>
     <country>Belgium</country>
    </postal>

    <email> gunter.van_de_velde@nokia.com</email>
  </address>
  </contact>


 <contact fullname="Wim Henderickx">
   <organization> Nokia</organization>
   <address>
     <postal>
       <country>Belgium</country>
     </postal>

     <email> wim.henderickx@nokia.com</email>
   </address>
 </contact>
   
  <contact fullname="Keyur Patel">
    <organization> Arrcus</organization>
    <address>
      <postal>
	<country>United States of America</country>
      </postal>

      <email>keyur@arrcus.com</email>
    </address>
  </contact>

    </section>

  </back>
</rfc>
