TRILL Working Group                                  Tissa Senevirathne
Internet Draft                                             Les Ginsberg
Intended status: Standard Track                                   CISCO
                                                             Sam Aldrin
                                                                 HuaWei
                                                          Ayan Banerjee
                                                                  CISCO



                                                           May 28, 2013
Expires: November 2013



           Default Nickname Based Approach for Multilevel TRILL
                    draft-tissa-trill-multilevel-02.txt


Status of this Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as Internet-
   Drafts.

   Internet-Drafts are draft documents valid for a maximum of six
   months and may be updated, replaced, or obsoleted by other documents
   at any time.  It is inappropriate to use Internet-Drafts as
   reference material or to cite them other than as "work in progress."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html

   This Internet-Draft will expire on May 28, 2009.

Copyright Notice

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





Senevirathne          Expires November 28, 2013                [Page 1]


Internet-Draft             Multilevel TRILL                    May 2013


   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) 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.

Abstract

   Multilevel TRILL allows the interconnection of multiple TRILL
   networks to form a larger TRILL network without proportionally
   increasing the size of the IS-IS LSP DB. In this document, an
   approach based on default route concept is presented. Also,
   presented in the document is a novel method of constructing multi-
   destination trees using partial nickname space. Methods presented in
   this document are compatible with the RFC6325 specified data plane
   operations.

Table of Contents


   1. Introduction...................................................3
   2. Conventions used in this document..............................4
   3. Solution Overview..............................................4
   4. Operational Overview...........................................5
      4.1. Unicast Forwarding........................................5
      4.2. IS-IS Protocol changes for unicast forwarding.............5
      4.3. MAC Address Learning......................................5
      4.4. Multicast.................................................6
      4.5. Life of Multicast frame...................................9
   5. Area Affinity sub-TLV.........................................10
   6. Nickname acquisition and conflict resolution..................11
      6.1. Nickname Management sub-TLV..............................13
   7. Further optimizations.........................................14
      7.1. Leaking of TRILL IS-IS sub-TLV within areas..............14
      7.2. Identification of Global Trees...........................15
         7.2.1. Global Tree capability sub-TLV......................17
         7.2.2. Global Tree proposal sub-TLV........................17
         7.2.3. Global Tree Identifier sub-TLV......................18
      7.3. Announcing Group Addresses...............................18
   8. Architecture Elements of Multi-level Multicast framework......21
      8.1. Bootstrap RBridge........................................21
      8.2. Rendezvous Point (RP)....................................22
      8.3. Default Affinity sub-TLV.................................22


Senevirathne          Expires November 28, 2013                [Page 2]


Internet-Draft             Multilevel TRILL                    May 2013


      8.4. Area Affinity sub-TLV....................................22
      8.5. TRILL BSR Protocol.......................................22
   9. Security Considerations.......................................22
   10. IANA Considerations..........................................23
   11. References...................................................23
      11.1. Normative References....................................23
      11.2. Informative References..................................23
   12. Acknowledgments..............................................24

1. Introduction

   The TRILL Base Protocol Specification [RFC6325] provides a method
   for forwarding Layer 2 data frames over multiple active links,
   thereby optimizing network bandwidth and resiliency. TRILL requires
   native Layer 2 frames to be encapsulated with the TRILL header.
   TRILL devices (RBridges) are identified with a 16 bit identifier
   called a nickname. The TRILL header contains egress and ingress
   RBridge nicknames. Intermediate RBridges performs forwarding based
   on the egress nickname. TRILL utilize the IS-IS protocol to
   distribute RBridge nicknames.

   TRILL Base Protocol Specification [RFC6325] specifies a tree based
   paradigm to forward broadcast and multicast traffic as well as
   unknown unicast traffic.

   Traditional Layer 2 devices perform forwarding based on MAC
   addresses. As a result, in theory, all of the devices in the network
   are required to learn all of the MAC addresses in the Layer 2
   domain.  This leads to very large forwarding table sizes in the
   devices which limits the size of the layer 2 domain. Forwarding
   within the TRILL network occurs not based on MAC addresses but based
   on the RBridge nicknames. Hence, TRILL based networks have
   significant potential to be the core forwarding plane of very large
   datacenters.

   Large datacenters are often multisite in nature and contain a large
   number of RBridges. TRILL is designed to be a single IS-IS area. As
   the size of the TRILL network grows, the size of the IS-IS LSP
   database grows, leading to network convergence delays and increased
   volatility during transient conditions such as link flaps.

   As mentioned above TRILL utilizes a tree based forwarding paradigm
   for multi-destination traffic. In large TRILL networks this may lead
   to sub-optimal forwarding. Additionally, entire network wide
   multicasting may lead to network bandwidth inefficiencies and have a
   negative impact on performance.



Senevirathne          Expires November 28, 2013                [Page 3]


Internet-Draft             Multilevel TRILL                    May 2013


   In order to support scaling and performance of large TRILL networks,
   it is important to have methods to:

   1. Limit the size of the IS-IS LSP database
   2. Optimize multicast forwarding
   3. Limit the scope of flooding and broadcast traffic

   In this document we propose methods that allow implementing multi-
   level TRILL without any data plane changes as well as meet the above
   design goals.

   Also presented in this document is a novel method of constructing
   multi-destination trees using partial nickname space.

