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

<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<?rfc toc="yes"?>
<?rfc tocompact="yes"?>
<?rfc tocdepth="3"?>
<?rfc tocindent="yes"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?> "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" ipr="trust200902">
     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 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.X." initials="X." surname="Xu">
      <organization>Alibaba Inc</organization>
      <organization>Capitalonline</organization>
      <address>

        <email>xiaohu.xxh@alibaba-inc.com</email>

        <!-- uri and facsimile elements may also be added -->
        <email>xiaohu.xu@capitalonline.net</email>

      </address>
    </author>
    <author fullname="Sriganesh Kini" initials="S.K." initials="S." surname="Kini">
      <organization/>
      <address>
        <postal>
          <street/>
          <city/>
          <region/>
          <code/>
          <country/>
        </postal>
        <phone/>

        <facsimile/>
        <email>sriganeshkini@gmail.com</email>
        <uri/>
      </address>
    </author>
    <author fullname="Peter Psenak" initials="P." surname="Psenak">
      <organization>Cisco Systems, Inc.</organization>
      <address>
        <postal>
          <street>Eurovea
          <extaddr>Eurovea Centre, Central 3</street> 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.L." 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.B." initials="M." surname="Bocci">
      <organization>Nokia</organization>
      <address>
        <postal>
          <street>Shoppenhangers Road</street>

          <city>Maidenhead, Berks</city>

          <code/>

          <country>UK</country>
          <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="2020"/>

    <area>Routing Area</area>

    <workgroup>LSR Working Group</workgroup>

    <keyword>Sample</keyword>

    <keyword>Draft</keyword> 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 BGP-LS.</t> Border Gateway Protocol - Link State (BGP-LS).</t>
    </abstract>
  </front>
  <middle>
    <section title="Introduction"> numbered="true" toc="default">
      <name>Introduction</name>
      <t><xref target="RFC6790"/> 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"/>. target="RFC8667" format="default"/>.  This draft 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 data plane
      (e.g., SR-MPLS <xref target="RFC8660"/>), 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"/>, 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" title="Terminology"> numbered="true" toc="default">
      <name>Terminology</name>
      <t>This memo makes use of the terms defined in <xref target="RFC6790"/>, target="RFC6790" format="default"/>,
     and <xref target="RFC8662"/>.</t> target="RFC8662" format="default"/>.</t>

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

    </section>

    <section anchor="ELC_ADV" title="Advertising numbered="true" toc="default">
      <name>Advertising ELC Using IS-IS"> 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, 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"/> target="RFC7794"
      format="default"/> is used as the ELC Flag (E-flag), (E-Flag), as shown in Figure 1. <xref
      target="prefix-flags"/>. If a router has multiple interfaces, the router MUST NOT
      <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 SHOULD <bcp14>SHOULD</bcp14> set the
      ELC for every local host prefix it advertises in IS-IS.</t>

			<figure>
			<artwork>

      <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|        ...
      +-+-+-+-+-+-+-+-+...
            Figure 1: Prefix Attribute Flags

            E-flag: ELC
      	</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.
			</artwork>
			</figure>
