7180
PROPOSED STANDARD

Transparent Interconnection of Lots of Links (TRILL): Clarifications, Corrections, and Updates (Obsoleted)

Authors: D. Eastlake 3rd, M. Zhang, A. Ghanwani, V. Manral, A. Banerjee
Date: May 2014
Area: int
Working Group: trill
Stream: IETF
Obsoleted by: RFC 7780
Updates: RFC 6325

Abstract

The IETF Transparent Interconnection of Lots of Links (TRILL) protocol provides least-cost pair-wise data forwarding without configuration in multi-hop networks with arbitrary topology and link technology, safe forwarding even during periods of temporary loops, and support for multipathing of both unicast and multicast traffic. TRILL accomplishes this by using Intermediate System to Intermediate System (IS-IS) link-state routing and by encapsulating traffic using a header that includes a hop count. Since publication of the TRILL base protocol in July 2011, active development of TRILL has revealed errata in RFC 6325 and some cases that could use clarifications or updates.

RFCs 6327 and 6439 provide clarifications and updates with respect to adjacency and Appointed Forwarders. This document provides other known clarifications, corrections, and updates to RFCs 6325, 6327, and 6439.

RFC 7180: Transparent Interconnection of Lots of Links (TRILL): Clarifications, Corrections, and Updates [RFC Home] [TEXT|PDF|HTML] [Tracker] [IPR] [Info page]

Obsoleted by: 7780 PROPOSED STANDARD
Internet Engineering Task Force (IETF)                   D. Eastlake 3rd
Request for Comments: 7180                                      M. Zhang
Updates: <a href="./rfc6325">6325</a>, <a href="./rfc6327">6327</a>, <a href="./rfc6439">6439</a>                                         Huawei
Category: Standards Track                                    A. Ghanwani
ISSN: 2070-1721                                                     Dell
                                                               V. Manral
                                                             Ionos Corp.
                                                             A. Banerjee
                                                        Cumulus Networks
                                                                May 2014


         <span class="h1">Transparent Interconnection of Lots of Links (TRILL):</span>
                <span class="h1">Clarifications, Corrections, and Updates</span>

Abstract

   The IETF Transparent Interconnection of Lots of Links (TRILL)
   protocol provides least-cost pair-wise data forwarding without
   configuration in multi-hop networks with arbitrary topology and link
   technology, safe forwarding even during periods of temporary loops,
   and support for multipathing of both unicast and multicast traffic.
   TRILL accomplishes this by using Intermediate System to Intermediate
   System (IS-IS) link-state routing and by encapsulating traffic using
   a header that includes a hop count.  Since publication of the TRILL
   base protocol in July 2011, active development of TRILL has revealed
   errata in  <a href="./rfc6325">RFC 6325</a> and some cases that could use clarifications or
   updates.

   RFCs 6327 and 6439 provide clarifications and updates with respect to
   adjacency and Appointed Forwarders.  This document provides other
   known clarifications, corrections, and updates to RFCs 6325, 6327,
   and 6439.

Status of This Memo

   This is an Internet Standards Track document.

   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 <a href="./rfc5741#section-2">Section 2 of RFC 5741</a>.

   Information about the current status of this document, any errata,
   and how to provide feedback on it may be obtained at
   <a href="https://www.rfc-editor.org/info/rfc7180">http://www.rfc-editor.org/info/rfc7180</a>.




<span class="grey">Eastlake, et al.             Standards Track                    [Page 1]</span>

<span id="page-2" ></span>
<span class="grey"><a href="./rfc7180">RFC 7180</a>     TRILL: Clarifications, Corrections, and Updates    May 2014</span>


Copyright Notice

   Copyright (c) 2014 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to <a href="https://www.rfc-editor.org/bcp/bcp78">BCP 78</a> and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (<a href="http://trustee.ietf.org/license-info">http://trustee.ietf.org/license-info</a>) 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 Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.





































<span class="grey">Eastlake, et al.             Standards Track                    [Page 2]</span>

<span id="page-3" ></span>
<span class="grey"><a href="./rfc7180">RFC 7180</a>     TRILL: Clarifications, Corrections, and Updates    May 2014</span>


Table of Contents

   <a href="#section-1">1</a>. Introduction ....................................................<a href="#page-4">4</a>
      <a href="#section-1.1">1.1</a>. Precedence .................................................<a href="#page-4">4</a>
      <a href="#section-1.2">1.2</a>. Changes That Are Not Backward Compatible ...................<a href="#page-4">4</a>
      <a href="#section-1.3">1.3</a>. Terminology and Acronyms ...................................<a href="#page-5">5</a>
   <a href="#section-2">2</a>. Overloaded and/or Unreachable RBridges ..........................<a href="#page-5">5</a>
      <a href="#section-2.1">2.1</a>. Reachability ...............................................<a href="#page-6">6</a>
      <a href="#section-2.2">2.2</a>. Distribution Trees .........................................<a href="#page-6">6</a>
      <a href="#section-2.3">2.3</a>. Overloaded Receipt of TRILL Data Frames ....................<a href="#page-7">7</a>
           <a href="#section-2.3.1">2.3.1</a>. Known Unicast Receipt ...............................<a href="#page-7">7</a>
           <a href="#section-2.3.2">2.3.2</a>. Multi-Destination Receipt ...........................<a href="#page-7">7</a>
      <a href="#section-2.4">2.4</a>. Overloaded Origination of TRILL Data Frames ................<a href="#page-7">7</a>
           <a href="#section-2.4.1">2.4.1</a>. Known Unicast Origination ...........................<a href="#page-7">7</a>
           <a href="#section-2.4.2">2.4.2</a>. Multi-Destination Origination .......................<a href="#page-8">8</a>
                  <a href="#section-2.4.2.1">2.4.2.1</a>. An Example Network .........................<a href="#page-8">8</a>
                  <a href="#section-2.4.2.2">2.4.2.2</a>. Indicating OOMF Support ....................<a href="#page-9">9</a>
                  <a href="#section-2.4.2.3">2.4.2.3</a>. Using OOMF Service .........................<a href="#page-9">9</a>
   <a href="#section-3">3</a>. Distribution Trees .............................................<a href="#page-10">10</a>
      <a href="#section-3.1">3.1</a>. Number of Distribution Trees ..............................<a href="#page-10">10</a>
      <a href="#section-3.2">3.2</a>. Clarification of Distribution Tree Updates ................<a href="#page-10">10</a>
      <a href="#section-3.3">3.3</a>. Multicast Pruning Based on IP Address .....................<a href="#page-10">10</a>
      <a href="#section-3.4">3.4</a>. Numbering of Distribution Trees ...........................<a href="#page-11">11</a>
      <a href="#section-3.5">3.5</a>. Link Cost Directionality ..................................<a href="#page-11">11</a>
   <a href="#section-4">4</a>. Nickname Selection .............................................<a href="#page-11">11</a>
   <a href="#section-5">5</a>. MTU (Maximum Transmission Unit) ................................<a href="#page-13">13</a>
      <a href="#section-5.1">5.1</a>. MTU-Related Errata in <a href="./rfc6325">RFC 6325</a> ............................<a href="#page-13">13</a>
           <a href="#section-5.1.1">5.1.1</a>. MTU PDU Addressing .................................<a href="#page-14">14</a>
           <a href="#section-5.1.2">5.1.2</a>. MTU PDU Processing .................................<a href="#page-14">14</a>
           <a href="#section-5.1.3">5.1.3</a>. MTU Testing ........................................<a href="#page-14">14</a>
      <a href="#section-5.2">5.2</a>. Ethernet MTU Values .......................................<a href="#page-15">15</a>
   <a href="#section-6">6</a>. Port Modes .....................................................<a href="#page-15">15</a>
   <a href="#section-7">7</a>. The CFI/DEI Bit ................................................<a href="#page-16">16</a>
   <a href="#section-8">8</a>. Graceful Restart ...............................................<a href="#page-17">17</a>
   <a href="#section-9">9</a>. Updates to <a href="./rfc6327">RFC 6327</a> ............................................<a href="#page-17">17</a>
   <a href="#section-10">10</a>. Updates on Appointed Forwarders and Inhibition ................<a href="#page-18">18</a>
      <a href="#section-10.1">10.1</a>. Optional TRILL Hello Reduction ...........................<a href="#page-18">18</a>
      <a href="#section-10.2">10.2</a>. Overload and Appointed Forwarders ........................<a href="#page-20">20</a>
   <a href="#section-11">11</a>. IANA Considerations ...........................................<a href="#page-21">21</a>
   <a href="#section-12">12</a>. Security Considerations .......................................<a href="#page-21">21</a>
   <a href="#section-13">13</a>. Acknowledgements ..............................................<a href="#page-21">21</a>
   <a href="#section-14">14</a>. References ....................................................<a href="#page-22">22</a>
      <a href="#section-14.1">14.1</a>. Normative References .....................................<a href="#page-22">22</a>
      <a href="#section-14.2">14.2</a>. Informative References ...................................<a href="#page-23">23</a>







<span class="grey">Eastlake, et al.             Standards Track                    [Page 3]</span>

<span id="page-4" ></span>
<span class="grey"><a href="./rfc7180">RFC 7180</a>     TRILL: Clarifications, Corrections, and Updates    May 2014</span>


<span class="h2"><a class="selflink" id="section-1" href="#section-1">1</a>.  Introduction</span>

   The IETF Transparent Interconnection of Lots of Links (TRILL)
   protocol [<a href="./rfc6325" title=""Routing Bridges (RBridges): Base Protocol Specification"">RFC6325</a>] provides optimal pair-wise data frame forwarding
   without configuration in multi-hop networks with arbitrary topology
   and link technology, safe forwarding even during periods of temporary
   loops, and support for multipathing of both unicast and multicast
   traffic.  TRILL accomplishes this by using Intermediate System to
   Intermediate System (IS-IS) [<a href="#ref-IS-IS" title=""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)"">IS-IS</a>] [<a href="./rfc1195" title=""Use of OSI IS-IS for routing in TCP/IP and dual environments"">RFC1195</a>] [<a href="./rfc7176" title=""Transparent Interconnection of Lots of Links (TRILL) Use of IS-IS"">RFC7176</a>] link-state
   routing and encapsulating traffic using a header that includes a hop
   count.  The design supports VLANs (Virtual Local Area Networks) and
   optimization of the distribution of multi-destination frames based on
   VLANs and IP derived multicast groups.

   In the years since the TRILL base protocol [<a href="./rfc6325" title=""Routing Bridges (RBridges): Base Protocol Specification"">RFC6325</a>] was published,
   active development of TRILL has revealed five errors in the
   specification [<a href="./rfc6325" title=""Routing Bridges (RBridges): Base Protocol Specification"">RFC6325</a>] and cases that could use clarifications or
   updates.

   [<a id="ref-RFC6327">RFC6327</a>] and [<a href="./rfc6439" title=""Routing Bridges (RBridges): Appointed Forwarders"">RFC6439</a>] provide clarifications with respect to
   Adjacency and Appointed Forwarders.  This document provides other
   known clarifications, corrections, and updates to [<a href="./rfc6325" title=""Routing Bridges (RBridges): Base Protocol Specification"">RFC6325</a>],
   [<a href="./rfc6327" title=""Routing Bridges (RBridges): Adjacency"">RFC6327</a>], and [<a href="./rfc6439" title=""Routing Bridges (RBridges): Appointed Forwarders"">RFC6439</a>].

