<?xml version="1.0" encoding="US-ASCII"?>
<!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"?>
<rfc category="std" docName="draft-ietf-ospf-mpls-elc-07" ipr="trust200902">
  <front>
    <title abbrev="Signalling ELC and ERLD using OSPF">Signaling Entropy Label
    Capability and Entropy Readable Label-stack Depth Using OSPF</title>

    <author fullname="Xiaohu Xu" initials="X.X." surname="Xu">
      <organization>Alibaba Inc</organization>

      <address>
        <!--
       <postal>
         <street></street>
-->

        <!-- Reorder these if your country does things differently -->

        <!--
         <city>Soham</city>

         <region></region>

         <code></code>

         <country>UK</country>
       </postal>

       <phone>+44 7889 488 335</phone>
-->

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

        <!-- uri and facsimile elements may also be added -->
      </address>
    </author>

    <author fullname="Sriganesh Kini" initials="S.K" surname="Kini">
      <organization/>

      <address>
        <postal>
          <street/>

          <city/>

          <region/>

          <code/>

          <country/>
        </postal>

        <phone/>

        <facsimile/>

        <email>sriganeshkini@gmail.com</email>

        <uri/>
      </address>
    </author>

    <author fullname="Siva Sivabalan" initials="S.S" surname="Sivabalan">
      <organization>Cisco</organization>

      <address>
        <postal>
          <street/>

          <city/>

          <region/>

          <code/>

          <country/>
        </postal>

        <phone/>

        <facsimile/>

        <email>msiva@cisco.com</email>

        <uri/>
      </address>
    </author>

    <author fullname="Clarence Filsfils" initials="C.F." surname="Filsfils">
      <organization>Cisco</organization>

      <address>
        <!--
       <postal>
         <street></street>
-->

        <!-- Reorder these if your country does things differently -->

        <!--
         <city>Soham</city>

         <region></region>

         <code></code>

         <country>UK</country>
       </postal>

       <phone>+44 7889 488 335</phone>