</dd>
</dl>

      <t>The ELC signaling MUST <bcp14>MUST</bcp14> be preserved when a router propagates a prefix
         between ISIS IS-IS levels <xref target="RFC5302"/>. 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 SHOULD <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 Boundary Border Router is outside of
      the scope of this document.</t>

    </section>
    <section anchor="ERLD_ADV" title="Advertising numbered="true" toc="default">
      <name>Advertising ERLD Using IS-IS"> IS-IS</name>
      <t>A new MSD-Type <xref target="RFC8491"/>, target="RFC8491" format="default"/>, called
      ERLD-MSD, is defined to advertise the ERLD <xref target="RFC8662"/> target="RFC8662"
      format="default"/> of a given router. A 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 MUST
      <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"/>.</t> target="RFC8662" format="default"/>.</t>
      <t>If the ERLD-MSD Type type is received in the Link MSD Sub-TLV, sub-TLV,
      it MUST <bcp14>MUST</bcp14> be ignored.</t>
    </section>
    <section anchor="BGPLS" title="Signaling numbered="true" toc="default">
      <name>Signaling ELC and ERLD in BGP-LS"> BGP-LS</name>
      <t>The IS-IS extensions defined in this document can be advertised via
   BGP-LS (Distribution (distribution of Link-State and TE Information Using information using BGP) <xref target="RFC7752"/> 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="I-D.ietf-idr-bgp-ls-segment-routing-ext"/>.</t> target="RFC9085" format="default"/>.</t>
      <t>The ERLD-MSD is advertised using the Node MSD TLV as defined in
   <xref target="I-D.ietf-idr-bgp-ls-segment-routing-msd"/>.</t> target="RFC8814" format="default"/>.</t>
    </section>
    <section anchor="IANA" title="IANA Considerations">

    <t>Early allocation numbered="true" toc="default">
      <name>IANA Considerations</name>
      <t>IANA has been done by IANA completed the following actions for this document as follows:

      <list style="hanging">

      <t>- Bit document:
      </t>
      <ul>

        <li>Bit 3 in the Bit "Bit Values for Prefix Attribute Flags Sub-TLV Sub-TLV" registry has
   been assigned to the ELC Flag.  IANA is asked to update has updated the registry to
   reflect the name used in this document: ELC Flag (E-flag).</t>

      <t>- (E-Flag).</li>

        <li> Type 2 in the IGP MSD-Types "IGP MSD-Types" registry has been assigned for the ERLD-MSD.
   IANA is asked to update has updated the registry to reflect the name used in this
   document: ERLD-MSD.</t>
      </list></t> ERLD-MSD.</li>
      </ul>

    </section>

    <section anchor="Security" title="Security Considerations"> 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="RFC7981"/>, target="RFC7752"
      format="default"/>, <xref target="RFC7752"/>, target="RFC7794" format="default"/>, <xref target="RFC7794"/>,
      target="RFC7981" format="default"/>, <xref target="RFC8491"/>, target="RFC8491"
      format="default"/>, <xref target="RFC8662"/>, target="RFC8662" format="default"/>, <xref target="I-D.ietf-idr-bgp-ls-segment-routing-ext"/>
      target="RFC8814" format="default"/>, and <xref target="I-D.ietf-idr-bgp-ls-segment-routing-msd"/> target="RFC9085"
      format="default"/> are applicable to this document.</t>

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

      <t>Incorrectly setting of 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" title="Contributors"> numbered="false" toc="default">
      <name>Contributors</name>
      <t>The following people contributed to the content
      of this document and should be considered as co-authors:</t>

      <t><figure>
          <artwork><![CDATA[ coauthors:</t>

  <contact fullname=" Gunter Van de Velde (editor)
   Nokia
   Antwerp
   BE

   Email: gunter.van_de_velde@nokia.com

   Wim Henderickx
   Nokia
   Belgium

   Email: wim.henderickx@nokia.com

   Keyur Patel
   Arrcus
   USA

   Email: keyur@arrcus.com

]]></artwork>
        </figure></t>

   </section>

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

      <!----> (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>

  </middle>

  <back>
    <references title="Normative References">
      <?rfc include="reference.RFC.2119"?>

      <?rfc include="reference.RFC.7981"?>

      <?rfc include="reference.RFC.6790"?>

      <?rfc include="reference.RFC.5302"?>

      <?rfc include="reference.RFC.7752"?>

      <?rfc include="reference.RFC.7794"?>

	  <?rfc include="reference.RFC.8174"?>

      <?rfc include="reference.RFC.8491"?>

      <?rfc include="reference.RFC.8662"?>

      <?rfc include="reference.I-D.ietf-idr-bgp-ls-segment-routing-ext"?>

       <?rfc include="reference.I-D.ietf-idr-bgp-ls-segment-routing-msd"?>

    </references>

    <references title="Informative References">

    <?rfc include="reference.RFC.8660"?>

    <?rfc include="reference.RFC.8667"?>

    </references>

  </back>
</rfc>