<span class="h3"><a class="selflink" id="section-1.1" href="#section-1.1">1.1</a>.  Precedence</span>

   In case of conflict between this document and any of [<a href="./rfc6325" title=""Routing Bridges (RBridges): Base Protocol Specification"">RFC6325</a>],
   [<a href="./rfc6327" title=""Routing Bridges (RBridges): Adjacency"">RFC6327</a>], or [<a href="./rfc6439" title=""Routing Bridges (RBridges): Appointed Forwarders"">RFC6439</a>], this document takes precedence.  In
   addition, <a href="#section-1.2">Section 1.2</a> (Normative Content and Precedence) of [<a href="./rfc6325" title=""Routing Bridges (RBridges): Base Protocol Specification"">RFC6325</a>]
   is updated to provide a more complete precedence ordering of the
   sections of [<a href="./rfc6325" title=""Routing Bridges (RBridges): Base Protocol Specification"">RFC6325</a>] as following, where sections to the left take
   precedence over sections to their right:

                      4 > 3 > 7 > 5 > 2 > 6 > 1

<span class="h3"><a class="selflink" id="section-1.2" href="#section-1.2">1.2</a>.  Changes That Are Not Backward Compatible</span>

   The change made by <a href="#section-3.4">Section 3.4</a> below is not backward compatible with
   [<a href="./rfc6325" title=""Routing Bridges (RBridges): Base Protocol Specification"">RFC6325</a>] but has nevertheless been adopted to reduce distribution
   tree changes resulting from topology changes.

   The several other changes herein that are fixes to errata for
   [<a href="./rfc6325" title=""Routing Bridges (RBridges): Base Protocol Specification"">RFC6325</a>] -- [<a href="#ref-Err3002" title="RFC 6325">Err3002</a>] [<a href="#ref-Err3003" title="RFC 6325">Err3003</a>] [<a href="#ref-Err3004" title="RFC 6325">Err3004</a>] [<a href="#ref-Err3052" title="RFC 6325">Err3052</a>] [<a href="#ref-Err3053" title="RFC 6325">Err3053</a>]
   [<a href="#ref-Err3508" title="RFC 6325">Err3508</a>] -- may not be backward compatible with previous
   implementations that conformed to errors in the specification.






<span class="grey">Eastlake, et al.             Standards Track                    [Page 4]</span>

<span id="page-5" ></span>
<span class="grey"><a href="./rfc7180">RFC 7180</a>     TRILL: Clarifications, Corrections, and Updates    May 2014</span>


<span class="h3"><a class="selflink" id="section-1.3" href="#section-1.3">1.3</a>.  Terminology and Acronyms</span>

   This document uses the acronyms defined in [<a href="./rfc6325" title=""Routing Bridges (RBridges): Base Protocol Specification"">RFC6325</a>] and the
   following acronyms and terms:

      CFI - Canonical Format Indicator [<a href="#ref-802" title=""IEEE Standard for Local and metropolitan area networks: Overview and Architecture"">802</a>]

      DEI - Drop Eligibility Indicator [<a href="#ref-802.1Q-2011">802.1Q-2011</a>]

      EISS - Enhanced Internal Sublayer Service

      OOMF - Overload Originated Multi-destination Frame

      TRILL Switch - An alternative name for an RBridge

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
   "OPTIONAL" in this document are to be interpreted as described in
   [<a href="./rfc2119" title=""Key words for use in RFCs to Indicate Requirement Levels"">RFC2119</a>].

<span class="h2"><a class="selflink" id="section-2" href="#section-2">2</a>.  Overloaded and/or Unreachable RBridges</span>

   RBridges may be in overload as indicated by the [<a href="#ref-IS-IS" title=""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)"">IS-IS</a>] overload flag
   in their LSPs (Link State PDUs).  This means that either (1) they are
   incapable of holding the entire link-state database and thus do not
   have a view of the entire topology or (2) they have been configured
   to have the overload bit set.  Although networks should be engineered
   to avoid actual link-state overload, it might occur under various
   circumstances.  For example, if a large campus included one or more
   low-end TRILL Switches.

   It is a common operational practice to set the overload bit in an
   [<a href="#ref-IS-IS" title=""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)"">IS-IS</a>] router (such as an RBridge) when performing maintenance on
   that router that might affect its ability to correctly forward
   frames; this will usually leave the router reachable for maintenance
   traffic, but transit traffic will not be routed through it.  (Also,
   in some cases, TRILL provides for setting the overload bit in the
   pseudonode of a link to stop TRILL Data traffic on an access link
   (see <a href="./rfc6325#section-4.9.1">Section 4.9.1 of [RFC6325]</a>).)

   [<a id="ref-IS-IS">IS-IS</a>] and TRILL make a reasonable effort to do what they can even
   if some RBridges/routers are in overload.  They can do reasonably
   well if a few scattered nodes are in overload.  However, actual
   least-cost paths are no longer assured if any RBridges are in
   overload.

   For the effect of overload on the appointment of forwarders, see
   <a href="#section-10.2">Section 10.2</a>.



<span class="grey">Eastlake, et al.             Standards Track                    [Page 5]</span>

<span id="page-6" ></span>
<span class="grey"><a href="./rfc7180">RFC 7180</a>     TRILL: Clarifications, Corrections, and Updates    May 2014</span>


   In this <a href="#section-2">Section 2</a>, the term "neighbor" refers only to actual RBridges
   and ignores pseudonodes.

<span class="h3"><a class="selflink" id="section-2.1" href="#section-2.1">2.1</a>.  Reachability</span>

   Frames are not least-cost routed through an overloaded TRILL Switch,
   although they may originate or terminate at an overloaded TRILL
   Switch.  In addition, frames will not be least-cost routed over links
   with cost 2**24 - 1 [<a href="./rfc5305" title=""IS-IS Extensions for Traffic Engineering"">RFC5305</a>]; such links are reserved for traffic-
   engineered frames, the handling of which is beyond the scope of this
   document.

   As a result, a portion of the campus may be unreachable for least-
   cost routed TRILL Data because all paths to it would be through a
   link with cost 2**24 - 1 or through an overloaded RBridge.  For
   example, an RBridge RB1 is not reachable by TRILL Data if all of its
   neighbors are connected to RB1 by links with cost 2**24 - 1.  Such
   RBridges are called "data unreachable".

   The link-state database at an RBridge RB1 can also contain
   information on TRILL Switches that are unreachable by IS-IS link-
   state flooding due to link or RBridge failures.  When such failures
   partition the campus, the TRILL Switches adjacent to the failure and
   on the same side of the failure as RB1 will update their LSPs to show
   the lack of connectivity, and RB1 will receive those updates.  As a
   result, RB1 will be aware of the partition.  Nodes on the far side of
   the partition are both IS-IS unreachable and data unreachable.
   However, LSPs held by RB1 for TRILL Switches on the far side of the
   failure will not be updated and may stay around until they time out,
   which could be tens of minutes or longer.  (The default in [<a href="#ref-IS-IS" title=""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)"">IS-IS</a>] is
   twenty minutes.)