2. Conventions used in this document

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in RFC-2119 [RFC2119].

   In this document, these words will appear with that interpretation
   only when in ALL CAPS. Lower case uses of these words are not to be
   interpreted as carrying RFC-2119 significance.

3. Solution Overview

   Herein we present a high level view of the proposed solution;
   differing the details of the solution to subsequent sections.

   The TRILL campus is divided in to multiple IS-IS L1 Areas
   interconnected by L2 backbone area. The backbone area may be inter-
   connected by an IS-IS K2 area or by some other means. For example,
   one does not preclude a configuration based approach for the L2
   backbone.

   Area border RBridges indicate their ability to reach other areas by
   setting the Attach bit in IS-IS Link State PDU.

   RBridges forward frames destined to RBridges in the area using the
   exact match of nicknames. Frames destined to RBridges outside of the
   L1 area are forwarded using the default route advertised by the area
   border RBridges.

   Campus wide Multi-destination trees are partitioned in to two parts.
   A backbone tree rooted on the L2 backbone and local trees rooted
   within each L1 area. For campus wide trees the local trees and the



Senevirathne          Expires November 28, 2013                [Page 4]


Internet-Draft             Multilevel TRILL                    May 2013


   backbone tree have the same nickname. This avoids the need for
   egress RBridge nickname translation at the border RBridges).

   One of the border RBridges performs connecting its local tree to the
   corresponding backbone tree. The Affinity sub-TLV and Area Affinity
   sub-TLV information facilitate constructing proper RPF states.

4. Operational Overview

4.1. Unicast Forwarding

   The TRILL campus is divided in to multiple IS-IS L1 Areas with a
   Layer 2 backbone. (Figure 1).

   The "Attached" bit in IS-IS PDU is used to indicate the advertising
   IS connected to other areas. In this document we propose to leverage
   the "Attached" bit to identify the border RBRidges and forward
   traffic for all un-resolved nicknames to the border RBridges.

   Border RBridges possess the complete nickname space of the TRILL
   campus. Utilizing this information, ingress area border RBRidge
   forward TRILL frames to the egress area border RBridge via the L2
   backbone.

   Egress area border RBridges, forward the frame normally to the
   intended destination in the given L1 Area.

4.2. IS-IS Protocol changes for unicast forwarding

   Support for non zero IS-IS areas for TRILL.

   No new TLV or sub-TLV required.

   Border RBridges advertise LSP with the "Attached" bit set

   L1 Area RBridges are required to advertise TRILL related sub-TLV
   defined in [RFC 6326] with the router capability bit "S" set. The
   capability bit "D" MUST be set to zero (0). This allows leaking L1
   PDU to the L2 backbone area but not to other L1 areas [RFC4971].

4.3. MAC Address Learning

   Egress RBridge learn remote MAC addresses against the actual
   nickname of the ingress RBRidge.

   As an example: Let's Assume MAC address A is attached to RB1 and MAC
   address B is attached to RB7.


Senevirathne          Expires November 28, 2013                [Page 5]


Internet-Draft             Multilevel TRILL                    May 2013


   RB1 receives a frame destined to MAC B. RB1 does not know the
   location of MAC B. However, local policy such as, port or VLAN
   indicates that the frame is of global scope. RB1 transmits the frame
   on global tree "t" as an unknown unicast frame.

   RB7 receives the frame and learn MAC A is associated with RB1. RB7
   programs its forwarding tables such that MAC-A is associated with
   RB1. It also forwards the frame to MAC-B.

   MAC-B responds. RB7 has the association of MAC-A to RB1. Hence, RB7
   forwards the frame to RB1 as a unicast frame, with egress RBridge
   nickname as RB1 and ingress RBridge nickname as RB7.

   The frame follows the normal uicast forwarding process explained
   above and arrives at RB1. RB1, learns the MAC-B association to RB7
   and updates its forwarding tables accordingly. Also, RB1 forwards
   the frame to MAC-A.

4.4. Multicast

   Multicast forwarding has two parts: 1. Construction of the multicast
   trees 2. RPF (Reverse Path Forwarding) check.

   In most of the real world deployments, not all of the traffic is
   required or desired to span across the entire TRILL campus. The
   majority of the traffic tends to have a local scope and some subset
   of traffic to have a global scope.

   The scope of global traffic may be identified either through VLAN or
   via finegrain label that spans across the entire TRILL campus.

   In this document we propose to classify TRILL multi-destination
   trees into two types:

   1. Local trees (trees that have a scope within the local area)
   2. Global trees (trees that have a scope throughout the TRILL campus)

   Multi-destination traffic of local scope is forwarded using Local
   trees. Multi-destination traffic of global scope is forwarded using
   global trees.

   Construction of global multi-destination trees and performing RPF
   check for such trees requires knowledge of all of the RBridges in
   the entire TRILL campus. In a large TRILL campus, construction of
   such global trees that need information of all RBridges may not only
   lack scalability but also may run in to instabilities during network
   changes. Additionally, when the TRILL campus is divided into


Senevirathne          Expires November 28, 2013                [Page 6]