-->

        <email>cfilsfil@cisco.com</email>

        <!-- uri and facsimile elements may also be added -->
      </address>
    </author>

    <author fullname="Stephane Litkowski" initials="S.L." surname="Litkowski">
      <organization>Orange</organization>

      <address>
        <postal>
          <street/>

          <street/>

          <city/>

          <code/>

          <country/>
        </postal>

        <email>stephane.litkowski@orange.com</email>

        <uri/>
      </address>
    </author>

    <date day="25" month="September" year="2018"/>

    <area>Routing Area</area>

    <workgroup>OSPF Working Group</workgroup>

    <keyword>Sample</keyword>

    <keyword>Draft</keyword>

    <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
      tunnel unless an egress LSR has indicated via signaling that it has the
      capability of processing ELs, referred to as Entropy Label Capability
      (ELC), on that tunnel. In addition, it would be useful for ingress LSRs
      to know each LSR's capability of reading the maximum label stack depth
      and performing EL-based load-balancing, referred to as Entropy Readable
      Label Depth (ERLD), in the cases where stacked LSPs are used for
      whatever reasons. This document defines mechanisms to signal these two
      capabilities using OSPF. These mechanisms are useful when the label
      advertisement is also done via OSPF. In addition, this document
      introduces the Non-IGP Functional Capabilities TLV for advertising OSPF
      router's actual non-IGP functional capabilities. ELC is one of such
      non-IGP functional capabilities.</t>
    </abstract>

    <note 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>
    </note>
  </front>

  <middle>
    <section title="Introduction">
      <t><xref target="RFC6790"/> describes a method to load balance
      Multiprotocol Label Switching (MPLS) traffic flows using Entropy Labels
      (EL). <xref target="RFC6790"/> introduces the concept of Entropy Label
      Capability (ELC) and defines the signalings of this capability via MPLS
      signaling protocols. Recently, mechanisms are being defined to signal
      labels via link-state Interior Gateway Protocols (IGP) such as OSPF
      <xref target="I-D.ietf-ospf-segment-routing-extensions"/>. In such
      scenario, the signaling mechanisms defined in <xref target="RFC6790"/>
      are inadequate. This draft defines a mechanism to signal the ELC <xref
      target="RFC6790"/> using OSPF. This mechanism is useful when the label
      advertisement is also done via OSPF.</t>

      <t>In addition, in the cases where stacked LSPs are used for whatever
      reasons (e.g., SR-MPLS <xref
      target="I-D.ietf-spring-segment-routing-mpls"/>), 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="I-D.ietf-mpls-spring-entropy-label"/> may be
      used by ingress LSRs to determine whether it's necessary to insert an EL
      for a given LSP of the stacked LSP tunnel in the case where there has
      already been at least one EL in the label stack <xref
      target="I-D.ietf-mpls-spring-entropy-label"/>.</t>
    </section>

    <section anchor="Teminology" title="Terminology">
      <t>This memo makes use of the terms defined in <xref target="RFC6790"/>
      and <xref target="RFC7770"/>.</t>
    </section>

    <section title="Non-OSPF Functional Capabilities TLV">
      <t>This document defines the Router Non-IGP Functional Capabilities TLV
      with TLV type code of TBD1 within the body of the OSPF Router
      Information LSA. An OSPF router advertising an OSPF RI LSA MAY include
      the Router Non-IGP Functional Capabilities TLV. If included, it MUST be
      included in the first instance of the LSA. Additionally, the TLV MUST
      reflect the advertising OSPF router's actual non-IGP functional
      capabilities in the flooding scope of the containing OSPF RI LSA.</t>

      <t>The format of the Router Non-OSPF Functional Capabilities TLV is 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=TBD1           |            Length             |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                 Non-IGP Functional Capabilities               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
           Figure 1: Non-OSPF Functional Capabilities TLV Format]]></artwork>
        </figure><list>
          <t>Type: TBD1.</t>

          <t>Length: Indicates the length of the value portion in octets and
          will be a multiple of 4 octets dependent on the number of
          capabilities advertised. Initially, the length will be 4, denoting 4
          octets of Non-IGP Functional Capabilities Bits as defined in <xref
          target="I-D.ietf-isis-mpls-elc"/>.</t>

          <t>Value: contains the Non-IGP Functional Capabilities Bits as
          defined in <xref target="I-D.ietf-isis-mpls-elc"/>.</t>
        </list>The Non-IGP Functional Capabilities TLV MAY be followed by
      optional TLVs that further specify a non-OSPF functional capability. In
      contrast to the OSPF Router Functional Capabilities TLV, the non-OSPF
      functional capabilities advertised in this TLV have no impact on the
      OSPF protocol operation. The specifications for non-IGP functional
      capabilities advertised in this TLV MUST describe protocol behavior and
      address backwards compatibility.</t>
    </section>

    <section anchor="Advertising" title="Advertising ELC Using OSPF">
      <t>One bit of the Non-IGP Functional Capability Bits for is used to
      indicate the ELC.</t>

      <t>Assignment of a Non-IGP Functional Capability Bit for the ELC is
      defined in <xref target="I-D.ietf-isis-mpls-elc"/>.</t>

      <t>If a router has multiple line cards, the router MUST NOT announce the
      ELC <xref target="RFC6790"/> unless all of its linecards are capable of
      processing ELs.</t>

      <t>How to apply the ELC advertisement to the inter-area, inter-AS and
      inter-protocol scenarios is outside the scope of this document.</t>
    </section>

    <section title="Advertising ERLD Using OSPF">
      <t>A new MSD-type of the Node MSD sub-TLV <xref
      target="I-D.ietf-isis-segment-routing-msd"/>, called ERLD is defined to
      advertise the ERLD of a given router. The scope of the advertisement
      depends on the application.</t>

      <t>Assignment of a MSD-Type for ERLD is defined in <xref
      target="I-D.ietf-isis-mpls-elc"/>.</t>

      <t>If a router has multiple linecards with different capabilities of
      reading the maximum label stack deepth, the router MUST advertise the
      smallest one.</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
      and Carlos Pignataro for their valuable comments.</t>

      <!---->
    </section>

    <section anchor="IANA" title="IANA Considerations">
      <t>This document requests IANA to allocate one TLV type from the OSPF RI
      TLVs registry for the Non-IGP Functional CapabilitiesTLV.</t>
    </section>

    <section anchor="Security" title="Security Considerations">
      <t>The security considerations as described in <xref target="RFC7770"/>
      is applicable to this document. This document does not introduce any new
      security risk.</t>
    </section>
  </middle>

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

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

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

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

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

      <?rfc include="reference.I-D.ietf-isis-mpls-elc"?>

      <?rfc include="reference.I-D.ietf-ospf-segment-routing-extensions"?>

      <?rfc include="reference.I-D.ietf-spring-segment-routing-mpls"?>
    </references>

    <references title="Informative References">
      <?rfc include="reference.I-D.ietf-mpls-spring-entropy-label"?>
    </references>
  </back>
</rfc>