<span class="h3"><a class="selflink" id="section-2.2" href="#section-2.2">2.2</a>.  Distribution Trees</span>

   An RBridge in overload cannot be trusted to correctly calculate
   distribution trees or correctly perform the RPFC (Reverse-Path
   Forwarding Check).  Therefore, it cannot be trusted to forward multi-
   destination TRILL Data frames.  It can only appear as a leaf node in
   a TRILL multi-destination distribution tree.  Furthermore, if all the
   immediate neighbors of an RBridge are overloaded, then it is omitted
   from all trees in the campus and is unreachable by multi-destination
   frames.

   When an RBridge determines what nicknames to use as the roots of the
   distribution trees it calculates, it MUST ignore all nicknames held
   by TRILL Switches that are in overload or are data unreachable.  When
   calculating RPFCs for multi-destination frames, an RBridge RB1 MAY,
   to avoid calculating unnecessary RPF check state, ignore any trees



<span class="grey">Eastlake, et al.             Standards Track                    [Page 6]</span>

<span id="page-7" ></span>
<span class="grey"><a href="./rfc7180">RFC 7180</a>     TRILL: Clarifications, Corrections, and Updates    May 2014</span>


   that cannot reach to RB1 even if other RBridges list those trees as
   trees that other TRILL Switches might use.  (But see <a href="#section-3">Section 3</a>.)

<span class="h3"><a class="selflink" id="section-2.3" href="#section-2.3">2.3</a>.  Overloaded Receipt of TRILL Data Frames</span>

   The receipt of TRILL Data frames by overloaded RBridge RB2 is
   discussed in the subsections below.  In all cases, the normal Hop
   Count decrement is performed, and the TRILL Data frame is discarded
   if the result is less than one or if the egress nickname is illegal.

<span class="h4"><a class="selflink" id="section-2.3.1" href="#section-2.3.1">2.3.1</a>.  Known Unicast Receipt</span>

   RB2 will not usually receive unicast TRILL Data frames unless it is
   the egress, in which case it decapsulates and delivers the frames
   normally.  If RB2 receives a unicast TRILL Data frame for which it is
   not the egress, perhaps because a neighbor does not yet know it is in
   overload, RB2 MUST NOT discard the frame because the egress is an
   unknown nickname as it might not know about all nicknames due to its
   overloaded condition.  If any neighbor, other than the neighbor from
   which it received the frame, is not overloaded, it MUST attempt to
   forward the frame to one of those neighbors.  If there is no such
   neighbor, the frame is discarded.

<span class="h4"><a class="selflink" id="section-2.3.2" href="#section-2.3.2">2.3.2</a>.  Multi-Destination Receipt</span>

   If RB2 in overload receives a multi-destination TRILL Data frame, RB2
   MUST NOT apply an RPFC since, due to overload, it might not do so
   correctly.  RB2 decapsulates and delivers the frame locally where it
   is Appointed Forwarder for the frame's VLAN, subject to any multicast
   pruning.  But since, as stated above, RB2 can only be the leaf of a
   distribution tree, it MUST NOT forward a multi-destination TRILL Data
   frame (except as an egressed native frame where RB2 is Appointed
   Forwarder).

<span class="h3"><a class="selflink" id="section-2.4" href="#section-2.4">2.4</a>.  Overloaded Origination of TRILL Data Frames</span>

   Overloaded origination of unicast frames with known egress and of
   multi-destination frames are discussed in the subsections below.

<span class="h4"><a class="selflink" id="section-2.4.1" href="#section-2.4.1">2.4.1</a>.  Known Unicast Origination</span>

   When an overloaded RBridge RB2 ingresses or creates a known
   destination unicast TRILL Data frame, it delivers it locally if the
   destination Media Access Control (MAC) is local.  Otherwise, RB2
   unicasts it to any neighbor TRILL Switch that is not overloaded.  It
   MAY use what routing information it has to help select the neighbor.





<span class="grey">Eastlake, et al.             Standards Track                    [Page 7]</span>

<span id="page-8" ></span>
<span class="grey"><a href="./rfc7180">RFC 7180</a>     TRILL: Clarifications, Corrections, and Updates    May 2014</span>


<span class="h4"><a class="selflink" id="section-2.4.2" href="#section-2.4.2">2.4.2</a>.  Multi-Destination Origination</span>

   Overloaded RBridge RB2 ingressing or creating a multi-destination
   TRILL Data frame is more complex than for a known unicast frame.

<span class="h5"><a class="selflink" id="section-2.4.2.1" href="#section-2.4.2.1">2.4.2.1</a>.  An Example Network</span>

   For example, consider the network below in which, for simplicity, end
   stations and any bridges are not shown.  There is one distribution
   tree of which RB4 is the root; it is represented by double lines.
   Only RBridge RB2 is overloaded.

            +-----+    +-----+     +-----+     +-----+
            | RB7 +====+ RB5 +=====+ RB3 +=====+ RB1 |
            +-----+    +--+--+     +-++--+     +--+--|
                          |          ||           |
                      +---+---+      ||           |
               +------+RB2(ov)|======++           |
               |      +-------+      ||           |
               |                     ||           |
            +--+--+     +-----+  ++==++=++     +--+--+
            | RB8 +=====+ RB6 +==++ RB4 ++=====+ RB9 |
            +-----+     +-----+  ++=====++     +-----+

   Since RB2 is overloaded, it does not know what the distribution tree
   or trees are for the network.  Thus, there is no way it can provide
   normal TRILL Data encapsulation for multi-destination native frames.
   So RB2 tunnels the frame to a neighbor that is not overloaded if it
   has such a neighbor that has signaled that it is willing to offer
   this service.  RBridges indicate this in their Hellos as described
   below.  This service is called OOMF (Overload Originated Multi-
   destination Frame) service.

   -  The multi-destination frame MUST NOT be locally distributed in
      native form at RB2 before tunneling to a neighbor because this
      would cause the frame to be delivered twice.  For example, if RB2
      locally distributed a multicast native frame and then tunneled it
      to RB5, RB2 would get a copy of the frame when RB3 transmitted it
      as a TRILL Data frame on the multi-access RB2-RB3-RB4 link.  Since
      RB2 would, in general, not be able to tell that this was a frame
      it had tunneled for distribution, RB2 would decapsulate it and
      locally distribute it a second time.

   -  On the other hand, if there is no neighbor of RB2 offering RB2 the
      OOMF service, RB2 cannot tunnel the frame to a neighbor.  In this
      case, RB2 MUST locally distribute the frame where it is Appointed
      Forwarder for the frame's VLAN and optionally subject to multicast
      pruning.



<span class="grey">Eastlake, et al.             Standards Track                    [Page 8]</span>

<span id="page-9" ></span>
<span class="grey"><a href="./rfc7180">RFC 7180</a>     TRILL: Clarifications, Corrections, and Updates    May 2014</span>


<span class="h5"><a class="selflink" id="section-2.4.2.2" href="#section-2.4.2.2">2.4.2.2</a>.  Indicating OOMF Support</span>

   An RBridge RB3 indicates its willingness to offer the OOMF service to
   RB2 in the TRILL Neighbor TLV in RB3's TRILL Hellos by setting a bit
   associated with the SNPA (Subnetwork Point of Attachment, also known
   as MAC address) of RB2 on the link.  (See <a href="#section-11">Section 11</a>.)  Overloaded
   RBridge RB2 can only distribute multi-destination TRILL Data frames
   to the campus if a neighbor of RB2 not in overload offers RB2 the
   OOMF service.  If RB2 does not have OOMF service available to it, RB2
   can still receive multi-destination frames from non-overloaded
   neighbors and, if RB2 should originate or ingress such a frame, it
   distributes it locally in native form.

<span class="h5"><a class="selflink" id="section-2.4.2.3" href="#section-2.4.2.3">2.4.2.3</a>.  Using OOMF Service</span>

   If RB2 sees this OOMF (Overload Originated Multi-destination Frame)
   service advertised for it by any of its neighbors on any link to
   which RB2 connects, it selects one such neighbor by a means beyond
   the scope of this document.  Assuming RB2 selects RB3 to handle
   multi-destination frames it originates, RB2 MUST advertise in its LSP
   that it might use any of the distribution trees that RB3 advertises
   so that the RPFC will work in the rest of the campus.  Thus,
   notwithstanding its overloaded state, RB2 MUST retain this
   information from RB3 LSPs, which it will receive as it is directly
   connected to RB3.

   RB2 then encapsulates such frames as TRILL Data frames to RB3 as
   follows: M bit = 0, Hop Count = 2, ingress nickname = a nickname held
   by RB2, and, since RB2 cannot tell what distribution tree RB3 will
   use, egress nickname = a special nickname indicating an OOMF frame
   (see <a href="#section-11">Section 11</a>).  RB2 then unicasts this TRILL Data frame to RB3.
   (Implementation of Item 4 in <a href="#section-4">Section 4</a> below provides reasonable
   assurance that, notwithstanding its overloaded state, the ingress
   nickname used by RB2 will be unique within at least the portion of
   the campus that is IS-IS reachable from RB2.)

   On receipt of such a frame, RB3 does the following:

   -  changes the Egress Nickname field to designate a distribution tree
      that RB3 normally uses,
   -  sets the M bit to one,
   -  changes the Hop Count to the value it would normally use if it
      were the ingress, and
   -  forwards the frame on that tree.

   RB3 MAY rate limit the number of frames for which it is providing
   this service by discarding some such frames from RB2.  The provision
   of even limited bandwidth for OOMFs by RB3, perhaps via the slow