Internet-Draft             Multilevel TRILL                    May 2013


   multiple IS-IS L1 areas, RBridges within an L1 areas do not possess
   reachability information for other areas. Thus, constructing such
   global trees may not be possible.

   In this document we propose an [RFC6325] compatible approach of
   building multicast trees to address the issues mentioned above.

   In the proposed method, global trees (campus wide trees) are
   partitioned in to two instances; a backbone tree instance and set of
   local tree instance per each area.

   Backbone tree - An instance of the tree rooted in the L2 backbone.
   The Backbone tree is represented by the same nickname as the global
   tree.

   Local tree - An instance of a tree per area, per campus wide tree,
   rooted within each area. Each instance of the tree in each area is
   represented by the same nickname as the global tree. (This is
   important to avoid the need for tree translation at the border
   RBridges)

   L2 LSPs advertise the backbone tree.

   L1 LSPs advertise the corresponding local-tree within each area.

   One of the L1-L2 area border RBridges in an given area is assigned
   the role of Rendezvous Point (RP) for the specific local tree (more
   details are presented in section 8. ).

   Each RP functions as the plumb between the global tree and local
   tree. Both the trees have exactly the same nickname.

   RP An RP advertises affinity to the rest of the campus for the
   specified tree by using the Affinity sub-TLV [trillcmt]. In the
   Affinity TLV associated nickname MUST be specified as zero to
   indicate the Affinity is related to default route. We refer to this
   usage of Affinity TLV as the default Affinity sub-TLV in the rest of
   the document.

   Each RBridge in the local L1 area builds its multi-destination SPF
   tree as specified in [RFC6325] and [trillcmt]. RPF checks are
   performed as specified in [RFC6325] and [trillcmt]. Additionally,
   RPF checks for default nicknames (i.e. all unknown nicknames to the
   local L1 area) are performed per the association specified by the
   default Affinity sub-TLV.




Senevirathne          Expires November 28, 2013                [Page 7]


Internet-Draft             Multilevel TRILL                    May 2013


   Additionally, each RP on behalf of the local Area it is representing
   for multi-cast tree Tx, advertises Area Affinity-TLV towards the L2
   backbone area. The Area Affinity TLV, include the L1 Area ID of the
   associated area. The Area Affinity TLV, notifies RBridges in the L2
   area to enable the RPF check to accept nicknames in the associated
   L1 area from the announcing RP. The Area Affinity TLV allows greater
   scaling of the IS-IS LSP DB. If Affinity TLV contains all of the
   nicknames the IS-IS PDU size increases. Use of the Area Affinity
   sub-TLV to summarize the entire area in a single sub-TLV, limits the
   size of the LSP DB as well as PDU size. (Please see below for the
   structure of the Area Affinity sub-TLV).




         L1 Area A1            L2 Backbone            L1 Area A2
     +------------------+   +----------------+   +-----------------+
     |                 RB2  |                |  RB5                |
     |                +---+ |                | +---+               |
     |             o---o   o---o             o--o   o--o           |
     |   RB1          |   | |                | |   |        RB7    |
     |  +---+         +---+ |                | +---+       +---+   |
     |o-o   |               |                |   |         |   |   |
     |  |   o--o      +---+ |                | +---+    o--o   o-o |
     |  +---+         |   | |                | |   |       +---+   |
     |             o---o   o---o            o--o   o--o            |
     |                +---+ |                | +---+               |
     |                 RB3  +----------------+  RB6                |
     +-----------------+                         +-----------------+


                         Figure 1 Sample Topology

















Senevirathne          Expires November 28, 2013                [Page 8]


Internet-Draft             Multilevel TRILL                    May 2013


         L1 Area A1            L2 Backbone              L1 Area A2
     +-------------------+   +----------------+    +-----------------+
     |    - t -          |   |     - t -      |    |        t        |
     |   |   \  \        |   |    /  |   \    |    |      - |-       |
     |   |    \  \       |   |   /   |    \              /  | \      |
     |   |     \  ----o RB2 o----   /|\    ----o RB5 o--    |  \     |
     |   |      \      (RP)  |     /   \      | (RP)        /   \    |
     |   o       \       |   |    /     \     |    |        /     o  |
     |            \-     |   |   /       \    |    |      /      RB7 |
     |  RB1        ---o RB3  |  /         \   |          /           |
     |                     X---o           \      t-----             |
     |                   |   |              ----X RB6                |
     +-------------------+   +----------------+     +----------------+

     -t-  Tree root for tree t
     --o  Port that accept multicast traffic for the tree "t"
     --X  Ports that do not accept multicast traffic for the tree "t"

                         Figure 2 Logical Topology



   Above Figure 1 depicts a sample Topology, Figure 2 depicts the
   corresponding logical topology. Local multicast trees and the global
   multicast trees have the same nickname "t". "X" denote the branches
   of the multicast tree that are not used for multicast traffic
   reception or transmission.  L1 RBridges, RB1, RB7 install RPF check
   based on the default Affinity TLV. L1 area border RBridges MUST not
   install the default RPF check on L2 interfaces, instead they MUST
   honor the Area Affinity TLV and install explicit RPF checks. Strict
   RPF check on area border RBridges are mandatory to prevent transient
   loops during topology changes.

