<?xml version='1.0' encoding='utf-8'?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" category="std" consensus="true" docName="draft-ietf-trill-multilevel-single-nickname-17" indexInclude="true" ipr="trust200902" number="9183" prepTime="2022-02-10T22:43:07" scripts="Common,Latin" sortRefs="true" submissionType="IETF" symRefs="true" tocDepth="3" tocInclude="true" xml:lang="en">
  <link href="https://datatracker.ietf.org/doc/draft-ietf-trill-multilevel-single-nickname-17" rel="prev"/>
  <link href="https://dx.doi.org/10.17487/rfc9183" rel="alternate"/>
  <link href="urn:issn:2070-1721" rel="alternate"/>
  <front>
    <title abbrev="Single Nickname for Area Border RBridge in Multilevel TRILL">Single Nickname for an Area Border RBridge in Multilevel Transparent Interconnection of Lots of Links (TRILL)</title>
    <seriesInfo name="RFC" value="9183" stream="IETF"/>
    <author initials="M." surname="Zhang" fullname="Mingui Zhang">
      <organization abbrev="Independent" showOnFrontPage="true">Independent</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>zhangmingui@qq.com</email>
      </address>
    </author>
    <author initials="D." surname="Eastlake 3rd" fullname="Donald E. Eastlake, 3rd">
      <organization abbrev="Futurewei" showOnFrontPage="true">Futurewei Technologies</organization>
      <address>
        <postal>
          <street>2386 Panoramic Circle</street>
          <city>Apopka</city>
          <region>FL</region>
          <code>32703</code>
          <country>United States of America</country>
        </postal>
        <phone>+1-508-333-2270</phone>
        <email>d3e3e3@gmail.com</email>
      </address>
    </author>
    <author initials="R." surname="Perlman" fullname="Radia Perlman">
      <organization showOnFrontPage="true">EMC</organization>
      <address>
        <postal>
          <street>2010 256th Avenue NE, #200</street>
          <city>Bellevue</city>
          <region>WA</region>
          <code>98007</code>
          <country>United States of America</country>
        </postal>
        <email>radia@alum.mit.edu</email>
      </address>
    </author>
    <author initials="M." surname="Cullen" fullname="Margaret Cullen">
      <organization showOnFrontPage="true">Painless Security</organization>
      <address>
        <postal>
          <street>356 Abbott Street</street>
          <city>North Andover</city>
          <region>MA</region>
          <code>01845</code>
          <country>United States of America</country>
        </postal>
        <phone>+1-781-405-7464</phone>
        <email>margaret@painless-security.com</email>
        <uri>https://www.painless-security.com</uri>
      </address>
    </author>
    <author initials="H." surname="Zhai" fullname="Hongjun Zhai">
      <organization abbrev="JIT" showOnFrontPage="true">Jinling Institute of Technology</organization>
      <address>
        <postal>
          <street>99 Hongjing Avenue, Jiangning District</street>
          <city>Nanjing</city>
          <region>Jiangsu</region>
          <code>211169</code>
          <country>China</country>
        </postal>
        <email>honjun.zhai@tom.com</email>
      </address>
    </author>
    <date month="02" year="2022"/>
    <keyword>aggregated</keyword>
    <abstract pn="section-abstract">
      <t indent="0" pn="section-abstract-1">
   A major issue in multilevel TRILL is how to manage RBridge nicknames.
   In this document, area border RBridges use a single nickname in both
   Level 1 and Level 2. RBridges in Level 2 must obtain unique nicknames
   but RBridges in different Level 1 areas may have the same nicknames.</t>
    </abstract>
    <boilerplate>
      <section anchor="status-of-memo" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.1">
        <name slugifiedName="name-status-of-this-memo">Status of This Memo</name>
        <t indent="0" pn="section-boilerplate.1-1">
            This is an Internet Standards Track document.
        </t>
        <t indent="0" pn="section-boilerplate.1-2">
            This document is a product of the Internet Engineering Task Force
            (IETF).  It represents the consensus of the IETF community.  It has
            received public review and has been approved for publication by
            the Internet Engineering Steering Group (IESG).  Further
            information on Internet Standards is available in Section 2 of 
            RFC 7841.
        </t>
        <t indent="0" pn="section-boilerplate.1-3">
            Information about the current status of this document, any
            errata, and how to provide feedback on it may be obtained at
            <eref target="https://www.rfc-editor.org/info/rfc9183" brackets="none"/>.
        </t>
      </section>
      <section anchor="copyright" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.2">
        <name slugifiedName="name-copyright-notice">Copyright Notice</name>
        <t indent="0" pn="section-boilerplate.2-1">
            Copyright (c) 2022 IETF Trust and the persons identified as the
            document authors. All rights reserved.
        </t>
        <t indent="0" pn="section-boilerplate.2-2">
            This document is subject to BCP 78 and the IETF Trust's Legal
            Provisions Relating to IETF Documents
            (<eref target="https://trustee.ietf.org/license-info" brackets="none"/>) in effect on the date of
            publication of this document. Please review these documents
            carefully, as they describe your rights and restrictions with
            respect to this document. Code Components extracted from this
            document must include Revised BSD License text as described in
            Section 4.e of the Trust Legal Provisions and are provided without
            warranty as described in the Revised BSD License.
        </t>
      </section>
    </boilerplate>
    <toc>
      <section anchor="toc" numbered="false" removeInRFC="false" toc="exclude" pn="section-toc.1">
        <name slugifiedName="name-table-of-contents">Table of Contents</name>
        <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1">
          <li pn="section-toc.1-1.1">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.1"><xref derivedContent="1" format="counter" sectionFormat="of" target="section-1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-introduction">Introduction</xref></t>
          </li>
          <li pn="section-toc.1-1.2">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.2.1"><xref derivedContent="2" format="counter" sectionFormat="of" target="section-2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-acronyms-and-terminology">Acronyms and Terminology</xref></t>
          </li>
          <li pn="section-toc.1-1.3">
            <t indent="0" pn="section-toc.1-1.3.1"><xref derivedContent="3" format="counter" sectionFormat="of" target="section-3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-nickname-handling-on-border">Nickname Handling on Border RBridges</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.3.2">
              <li pn="section-toc.1-1.3.2.1">
                <t indent="0" keepWithNext="true" pn="section-toc.1-1.3.2.1.1"><xref derivedContent="3.1" format="counter" sectionFormat="of" target="section-3.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-actions-on-unicast-packets">Actions on Unicast Packets</xref></t>
              </li>
              <li pn="section-toc.1-1.3.2.2">
                <t indent="0" pn="section-toc.1-1.3.2.2.1"><xref derivedContent="3.2" format="counter" sectionFormat="of" target="section-3.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-actions-on-multi-destinatio">Actions on Multi-destination Packets</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.4">
            <t indent="0" pn="section-toc.1-1.4.1"><xref derivedContent="4" format="counter" sectionFormat="of" target="section-4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-per-flow-load-balancing">Per-Flow Load Balancing</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.4.2">
              <li pn="section-toc.1-1.4.2.1">
                <t indent="0" pn="section-toc.1-1.4.2.1.1"><xref derivedContent="4.1" format="counter" sectionFormat="of" target="section-4.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-l2-to-l1-ingress-nickname-r">L2-to-L1 Ingress Nickname Replacement</xref></t>
              </li>
              <li pn="section-toc.1-1.4.2.2">
                <t indent="0" pn="section-toc.1-1.4.2.2.1"><xref derivedContent="4.2" format="counter" sectionFormat="of" target="section-4.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-l1-to-l2-egress-nickname-re">L1-to-L2 Egress Nickname Replacement</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.5">
            <t indent="0" pn="section-toc.1-1.5.1"><xref derivedContent="5" format="counter" sectionFormat="of" target="section-5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-protocol-extensions-for-dis">Protocol Extensions for Discovery</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.5.2">
              <li pn="section-toc.1-1.5.2.1">
                <t indent="0" pn="section-toc.1-1.5.2.1.1"><xref derivedContent="5.1" format="counter" sectionFormat="of" target="section-5.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-discovery-of-border-rbridge">Discovery of Border RBridges in L1</xref></t>
              </li>
              <li pn="section-toc.1-1.5.2.2">
                <t indent="0" pn="section-toc.1-1.5.2.2.1"><xref derivedContent="5.2" format="counter" sectionFormat="of" target="section-5.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-discovery-of-border-rbridge-">Discovery of Border RBridge Sets in L2</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.6">
            <t indent="0" pn="section-toc.1-1.6.1"><xref derivedContent="6" format="counter" sectionFormat="of" target="section-6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-one-border-rbridge-connects">One Border RBridge Connects Multiple Areas</xref></t>
          </li>
          <li pn="section-toc.1-1.7">
            <t indent="0" pn="section-toc.1-1.7.1"><xref derivedContent="7" format="counter" sectionFormat="of" target="section-7"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-e-l1fs-e-l2fs-backwards-com">E-L1FS/E-L2FS Backwards Compatibility</xref></t>
          </li>
          <li pn="section-toc.1-1.8">
            <t indent="0" pn="section-toc.1-1.8.1"><xref derivedContent="8" format="counter" sectionFormat="of" target="section-8"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-manageability-consideration">Manageability Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.9">
            <t indent="0" pn="section-toc.1-1.9.1"><xref derivedContent="9" format="counter" sectionFormat="of" target="section-9"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-security-considerations">Security Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.10">
            <t indent="0" pn="section-toc.1-1.10.1"><xref derivedContent="10" format="counter" sectionFormat="of" target="section-10"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-iana-considerations">IANA Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.11">
            <t indent="0" pn="section-toc.1-1.11.1"><xref derivedContent="11" format="counter" sectionFormat="of" target="section-11"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-references">References</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.11.2">
              <li pn="section-toc.1-1.11.2.1">
                <t indent="0" pn="section-toc.1-1.11.2.1.1"><xref derivedContent="11.1" format="counter" sectionFormat="of" target="section-11.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-normative-references">Normative References</xref></t>
              </li>
              <li pn="section-toc.1-1.11.2.2">
                <t indent="0" pn="section-toc.1-1.11.2.2.1"><xref derivedContent="11.2" format="counter" sectionFormat="of" target="section-11.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-informative-references">Informative References</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.12">
            <t indent="0" pn="section-toc.1-1.12.1"><xref derivedContent="Appendix A" format="default" sectionFormat="of" target="section-appendix.a"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-level-transition-clarificat">Level Transition Clarification</xref></t>
          </li>
          <li pn="section-toc.1-1.13">
            <t indent="0" pn="section-toc.1-1.13.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.b"/><xref derivedContent="" format="title" sectionFormat="of" target="name-authors-addresses">Authors' Addresses</xref></t>
          </li>
        </ul>
      </section>
    </toc>
  </front>
  <middle>
    <section anchor="sect-1" numbered="true" toc="include" removeInRFC="false" pn="section-1">
      <name slugifiedName="name-introduction">Introduction</name>
      <t indent="0" pn="section-1-1">
   TRILL (Transparent Interconnection of Lots of Links) <xref target="RFC6325" format="default" sectionFormat="of" derivedContent="RFC6325"/>
        <xref target="RFC7780" format="default" sectionFormat="of" derivedContent="RFC7780"/> multilevel techniques are designed to improve TRILL
   scalability issues.</t>
      <t indent="0" pn="section-1-2">
   "<xref target="RFC8243" format="title" sectionFormat="of" derivedContent="Alternatives for Multilevel Transparent Interconnection of Lots of Links (TRILL)"/>" <xref target="RFC8243" format="default" sectionFormat="of" derivedContent="RFC8243"/> is an educational
   document to explain multilevel TRILL and list possible concerns. It does
   not specify a protocol. As described in <xref target="RFC8243" format="default" sectionFormat="of" derivedContent="RFC8243"/>, there have been two proposed approaches. One approach,
   which is referred to as the "unique nickname" approach, gives unique
   nicknames to all the TRILL switches in the multilevel campus either by
   having the Level 1/Level 2 border TRILL switches advertise which nicknames
   are not available for assignment in the area or by partitioning the 16-bit
   nickname into an "area" field and a "nickname inside the area" field. <xref target="RFC8397" format="default" sectionFormat="of" derivedContent="RFC8397"/> is the Standards Track document
   specifying a "unique nickname" flavor of TRILL multilevel. The other
   approach, which is referred to in <xref target="RFC8243" format="default" sectionFormat="of" derivedContent="RFC8243"/>
   as the "aggregated nickname" approach, involves assigning nicknames to the
   areas, and allowing nicknames to be reused inside different areas, by
   having the border TRILL switches rewrite the nickname fields when entering
   or leaving an area. <xref target="RFC8243" format="default" sectionFormat="of" derivedContent="RFC8243"/> makes the
   case that, while unique nickname multilevel solutions are simpler,
   aggregated nickname solutions scale better.</t>
      <t indent="0" pn="section-1-3">
   The approach specified in this Standards Track document is somewhat
   similar to the "aggregated nickname" approach in <xref target="RFC8243" format="default" sectionFormat="of" derivedContent="RFC8243"/> but with a
   very important difference. In this document, the nickname of an area
   border RBridge is used in both Level 1 (L1) and Level 2 (L2). No
   additional nicknames are assigned to represent L1 areas as such.
   Instead, multiple border RBridges are allowed and each L1 area is
   denoted by the set of all nicknames of those border RBridges of the
   area. For this approach, nicknames in the L2 area <bcp14>MUST</bcp14> be unique but
   nicknames inside an L1 area can be reused in other L1 areas that also
   use this approach. The use of the approach specified in this document
   in one L1 area does not prohibit the use of other approaches in other
   L1 areas in the same TRILL campus, for example the use of the unique
   nickname approach specified in <xref target="RFC8397" format="default" sectionFormat="of" derivedContent="RFC8397"/>. The TRILL packet format is
   unchanged by this document, but data plane processing is changed at
   Border RBridges and efficient high volume data flow at Border
   RBridges might require forwarding hardware change.</t>
    </section>
    <section anchor="sect-2" numbered="true" toc="include" removeInRFC="false" pn="section-2">
      <name slugifiedName="name-acronyms-and-terminology">Acronyms and Terminology</name>
      <dl indent="3" newline="false" spacing="normal" pn="section-2-1">
        <dt pn="section-2-1.1">Area Border RBridge:
        </dt>
        <dd pn="section-2-1.2">A border RBridge between a Level 1 area and Level 2.
	</dd>
        <dt pn="section-2-1.3">Data Label:
        </dt>
        <dd pn="section-2-1.4">VLAN or Fine-Grained Label (FGL).
	</dd>
        <dt pn="section-2-1.5">DBRB:
        </dt>
        <dd pn="section-2-1.6">Designated Border RBridge.
	</dd>
        <dt pn="section-2-1.7">IS-IS:
        </dt>
        <dd pn="section-2-1.8">Intermediate System to Intermediate System <xref target="IS-IS" format="default" sectionFormat="of" derivedContent="IS-IS"/>.
	</dd>
        <dt pn="section-2-1.9">Level:
        </dt>
        <dd pn="section-2-1.10">Similar to IS-IS, TRILL has Level 1 for intra-area and Level 2 for
	inter-area. Routing information is exchanged between Level 1 RBridges
	within the same Level 1 area, and Level 2 RBridges can only form
	relationships and exchange information with other Level 2 RBridges.
	</dd>
      </dl>
      <t indent="0" pn="section-2-2">
    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 14 <xref target="RFC2119" format="default" sectionFormat="of" derivedContent="RFC2119"/> <xref target="RFC8174" format="default" sectionFormat="of" derivedContent="RFC8174"/> 
    when, and only when, they appear in all capitals, as shown here.
      </t>
      <t indent="0" pn="section-2-3">
   Familiarity with <xref target="RFC6325" format="default" sectionFormat="of" derivedContent="RFC6325"/> is assumed in this document.</t>
    </section>
    <section anchor="sect-3" numbered="true" toc="include" removeInRFC="false" pn="section-3">
      <name slugifiedName="name-nickname-handling-on-border">Nickname Handling on Border RBridges</name>
      <t indent="0" pn="section-3-1">
   This section provides an illustrative example and description of the
   border learning border RBridge nicknames.</t>
      <figure anchor="fig-1" align="left" suppress-title="false" pn="figure-1">
        <name slugifiedName="name-an-example-topology-for-tri">An Example Topology for TRILL Multilevel</name>
        <artwork name="" type="" align="left" alt="" pn="section-3-2.1">
        Area {2,20}             Level 2             Area {3,30}