<span class="grey">Eastlake, et al.             Standards Track                    [Page 9]</span>

<span id="page-10" ></span>
<span class="grey"><a href="./rfc7180">RFC 7180</a>     TRILL: Clarifications, Corrections, and Updates    May 2014</span>


   path, may be important to the bootstrapping of services at RB2 or at
   end stations connected to RB2, such as supporting DHCP and ARP/ND
   (Address Resolution Protocol / Neighbor Discovery).  (Everyone
   sometimes needs a little OOMF (pronounced "oomph") to get off the
   ground.)

<span class="h2"><a class="selflink" id="section-3" href="#section-3">3</a>.  Distribution Trees</span>

   Two corrections, a clarification, and two updates related to
   distribution trees appear in the subsections below.  See also
   <a href="#section-2.2">Section 2.2</a>.

<span class="h3"><a class="selflink" id="section-3.1" href="#section-3.1">3.1</a>.  Number of Distribution Trees</span>

   In <a href="./rfc6325#section-4.5.2">[RFC6325], Section 4.5.2</a>, page 56, Point 2, 4th paragraph, the
   parenthetical "(up to the maximum of {j,k})" is incorrect [<a href="#ref-Err3052" title="RFC 6325">Err3052</a>].
   It should read "(up to k if j is zero or the minimum of (j, k) if j
   is non-zero)".

<span class="h3"><a class="selflink" id="section-3.2" href="#section-3.2">3.2</a>.  Clarification of Distribution Tree Updates</span>

   When a link-state database change causes a change in the distribution
   tree(s), there are several possibilities.  If a tree root remains a
   tree root but the tree changes, then local forwarding and RPFC
   entries for that tree should be updated as soon as practical.
   Similarly, if a new nickname becomes a tree root, forwarding and RPFC
   entries for the new tree should be installed as soon as practical.
   However, if a nickname ceases to be a tree root and there is
   sufficient room in local tables, the forwarding and RPFC entries for
   the former tree MAY be retained so that any multi-destination TRILL
   Data frames already in flight on that tree have a higher probability
   of being delivered.

<span class="h3"><a class="selflink" id="section-3.3" href="#section-3.3">3.3</a>.  Multicast Pruning Based on IP Address</span>

   The TRILL base protocol specification [<a href="./rfc6325" title=""Routing Bridges (RBridges): Base Protocol Specification"">RFC6325</a>] provides for and
   recommends the pruning of multi-destination frame distribution trees
   based on the location of IP multicast routers and listeners; however,
   multicast listening is identified by derived MAC addresses as
   communicated in the Group MAC Address sub-TLV [<a href="./rfc7176" title=""Transparent Interconnection of Lots of Links (TRILL) Use of IS-IS"">RFC7176</a>].

   TRILL Switches MAY communicate multicast listeners and prune
   distribution trees based on the actual IPv4 or IPv6 multicast
   addresses involved.  Additional Group Address sub-TLVs are provided
   in [<a href="./rfc7176" title=""Transparent Interconnection of Lots of Links (TRILL) Use of IS-IS"">RFC7176</a>] to carry this information.  A TRILL Switch that is only
   capable of pruning based on derived MAC address SHOULD calculate and
   use such derived MAC addresses from multicast listener IPv4/IPv6
   address information it receives.



<span class="grey">Eastlake, et al.             Standards Track                   [Page 10]</span>

<span id="page-11" ></span>
<span class="grey"><a href="./rfc7180">RFC 7180</a>     TRILL: Clarifications, Corrections, and Updates    May 2014</span>


<span class="h3"><a class="selflink" id="section-3.4" href="#section-3.4">3.4</a>.  Numbering of Distribution Trees</span>

   <a href="./rfc6325#section-4.5.1">Section 4.5.1 of [RFC6325]</a> specifies that, when building distribution
   tree number j, node (RBridge) N that has multiple possible parents in
   the tree is attached to possible parent number j mod p.  Trees are
   numbered starting with 1, but possible parents are numbered starting
   with 0.  As a result, if there are two trees and two possible
   parents, in tree 1, parent 1 will be selected, and in tree 2, parent
   0 will be selected.

   This is changed so that the selected parent MUST be (j-1) mod p.  As
   a result, in the case above, tree 1 will select parent 0, and tree 2
   will select parent 1.  This change is not backward compatible with
   [<a href="./rfc6325" title=""Routing Bridges (RBridges): Base Protocol Specification"">RFC6325</a>].  If all RBridges in a campus do not determine distribution
   trees in the same way, then for most topologies, the RPFC will drop
   many multi-destination frames before they have been properly
   delivered.

<span class="h3"><a class="selflink" id="section-3.5" href="#section-3.5">3.5</a>.  Link Cost Directionality</span>

   Distribution tree construction, like other least-cost aspects of
   TRILL, works even if link costs are asymmetric, so the cost of the
   hop from RB1 to RB2 is different from the cost of the hop from RB2 to
   RB1. However, it is essential that all RBridges calculate the same
   distribution trees, and thus, all must either use the cost away from
   the tree root or the cost towards the tree root. As corrected in
   [<a href="#ref-Err3508" title="RFC 6325">Err3508</a>], the text in <a href="./rfc6325#section-4.5.1">Section 4.5.1 of [RFC6325]</a> is incorrect.  It
   says:

      In other words, the set of potential parents for N, for the tree
      rooted at R, consists of those that give equally minimal cost
      paths from N to R and ...

   but the text should say "from R to N":

      In other words, the set of potential parents for N, for the tree
      rooted at R, consists of those that give equally minimal cost
      paths from R to N and ...

<span class="h2"><a class="selflink" id="section-4" href="#section-4">4</a>.  Nickname Selection</span>

   Nickname selection is covered by <a href="./rfc6325#section-3.7.3">Section 3.7.3 of [RFC6325]</a>.
   However, the following should be noted:

   1.  The second sentence in the second bullet item in <a href="./rfc6325#section-3.7.3">Section 3.7.3 of
       [RFC6325]</a> on page 25 is erroneous [<a href="#ref-Err3002" title="RFC 6325">Err3002</a>] and is corrected as
       follows:




<span class="grey">Eastlake, et al.             Standards Track                   [Page 11]</span>

<span id="page-12" ></span>
<span class="grey"><a href="./rfc7180">RFC 7180</a>     TRILL: Clarifications, Corrections, and Updates    May 2014</span>


       o  The occurrence of "IS-IS ID (LAN ID)" is replaced with
          "priority".

       o  The occurrence of "IS-IS System ID" is replaced with "seven-
          byte IS-IS ID (LAN ID)".

       The resulting corrected sentence in [<a href="./rfc6325" title=""Routing Bridges (RBridges): Base Protocol Specification"">RFC6325</a>] reads as follows:

          If RB1 chooses nickname x, and RB1 discovers, through receipt
          of an LSP for RB2 at any later time, that RB2 has also chosen
          x, then the RBridge or pseudonode with the numerically higher
          priority keeps the nickname, or if there is a tie in priority,
          the RBridge with the numerically higher seven-byte IS-IS ID
          (LAN ID) keeps the nickname, and the other RBridge MUST select
          a new nickname.

   2.  In examining the link-state database for nickname conflicts,
       nicknames held by IS-IS unreachable TRILL Switches MUST be
       ignored, but nicknames held by IS-IS reachable TRILL Switches
       MUST NOT be ignored even if they are data unreachable.

   3.  An RBridge may need to select a new nickname, either initially
       because it has none or because of a conflict.  When doing so, the
       RBridge MUST consider as available all nicknames that do not
       appear in its link-state database or that appear to be held by
       IS-IS unreachable TRILL Switches; however, it SHOULD give
       preference to selecting new nicknames that do not appear to be
       held by any TRILL Switch in the campus, reachable or unreachable,
       so as to minimize conflicts if IS-IS unreachable TRILL Switches
       later become reachable.

   4.  An RBridge, even after it has acquired a nickname for which there
       appears to be no conflicting claimant, MUST continue to monitor
       for conflicts with the nickname or nicknames it holds.  It does
       so by checking in LSP PDUs it receives that should update its
       link-state database for the following: any occurrence of any of
       its nicknames held with higher priority by some other TRILL
       Switch that is IS-IS reachable from it.  If it finds such a
       conflict, it MUST select a new nickname, even when in overloaded
       state.  (It is possible to receive an LSP that should update the
       link-state database but does not due to overload.)

   5.  In the very unlikely case that an RBridge is unable to obtain a
       nickname because all valid RBridge nicknames (0x0001 through
       0xFFBF inclusive) are in use with higher priority by IS-IS
       reachable TRILL Switches, it will be unable to act as an ingress,
       egress, or tree root but will still be able to function as a
       transit TRILL Switch.  Although it cannot be a tree root, such an



<span class="grey">Eastlake, et al.             Standards Track                   [Page 12]</span>