4.5. Life of Multicast frame.

   RB1 ingresses multicast frames of global scope to global tree "t".
   The multicast frame traverses the tree "t" and arrives at RBridges
   RB2 and RB3. RB2 is the Rendezvous Point (RP) for tree "t" for Area
   A1. RB2 forward the frame to backbone multicast tree "t" as well as
   to the other local ports. RB3 is not the RP for tree "t" for area
   A1. Hence, it forwards the frame to local ports but does not forward
   along the backbone multicast tree "t".

   The multicast frame traverses along the backbone tree "t" and
   arrives at Area A2 border RBridges RB5 and RB6. The RB6, which is
   not the Rendezvous Point (RP) for backbone tree "t" for Area A2,
   accepts multi-destination frames arriving on L2 interface and only


Senevirathne          Expires November 28, 2013                [Page 9]


Internet-Draft             Multilevel TRILL                    May 2013


   forwards to other applicable L2 interfaces. Non RP RBridges do not
   forward multi-destination frames arriving on global tree on L1 area
   interface. RB5, the RP for the Area A2 for the multicast tree "t",
   contains the RPF check to accept frames from others areas on tree
   "t" on its L2 area interface. Hence, RB5, accept the multicast frame
   from tree "t" and forward along the local tree "t" and its local
   ports.

   The multicast packet traverses along the local tree "t" in Area A2
   and arrive at RB7. RB7 contains RPF check installed based on the
   Default Affinity TLV for tree "t", to receive multicast traffic for
   tree "t" that arrives from the RP facing interface. RB7 accepts the
   multicast frame arriving on local tree "t" with ingress RBridge
   nickname RB1 and performs applicable forwarding as specified in
   [RFC6325].

   RB6 is an Area border RBRidge for Area A2, but not RP for the area.
   RB6 receives the multicast frame through the local tree "t". Non RP
   area border RBridges for RPF and multi-destination forwarding
   purposes function like a L1 area RBridge. RB6, honors the default
   Affinity TLV received from RB5 for local multicast tree "t". Hence,
   it installs RPF check to accept all nicknames (default nickname) for
   tree "t" from the L1 Area interface pointing towards RB5.

   RB6 accepts the incoming multicast frame along tree "t" with the
   ingress RBridge nickname RB1 and performs applicable forwarding to
   locally attached ports. RB6, which is a non RP for tree "t" for area
   A2, MUST not forward the multicast frame to the global tree "t".

5. Area Affinity sub-TLV

   Area Affinity sub-TLV is a sub-TLV under IS-IS Router capability TLV
   and contains the following structure.
















Senevirathne          Expires November 28, 2013               [Page 10]


Internet-Draft             Multilevel TRILL                    May 2013


      +-+-+-+-+-+-+-+-+
      |Type=AREA-AFF  |                (1 byte)
      +-+-+-+-+-+-+-+-+
      |   Length      |                (1 byte)
      +---------------+
      | Area-ID-Length|                (1 byte)
      +---------------+---------------+
      | Area ID                       |  (variable 1..13)
      .                               .
      |                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | number of trees               |  (2 bytes)
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |tree-num of 1st preferred root |  (2 bytes)
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |tree-num of 2nd preferred root |  (2 bytes)
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      .                               .
      +-------------------------------+
      |tree-num of Nth preferred root |  (2 bytes)
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                   Figure 3 Area Affinity TLV structure

     o Type: AREA-AFF, (TBD).

     o Length: variable. Length is 1 + length of Area ID + 2*n, where
        n is the number listed tree numbers.

     o Area-ID : (variable length) Is the IS-IS Area ID. Length can be
        1-13 bytes long.

     o Number of trees : number of trees for which association
        (affinity) being announced.

     o  Tree-num of preferred root: The tree Number of the multicast
        tree.

     Area-affinity conflicts MUST be resolved using methods specified
     in [trillcmt].

6. Nickname acquisition and conflict resolution

   In the proposed method, nicknames of RBridges in remote L1 areas are
   not advertised into the local L1 area by area border RBridges.
   However, L2 backbone RBridges and L1-L2 border RBridges contain the
   nicknames used by all the RBridges in the campus. We propose to


Senevirathne          Expires November 28, 2013               [Page 11]


Internet-Draft             Multilevel TRILL                    May 2013


   introduce a new IS-IS sub-TLV under Router capability TLV to
   distribute available nickname space. New IS-IS sub TLV is Nickname
   Management sub-TLV.

   Nickname Management sub-TLV is announced by the area border RBridges
   in to the local L1 area with Router capability bits D set to one and
   S set to one. Nickname Management sub-TLV is announced in to L2 area
   by the area border RBridges with S and D bit clear. These settings
   ensure Nickname Management TLV is confined to the local L1 area L2
   area and does not leak to other L1 areas.

   Nickname Management sub-TLV instance announced in to the local area,
   contains two sets of ranges. Local nickname ranges and dynamic
   nickname ranges. Local nickname ranges are one or more sets of
   ranges that network administrator has configured on the border
   RBridges. Multiple local nickname ranges allow network administrator
   to configure multiple sets of non contiguous nickname ranges.

   L1 area RBridges SHOULD, first, select a nickname or nicknames from
   the local ranges.

   If entire local nickname space has exhausted (i.e. taken up by other
   RBridges), then L1 are RBridges SHOULD select a nickname or
   nicknames from the dynamic ranges.

   It is recommended that RBridges use different nickname priorities to
   differentiate nickname acquired by different methods. Nickname
   priorities are assigned based on the acquisition method such that
   configured nicknames have highest priority, followed by nicknames
   derived from the local range, followed by nicknames derived from the
   dynamic range.

   Dynamic ranges are derived by the area border RBridges based on the
   local nickname ranges of its and other areas. As an example let's
   assume area A1 has local nickname range of 100-200, A2 has a local
   nickname range of 201-300. Then the dynamic range is from 1-99 and
   301 to 65471 (0xFFBF). Nickname values 0 and 0xFFC0 to 0xFFFF are
   reserved and MUST not be included in the dynamic nickname ranges.

   Nickname Management sub-TLV instance announced in to the L2 backbone
   area, contains only the local nickname ranges. Local nickname ranges
   of each area allow other areas to derive applicable dynamic ranges
   to announce in to the corresponding L1 area.