+-------------------+     +-----------------+     +--------------+
|                   |     |                 |     |              |
| S--RB27---Rx--Rz----RB2---Rb---Rc--Rd---Re--RB3---Rk--RB44---D |
|     27            |     |      39         |     |     44       |
|                 ----RB20---             ----RB30---            |
+-------------------+     +-----------------+     +--------------+
</artwork>
      </figure>
      <t indent="0" pn="section-3-3">
   In <xref target="fig-1" format="default" sectionFormat="of" derivedContent="Figure 1"/>, RB2, RB20, RB3, and RB30 are area border TRILL switches
   (RBridges). Their nicknames are 2, 20, 3, and 30, respectively, and are
   used as TRILL switch identifiers in their areas <xref target="RFC6325" format="default" sectionFormat="of" derivedContent="RFC6325"/>. Area
   border RBridges use the set of border nicknames to denote the L1 area
   that they are attached to. For example, RB2 and RB20 use nicknames
   {2,20} to denote the L1 area on the left.</t>
      <t indent="0" pn="section-3-4">
   A source S is attached to RB27 and a destination D is attached to
   RB44. RB27 has a nickname (say, 27), and RB44 has a nickname (say, 44).
   (In fact, they could even have the same nickname, since the TRILL
   switch nickname will not be visible outside these Level 1 areas.)</t>
      <section anchor="sect-3.1" numbered="true" toc="include" removeInRFC="false" pn="section-3.1">
        <name slugifiedName="name-actions-on-unicast-packets">Actions on Unicast Packets</name>
        <t indent="0" pn="section-3.1-1">
   Let's say that S transmits a frame to destination D and let's say
   that D's location has been learned by the relevant TRILL switches
   already. These relevant switches have learned the following:</t>
        <ol spacing="normal" type="%d)" indent="adaptive" start="1" pn="section-3.1-2"><li pn="section-3.1-2.1" derivedCounter="1)">RB27 has learned that D is connected to nickname 3.</li>
          <li pn="section-3.1-2.2" derivedCounter="2)">RB3 has learned that D is attached to nickname 44.</li>
        </ol>
        <t indent="0" pn="section-3.1-3">
   The following sequence of events will occur:

        </t>
        <ol indent="adaptive" spacing="normal" start="1" type="1" pn="section-3.1-4">

  <li pn="section-3.1-4.1" derivedCounter="1.">S transmits an Ethernet frame with source MAC = S and destination MAC =
  D.
  </li>
          <li pn="section-3.1-4.2" derivedCounter="2.">RB27 encapsulates with a TRILL header with ingress RBridge = 27 and
  egress RBridge = 3 producing a TRILL Data packet.
    </li>
          <li pn="section-3.1-4.3" derivedCounter="3.">RB2 and RB20 have announced in the Level 1 IS-IS area designated {2,20}
   that they are attached to the nicknames of all the border RBridges in the
   Level 2 area including RB3 and RB30. Therefore, IS-IS routes the packet to
   RB2 (or RB20, if RB20 is on the least-cost route from RB27 to RB3).
      </li>
          <li pn="section-3.1-4.4" derivedCounter="4.">RB2, when transitioning the packet from Level 1 to Level 2, replaces
    the ingress TRILL switch nickname with its own nickname, replacing 27 with
    2. Within Level 2, the ingress RBridge field in the TRILL header will
    therefore be 2, and the egress RBridge field will be 3. (The egress
    nickname <bcp14>MAY</bcp14> be replaced with any area nickname selected
    from {3,30} such as 30. See <xref target="sect-4" format="default" sectionFormat="of" derivedContent="Section 4"/> for the detail of the
    selection method. Here, suppose the egress nickname remains 3.) Also, RB2
    learns that S is attached to nickname 27 in area {2,20} to accommodate
    return traffic. RB2 <bcp14>SHOULD</bcp14> synchronize with RB20 using the
    End Station Address Distribution Information (ESADI) protocol <xref target="RFC7357" format="default" sectionFormat="of" derivedContent="RFC7357"/> that MAC = S is attached to nickname 27.
	</li>
          <li pn="section-3.1-4.5" derivedCounter="5.">The packet is forwarded through Level 2, to RB3, which has
     advertised, in Level 2, its L2 nickname as 3.
	  </li>
          <li pn="section-3.1-4.6" derivedCounter="6.">RB3, when forwarding into area {3,30}, replaces the egress nickname
      in the TRILL header with RB44's nickname (44) based on looking up
      D. (The ingress nickname <bcp14>MAY</bcp14> be replaced with any area
      nickname selected from {2,20}. See <xref target="sect-4" format="default" sectionFormat="of" derivedContent="Section 4"/> for the
      detail of the selection method. Here, suppose the ingress nickname
      remains 2.)  So, within the destination area, the ingress nickname will
      be 2 and the egress nickname will be 44.
	    </li>
          <li pn="section-3.1-4.7" derivedCounter="7.">RB44, when decapsulating, learns that S is attached to
	          nickname 2, which is one of the area nicknames of the
	          ingress.
	    </li>
        </ol>
      </section>
      <section anchor="sect-3.2" numbered="true" toc="include" removeInRFC="false" pn="section-3.2">
        <name slugifiedName="name-actions-on-multi-destinatio">Actions on Multi-destination Packets</name>
        <t indent="0" pn="section-3.2-1">
   Distribution trees for flooding of multi-destination packets are calculated
   separately within each L1 area and in L2. When a multi-destination packet
   arrives at the border, it needs to be transitioned either from L1 to L2, or
   from L2 to L1. All border RBridges are eligible for Level
   transition. However, for each multi-destination packet, only one of them
   acts as the Designated Border RBridge (DBRB) to do the transition while
   other non-DBRBs <bcp14>MUST</bcp14> drop the received copies.  By default,
   the border RBridge with the smallest nickname, considered as an unsigned
   integer, is elected DBRB.  All border RBridges of an area
   <bcp14>MUST</bcp14> agree on the mechanism used to determine the DBRB
   locally.  The use of an alternative is possible, but out of the scope of
   this document; one such mechanism is used in <xref target="sect-4" format="default" sectionFormat="of" derivedContent="Section 4"/> for load balancing.</t>
        <t indent="0" pn="section-3.2-2">
	  As per <xref target="RFC6325" format="default" sectionFormat="of" derivedContent="RFC6325"/>,

  multi-destination packets can be classified into three types: unicast
  packets with unknown destination MAC addresses (unknown-unicast packets),
  multicast packets, and broadcast packets. Now suppose that D's location has
  not been learned by RB27 or the frame received by RB27 is recognized as
  broadcast or multicast. What will happen within a Level 1 area (as it would
  in TRILL today) is that RB27 will forward the packet as multi-destination,
  setting its M bit to 1 and choosing an L1 tree, which would flood the packet
  on that distribution tree (subject to potential pruning).


        </t>
        <t indent="0" pn="section-3.2-3">
   When the copies of the multi-destination packet arrive at area border
   RBridges, non-DBRBs <bcp14>MUST</bcp14> drop the packet while the DBRB (say, RB2)
   needs to do the Level transition for the multi-destination packet.
   For an unknown-unicast packet, if the DBRB has learned the destination
   MAC address, it <bcp14>SHOULD</bcp14> convert the packet to unicast and set its M
   bit to 0. Otherwise, the multi-destination packet will continue to be
   flooded as a multicast packet on the distribution tree. The DBRB
   chooses the new distribution tree by replacing the egress nickname
   with the new tree root RBridge nickname from the area the packet is
   entering. The following sequence of events will occur:</t>
        <ol indent="adaptive" spacing="normal" start="1" type="1" pn="section-3.2-4">
     <li pn="section-3.2-4.1" derivedCounter="1.">RB2, when transitioning the packet from Level 1 to Level 2, replaces
     the ingress TRILL switch nickname with its own nickname, replacing 27
     with 2. RB2 also <bcp14>MUST</bcp14> replace the egress RBridge nickname
     with an L2 tree root RBridge nickname (say, 39). In order to accommodate
     return traffic, RB2 records that S is attached to nickname 27 and
     <bcp14>SHOULD</bcp14> use the ESADI protocol <xref target="RFC7357" format="default" sectionFormat="of" derivedContent="RFC7357"/> to synchronize this attachment information with other
     border RBridges (say, RB20) in the area.
     </li>
          <li pn="section-3.2-4.2" derivedCounter="2.">RB20 will receive the packet flooded on the L2 tree by RB2. It
          is important that RB20 does not transition this packet back to L1 as
          it does for a multicast packet normally received from another remote
          L1 area. RB20 should examine the ingress nickname of this packet. If
          this nickname is found to be a border RBridge nickname of the area
          {2,20}, RB2 must not forward the packet into this area.
	  </li>
          <li pn="section-3.2-4.3" derivedCounter="3.">The multi-destination packet is flooded on the Level 2 tree
	       to reach all border routers for all L1 areas including both RB3
	       and RB30. Suppose RB3 is the selected DBRB. The non-DBRB RB30
	       will drop the packet.
	       </li>
          <li pn="section-3.2-4.4" derivedCounter="4.">RB3, when forwarding into area {3,30}, replaces the
	            egress nickname in the TRILL header with the root RBridge
	            nickname of a distribution tree of L1 area {3,30} -- say,
	            30. (Here, the ingress nickname <bcp14>MAY</bcp14> be
	            replaced with a different area nickname selected from
	            {2,20}, the set of border RBridges to the ingress area, as
	            specified in <xref target="sect-4" format="default" sectionFormat="of" derivedContent="Section 4"/>.)
	            Now suppose that RB27 has learned the location of D
	            (attached to nickname 3), but RB3 does not know where D is
	            because this information has fallen out of cache or RB3
	            has restarted or some other reason. In that case, RB3 must
	            turn the packet into a multi-destination packet and then
	            floods it on a distribution tree in the L1 area {3,30}.
		    </li>
          <li pn="section-3.2-4.5" derivedCounter="5.">RB30 will receive the packet flooded on the L1
		         tree by RB3. It is important that RB30 does not
		         transition this packet back to L2.  RB30 should also
		         examine the ingress nickname of this packet. If this
		         nickname is found to be an L2 Border RBridge
		         Nickname, RB30 must not transition the packet back to
		         L2.
			 </li>
          <li pn="section-3.2-4.6" derivedCounter="6.">The multicast listener RB44, when
			      decapsulating the received packet, learns that S
			      is attached to nickname 2, which is one of the
			      area nicknames of the ingress.
     </li>
        </ol>
        <t indent="0" pn="section-3.2-5">
   See also <xref target="sect-a" format="default" sectionFormat="of" derivedContent="Appendix A"/>.</t>
      </section>
    </section>
    <section anchor="sect-4" numbered="true" toc="include" removeInRFC="false" pn="section-4">
      <name slugifiedName="name-per-flow-load-balancing">Per-Flow Load Balancing</name>
      <t indent="0" pn="section-4-1">
   Area border RBridges perform ingress/egress nickname replacement when they
   transition TRILL Data packets between Level 1 and Level 2. The egress
   nickname will again be replaced when the packet transitions from Level 2 to
   Level 1. This nickname replacement enables the per-flow load balance, which
   is specified in the following subsections.  The mechanism specified in
   <xref target="sect-4.1" format="default" sectionFormat="of" derivedContent="Section 4.1"/> or that in <xref target="sect-4.2" format="default" sectionFormat="of" derivedContent="Section 4.2"/> or both is necessary in general to load-balance traffic
   across L2 paths.</t>
      <section anchor="sect-4.1" numbered="true" toc="include" removeInRFC="false" pn="section-4.1">
        <name slugifiedName="name-l2-to-l1-ingress-nickname-r">L2-to-L1 Ingress Nickname Replacement</name>
        <t indent="0" pn="section-4.1-1">
   When a TRILL Data packet from other L1 areas arrives at an area border
   RBridge, this RBridge <bcp14>MAY</bcp14> select one area nickname of the
   ingress area to replace the ingress nickname of the packet so that the
   returning TRILL Data packet can be forwarded to this selected nickname to
   help load-balance return unicast traffic over multiple paths. The selection
   is simply based on a pseudorandom algorithm as discussed in <xref target="RFC7357" sectionFormat="of" section="5.3" format="default" derivedLink="https://rfc-editor.org/rfc/rfc7357#section-5.3" derivedContent="RFC7357"/>. With
   the random ingress nickname replacement, the border RBridge actually
   achieves a per-flow load balance for returning traffic.</t>
        <t indent="0" pn="section-4.1-2">
   All area border RBridges for an L1 area <bcp14>MUST</bcp14> agree on the same
   pseudorandom algorithm. The source MAC address, ingress area
   nicknames, egress area nicknames, and the Data Label of the received
   TRILL Data packet are candidate factors of the input of this
   pseudorandom algorithm. Note that the value of the destination MAC
   address <bcp14>SHOULD</bcp14> be excluded from the input of this pseudorandom
   algorithm; otherwise, the egress RBridge could see one source MAC
   address flip-flopping among multiple ingress RBridges.</t>
      </section>
      <section anchor="sect-4.2" numbered="true" toc="include" removeInRFC="false" pn="section-4.2">
        <name slugifiedName="name-l1-to-l2-egress-nickname-re">L1-to-L2 Egress Nickname Replacement</name>
        <t indent="0" pn="section-4.2-1">
   When a unicast TRILL Data packet originated from an L1 area arrives at an
   area border RBridge of that L1 area, that RBridge <bcp14>MAY</bcp14> select
   one area nickname of the egress area to replace the egress nickname of the
   packet. By default, it <bcp14>SHOULD</bcp14> choose the egress area border
   RBridge with the least cost route to reach or, if there are multiple equal
   cost egress area border RBridges, use the pseudorandom algorithm as defined
   in <xref target="RFC7357" sectionFormat="of" section="5.3" format="default" derivedLink="https://rfc-editor.org/rfc/rfc7357#section-5.3" derivedContent="RFC7357"/> to select one. The use of that algorithm
   <bcp14>MAY</bcp14> be extended to selection among some stable set of egress
   area border RBridges that include non-least-cost alternatives if it is
   desired to obtain more load spreading at the cost of sometimes using a
   non-least-cost Level 2 route to forward the TRILL Data packet to the egress
   area.</t>
      </section>
    </section>
    <section anchor="sect-5" numbered="true" toc="include" removeInRFC="false" pn="section-5">
      <name slugifiedName="name-protocol-extensions-for-dis">Protocol Extensions for Discovery</name>
      <t indent="0" pn="section-5-1">
   The following topology change scenarios will trigger the discovery
   processes as defined in Sections <xref target="sect-5.1" format="counter" sectionFormat="of" derivedContent="5.1"/> and <xref target="sect-5.2" format="counter" sectionFormat="of" derivedContent="5.2"/>:</t>
      <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-5-2">
        <li pn="section-5-2.1">A new node comes up or recovers from a previous failure.</li>
        <li pn="section-5-2.2">A node goes down.</li>
        <li pn="section-5-2.3">A link or node fails and causes partition of an L1/L2 area.</li>
        <li pn="section-5-2.4">A link or node whose failure has caused partitioning of an L1/L2
        area is repaired.</li>
      </ul>
      <section anchor="sect-5.1" numbered="true" toc="include" removeInRFC="false" pn="section-5.1">
        <name slugifiedName="name-discovery-of-border-rbridge">Discovery of Border RBridges in L1</name>
        <t indent="0" pn="section-5.1-1">
   The following Level 1 Border RBridge APPsub-TLV will be included in E-L1FS
   FS-LSP fragment zero <xref target="RFC7780" format="default" sectionFormat="of" derivedContent="RFC7780"/> as an
   APPsub-TLV of the TRILL GENINFO-TLV. Through listening for this APPsub-TLV,
   an area border RBridge discovers all other area border RBridges in this
   area.</t>
        <artwork name="" type="" align="left" alt="" pn="section-5.1-2">
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type = L1-BORDER-RBRIDGE      | (2 bytes)
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Length                        | (2 bytes)
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sender Nickname               | (2 bytes)
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
</artwork>
        <dl indent="3" newline="false" spacing="normal" pn="section-5.1-3">
          <dt pn="section-5.1-3.1">Type:
          </dt>
          <dd pn="section-5.1-3.2">Level 1 Border RBridge (TRILL APPsub-TLV type 256)
	  </dd>
          <dt pn="section-5.1-3.3">Length:
          </dt>
          <dd pn="section-5.1-3.4">2
	  </dd>
          <dt pn="section-5.1-3.5">Sender Nickname:
          </dt>
          <dd pn="section-5.1-3.6">The nickname the originating IS will use as the L1 Border
	  RBridge Nickname. This field is useful because the originating IS
	  might own multiple nicknames.
	  </dd>
        </dl>
      </section>
      <section anchor="sect-5.2" numbered="true" toc="include" removeInRFC="false" pn="section-5.2">
        <name slugifiedName="name-discovery-of-border-rbridge-">Discovery of Border RBridge Sets in L2</name>
        <t indent="0" pn="section-5.2-1">
   The following APPsub-TLV will be included in an E-L2FS FS-LSP
   fragment zero <xref target="RFC7780" format="default" sectionFormat="of" derivedContent="RFC7780"/> as an APPsub-TLV of the TRILL GENINFO-TLV.
   Through listening to this APPsub-TLV in L2, an area border RBridge
   discovers all groups of L1 border RBridges and each such group
   identifies an area.</t>
        <artwork name="" type="" align="left" alt="" pn="section-5.2-2">
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type = L1-BORDER-RB-GROUP     | (2 bytes)
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Length                        | (2 bytes)
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| L1 Border RBridge Nickname 1  | (2 bytes)
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ...                           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| L1 Border RBridge Nickname k  | (2 bytes)
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
</artwork>
        <dl indent="3" newline="false" spacing="normal" pn="section-5.2-3">
          <dt pn="section-5.2-3.1">Type:
</dt>
          <dd pn="section-5.2-3.2">Level 1 Border RBridge Group (TRILL APPsub-TLV type 257)
</dd>
          <dt pn="section-5.2-3.3">Length:
</dt>
          <dd pn="section-5.2-3.4">2 * k. If length is not a multiple of 2, the APPsub-TLV is corrupt and
<bcp14>MUST</bcp14> be ignored.
</dd>
          <dt pn="section-5.2-3.5">L1 Border RBridge Nickname:
</dt>
          <dd pn="section-5.2-3.6">The nickname that an area border RBridge uses as the L1 Border RBridge
Nickname. The L1-BORDER-RB-GROUP TLV generated by an area border RBridge
<bcp14>MUST</bcp14> include all L1 Border RBridge Nicknames of the area. It's
<bcp14>RECOMMENDED</bcp14> that these k nicknames are ordered in ascending
order according to the 2-octet nickname considered as an unsigned integer.
</dd>
        </dl>
        <t indent="0" pn="section-5.2-4">
   When an L1 area is partitioned <xref target="RFC8243" format="default" sectionFormat="of" derivedContent="RFC8243"/>,
   border RBridges will re-discover each other in both L1 and L2 through
   exchanging LSPs. In L2, the set of border RBridge nicknames for this
   splitting area will change. Border RBridges that detect such a change
   <bcp14>MUST</bcp14> flush the reachability information associated to any
   RBridge nickname from this changing set.</t>
      </section>
    </section>
    <section anchor="sect-6" numbered="true" toc="include" removeInRFC="false" pn="section-6">
      <name slugifiedName="name-one-border-rbridge-connects">One Border RBridge Connects Multiple Areas</name>
      <t indent="0" pn="section-6-1">
   It's possible that one border RBridge (say, RB1) connects multiple L1
   areas. RB1 <bcp14>SHOULD</bcp14> use a single area nickname for itself for
   all these areas to minimize nickname consumption and the number of
   nicknames being advertised in L2; however, such a border RBridge might have
   to hold multiple nicknames -- for example, it might be the root of multiple
   L1 or multiple L2 distribution trees.</t>
      <t indent="0" pn="section-6-2">
   Nicknames used within one of these L1 areas can be reused within other
   areas. It's important that packets destined to those duplicated nicknames
   are sent to the right area. Since these areas are connected to form a layer
   2 network, duplicated {MAC, Data Label} across these areas <bcp14>SHOULD NOT</bcp14> occur (see <xref target="RFC6325" section="4.2.6" sectionFormat="of" format="default" derivedLink="https://rfc-editor.org/rfc/rfc6325#section-4.2.6" derivedContent="RFC6325"/> for tie breaking rules). Now suppose
   a TRILL Data packet arrives at the area border nickname of RB1. For a
   unicast packet, RB1 can look up the {MAC, Data Label} entry in its MAC
   table to identify the right destination area (i.e., the outgoing interface)
   and the egress RBridge's nickname.  For a multicast packet for each
   attached L1 area: either RB1 is not the DBRB and RB1 will not transition
   the packet, or RB1 is the DBRB. If RB1 is the DBRB, RB1 follows the
   following rules:</t>
      <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-6-3">
        <li pn="section-6-3.1">If this packet originated from an area out of the connected areas,
      RB1 replicates this packet and floods it on the proper Level 1
      trees of all the areas in which it acts as the DBRB.</li>
        <li pn="section-6-3.2">If the packet originated from one of the connected areas, RB1
      replicates the packet it receives from the Level 1 tree and floods
      it on other proper Level 1 trees of all the areas in which it acts
      as the DBRB except the originating area (i.e., the area connected
      to the incoming interface). RB1 might also receive the replication
      of the packet from the Level 2 tree. This replication <bcp14>MUST</bcp14> be
      dropped by RB1. It recognizes such packets by their ingress
      nickname being the nickname of one of the border RBridges of an L1
      area for which the receiving border RBridge is DBRB.</li>
      </ul>
    </section>
    <section anchor="sect-7" numbered="true" toc="include" removeInRFC="false" pn="section-7">
      <name slugifiedName="name-e-l1fs-e-l2fs-backwards-com">E-L1FS/E-L2FS Backwards Compatibility</name>
      <t indent="0" pn="section-7-1">
   All Level 2 RBridges <bcp14>MUST</bcp14> support E-L2FS <xref target="RFC7356" format="default" sectionFormat="of" derivedContent="RFC7356"/> <xref target="RFC7780" format="default" sectionFormat="of" derivedContent="RFC7780"/>. The Extended TLVs defined in <xref target="sect-5" format="default" sectionFormat="of" derivedContent="Section 5"/> are to be used in Extended Level 1/2 Flooding Scope
   (E-L1FS/E-L2FS) Protocol Data Units (PDUs). Area border RBridges
   <bcp14>MUST</bcp14> support both E-L1FS and E-L2FS. RBridges that do not
   support both E-L1FS or E-L2FS cannot serve as area border RBridges but they
   can appear in an L1 area acting as non-area-border RBridges.</t>
    </section>
    <section anchor="sect-8" numbered="true" toc="include" removeInRFC="false" pn="section-8">
      <name slugifiedName="name-manageability-consideration">Manageability Considerations</name>
      <t indent="0" pn="section-8-1">
   If an L1 Border RBridge Nickname is configured at an RBridge and that
   RBridge has both L1 and L2 adjacencies, the multilevel feature as specified
   in this document is turned on for that RBridge and normally uses an L2
   nickname in both L1 and L2 although, as provided below, such an RBridge may
   have to fall back to multilevel unique nickname behavior <xref target="RFC8397" format="default" sectionFormat="of" derivedContent="RFC8397"/>, in which case it uses this L1 nickname.
   In contrast, unique nickname multilevel as specified in <xref target="RFC8397" format="default" sectionFormat="of" derivedContent="RFC8397"/> is enabled by the presence of L1 and L2
   adjacencies without an L1 Border RBridge Nickname being configured.
   RBridges supporting only unique nickname multilevel do not support the
   configuration of an L2 Border RBridge Nickname.  RBridges supporting only
   the single-level TRILL base protocol specified in <xref target="RFC6325" format="default" sectionFormat="of" derivedContent="RFC6325"/> do not support L2 adjacencies.</t>
      <t indent="0" pn="section-8-2">
   RBridges that support and are configured to use single nickname multilevel
   as specified in this document <bcp14>MUST</bcp14> support unique nickname
   multilevel <xref target="RFC8397" format="default" sectionFormat="of" derivedContent="RFC8397"/>.  If there are
   multiple border RBridges between an L1 area and L2, and one or more of them
   only support or are only configured for unique nickname multilevel <xref target="RFC8397" format="default" sectionFormat="of" derivedContent="RFC8397"/>, any of these border RBridges that are
   configured to use single nickname multilevel <bcp14>MUST</bcp14> fall back
   to behaving as a unique nickname border RBridge for that L1 area. Because
   overlapping sets of RBridges may be the border RBridges for different L1
   areas, an RBridge supporting single nickname <bcp14>MUST</bcp14> be able to
   simultaneously support single nickname for some of its L1 areas and unique
   nickname for others. For example, RB1 and RB2 might be border RBridges for
   L1 area A1 using single nickname while RB2 and RB3 are border RBridges for
   area A2. If RB3 only supports unique nicknames, then RB2 must fall back to
   unique nickname for area A2 but continue to support single nickname for
   area A1. Operators <bcp14>SHOULD</bcp14> be notified when this fallback
   occurs. The presence of border RBridges using unique nickname multilevel
   can be detected because they advertise in L1 the blocks of nicknames
   available within that L1 area.</t>
      <t indent="0" pn="section-8-3">
   In both the unique nickname approach specified in <xref target="RFC8397" format="default" sectionFormat="of" derivedContent="RFC8397"/> and the single nickname aggregated approach specified in
   this document, an RBridge that has L1 and L2 adjacencies uses the same
   nickname in L1 and L2.  If an RBridge is configured with an L1 Border
   RBridge Nickname for any a Level 1 area, it uses this nickname across the
   Level 2 area. This L1 Border RBridge Nickname cannot be used in any other
   Level 1 area except other Level 1 areas for which the same RBridge is a
   border RBridge with this L1 Border RBridge Nickname configured.</t>
      <t indent="0" pn="section-8-4">
   In addition to the manageability considerations specified above, the
   manageability specifications in <xref target="RFC6325" format="default" sectionFormat="of" derivedContent="RFC6325"/>
   still apply.</t>
      <t indent="0" pn="section-8-5">
   Border RBridges replace ingress and/or egress nickname when a TRILL Data
   packet traverses a TRILL L2 area. A TRILL Operations, Administration, and
   Maintenance (OAM) message will be forwarded through the multilevel single
   nickname TRILL campus using a MAC address belonging to the destination
   RBridge <xref target="RFC7455" format="default" sectionFormat="of" derivedContent="RFC7455"/>.</t>
    </section>
    <section anchor="sect-9" numbered="true" toc="include" removeInRFC="false" pn="section-9">
      <name slugifiedName="name-security-considerations">Security Considerations</name>
      <t indent="0" pn="section-9-1">
   For general TRILL Security Considerations, see <xref target="RFC6325" format="default" sectionFormat="of" derivedContent="RFC6325"/>.</t>
      <t indent="0" pn="section-9-2">
   The newly defined TRILL APPsub-TLVs in <xref target="sect-5" format="default" sectionFormat="of" derivedContent="Section 5"/> are transported in IS-IS PDUs whose authenticity can be
   enforced using regular IS-IS security mechanism <xref target="IS-IS" format="default" sectionFormat="of" derivedContent="IS-IS"/>
        <xref target="RFC5310" format="default" sectionFormat="of" derivedContent="RFC5310"/>. Malicious devices may also fake
   the APPsub-TLVs to attract TRILL Data packets, interfere with multilevel
   TRILL operation, induce excessive state in TRILL switches (or in any
   bridges that may be part of the TRILL campus), etc.  For this reason,
   RBridges <bcp14>SHOULD</bcp14> be configured to use the IS-IS
   Authentication TLV (10) in their IS-IS PDUs so that IS-IS security <xref target="RFC5310" format="default" sectionFormat="of" derivedContent="RFC5310"/> can be used to authenticate those PDUs
   and discard them if they are forged.</t>
      <t indent="0" pn="section-9-3">
   Using a variation of aggregated nicknames, and the resulting possible
   duplication of nicknames between areas, increases the possibility of a
   TRILL Data packet being delivered to the wrong egress RBridge if areas are
   unexpectedly merged as compared with a scheme where all nicknames in the
   TRILL campus are, except as a transient condition, unique such as the
   scheme in <xref target="RFC8397" format="default" sectionFormat="of" derivedContent="RFC8397"/>. However, in many
   cases, the data would be discarded at that egress RBridge because it would
   not match a known end station Data Label / MAC address.</t>
    </section>
    <section anchor="sect-10" numbered="true" toc="include" removeInRFC="false" pn="section-10">
      <name slugifiedName="name-iana-considerations">IANA Considerations</name>
      <t indent="0" pn="section-10-1">
   IANA has allocated two new types under the TRILL GENINFO TLV
   <xref target="RFC7357" format="default" sectionFormat="of" derivedContent="RFC7357"/> from the range allocated by
   Standards Action <xref target="RFC8126" format="default" sectionFormat="of" derivedContent="RFC8126"/> for the TRILL APPsub-TLVs defined in <xref target="sect-5" format="default" sectionFormat="of" derivedContent="Section 5"/>. The following entries have been added to the "TRILL
   APPsub-TLV Types under IS-IS TLV 251 Application Identifier 1" registry on
   the TRILL Parameters IANA web page.</t>
      <table anchor="IANA" align="center" pn="table-1">
        <name/>
        <thead>
          <tr>
            <th align="left" colspan="1" rowspan="1">Type</th>
            <th align="left" colspan="1" rowspan="1">Name</th>
            <th align="left" colspan="1" rowspan="1">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left" colspan="1" rowspan="1">256</td>
            <td align="left" colspan="1" rowspan="1">L1-BORDER-RBRIDGE</td>
            <td align="left" colspan="1" rowspan="1">RFC 9183</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">257</td>
            <td align="left" colspan="1" rowspan="1">L1-BORDER-RB-GROUP</td>
            <td align="left" colspan="1" rowspan="1">RFC 9183</td>
          </tr>
        </tbody>
      </table>
    </section>
  </middle>
  <back>
    <references pn="section-11">
      <name slugifiedName="name-references">References</name>
      <references pn="section-11.1">
        <name slugifiedName="name-normative-references">Normative References</name>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" quoteTitle="true" derivedAnchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author initials="S." surname="Bradner" fullname="S. Bradner">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="1997" month="March"/>
            <abstract>
              <t indent="0">In many standards track documents several words are used to signify the requirements in the specification.  These words are often capitalized. This document defines these words as they should be interpreted in IETF documents.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC6325" target="https://www.rfc-editor.org/info/rfc6325" quoteTitle="true" derivedAnchor="RFC6325">
          <front>
            <title>Routing Bridges (RBridges): Base Protocol Specification</title>
            <author initials="R." surname="Perlman" fullname="R. Perlman">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="D." surname="Eastlake 3rd" fullname="D. Eastlake 3rd">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="D." surname="Dutt" fullname="D. Dutt">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Gai" fullname="S. Gai">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="A." surname="Ghanwani" fullname="A. Ghanwani">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2011" month="July"/>
            <abstract>
              <t indent="0">Routing Bridges (RBridges) provide optimal pair-wise forwarding without configuration, safe forwarding even during periods of temporary loops, and support for multipathing of both unicast and multicast traffic.  They achieve these goals using IS-IS routing and encapsulation of traffic with a header that includes a hop count.</t>
              <t indent="0">RBridges are compatible with previous IEEE 802.1 customer bridges as well as IPv4 and IPv6 routers and end nodes.  They are as invisible to current IP routers as bridges are and, like routers, they terminate the bridge spanning tree protocol.</t>
              <t indent="0">The design supports VLANs and the optimization of the distribution of multi-destination frames based on VLAN ID and based on IP-derived multicast groups.  It also allows unicast forwarding tables at transit RBridges to be sized according to the number of RBridges (rather than the number of end nodes), which allows their forwarding tables to be substantially smaller than in conventional customer bridges. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6325"/>
          <seriesInfo name="DOI" value="10.17487/RFC6325"/>
        </reference>
        <reference anchor="RFC7356" target="https://www.rfc-editor.org/info/rfc7356" quoteTitle="true" derivedAnchor="RFC7356">
          <front>
            <title>IS-IS Flooding Scope Link State PDUs (LSPs)</title>
            <author initials="L." surname="Ginsberg" fullname="L. Ginsberg">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Previdi" fullname="S. Previdi">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="Y." surname="Yang" fullname="Y. Yang">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2014" month="September"/>
            <abstract>
              <t indent="0">Intermediate System to Intermediate System (IS-IS) provides efficient and reliable flooding of information to its peers; however, the current flooding scopes are limited to either area scope or domain scope.  There are existing use cases where support of other flooding scopes is desirable.  This document defines new Protocol Data Units (PDUs) that provide support for new flooding scopes as well as additional space for advertising information targeted for the currently supported flooding scopes.  This document also defines extended Type-Length-Values (TLVs) and sub-TLVs that are encoded using 16-bit fields for Type and Length.</t>
              <t indent="0">The protocol extensions defined in this document are not backwards compatible with existing implementations and so must be deployed with care.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7356"/>
          <seriesInfo name="DOI" value="10.17487/RFC7356"/>
        </reference>
        <reference anchor="RFC7357" target="https://www.rfc-editor.org/info/rfc7357" quoteTitle="true" derivedAnchor="RFC7357">
          <front>
            <title>Transparent Interconnection of Lots of Links (TRILL): End Station Address Distribution Information (ESADI) Protocol</title>
            <author initials="H." surname="Zhai" fullname="H. Zhai">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="F." surname="Hu" fullname="F. Hu">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R." surname="Perlman" fullname="R. Perlman">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="D." surname="Eastlake 3rd" fullname="D. Eastlake 3rd">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="O." surname="Stokes" fullname="O. Stokes">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2014" month="September"/>
            <abstract>
              <t indent="0">The IETF TRILL (Transparent Interconnection of Lots of Links) protocol provides least-cost pair-wise data forwarding without configuration in multi-hop networks with arbitrary topologies and link technologies.  TRILL supports multipathing of both unicast and multicast traffic.  Devices that implement the TRILL protocol are called TRILL switches or RBridges (Routing Bridges).</t>
              <t indent="0">ESADI (End Station Address Distribution Information) is an optional protocol by which a TRILL switch can communicate, in a Data Label (VLAN or fine-grained label) scoped way, end station address and reachability information to TRILL switches participating in ESADI for the relevant Data Label.  This document updates RFC 6325, specifically the documentation of the ESADI protocol, and is not backwards compatible.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7357"/>
          <seriesInfo name="DOI" value="10.17487/RFC7357"/>
        </reference>
        <reference anchor="RFC7455" target="https://www.rfc-editor.org/info/rfc7455" quoteTitle="true" derivedAnchor="RFC7455">
          <front>
            <title>Transparent Interconnection of Lots of Links (TRILL): Fault Management</title>
            <author initials="T." surname="Senevirathne" fullname="T. Senevirathne">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="N." surname="Finn" fullname="N. Finn">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Salam" fullname="S. Salam">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="D." surname="Kumar" fullname="D. Kumar">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="D." surname="Eastlake 3rd" fullname="D. Eastlake 3rd">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Aldrin" fullname="S. Aldrin">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="Y." surname="Li" fullname="Y. Li">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2015" month="March"/>
            <abstract>
              <t indent="0">This document specifies Transparent Interconnection of Lots of Links (TRILL) Operations, Administration, and Maintenance (OAM) fault management.  Methods in this document follow the CFM (Connectivity Fault Management) framework defined in IEEE 802.1 and reuse OAM tools where possible. Additional messages and TLVs are defined for TRILL-specific applications or for cases where a different set of information is required other than CFM as defined in IEEE 802.1.  This document updates RFC 6325.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7455"/>
          <seriesInfo name="DOI" value="10.17487/RFC7455"/>
        </reference>
        <reference anchor="RFC7780" target="https://www.rfc-editor.org/info/rfc7780" quoteTitle="true" derivedAnchor="RFC7780">
          <front>
            <title>Transparent Interconnection of Lots of Links (TRILL): Clarifications, Corrections, and Updates</title>
            <author initials="D." surname="Eastlake 3rd" fullname="D. Eastlake 3rd">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="M." surname="Zhang" fullname="M. Zhang">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R." surname="Perlman" fullname="R. Perlman">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="A." surname="Banerjee" fullname="A. Banerjee">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="A." surname="Ghanwani" fullname="A. Ghanwani">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Gupta" fullname="S. Gupta">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2016" month="February"/>
            <abstract>
              <t indent="0">Since the publication of the TRILL (Transparent Interconnection of Lots of Links) base protocol in 2011, active development and deployment of TRILL have revealed errata in RFC 6325 and areas that could use clarifications or updates.  RFC 7177, RFC 7357, and an intended replacement of RFC 6439 provide clarifications and updates with respect to adjacency, the TRILL ESADI (End Station Address Distribution Information) protocol, and Appointed Forwarders, respectively.  This document provides other known clarifications, corrections, and updates.  It obsoletes RFC 7180 (the previous "TRILL clarifications, corrections, and updates" RFC), and it updates RFCs 6325, 7177, and 7179.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7780"/>
          <seriesInfo name="DOI" value="10.17487/RFC7780"/>
        </reference>
        <reference anchor="RFC8126" target="https://www.rfc-editor.org/info/rfc8126" quoteTitle="true" derivedAnchor="RFC8126">
          <front>
            <title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
            <author initials="M." surname="Cotton" fullname="M. Cotton">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="B." surname="Leiba" fullname="B. Leiba">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="T." surname="Narten" fullname="T. Narten">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2017" month="June"/>
            <abstract>
              <t indent="0">Many protocols make use of points of extensibility that use constants to identify various protocol parameters.  To ensure that the values in these fields do not have conflicting uses and to promote interoperability, their allocations are often coordinated by a central record keeper.  For IETF protocols, that role is filled by the Internet Assigned Numbers Authority (IANA).</t>
              <t indent="0">To make assignments in a given registry prudently, guidance describing the conditions under which new values should be assigned, as well as when and how modifications to existing values can be made, is needed.  This document defines a framework for the documentation of these guidelines by specification authors, in order to assure that the provided guidance for the IANA Considerations is clear and addresses the various issues that are likely in the operation of a registry.</t>
              <t indent="0">This is the third edition of this document; it obsoletes RFC 5226.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="26"/>
          <seriesInfo name="RFC" value="8126"/>
          <seriesInfo name="DOI" value="10.17487/RFC8126"/>
        </reference>
        <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" quoteTitle="true" derivedAnchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author initials="B." surname="Leiba" fullname="B. Leiba">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2017" month="May"/>
            <abstract>
              <t indent="0">RFC 2119 specifies common key words that may be used in protocol  specifications.  This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the  defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC8397" target="https://www.rfc-editor.org/info/rfc8397" quoteTitle="true" derivedAnchor="RFC8397">
          <front>
            <title>Transparent Interconnection of Lots of Links (TRILL) Multilevel Using Unique Nicknames</title>
            <author initials="M." surname="Zhang" fullname="M. Zhang">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="D." surname="Eastlake 3rd" fullname="D. Eastlake 3rd">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R." surname="Perlman" fullname="R. Perlman">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="H." surname="Zhai" fullname="H. Zhai">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="D." surname="Liu" fullname="D. Liu">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2018" month="May"/>
            <abstract>
              <t indent="0">TRILL (Transparent Interconnection of Lots of Links) routing can be extended to support multiple levels by building on the multilevel feature of IS-IS routing.  Depending on how nicknames are managed, there are two primary alternatives to realize TRILL multilevel: the unique nickname approach and the aggregated nickname approach as discussed in RFC 8243.  This document specifies a unique nickname approach.  This approach gives unique nicknames to all TRILL switches across the multilevel TRILL campus.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8397"/>
          <seriesInfo name="DOI" value="10.17487/RFC8397"/>
        </reference>
      </references>
      <references pn="section-11.2">
        <name slugifiedName="name-informative-references">Informative References</name>
        <reference anchor="IS-IS" quoteTitle="true" derivedAnchor="IS-IS">
          <front>
            <title>Information technology -- Telecommunications and information exchange between systems -- Intermediate System to Intermediate System intra-domain routeing information exchange protocol for use in conjunction with the protocol for providing the connectionless-mode network service (ISO 8473)</title>
            <author>
              <organization showOnFrontPage="true">International Organization for Standardization</organization>
            </author>
            <date year="2002" month="November"/>
          </front>
          <refcontent>ISO 8473</refcontent>
          <refcontent>ISO/IEC 10589:2002</refcontent>
          <refcontent>Second Edition</refcontent>
        </reference>
        <reference anchor="RFC5310" target="https://www.rfc-editor.org/info/rfc5310" quoteTitle="true" derivedAnchor="RFC5310">
          <front>
            <title>IS-IS Generic Cryptographic Authentication</title>
            <author initials="M." surname="Bhatia" fullname="M. Bhatia">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="V." surname="Manral" fullname="V. Manral">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="T." surname="Li" fullname="T. Li">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R." surname="Atkinson" fullname="R. Atkinson">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R." surname="White" fullname="R. White">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="M." surname="Fanto" fullname="M. Fanto">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2009" month="February"/>
            <abstract>
              <t indent="0">This document proposes an extension to Intermediate System to Intermediate System (IS-IS) to allow the use of any cryptographic authentication algorithm in addition to the already-documented authentication schemes, described in the base specification and RFC 5304.  IS-IS is specified in International Standards Organization (ISO) 10589, with extensions to support Internet Protocol version 4 (IPv4) described in RFC 1195.</t>
              <t indent="0">Although this document has been written specifically for using the Hashed Message Authentication Code (HMAC) construct along with the Secure Hash Algorithm (SHA) family of cryptographic hash functions, the method described in this document is generic and can be used to extend IS-IS to support any cryptographic hash function in the future.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5310"/>
          <seriesInfo name="DOI" value="10.17487/RFC5310"/>
        </reference>
        <reference anchor="RFC8243" target="https://www.rfc-editor.org/info/rfc8243" quoteTitle="true" derivedAnchor="RFC8243">
          <front>
            <title>Alternatives for Multilevel Transparent Interconnection of Lots of Links (TRILL)</title>
            <author initials="R." surname="Perlman" fullname="R. Perlman">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="D." surname="Eastlake 3rd" fullname="D. Eastlake 3rd">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="M." surname="Zhang" fullname="M. Zhang">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="A." surname="Ghanwani" fullname="A. Ghanwani">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="H." surname="Zhai" fullname="H. Zhai">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2017" month="September"/>
            <abstract>
              <t indent="0">Although TRILL is based on IS-IS, which supports multilevel unicast routing, extending TRILL to multiple levels has challenges that are not addressed by the already-existing capabilities of IS-IS.  One issue is with the handling of multi-destination packet distribution trees.  Other issues are with TRILL switch nicknames.  How are such nicknames allocated across a multilevel TRILL network?  Do nicknames need to be unique across an entire multilevel TRILL network?  Or can they merely be unique within each multilevel area?</t>
              <t indent="0">This informational document enumerates and examines alternatives based on a number of factors including backward compatibility, simplicity, and scalability; it makes recommendations in some cases.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8243"/>
          <seriesInfo name="DOI" value="10.17487/RFC8243"/>
        </reference>
      </references>
    </references>
    <section anchor="sect-a" numbered="true" toc="include" removeInRFC="false" pn="section-appendix.a">
      <name slugifiedName="name-level-transition-clarificat">Level Transition Clarification</name>
      <t indent="0" pn="section-appendix.a-1">
   It's possible that an L1 RBridge is only reachable from a non-DBRB
   border RBridge. If this non-DBRB RBridge refrains from Level
   transition, the question is, how can a multicast packet reach this L1
   RBridge? The answer is, it will be reached after the DBRB performs
   the Level transition and floods the packet using an L1 distribution
   tree.</t>
      <t indent="0" pn="section-appendix.a-2">
   Take the following figure as an example. RB77 is reachable from the
   border RBridge RB30 while RB3 is the DBRB. RB3 transitions the
   multicast packet into L1 and floods the packet on the distribution
   tree rooted from RB3. This packet is finally flooded to RB77 via
   RB30.</t>
      <artwork name="" type="" align="center" alt="" pn="section-appendix.a-3">
       Area{3,30}
     +--------------+          (root) RB3 o
     |              |                      \