<span id="page-13" ></span>
<span class="grey"><a href="./rfc7180">RFC 7180</a>     TRILL: Clarifications, Corrections, and Updates    May 2014</span>


       RBridge is included in distribution trees computed for the campus
       unless all its neighbors are overloaded.  It would not be
       possible to send a unicast RBridge Channel message specifically
       to such a TRILL Switch [<a href="./rfc7178" title=""Transparent Interconnection of Lots of Links (TRILL): RBridge Channel Support"">RFC7178</a>]; however, it will receive
       unicast Channel messages sent by a neighbor to the Any-RBridge
       egress nickname and will receive appropriate multi-destination
       Channel messages.

<span class="h2"><a class="selflink" id="section-5" href="#section-5">5</a>.  MTU (Maximum Transmission Unit)</span>

   MTU values in TRILL key off the originatingL1LSPBufferSize value
   communicated in the IS-IS originatingLSPBufferSize TLV [<a href="#ref-IS-IS" title=""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)"">IS-IS</a>].  The
   campus-wide value Sz, as described in <a href="./rfc6325#section-4.3.1">Section 4.3.1 of [RFC6325]</a>, is
   the minimum value of originatingL1LSPBufferSize for the RBridges in a
   campus, but not less than 1470.  The MTU testing mechanism and
   limiting LSPs to Sz assures that the LSPs can be flooded by IS-IS and
   thus that IS-IS can operate properly.

   If nothing is known about the MTU of the links or the
   originatingL1LSPBufferSize of other RBridges in a campus, the
   originatingL1LSPBufferSize for an RBridge should default to the
   minimum of the LSP size that its TRILL IS-IS software can handle and
   the minimum MTU of the ports that it might use to receive or transmit
   LSPs.  If an RBridge does have knowledge of link MTUs or other
   RBridge originatingL1LSPBufferSize, then, to avoid the necessity to
   regenerate the local LSPs using a different maximum size, the
   RBridge's originatingL1LSPBufferSize SHOULD be configured to the
   minimum of (1) the smallest value that other RBridges are or will be
   announcing as their originatingL1LSPBufferSize and (2) a value small
   enough that the campus will not partition due to a significant number
   of links with limited MTU.  However, as provided in [<a href="./rfc6325" title=""Routing Bridges (RBridges): Base Protocol Specification"">RFC6325</a>], in no
   case can originatingL1LSPBufferSize be less than 1470.  In a well-
   configured campus, to minimize any LSP regeneration due to re-sizing,
   it is desirable for all RBridges to be configured with the same
   originatingL1LSPBufferSize.

   <a href="#section-5.1">Section 5.1</a> below corrects errata in [<a href="./rfc6325" title=""Routing Bridges (RBridges): Base Protocol Specification"">RFC6325</a>], and <a href="#section-5.2">Section 5.2</a>
   clarifies the meaning of various MTU limits for TRILL Ethernet links.

<span class="h3"><a class="selflink" id="section-5.1" href="#section-5.1">5.1</a>.  MTU-Related Errata in <a href="./rfc6325">RFC 6325</a></span>

   Three MTU-related errata in [<a href="./rfc6325" title=""Routing Bridges (RBridges): Base Protocol Specification"">RFC6325</a>] are corrected in the
   subsections below.








<span class="grey">Eastlake, et al.             Standards Track                   [Page 13]</span>

<span id="page-14" ></span>
<span class="grey"><a href="./rfc7180">RFC 7180</a>     TRILL: Clarifications, Corrections, and Updates    May 2014</span>


<span class="h4"><a class="selflink" id="section-5.1.1" href="#section-5.1.1">5.1.1</a>.  MTU PDU Addressing</span>

   <a href="./rfc6325#section-4.3.2">Section 4.3.2 of [RFC6325]</a> incorrectly states that multi-destination
   MTU-probe and MTU-ack TRILL IS-IS PDUs are sent on Ethernet links
   with the All-RBridges multicast address as the Outer.MacDA [<a href="#ref-Err3004" title="RFC 6325">Err3004</a>].
   As TRILL IS-IS PDUs, when multicast on an Ethernet link, they MUST be
   sent to the All-IS-IS-RBridges multicast address.

<span class="h4"><a class="selflink" id="section-5.1.2" href="#section-5.1.2">5.1.2</a>.  MTU PDU Processing</span>

   As discussed in [<a href="./rfc6325" title=""Routing Bridges (RBridges): Base Protocol Specification"">RFC6325</a>] and, in more detail, in [<a href="./rfc6327" title=""Routing Bridges (RBridges): Adjacency"">RFC6327</a>], MTU-
   probe and MTU-ack PDUs MAY be unicast; however, <a href="./rfc6325#section-4.6">Section 4.6 of
   [RFC6325]</a> erroneously does not allow for this possibility [<a href="#ref-Err3003" title="RFC 6325">Err3003</a>].
   It is corrected by replacing Item numbered "1" in <a href="./rfc6325#section-4.6.2">Section 4.6.2 of
   [RFC6325]</a> with the following quoted text to which TRILL Switches MUST
   conform:

   "1. If the Ethertype is L2-IS-IS and the Outer.MacDA is either All-
       IS-IS-RBridges or the unicast MAC address of the receiving
       RBridge port, the frame is handled as described in
       <a href="#section-4.6.2.1">Section 4.6.2.1</a>"

   The reference to "<a href="#section-4.6.2.1">Section 4.6.2.1</a>" in the above quoted text is to
   that section in [<a href="./rfc6325" title=""Routing Bridges (RBridges): Base Protocol Specification"">RFC6325</a>].

<span class="h4"><a class="selflink" id="section-5.1.3" href="#section-5.1.3">5.1.3</a>.  MTU Testing</span>

   The last two sentences of <a href="./rfc6325#section-4.3.2">Section 4.3.2 of [RFC6325]</a> have errors
   [<a href="#ref-Err3053" title="RFC 6325">Err3053</a>].  They currently read:

      If X is not greater than Sz, then RB1 sets the "failed minimum MTU
      test" flag for RB2 in RB1's Hello.  If size X succeeds, and X >
      Sz, then RB1 advertises the largest tested X for each adjacency in
      the TRILL Hellos RB1 sends on that link, and RB1 MAY advertise X
      as an attribute of the link to RB2 in RB1's LSP.

   They should read:

      If X is not greater than or equal to Sz, then RB1 sets the "failed
      minimum MTU test" flag for RB2 in RB1's Hello.  If size X
      succeeds, and X >= Sz, then RB1 advertises the largest tested X
      for each adjacency in the TRILL Hellos RB1 sends on that link, and
      RB1 MAY advertise X as an attribute of the link to RB2 in RB1's
      LSP.







<span class="grey">Eastlake, et al.             Standards Track                   [Page 14]</span>

<span id="page-15" ></span>
<span class="grey"><a href="./rfc7180">RFC 7180</a>     TRILL: Clarifications, Corrections, and Updates    May 2014</span>


<span class="h3"><a class="selflink" id="section-5.2" href="#section-5.2">5.2</a>.  Ethernet MTU Values</span>

   originatingL1LSPBufferSize is the maximum permitted size of LSPs
   starting with the 0x83 Intradomain Routeing Protocol Discriminator
   byte.  In Layer 3 IS-IS, originatingL1LSPBufferSize defaults to 1492
   bytes.  (This is because, in its previous life as DECnet Phase V,
   IS-IS was encoded using the SNAP SAP (Subnetwork Access Protocol
   Service Access Point) [<a href="./rfc7042" title=""IANA Considerations and IETF Protocol and Documentation Usage for IEEE 802 Parameters"">RFC7042</a>] format, which takes 8 bytes of
   overhead and 1492 + 8 = 1500, the classic Ethernet maximum.  When
   standardized by ISO/IEC [<a href="#ref-IS-IS" title=""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)"">IS-IS</a>] to use Logical Link Control (LLC)
   encoding, this default could have been increased by a few bytes but
   was not.)

   In TRILL, originatingL1LSPBufferSize defaults to 1470 bytes.  This
   allows 27 bytes of headroom or safety margin to accommodate legacy
   devices with the classic Ethernet maximum MTU despite headers such as
   an Outer.VLAN.

   Assuming the campus-wide minimum link MTU is Sz, RBridges on Ethernet
   links MUST limit most TRILL IS-IS PDUs so that PDUz (the length of
   the PDU starting just after the L2-IS-IS Ethertype and ending just
   before the Ethernet Frame Check Sequence (FCS)) does not to exceed
   Sz.  The PDU exceptions are TRILL Hello PDUs, which MUST NOT exceed
   1470 bytes, and MTU-probe and MTU-ack PDUs that are padded, depending
   on the size being tested (which may exceed Sz).

   Sz does not limit TRILL Data frames.  They are only limited by the
   MTU of the devices and links that they actually pass through;
   however, links that can accommodate IS-IS PDUs up to Sz would
   accommodate, with a generous safety margin, TRILL Data frame payloads
   of (Sz - 24) bytes, starting after the Inner.VLAN and ending just
   before the FCS.  Most modern Ethernet equipment has ample headroom
   for frames with extensive headers and is sometimes engineered to
   accommodate 9K byte jumbo frames.