Senevirathne          Expires November 28, 2013               [Page 12]


Internet-Draft             Multilevel TRILL                    May 2013




6.1. Nickname Management sub-TLV

      +-+-+-+-+-+-+-+-+
      |Type=NICK-MGMT |                (1 byte)
      +-+-+-+-+-+-+-+-+
      |   Length      |                (1 byte)
      +---------------+
      | Area-ID-Length|                (1 byte)
      +---------------+---------------+
      | Area ID                       |  (variable 1..13)
      .                               .
      |                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | NL            |                  (1 byte)
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |starting nickname for l-range 1|  (2 bytes)
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |end nickname for l-range 1     |  (2 bytes)
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      .                               .
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |starting nickname for l-range n|  (2 bytes)
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |end nickname for l-range n     |  (2 bytes)
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | ND            |                  (1 byte)
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |starting nickname for d-range 1|  (2 bytes)
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |end nickname for d-range 1     |  (2 bytes)
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      .                               .
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |starting nickname for d-range n|  (2 bytes)
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |end nickname for d-range n     |  (2 bytes)
      +-------------------------------+


              Figure 4 Nickname Management sub-TLV structure

     o Type: NICK-MGMT, (TBD).





Senevirathne          Expires November 28, 2013               [Page 13]


Internet-Draft             Multilevel TRILL                    May 2013


     o Length: variable. Length is 1 + length of Area ID + 1+2*2*NL +
        1 + 2*2*ND, where NL is the number local ranges and ND is
        number of dynamic ranges.

     o Area-ID : (variable length) Is the IS-IS Area ID. Length can be
        1-13 bytes long.

     o NL : number of local nickname ranges.

     o ND : number of dynamic ranges.

     o Starting nickname for l-range n: starting nickname of the local
        range n.

     o End nickname for l-range n: End nickname of the local range n.

     o Starting nickname for d-range n: starting nickname of the
        dynamic range n.

     o End nickname for d-range n: End nickname of the dynamic range
        n.

    NOTE: Multiple instances of the nickname management sub-TLV MAY be
   included. Nickname management sub-TLV has usage in non multi-level
   deployments as well. Nickname management sub-TLV allows
   administrator to control nickname acquisition by RBridges.

7. Further optimizations

   RFC6325 allows multiple instance of nickname sub-TLV. If more
   specific forwarding is required, for some critical RBridges, such
   nicknames MAY be advertised in a separate Router capability TLV,
   with S bit set. So it leaks to all L1 areas.

7.1. Leaking of TRILL IS-IS sub-TLV within areas

   At the boundary nodes, the following information needs to be leaked
   from the Level-1 database to the Level-2 database. The nickname TLVs
   that are learned from all nodes within the same site needs to be
   redistributed to the Level-2 database. All such redistributed
   nickname TLVs will have the root priority set to 0. Note, that all
   border area nodes will announce this TLV into the Level-2 database.
   As a result, all Level-2 nodes will be able to see the reachability
   of all other nodes. This enables unicast traffic flow. With respect
   to multicast, redistributed nicknames are not to be used in the root
   election for global trees. The roots of the global trees will be
   from the set of nicknames that are in the Level-2 database. Once the


Senevirathne          Expires November 28, 2013               [Page 14]


Internet-Draft             Multilevel TRILL                    May 2013


   roots have been identified, these nicknames need to be leaked back
   to the Level-1 areas. Calculation of multi-destination trees are
   presented in section 7.2.