-RB3 |              |                       o RB30
  |  |              |                      /
-RB30-RB77          |                RB77 o
     +--------------+

     Example Topology               L1 Tree
</artwork>
      <t indent="0" pn="section-appendix.a-4">
   In the above example, the multicast packet is forwarded along a non-optimal
   path. A possible improvement is to have RB3 configured not to belong to
   this area. In this way, RB30 will surely act as the DBRB to do the Level
   transition.</t>
    </section>
    <section anchor="authors-addresses" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.b">
      <name slugifiedName="name-authors-addresses">Authors' Addresses</name>
      <author initials="M." surname="Zhang" fullname="Mingui Zhang">
        <organization abbrev="Independent" showOnFrontPage="true">Independent</organization>
        <address>
          <postal>
            <city>Beijing</city>
            <country>China</country>
          </postal>
          <email>zhangmingui@qq.com</email>
        </address>
      </author>
      <author initials="D." surname="Eastlake 3rd" fullname="Donald E. Eastlake, 3rd">
        <organization abbrev="Futurewei" showOnFrontPage="true">Futurewei Technologies</organization>
        <address>
          <postal>
            <street>2386 Panoramic Circle</street>
            <city>Apopka</city>
            <region>FL</region>
            <code>32703</code>
            <country>United States of America</country>
          </postal>
          <phone>+1-508-333-2270</phone>
          <email>d3e3e3@gmail.com</email>
        </address>
      </author>
      <author initials="R." surname="Perlman" fullname="Radia Perlman">
        <organization showOnFrontPage="true">EMC</organization>
        <address>
          <postal>
            <street>2010 256th Avenue NE, #200</street>
            <city>Bellevue</city>
            <region>WA</region>
            <code>98007</code>
            <country>United States of America</country>
          </postal>
          <email>radia@alum.mit.edu</email>
        </address>
      </author>
      <author initials="M." surname="Cullen" fullname="Margaret Cullen">
        <organization showOnFrontPage="true">Painless Security</organization>
        <address>
          <postal>
            <street>356 Abbott Street</street>
            <city>North Andover</city>
            <region>MA</region>
            <code>01845</code>
            <country>United States of America</country>
          </postal>
          <phone>+1-781-405-7464</phone>
          <email>margaret@painless-security.com</email>
          <uri>https://www.painless-security.com</uri>
        </address>
      </author>
      <author initials="H." surname="Zhai" fullname="Hongjun Zhai">
        <organization abbrev="JIT" showOnFrontPage="true">Jinling Institute of Technology</organization>
        <address>
          <postal>
            <street>99 Hongjing Avenue, Jiangning District</street>
            <city>Nanjing</city>
            <region>Jiangsu</region>
            <code>211169</code>
            <country>China</country>
          </postal>
          <email>honjun.zhai@tom.com</email>
        </address>
      </author>
    </section>
  </back>
</rfc>
