<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
]>
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>

<?rfc toc="yes" ?>  
<?rfc symrefs="yes" ?>
<?rfc sortrefs="yes"?>
<?rfc compact="yes" ?>
<?rfc subcompact="no" ?>
<?rfc rfcedstyle="yes" ?>
<?rfc strict="yes" ?>

<rfc number="7447" category="std" submissionType="IETF" consensus="yes"
updates="6790"  ipr="trust200902">

  <front>
    <title abbrev="Deprecation of ELCA">Deprecation of BGP Entropy Label 
     Capability Attribute</title>

    <author fullname="John G. Scudder" initials="J."
            surname="Scudder">
      <organization>Juniper Networks</organization>
      <address>
        <email>jgs@juniper.net</email>
      </address>
    </author>

    <author fullname="Kireeti Kompella" initials="K."
            surname="Kompella">
      <organization>Juniper Networks</organization>
      <address>
        <email>kireeti@juniper.net</email>
      </address>
    </author>

    <date year="2015" month="January"/>

    <area>General</area>
    <workgroup>Internet Engineering Task Force</workgroup>
    <keyword>BGP</keyword>
    <keyword>MPLS</keyword>

    <abstract>
      <t>
The BGP Entropy Label Capability attribute is defined in RFC
6790. Regrettably, it has a bug: although RFC 6790 mandates that routers
incapable of processing Entropy Labels must remove the attribute,
fulfillment of this requirement cannot be guaranteed in practice.
This specification deprecates the attribute.
A forthcoming document will propose a replacement.
      </t>
    </abstract>
  </front>

<middle>
<section anchor="intro" title="Introduction">
	<t>
<xref target="RFC6790"/> defines the Entropy Label Capability attribute
(ELCA), an optional, transitive BGP path attribute. For correct
operation, an intermediate node modifying the next
hop of a route must remove the ELCA unless the node doing so is able to
process entropy labels. Sadly, this requirement cannot be fulfilled with
the ELCA as specified, because it is an optional, transitive attribute. 
By definition, a node that does not support the ELCA will propagate the
attribute (this is a general property of optional, transitive
attributes; see <xref target="RFC4271"/>). But such an ELCA-oblivious node is
likely to be incapable of processing entropy labels and is exactly the node
that we desire to remove the attribute!
	</t>
	<t>
This specification updates RFC 6790 by deprecating the version of ELCA
defined in Section 5.2 of that document. A forthcoming document will 
propose a replacement. All other sections of RFC 6790 are unchanged.
	</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="Deprecation of ELCA">
	<t>
This document deprecates the ELCA path attribute. This means that 
implementations
MUST NOT generate the attribute. If received, the attribute MUST be treated as any
other unrecognized optional, transitive attribute as per <xref
target="RFC4271"/>, until and unless the code point is reused by some
new specification. (To the authors' best knowledge, there are no
implementations of ELCA at the time of writing.)
	</t>
</section>


<section anchor="iana" title="IANA Considerations">
    <t>
For the reasons given in <xref target="intro"/>, IANA has
marked attribute 28 (" BGP Entropy Label Capability Attribute" in the "BGP Path Attributes" registry as
"deprecated" and has added a reference to this RFC.
	</t>
</section>
        
<section title="Security Considerations">
	<t>
ELCA, as defined in Section 5.2 of <xref target="RFC6790"/>, has in common with
other optional, transitive path attributes the property that it will be
"tunneled" through intervening routers that don't implement the relevant
specification. Unfortunately, as discussed elsewhere in this document,
implementations of ELCA that receive such
"tunneled" attributes could -- sometimes improperly -- rely on them. 
The consequence of doing so could be a black hole in the forwarding path for
the affected routes. Whether or not this is a new security issue is
somewhat debatable, since an attacker would have to be
part of the control-plane path for the route in question in order for the
attacker to exploit the issue. Under those
circumstances, an attacker already has a panoply of mischief-making
tools available, as discussed in <xref target="RFC4272"/>.
	</t>
	<t>
In any case, this document renders any real or imagined security
issues with ELCA moot, by deprecating it.
	</t>
</section>

<section title="Acknowledgements">
	<t>
Thanks to Alia Atlas, Bruno Decraene, Martin Djernaes, John Drake,
Adrian Farrel, Keyur Patel, Ravi Singh, and Kevin Wang for their
discussion of this issue.
	</t>
</section>
</middle>

<back>
	<references title="Normative References">

    <reference  anchor='RFC2119' target='http://www.rfc-editor.org/info/rfc2119'>
    <front>
    <title>Key words for use in RFCs to Indicate Requirement Levels</title>
    <author initials='S.' surname='Bradner' fullname='S. Bradner'><organization /></author>
    <date year='1997' month='March' />
    </front>
    <seriesInfo name='BCP' value='14'/>
    <seriesInfo name='RFC' value='2119'/>
    <format type='ASCII' octets='4723'/>
    </reference>

    <reference  anchor='RFC6790' target='http://www.rfc-editor.org/info/rfc6790'>
    <front>
    <title>The Use of Entropy Labels in MPLS Forwarding</title>
    <author initials='K.' surname='Kompella' fullname='K. Kompella'><organization /></author>
    <author initials='J.' surname='Drake' fullname='J. Drake'><organization /></author>
    <author initials='S.' surname='Amante' fullname='S. Amante'><organization /></author>
    <author initials='W.' surname='Henderickx' fullname='W. Henderickx'><organization /></author>
    <author initials='L.' surname='Yong' fullname='L. Yong'><organization /></author>
    <date year='2012' month='November' />
    </front>
    <seriesInfo name='RFC' value='6790'/>
    <format type='ASCII' octets='53837'/>
    </reference>

    </references>

	<references title="Informative References">

    <reference  anchor='RFC4271' target='http://www.rfc-editor.org/info/rfc4271'>
    <front>
    <title>A Border Gateway Protocol 4 (BGP-4)</title>
    <author initials='Y.' surname='Rekhter' fullname='Y. Rekhter' role='editor'><organization /></author>
    <author initials='T.' surname='Li' fullname='T. Li' role='editor'><organization /></author>
    <author initials='S.' surname='Hares' fullname='S. Hares' role='editor'><organization /></author>
    <date year='2006' month='January' />
    </front>
    <seriesInfo name='RFC' value='4271'/>
    <format type='ASCII' octets='222702'/>
    </reference>

    <reference  anchor='RFC4272' target='http://www.rfc-editor.org/info/rfc4272'>
    <front>
    <title>BGP Security Vulnerabilities Analysis</title>
    <author initials='S.' surname='Murphy' fullname='S. Murphy'><organization /></author>
    <date year='2006' month='January' />
    </front>
    <seriesInfo name='RFC' value='4272'/>
    <format type='ASCII' octets='53119'/>
    </reference>
    </references>
</back>
</rfc>