7.2. Identification of Global Trees

   It is expected only a sub-set of traffic requires a global reach
   (inter Area). Majority of the traffic will be of local scope (intra
   area). Scope of the traffic can be identified either based on VLAN
   or fine-grain label. Traffic of global scope is forwarded using
   global trees. The trees of global scope may be indentified:

   1. By means of configuration
   2. By means of multi-destination tree announcements sub-TLV.

   Point number 2 above requires further clarifications. We propose to
   introduce 3 new sub-TLV under IS-IS router capability TLV to
   advertise global multi-destination trees. These new sub-TLV are
   listed below. Format of the new sub-TLVs are presented in section
   7.2.1. to 7.2.3.

     o The Global Tree capability sub-TLV
     o The Global Tree proposal sub-TLV
     o The Global Tree identifier sub-TLV

   Each RBridge announces two sets of capabilities; global tree
   capabilities and local tree capabilities. It announces, maximum
   number of global distributions trees it can compute. RBridges
   utilize Global Tree sub-TLV for the purpose of announcing its global
   tree capability. RBridges announce local tree capabilities using The
   Tree sub-TLV [RFC6326]. Global tree space is disjoint from the local
   tree space and MUST not have any effect on each other. Please refer
   to [RFC6325] for the process of how local trees are derived. In this
   section we present how the total number of global trees needed is
   calculated and identification of nickname of each tree root.

   Each area border RBridge, using the global tree sub-TLV received
   from RBRidges in its local area, derives the number of trees the
   area can support. The number of global trees "s", a local area can
   support is the fewest number of global trees that an RBridge in
   local area can support. Area border RBridges advertise in to the
   backbone, using the global Tree capability sub-TLV, the number of
   trees "s" that the given area can calculate. Global Tree capability
   sub-TLV announced in to the L2 backbone are advertised with "S" and
   "D" flags of Router Capability TLV set to 0. This prevent them
   leaking to L1 areas.



Senevirathne          Expires November 28, 2013               [Page 15]


Internet-Draft             Multilevel TRILL                    May 2013


   Rbridges in the L2 backbone calculate the number of global trees the
   campus can calculate. This number "i" is the fewest number of global
   trees among all areas.

   Each RBridge in the L2 backbone using Global Tree proposal sub-TLV
   advertise the number of trees it want other RBridges in the L2
   backbone to calculate. RBridges in the L2 backbone identifies number
   of global trees they need to calculate based on the number of trees
   "k" advertised by the highest priority RBridge in the L2 backbone.

   The L2 area RBridge with the highest priority advertises set of
   nicknames for the global tree roots. These tree roots are selected
   based on tree root priority announced by L2 backbone RBridges.
   Global Tree Identifier sub-TLV is used for the purpose.

   BSR RBRidge of each L1 area advertises nicknames of global tree
   roots using Global Tree Identifier sub-TLV in to the corresponding
   local area. BSR also advertises the number of Global trees k the
   local area needs to calculate using Global tree proposal sub-TLV.

   RBridges in the local area contain only nicknames of the local area.
   Global Tree Identifier sub-TLV announced by the BSR contains
   nicknames that are unknown to the local L1 area RBridges. How do
   local RBridges calculate it SPF ?

   Global Tree Identifier sub_TLV contain nickname of the global trees
   ordered in ascending order. Default Affinity TLV announced by RP
   RBridge contains the tree-id(s) that it is an RP. Tree-id k in the
   Default affinity TLV corresponds to nickname k in the Global Tree
   Identifier. RBRidges in the local L1 area calculate its SPF tree
   assuming the tree-k is rooted at the RP RBridge announcing the
   Default affinity sub-TLV for that tree.

   Global Tree proposal sub-TLV and Global Tree Identifier sub-TLV MUST
   only be advertised by BSR. Sub-TLV from highest priority RBRidge is
   chosen, in the event of multiple RBridges advertising conflicting
   sub-TLVs.












Senevirathne          Expires November 28, 2013               [Page 16]


Internet-Draft             Multilevel TRILL                    May 2013


7.2.1. Global Tree capability sub-TLV

      +-+-+-+-+-+-+-+-+
      |Type = GL-TREES|                  (1 byte)
      +-+-+-+-+-+-+-+-+
      |  Length       |                  (1 byte)
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Maximum trees able to compute |  (2 byte)
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                  Figure 5 Global Tree Capability sub-TLV

   Type: Router Capability sub-TLV type, TBD

   Length: 2.

   Maximum trees able to compute: An unsigned 16-bit integer indicates
   maximum number of global trees the announcing RBridge able to
   compute.

7.2.2. Global Tree proposal sub-TLV

      +-+-+-+-+-+-+-+-+
      |Type = GL-TR-PR|                  (1 byte)
      +-+-+-+-+-+-+-+-+
      |  Length       |                  (1 byte)
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Maximum trees to compute      |  (2 byte)
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                   Figure 6 Global Tree Proposal sub-TLV

   Type: Router Capability sub-TLV type, TBD (GL-TR-PR)

   Length: 2.

   Maximum trees to compute: An unsigned 16-bit integer indicates
   maximum number of global trees the announcing RBridge wants area
   RBRidges to calculate.










Senevirathne          Expires November 28, 2013               [Page 17]


Internet-Draft             Multilevel TRILL                    May 2013


7.2.3. Global Tree Identifier sub-TLV

      +-+-+-+-+-+-+-+-+
      |Type=GLTR-RT-IDs|               (1 byte)
      +-+-+-+-+-+-+-+-+
      |   Length      |                (1 byte)
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |Starting Tree Number         |  (2 bytes)
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |   Nickname (K-th root)      |  (2 bytes)
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |   Nickname (K+1 - th root)  |  (2 bytes)
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |   Nickname (...)            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


                  Figure 7 Global Tree Identifier sub-TLV

   Type: Router Capability sub-TLV type, set to TBD (GLTR-RT-IDs).



   Length: 2 + 2*n, where n is the number of nicknames listed.