<span class="h2"><a class="selflink" id="section-6" href="#section-6">6</a>.  Port Modes</span>

   <a href="./rfc6325#section-4.9.1">Section 4.9.1 of [RFC6325]</a> specifies four mode bits for RBridge ports
   but may not be completely clear on the effects of various
   combinations of bits.

   The table below explicitly indicates the effect of all possible
   combinations of the TRILL port mode bits.  "*" in one of the first
   four columns indicates that the bit can be either zero or one.  The
   following columns indicate allowed frame types.  The Disable bit
   normally disables all frames, but, as an implementation choice, some
   or all low-level Layer 2 control frames (as specified in <a href="./rfc6325#section-1.4">[RFC6325],
   Section 1.4</a>) can still be sent or received.



<span class="grey">Eastlake, et al.             Standards Track                   [Page 15]</span>

<span id="page-16" ></span>
<span class="grey"><a href="./rfc7180">RFC 7180</a>     TRILL: Clarifications, Corrections, and Updates    May 2014</span>


            +-+-+-+-+--------+-------+-----+-----+-----+
            |D| | | |        |       |     |     |     |
            |i| |A| |        |       |TRILL|     |     |
            |s| |c|T|        |       |Data |     |     |
            |a| |c|r|        |       |     |     |     |
            |b|P|e|u|        |native | LSP |     |     |
            |l|2|s|n|Layer 2 |ingress| SNP |TRILL| P2P |
            |e|P|s|k|Control |egress | MTU |Hello|Hello|
            +-+-+-+-+--------+-------+-----+-----+-----+
            |0|0|0|0|  Yes   |  Yes  | Yes | Yes | No  |
            +-+-+-+-+--------+-------+-----+-----+-----+
            |0|0|0|1|  Yes   |  No   | Yes | Yes | No  |
            +-+-+-+-+--------+-------+-----+-----+-----+
            |0|0|1|0|  Yes   |  Yes  | No  | Yes | No  |
            +-+-+-+-+--------+-------+-----+-----+-----+
            |0|0|1|1|  Yes   |  No   | No  | Yes | No  |
            +-+-+-+-+--------+-------+-----+-----+-----+
            |0|1|0|*|  Yes   |  No   | Yes | No  | Yes |
            +-+-+-+-+--------+-------+-----+-----+-----+
            |0|1|1|*|  Yes   |  No   | No  | No  | Yes |
            +-+-+-+-+--------+-------+-----+-----+-----+
            |1|*|*|*|Optional|  No   | No  | No  | No  |
            +-+-+-+-+--------+-------+-----+-----+-----+

   (The formal name of the "access bit" is the "TRILL traffic disable
   bit", and the formal name of the "trunk bit" is the "end-station
   service disable bit" [<a href="./rfc6325" title=""Routing Bridges (RBridges): Base Protocol Specification"">RFC6325</a>].)

<span class="h2"><a class="selflink" id="section-7" href="#section-7">7</a>.  The CFI/DEI Bit</span>

   In May 2011, the IEEE promulgated [<a href="#ref-802.1Q-2011">802.1Q-2011</a>], which changes the
   meaning of the bit between the priority and VLAN ID bits in the
   payload of C-VLAN tags.  Previously, this bit was called the CFI
   (Canonical Format Indicator) bit [<a href="#ref-802" title=""IEEE Standard for Local and metropolitan area networks: Overview and Architecture"">802</a>] and had a special meaning in
   connection with IEEE 802.5 (Token Ring) frames.  Now, under
   [<a href="#ref-802.1Q-2011">802.1Q-2011</a>], it is a DEI (Drop Eligibility Indicator) bit, similar
   to that bit in S-VLAN/B-VLAN tags where this bit has always been a
   DEI bit.

   The TRILL base protocol specification [<a href="./rfc6325" title=""Routing Bridges (RBridges): Base Protocol Specification"">RFC6325</a>] assumed, in effect,
   that the link by which end stations are connected to TRILL Switches
   and the restricted virtual link provided by the TRILL Data frame are
   IEEE 802.3 Ethernet links on which the CFI bit is always zero.
   Should an end station be attached by some other type of link, such as
   a Token Ring link, [<a href="./rfc6325" title=""Routing Bridges (RBridges): Base Protocol Specification"">RFC6325</a>] implicitly assumed that such frames
   would be canonicalized to 802.3 frames before being ingressed, and
   similarly, on egress, such frames would be converted from 802.3 to
   the appropriate frame type for the link.  Thus, [<a href="./rfc6325" title=""Routing Bridges (RBridges): Base Protocol Specification"">RFC6325</a>] required



<span class="grey">Eastlake, et al.             Standards Track                   [Page 16]</span>

<span id="page-17" ></span>
<span class="grey"><a href="./rfc7180">RFC 7180</a>     TRILL: Clarifications, Corrections, and Updates    May 2014</span>


   that the CFI bit in the Inner.VLAN, which is shown as the "C" bit in
   <a href="./rfc6325#section-4.1.1">Section 4.1.1 of [RFC6325]</a>, always be zero.

   However, for TRILL Switches with ports conforming to the change
   incorporated in the IEEE 802.1Q-2011 standard, the bit in the
   Inner.VLAN, now a DEI bit, MUST be set to the DEI value provided by
   the EISS (Enhanced Internal Sublayer Service) interface on ingressing
   a native frame.  Similarly, this bit MUST be provided to the EISS
   when transiting or egressing a TRILL Data frame.  As with the 3-bit
   Priority field, the DEI bit to use in forwarding a transit frame MUST
   be taken from the Inner.VLAN.  The exact effect on the Outer.VLAN DEI
   and priority bits and whether or not an Outer.VLAN appears at all on
   the wire for output frames may depend on output port configuration.

   TRILL campuses with a mixture of ports, some compliant with
   [<a href="#ref-802.1Q-2011">802.1Q-2011</a>] and some compliant with pre-802.1Q-2011 standards,
   especially if they have actual Token Ring links, may operate
   incorrectly and may corrupt data, just as a bridged LAN with such
   mixed ports and links would.

<span class="h2"><a class="selflink" id="section-8" href="#section-8">8</a>.  Graceful Restart</span>

   TRILL Switches SHOULD support the features specified in [<a href="./rfc5306" title=""Restart Signaling for IS-IS"">RFC5306</a>],
   which describes a mechanism for a restarting IS-IS router to signal
   to its neighbors that it is restarting, allowing them to reestablish
   their adjacencies without cycling through the down state, while still
   correctly initiating link-state database synchronization.

<span class="h2"><a class="selflink" id="section-9" href="#section-9">9</a>.  Updates to <a href="./rfc6327">RFC 6327</a></span>

   [<a id="ref-RFC6327">RFC6327</a>] provides for multiple states of the potential adjacency
   between two TRILL Switches.  It makes clear that only an adjacency in
   the "Report" state is reported in LSPs.  LSP synchronization (LSP and
   Subnetwork Point (SNP) transmission and receipt), however, is
   performed if and only if there is at least one adjacency on the link
   in either the "2-Way" or "Report" state.

   To support the PORT-TRILL-VER sub-TLV specified in [<a href="./rfc7176" title=""Transparent Interconnection of Lots of Links (TRILL) Use of IS-IS"">RFC7176</a>], the
   following updates are made to [<a href="./rfc6327" title=""Routing Bridges (RBridges): Adjacency"">RFC6327</a>]:

   1.  The first sentence of the last paragraph in <a href="./rfc6327#section-3.1">[RFC6327] Section 3.1</a>
       is modified from

          All TRILL LAN Hellos issued by an RBridge on a particular port
          MUST have the same source MAC address, priority, desired
          Designated VLAN, and Port ID, regardless of the VLAN in which
          the Hello is sent.




<span class="grey">Eastlake, et al.             Standards Track                   [Page 17]</span>

<span id="page-18" ></span>
<span class="grey"><a href="./rfc7180">RFC 7180</a>     TRILL: Clarifications, Corrections, and Updates    May 2014</span>


       to

          All TRILL LAN Hellos issued by an RBridge on a particular port
          MUST have the same source MAC address, priority, desired
          Designated VLAN, Port ID, and PORT-TRILL-VER sub-TLV [<a href="./rfc7176" title=""Transparent Interconnection of Lots of Links (TRILL) Use of IS-IS"">RFC7176</a>]
          if included, regardless of the VLAN in which the Hello is
          sent.

   2.  An additional bullet item is added to the end of <a href="./rfc6327#section-3.2">Section 3.2 of
       [RFC6327]</a> as follows:

       o  The five bytes of PORT-TRILL-VER sub-TLV data received in the
          most recent TRILL Hello from the neighbor RBridge.

   3.  In <a href="./rfc6327#section-3.3">Section 3.3 of [RFC6327]</a>, near the bottom of page 12, a bullet
       item as follows is added:

       o  The five bytes of PORT-TRILL-VER sub-TLV data are set from
          that sub-TLV in the Hello or set to zero if that sub-TLV does
          not occur in the Hello.

   4.  At the beginning of <a href="./rfc6327#section-4">Section 4 of [RFC6327]</a>, a bullet item is
       added to the list as follows:

       o  The five bytes of PORT-TRILL-VER sub-TLV data used in TRILL
          Hellos sent on the port.

<span class="h2"><a class="selflink" id="section-10" href="#section-10">10</a>.  Updates on Appointed Forwarders and Inhibition</span>

   An optional method of Hello reduction is specified in <a href="#section-10.1">Section 10.1</a>
   below and a recommendation on forwarder appointments in the face of
   overload is given in <a href="#section-10.2">Section 10.2</a>.

<span class="h3"><a class="selflink" id="section-10.1" href="#section-10.1">10.1</a>.  Optional TRILL Hello Reduction</span>

   If a network manager has sufficient confidence that it knows the
   configuration of bridges, ports, and the like, within a link, it may
   be able to reduce the number of TRILL Hellos sent on that link; for
   example, if all RBridges on the link will see all Hellos regardless
   of VLAN constraints, Hellos could be sent on fewer VLANs.  However,
   because adjacencies are established in the Designated VLAN, an
   RBridge MUST always attempt to send Hellos in the Designated VLAN.
   Hello reduction makes TRILL less robust in the face of decreased VLAN
   connectivity in a link such as partitioned VLANs, many VLANs disabled
   on ports, or disagreement over the Designated VLAN; however, as long
   as all RBridge ports on the link are configured for the same desired
   Designated VLAN, can see each other's frames in that VLAN, and
   utilize the mechanisms specified below to update VLAN inhibition



<span class="grey">Eastlake, et al.             Standards Track                   [Page 18]</span>

<span id="page-19" ></span>
<span class="grey"><a href="./rfc7180">RFC 7180</a>     TRILL: Clarifications, Corrections, and Updates    May 2014</span>


   timers, operations will be safe.  (These considerations do not arise
   on links between RBridges that are configured as point-to-point
   since, in that case, each RBridge sends point-to-point Hellos, other
   TRILL IS-IS PDUs, and TRILL Data frames only in what it believes to
   be the Designated VLAN of the link and no native frame end-station
   service is provided.)

   The provision for a configurable set of "Announcing VLANs", as
   described in <a href="./rfc6325#section-4.4.3">Section 4.4.3 of [RFC6325]</a>, provides a mechanism in the
   TRILL base protocol for a reduction in TRILL Hellos.

   To maintain loop safety in the face of occasional lost frames,
   RBridge failures, link failures, new RBridges coming up on a link,
   and the like, the inhibition mechanism specified in [<a href="./rfc6439" title=""Routing Bridges (RBridges): Appointed Forwarders"">RFC6439</a>] is
   still required.  Under <a href="./rfc6439#section-3">Section 3 of [RFC6439]</a>, a VLAN inhibition
   timer can only be set by the receipt of a Hello sent or received in
   that VLAN.  Thus, to safely send a reduced number of TRILL Hellos on
   a reduced number of VLANs requires additional mechanisms to set the
   VLAN inhibition timers at an RBridge, thus extending <a href="#section-3">Section 3</a>, Item
   4, of [<a href="./rfc6439" title=""Routing Bridges (RBridges): Appointed Forwarders"">RFC6439</a>].  Two such mechanisms are specified below.  Support
   for both of these mechanisms is indicated by a capability bit in the
   PORT-TRILL-VER sub-TLV (see <a href="#section-9">Section 9</a> above and [<a href="./rfc7176" title=""Transparent Interconnection of Lots of Links (TRILL) Use of IS-IS"">RFC7176</a>]).  It may
   be unsafe for an RBridge to send TRILL Hellos on fewer VLANs than the
   set of VLANs recommended in [<a href="./rfc6325" title=""Routing Bridges (RBridges): Base Protocol Specification"">RFC6325</a>] on a link unless all its
   adjacencies on that link (excluding those in the Down state
   [<a href="./rfc6327" title=""Routing Bridges (RBridges): Adjacency"">RFC6327</a>]) indicate support of these mechanisms and these mechanisms
   are in use.

   1.  An RBridge RB2 MAY include in any TRILL Hello an Appointed
       Forwarders sub-TLV [<a href="./rfc7176" title=""Transparent Interconnection of Lots of Links (TRILL) Use of IS-IS"">RFC7176</a>] appointing itself for one or more
       ranges of VLANs.  The Appointee Nickname field(s) in the
       Appointed Forwarder sub-TLV MUST be the same as the Sender
       Nickname in the Special VLANs and Flags sub-TLV in the TRILL
       Hello.  This indicates the sending RBridge believes it is
       Appointed Forwarder for those VLANs.  An RBridge receiving such a
       sub-TLV sets each of its VLAN inhibition timers for every VLAN in
       the block or blocks listed in the Appointed Forwarders sub-TLV to
       the maximum of its current value and the Holding Time of the
       Hello containing the sub-TLV.  This is backward compatible
       because such sub-TLVs will have no effect on any receiving
       RBridge not implementing this mechanism unless RB2 is the DRB
       (Designated RBridge) sending Hello on the Designated VLAN, in
       which case, as specified in [<a href="./rfc6439" title=""Routing Bridges (RBridges): Appointed Forwarders"">RFC6439</a>], RB2 MUST include in the
       Hello all forwarder appointments, if any, for RBridges other than
       itself on the link.






<span class="grey">Eastlake, et al.             Standards Track                   [Page 19]</span>

<span id="page-20" ></span>
<span class="grey"><a href="./rfc7180">RFC 7180</a>     TRILL: Clarifications, Corrections, and Updates    May 2014</span>


   2.  An RBridge MAY use the new VLANs Appointed sub-TLV [<a href="./rfc7176" title=""Transparent Interconnection of Lots of Links (TRILL) Use of IS-IS"">RFC7176</a>].
       When RB1 receives a VLANs Appointed sub-TLV in a TRILL Hello from
       RB2 on any VLAN, RB1 updates the VLAN inhibition timers for all
       the VLANs that RB2 lists in that sub-TLV as VLANs for which RB2
       is Appointed Forwarder.  Each such timer is updated to the
       maximum of its current value and the Holding Time of the TRILL
       Hello containing the VLANs Appointed sub-TLV.  This sub-TLV will
       be an unknown sub-TLV to RBridges not implementing it, and such
       RBridges will ignore it.  Even if a TRILL Hello sent by the DRB
       on the Designated VLAN includes one or more VLANs Appointed sub-
       TLVs, as long as no Appointed Forwarders sub-TLVs appear, the
       Hello is not required to indicate all forwarder appointments.

   Two different encodings are providing above to optimize the listing
   of VLANs.  Large blocks of contiguous VLANs are more efficiently
   encoded with the Appointed Forwarders sub-TLV, and scattered VLANs
   are more efficiently encoded with the VLANs Appointed sub-TLV.  These
   encodings may be mixed in the same Hello.  The use of these sub-TLVs
   does not affect the requirement that the "AF" bit in the Special
   VLANs and Flags sub-TLV MUST be set if the originating RBridge
   believes it is Appointed Forwarder for the VLAN in which the Hello is
   sent.  If the above mechanisms are used on a link, then each RBridge
   on the link MUST send Hellos in one or more VLANs with such VLANs
   Appointed sub-TLV(s) and/or self-appointment Appointed Forwarders
   sub-TLV(s), and the "AF" bit MUST be appropriately set such that no
   VLAN inhibition timer will improperly expire unless three or more
   Hellos are lost.  For example, an RBridge could announce all VLANs
   for which it believes it is Appointed Forwarder in a Hello sent on
   the Designated VLAN three times per Holding Time.

<span class="h3"><a class="selflink" id="section-10.2" href="#section-10.2">10.2</a>.  Overload and Appointed Forwarders</span>

   An RBridge in overload (see <a href="#section-2">Section 2</a>) will, in general, do a poorer
   job of ingressing and forwarding frames than an RBridge not in
   overload that has full knowledge of the campus topology.  For
   example, an overloaded RBridge may not be able to distribute multi-
   destination TRILL Data frames at all.

   Therefore, the DRB SHOULD NOT appoint an RBridge in overload as an
   Appointed Forwarder unless there is no alternative.  Furthermore, if
   an Appointed Forwarder becomes overloaded, the DRB SHOULD re-assign
   VLANs from the overloaded RBridge to another RBridge on the link that
   is not overloaded, if one is available.  DRB election is not affected
   by overload.







<span class="grey">Eastlake, et al.             Standards Track                   [Page 20]</span>

<span id="page-21" ></span>
<span class="grey"><a href="./rfc7180">RFC 7180</a>     TRILL: Clarifications, Corrections, and Updates    May 2014</span>


   A counter-example would be if all campus end stations in VLAN-x were
   on links attached to RB1 via ports where VLAN-x was enabled.  In such
   a case, RB1 SHOULD be made the VLAN-x Appointed Forwarder on all such
   links even if RB1 is overloaded.

<span class="h2"><a class="selflink" id="section-11" href="#section-11">11</a>.  IANA Considerations</span>

   The following IANA actions have been completed.

   1.  The nickname 0xFFC1, which was reserved by [<a href="./rfc6325" title=""Routing Bridges (RBridges): Base Protocol Specification"">RFC6325</a>], is
       allocated for use in the TRILL Header Egress Nickname field to
       indicate an OOMF (Overload Originated Multi-destination Frame).

   2.  Bit 1 from the seven previously reserved (RESV) bits in the per-
       neighbor "Neighbor RECORD" in the TRILL Neighbor TLV [<a href="./rfc7176" title=""Transparent Interconnection of Lots of Links (TRILL) Use of IS-IS"">RFC7176</a>] is
       allocated to indicate that the RBridge sending the TRILL Hello
       volunteers to provide the OOMF forwarding service described in
       <a href="#section-2.4.2">Section 2.4.2</a> to such frames originated by the TRILL Switch whose
       SNPA (MAC address) appears in that Neighbor RECORD.  The
       description of this bit is "Offering OOMF service".

   3.  Bit 0 is allocated from the Capability bits in the PORT-TRILL-VER
       sub-TLV [<a href="./rfc7176" title=""Transparent Interconnection of Lots of Links (TRILL) Use of IS-IS"">RFC7176</a>] to indicate support of the VLANs Appointed sub-
       TLV [<a href="./rfc7176" title=""Transparent Interconnection of Lots of Links (TRILL) Use of IS-IS"">RFC7176</a>] and the VLAN inhibition setting mechanisms
       specified in <a href="#section-10.1">Section 10.1</a>.  The description of this bit is "Hello
       reduction support".

<span class="h2"><a class="selflink" id="section-12" href="#section-12">12</a>.  Security Considerations</span>

   This memo improves the documentation of the TRILL protocol, corrects
   five errata in [<a href="./rfc6325" title=""Routing Bridges (RBridges): Base Protocol Specification"">RFC6325</a>], and updates [<a href="./rfc6325" title=""Routing Bridges (RBridges): Base Protocol Specification"">RFC6325</a>], [<a href="./rfc6327" title=""Routing Bridges (RBridges): Adjacency"">RFC6327</a>], and
   [<a href="./rfc6439" title=""Routing Bridges (RBridges): Appointed Forwarders"">RFC6439</a>].  It does not change the security considerations of these
   RFCs.

<span class="h2"><a class="selflink" id="section-13" href="#section-13">13</a>.  Acknowledgements</span>

   The contributions of the following individuals are gratefully
   acknowledged: Somnath Chatterjee, Weiguo Hao, Rakesh Kumar, Yizhou
   Li, Radia Perlman, Mike Shand, Meral Shirazipour, and Varun Varshah.












<span class="grey">Eastlake, et al.             Standards Track                   [Page 21]</span>

<span id="page-22" ></span>
<span class="grey"><a href="./rfc7180">RFC 7180</a>     TRILL: Clarifications, Corrections, and Updates    May 2014</span>


<span class="h2"><a class="selflink" id="section-14" href="#section-14">14</a>.  References</span>

<span class="h3"><a class="selflink" id="section-14.1" href="#section-14.1">14.1</a>.  Normative References</span>

   [<a id="ref-802.1Q-2011">802.1Q-2011</a>]
              IEEE, "IEEE Standard for Local and metropolitan area
              networks -- Media Access Control (MAC) Bridges and Virtual
              Bridged Local Area Networks", IEEE Std 802.1Q-2011, August
              2011.

   [<a id="ref-IS-IS">IS-IS</a>]    International Organization for Standardization,
              "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)", Second
              Edition, November 2002.

   [<a id="ref-RFC1195">RFC1195</a>]  Callon, R., "Use of OSI IS-IS for routing in TCP/IP and
              dual environments", <a href="./rfc1195">RFC 1195</a>, December 1990.

   [<a id="ref-RFC2119">RFC2119</a>]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", <a href="https://www.rfc-editor.org/bcp/bcp14">BCP 14</a>, <a href="./rfc2119">RFC 2119</a>, March 1997.

   [<a id="ref-RFC5305">RFC5305</a>]  Li, T. and H. Smit, "IS-IS Extensions for Traffic
              Engineering", <a href="./rfc5305">RFC 5305</a>, October 2008.

   [<a id="ref-RFC5306">RFC5306</a>]  Shand, M. and L. Ginsberg, "Restart Signaling for IS-IS",
              <a href="./rfc5306">RFC 5306</a>, October 2008.

   [<a id="ref-RFC6325">RFC6325</a>]  Perlman, R., Eastlake 3rd, D., Dutt, D., Gai, S., and A.
              Ghanwani, "Routing Bridges (RBridges): Base Protocol
              Specification", <a href="./rfc6325">RFC 6325</a>, July 2011.

   [<a id="ref-RFC6327">RFC6327</a>]  Eastlake 3rd, D., Perlman, R., Ghanwani, A., Dutt, D., and
              V. Manral, "Routing Bridges (RBridges): Adjacency", <a href="./rfc6327">RFC</a>
              <a href="./rfc6327">6327</a>, July 2011.

   [<a id="ref-RFC6439">RFC6439</a>]  Perlman, R., Eastlake, D., Li, Y., Banerjee, A., and F.
              Hu, "Routing Bridges (RBridges): Appointed Forwarders",
              <a href="./rfc6439">RFC 6439</a>, November 2011.

   [<a id="ref-RFC7176">RFC7176</a>]  Eastlake 3rd, D., Senevirathne, T., Ghanwani, A., Dutt,
              D., and A. Banerjee, "Transparent Interconnection of Lots
              of Links (TRILL) Use of IS-IS", <a href="./rfc7176">RFC 7176</a>, May 2014.







<span class="grey">Eastlake, et al.             Standards Track                   [Page 22]</span>

<span id="page-23" ></span>
<span class="grey"><a href="./rfc7180">RFC 7180</a>     TRILL: Clarifications, Corrections, and Updates    May 2014</span>


<span class="h3"><a class="selflink" id="section-14.2" href="#section-14.2">14.2</a>.  Informative References</span>

   [<a id="ref-802">802</a>]      IEEE 802, "IEEE Standard for Local and metropolitan area
              networks: Overview and Architecture", IEEE Std 802.1-2001,
              8 March 2002.

   [<a id="ref-Err3002">Err3002</a>]  RFC Errata, Errata ID 3002, <a href="./rfc6325">RFC 6325</a>,
              <<a href="https://www.rfc-editor.org">http://www.rfc-editor.org</a>>.

   [<a id="ref-Err3003">Err3003</a>]  RFC Errata, Errata ID 3003, <a href="./rfc6325">RFC 6325</a>,
              <<a href="https://www.rfc-editor.org">http://www.rfc-editor.org</a>>.

   [<a id="ref-Err3004">Err3004</a>]  RFC Errata, Errata ID 3004, <a href="./rfc6325">RFC 6325</a>,
              <<a href="https://www.rfc-editor.org">http://www.rfc-editor.org</a>>.

   [<a id="ref-Err3052">Err3052</a>]  RFC Errata, Errata ID 3052, <a href="./rfc6325">RFC 6325</a>,
              <<a href="https://www.rfc-editor.org">http://www.rfc-editor.org</a>>.

   [<a id="ref-Err3053">Err3053</a>]  RFC Errata, Errata ID 3053, <a href="./rfc6325">RFC 6325</a>,
              <<a href="https://www.rfc-editor.org">http://www.rfc-editor.org</a>>.

   [<a id="ref-Err3508">Err3508</a>]  RFC Errata, Errata ID 3508, <a href="./rfc6325">RFC 6325</a>,
              <<a href="http://rfc-editor.org">http://rfc-editor.org</a>>.

   [<a id="ref-RFC7042">RFC7042</a>]  Eastlake 3rd, D. and J. Abley, "IANA Considerations and
              IETF Protocol and Documentation Usage for IEEE 802
              Parameters", <a href="https://www.rfc-editor.org/bcp/bcp141">BCP 141</a>, <a href="./rfc7042">RFC 7042</a>, October 2013.

   [<a id="ref-RFC7178">RFC7178</a>]  Eastlake 3rd, D., Manral, V., Li, Y., Aldrin, S., and D.
              Ward, "Transparent Interconnection of Lots of Links
              (TRILL): RBridge Channel Support", <a href="./rfc7178">RFC 7178</a>, May 2014.




















<span class="grey">Eastlake, et al.             Standards Track                   [Page 23]</span>

<span id="page-24" ></span>
<span class="grey"><a href="./rfc7180">RFC 7180</a>     TRILL: Clarifications, Corrections, and Updates    May 2014</span>


Authors' Addresses

   Donald Eastlake 3rd
   Huawei R&D USA
   155 Beaver Street
   Milford, MA 01757
   USA

   Phone: +1-508-333-2270
   EMail: [email protected]


   Mingui Zhang
   Huawei Technologies Co., Ltd
   Huawei Building, No.156 Beiqing Rd.
   Z-park, Shi-Chuang-Ke-Ji-Shi-Fan-Yuan, Hai-Dian District,
   Beijing 100095
   P.R. China

   EMail: [email protected]


   Anoop Ghanwani
   Dell
   5450 Great America Parkway
   Santa Clara, CA  95054
   USA

   EMail: [email protected]


   Vishwas Manral
   Ionos Corp.
   4100 Moorpark Ave.
   San Jose, CA  95117
   USA

   EMail: [email protected]


   Ayan Banerjee
   Cumulus Networks
   1089 West Evelyn Avenue
   Sunnyvale, CA 94086
   USA

   EMail: [email protected]




Eastlake, et al.             Standards Track                   [Page 24]

Additional Resources