Starting Tree Number: This identifies the starting tree number ofthe
nicknames that are trees for the domain.  This is set to 1 for the sub-
TLV containing the first list.  Other Tree-Identifiers sub-TLVs will
have the number of the starting list they contain. In the event a tree
identifier can be computed from two such sub-TLVs and they are
different, then it is assumed that this is a transient condition that
will get cleared.  During this transient time, such a tree SHOULD NOT
be computed unless such computation is indicated by all relevant sub-
TLVs present.

Nickname: The nickname at which a distribution tree is rooted.



7.3. Announcing Group Addresses

   Group Address announcements facilitate optimization of multicast
   forwarding. [RFC6326] and [rfc6326bis], define series of sub-TLV to
   announce various flavors of Group addresses. These sub-TLVs are
   encapsulated in Group Address TLV (142). We propose to define new


Senevirathne          Expires November 28, 2013               [Page 18]


Internet-Draft             Multilevel TRILL                    May 2013


   set of sub-TLV under Group Address TLV to carry Group Address
   announcements applicable to Global trees. IS-IS Group Address TLV
   (142) does not have flags to control the scope of the TLV. Hence,
   explicit, sub-TLV definitions are required to indentify group
   announcements that have global scope.

   New sub-TLV numbers are required for the following.

     o Group MAC Address Sub-TLV
     o Group IPv4 Address Sub-TLV
     o Group IPv6 Address Sub-TLV
     o Group Labeled MAC Address Sub-TLV
     o Group Labeled IPv4 Address Sub-TLV
     o Group Labeled IPv6 Address Sub-TLV

   Above sub-TLVs as defined in [RFC6326] and [rfc6326bis] applies to
   all trees within the TRILL campus. New sub-TLV definitions include
   flexibility to define the applicable multicast trees. This
   flexibility allows applications to further optimize multicast
   pruning per multicast tree basis.

   New group address sub-TLV will be named as below and they have
   common TLV header as defined in Figure 8.

     o Group MAC Address-multicast tree Sub-TLV
     o Group IPv4 Address-multicast tree Sub-TLV
     o Group IPv6 Address-multicast tree Sub-TLV
     o Group Labeled MAC Address-multicast tree Sub-TLV
     o Group Labeled IPv4 Address-multicast tree Sub-TLV
     o Group Labeled IPv6 Address-multicast tree Sub-TLV



















Senevirathne          Expires November 28, 2013               [Page 19]


Internet-Draft             Multilevel TRILL                    May 2013


    +-+-+-+-+-+-+-+-+
    |Type=G-ADDR-TR |                  (1 byte)
    +-+-+-+-+-+-+-+-+
    |   Length      |                  (1 byte)
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |  RESV |     Topology-ID       |  (2 bytes)
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    | number of trees               |  (2 bytes)
    +-------------------------------+
    | nickname of kth tree          |  (2 bytes)
    +-------------------------------+
    | nickname of k+1 tree          |  (2 bytes)
    +-------------------------------+
    .                               .
    |                               |
    +-------------------------------+
    | nickname of (k+n) tree        |  (2 bytes)
    +-------------------------------+
    |  RESV |  VLAN ID/Label        |  (2 or 3 bytes)
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |Num Group Recs |                  (1 byte)
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                   GROUP RECORDS (1)                           |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                                                               |
    .                                                               .
    |                                                               |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                   GROUP RECORDS (m)                           |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

    Figure 8 Common structure of Group-Address-multicast tree sub-TLVs

     o Type: G-ADDR-TR, (TBD). Defines sub-TLV for

          o Group MAC Address-multicast tree Sub-TLV
          o Group IPv4 Address-multicast tree Sub-TLV
          o Group IPv6 Address-multicast tree Sub-TLV
          o Group Labeled MAC Address-multicast tree Sub-TLV


     o Length: Applicable length of the sub-TLV in bytes. Excludes
        length of G-ADDR-TR and Length fields.

     o Topology ID: 2 byte identifier of the topology instance id.




Senevirathne          Expires November 28, 2013               [Page 20]


Internet-Draft             Multilevel TRILL                    May 2013


     o Number of trees: Number of tree nicknames included in the sub-
        TLV. The nicknames included in the sub-TLV MUST be sorted in
        ascending order.

     o Nickname of kth tree: 2 byte nickname of the kth tree to which
        this Group address-tree announcement applies.

     o VLAN ID/Label: Either 4bit reserved followed by 12bit VLAN ID
        or 24bit finegrain label. Please see [rfc6326bis] for details.

     o Num Grp Recs: Number of Group Records to follow.

     o Group Record: Contents of the Group Records depend on the G-
        ADDR-TR definition and identical to their counterparts defined
        in [rfc6326bis].



8. Architecture Elements of Multi-level Multicast framework

     o Bootstrap RBridge

     o Rendezvous Point (RP)

     o Default Affinity sub-TLV

     o Area Affinity sub-TLV

     o RP Election Protocol



   Five main elements of the multi-level multicast framework are listed
   above. Functional overviews of the elements are discussed below.
   Details, such as state machines, PDU format, etc, will be presented
   in later versions of this document.

8.1. Bootstrap RBridge

   Each Area has one more area border RBridges between the Area and the
   L2 backbone area. For each area one of its area border RBridges is
   elected as the Bootstrap RBridge.

   Border RBridges communicate with each other using the TRILL BSR
   protocol. Each border RBridge has a configured priority to be a
   Bootstrap RBridge with system-ID as the tie breaker. The RBridge
   with the highest priority become the bootstrap RBridge for the area.


Senevirathne          Expires November 28, 2013               [Page 21]


Internet-Draft             Multilevel TRILL                    May 2013


   Bootstrap RBRidge selects the Rendezvous Point (RP) RBridges and
   assign each RP a set of trees for which RP will function as the
   gateway between the local and global multicast trees. To avoid loops
   and/or packet duplication the set of trees MUST only be allocated to
   one and only one RP.

8.2. Rendezvous Point (RP)

   Rendezvous Point (RP) RBridge performs the function of gateway (or
   acts as a point of plumbing) between the local multicast tree and
   the corresponding global multicast tree rooted in the L2 backbone
   area.

   Bootstrap RBridge designates one of the border RBridges (including
   itself) as the RP for a set of (mutually exclusive) trees.

   Each border RBridge, using TRILL BSR protocol, announces its desire
   to be an RP. The desire to be an RP is a configurable option and
   enabled by default to be an RP.

8.3. Default Affinity sub-TLV

   Default Affinity sub-TLV is announced by each RP to inform the
   RBridges in the L1 Area the association of the default nickname to a
   set of trees through the announcing RP [trillcmt].

   RBridges in the L1 area, based on the Default Affinity sub-TLV
   installs the RPF check for default nickname for the specified tree
   "t" on an interface facing towards the announcing RP.

8.4. Area Affinity sub-TLV

   The Area Affinity sub-TLV announced by each RP to inform the
   RBridges in L2 backbone Area the association of local L1 Area
   nicknames to a set of trees through the announcing RP (Figure 3).

   RBridges in the L2 backbone area or has interfaces to the L2
   backbone area, based on the Area Affinity sub-TLV, installs the RPF
   check for the nicknames in the indicated L1 Area, for the specified
   tree "t", on an interface facing towards the announcing RP.

8.5. TRILL BSR Protocol

9. Security Considerations

   TBD



Senevirathne          Expires November 28, 2013               [Page 22]


Internet-Draft             Multilevel TRILL                    May 2013


10. IANA Considerations

   IANA is requested to add the Area Affinity sub-TLV, Nickname
   Management sub-TLV, Global Tree capability sub-TLV, Global tree
   proposal sub-TLV, Global tree Identfier sub-TLV as sub-TLVs under
   Router capability TLV.

11. References

11.1. Normative References

    [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
             Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC2234] Crocker, D. and Overell, P.(Editors), "Augmented BNF for
             Syntax Specifications: ABNF", RFC 2234, Internet Mail
             Consortium and Demon Internet Ltd., November 1997.

   [RFC4971] Vasseur, JP, et.al, "Intermediate System to Intermediate
             System (IS-IS) Extensions for Advertising Router
             Information ", RFC 4971, July 2007.

   [RFC6325] Perlma, R., et.al, "Routing Bridges (RBridges): Base
             Protocol Specification", RFC 6325, July 2011.

   [trillcmt]Senevirathne, T., et.al, "Coordinated Multicast Trees
             (CMT)for TRILL", Work in Progress, January 2012.

   [RFC4971] Vasseur, JP, et.al, "Intermediate System to Intermediate
             System (IS-IS) Extensions for Advertising Router
             Information", RFC 4971, July 2007.

11.2. Informative References

   [RFC6326] Eastlake, D, et.al, "Transparent Interconnection of Lots
             of Links (TRILL) Use of IS-IS", RFC 6326, July 2011.

   [rfc6326bis] Eastlake, D, et.al, "Transparent Interconnection of
             Lots of Links (TRILL) Use of IS-IS", Work in Progress,
             draft-eastlake-isis-rfc6326bis-04.txt, January 2012.

   [trillml] Perlman, R., et.al, "RBridges: Multilevel TRILL", Work in
             Progress, draft-perlman-trill-rbridge-multilevel-03.txt,
             October 2011.





Senevirathne          Expires November 28, 2013               [Page 23]


Internet-Draft             Multilevel TRILL                    May 2013


12. Acknowledgments

   We wish to thank Leonard Tracy, Dinesh Dutt and Ashok Ganesan for
   reviewing and providing constructive feedback.

   This document was prepared using 2-Word-v2.0.template.dot.

Authors' Addresses

   Tissa Senevirathne
   CISCO Systems
   375 East Tasman Drive
   San Jose CA 95134

   Phone: 408-853-2291
   Email: tsenevir@cisco.com

   Les Ginsberg
   CISCO Systems
   510 McCarthy Blvd.
   Milpitas CA 95035

   Phone: 408-527-7729
   Email:ginsberg@cisco.com

   Sam Aldrin
   Huawei Technologies
   2330 Central Express Way
   Santa Clara, CA 95951

   Email: aldrin.ietf@gmail.com

   Ayan Banerjee
   CISCO Systems
   425 East Tasman Drive
   San Jose CA 95134

   Phone: 408-527-0539
   Email: ayabaner@cisco.com










Senevirathne          Expires November 28, 2013               [Page 24]