INTERNET-DRAFT                                               D. Eastlake
Intended status: Proposed Standard                                W. Hao
Updates: 7752                                                      Y. Li
                                                                S. Gupta
                                                             IP Infusion
                                                              M. Durrani
Expires: April 12, 2018                                 October 13, 2018

               Distribution of TRILL Link-State using BGP


   This draft describes a TRILL link state and MAC address reachability
   information distribution mechanism using a BGP LS extension.
   External components such as an SDN Controller can use the information
   for topology visibility, troubleshooting, network automation, and the
   like. This document updates RFC 7752.

Status of This Memo

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

   Distribution of this document is unlimited. Comments should be sent
   to the authors or the IDR working group mailing list:

   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-

   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 The list of Internet-Draft
   Shadow Directories can be accessed at

D. Eastlake et al.                                              [Page 1]

INTERNET-DRAFT                                          BGP LS For TRILL

Table of Contents

      1. Introduction............................................3
      2. Conventions used in this document.......................5

      3. Carrying TRILL Link-State Information in BGP............6
      3.1 Node Descriptors.......................................6
      3.1.1 IGP Router-ID........................................7
      3.2 MAC Address Descriptors................................7
      3.2.1 MAC-Reachability TLV.................................8
      3.3 The BGP-LS Attributes..................................8
      3.3.1 Node Attribute TLVs..................................8 Node Flag Bits TLV.................................9 Opaque Node Attribute TLV..........................9
      3.3.2. Link Attribute TLVs.................................9

      4. Operational Considerations.............................10
      5. Security Considerations................................11
      6. IANA Considerations....................................12

      Normative References......................................13
      Informative References....................................14

      Authors' Addresses........................................15

D. Eastlake et al.                                              [Page 2]

INTERNET-DRAFT                                          BGP LS For TRILL

1. Introduction

   BGP has been extended to distribute IGP link-state and traffic
   engineering information to some external components [RFC7752], such
   as the PCE and ALTO servers. The information can be used by these
   external components to compute a MPLS-TE path across IGP areas,
   visualize and abstract network topology, and the like.

   TRILL (Transparent Interconnection of Lots of Links) protocol
   [RFC6325] [RFC7780] provides a solution for least cost transparent
   routing in multi-hop networks with arbitrary topologies and link
   technologies, using [IS-IS] [RFC7176] link-state routing and a hop
   count. TRILL switches are sometimes called RBridges (Routing

   The TRILL protocol has been deployed in many data center networks.
   Data center automation is a vital step to increase the speed and
   agility of business. An SDN controller as an external component
   normally can be used to provide centralized control and automation
   for the data center network. Providing a holistic view of whole
   network topology to the SDN controller is an important part of data
   center network automation and troubleshooting.

                           |     SDN     |
                   --------|  Controller |--------
                   |       +-------------+       |
                   |                             |
                  + +                           + +
                   +        +-----------+        +
                            |           |
               +--------+   |IP Network |   +--------+
               |        | +----+     +----+ |        |
   +---+ +---+ |        | |    |     |    | |        | +---+ +---+
   |ES1|-|RB1|-| Area 1 |-|BRB1|     |BRB2|-| Area 2 |-|RB2|-|ES2|
   +---+ +---+ |        | +----+     +----+ |        | +---+ +---+
               |        |   |           |   |        |
               +--------+   +-----------+   +--------+

         |<----TRILL ------>|<IP tunnel>|<-----TRILL ----->|

                      Figure 1: TRILL interconnection

   In Data Center interconnection scenario illustrated in Figure 1, a
   single SDN Controller or network management system (NMS) can be used
   for end-to-end network management. End-to-end topology visibility on
   the SDN controller or NMS is very useful for whole network automation
   and troubleshooting. BGP LS can be used by the external SDN
   controller to collect multiple TRILL domain's link-state.

D. Eastlake et al.                                              [Page 3]

INTERNET-DRAFT                                          BGP LS For TRILL

   BGP LS also can be used for MAC address reachability information
   synchronization across multiple TRILL domains. The transported MAC
   reachability information and the like is for telemetry purposes and
   for use by SDN controller(s) where the coordination or protocol
   between the SDN controllers is out of scope.

   This document describes the detailed BGP LS extension mechanisms for
   TRILL link state and MAC address reachability information
   distribution.  This document updated [RFC7752] by creating a new IANA
   registry for BGP-LS Node Descriptor Flag Bits.

D. Eastlake et al.                                              [Page 4]

INTERNET-DRAFT                                          BGP LS For TRILL

2. Conventions used in this document

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "OPTIONAL" in this document are to be interpreted as described in BCP
   14 [RFC2119] [RFC8174] when, and only when, they appear in all
   capitals, as shown here.

   BGP - Border Gateway Protocol

   BGP-LS - BGP Link-State

   Data label - VLAN or FGL (Fine Grained Label [RFC7172])

   IGP - Interior Gateway Protocol

   IS - Intermediate System (for this document, all relevant
        intermediate systems are RBridges)

   LS - Link State

   NLRI - Network Layer Reachability Information

   SDN - Software Defined Networking

   RBridge - A device implementing the TRILL protocol

   TRILL - Transparent Interconnection of Lots of Links [RFC6325]
        [RFC7176] [RFC7780]

D. Eastlake et al.                                              [Page 5]

INTERNET-DRAFT                                          BGP LS For TRILL

3. Carrying TRILL Link-State Information in BGP

   In [RFC7752], several BGP-LS NLRI types are defined. For TRILL link-
   state distribution, the Node NLRI and Link NLRI are extended to carry
   layer 3 gateway role and link MTU information. TRILL specific
   attributes are carried using opaque Node Attribute TLVs. Examples of
   such attributes are nickname, distribution tree number and
   identifiers, interested VLANs/Fine Grained Label, and multicast group
   address, etc.

   To differentiate the TRILL protocol from layer 3 IGP protocols, a new
   TRILL Protocol-ID = TBD1 is specified.

   ESADI (End Station Address Distribution Information) protocol
   [RFC7357] is a per data label control plane MAC learning solution.
   MAC address reachability information is carried in ESADI packets.
   Compared with data plane MAC learning solution, ESADI protocol has
   security and fast update advantage that are pointed out in [RFC7357].

   For an RBridge that is announcing participation in ESADI, the RBridge
   can distribute MAC address reachability information to external
   components using BGP. A new "MAC Reachability NLRI" NLRI type TBD2 is
   used for the MAC address reachability distribution.

   The MAC Reachability NLRI uses the format as shown in the following

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   |  Protocol-ID  |
   |  Identifier                                                   |
   |  (64 bits)                                                    |
   // Local Node Descriptor (variable) //
   // MAC Address Descriptors (variable) //

                Figure 2: The MAC Reachability NLRI format

3.1 Node Descriptors

   The Node Descriptor Sub-TLV types include Autonomous System and BGP-
   LS Identifier, IS-IS Area-ID and IGP Router-ID. TRILL uses a fixed
   zero Area Address as specified in [RFC6325], Section 4.2.3.  This is

D. Eastlake et al.                                              [Page 6]

INTERNET-DRAFT                                          BGP LS For TRILL

   encoded in a 4-byte Area Address TLV (TLV #1) as follows:

      |   0x01, Area Address Type     |   (1 byte)
      |   0x02, Length of Value       |   (1 byte)
      |   0x01, Length of Address     |   (1 byte)
      |   0x00, zero Area Address     |   (1 byte)

                        Figure 3: Area Address TLV

3.1.1 IGP Router-ID

   Similar to layer 3 IS-IS, TRILL protocol uses 7-octet "IS-IS ID" as
   the identity of an RBridge or a pseudonode, IGP Router ID sub-TLV in
   Node Descriptor TLVs contains the 7-octet "IS-IS ID". In TRILL
   network, each RBridge has a unique 48-bit (6-octet) IS-IS System ID.
   This ID may be derived from any of the RBridge's unique MAC addresses
   or configured. A pseudonode is assigned a 7-octet ID by the DRB
   (Designated RBridge) that created it, the DRB is similar to the
   "Designated Intermediate System" (DIS) corresponding to a LAN.

3.2 MAC Address Descriptors

   The "MAC Address Descriptor" field is a set of Type/Length/Value
   (TLV) triplets. "MAC Address Descriptor" TLVs uniquely identify an
   MAC address reachable by a Node. The following attributes TLVs are

    | TLV Code     | Description         | Length   | Value defined   |
    | Point        |                     |          | in:             |
    |   1          | MAC-Reachability    | variable | section 3.2.1   |

                   Table 1: MAC Address Descriptor TLVs

D. Eastlake et al.                                              [Page 7]

INTERNET-DRAFT                                          BGP LS For TRILL

3.2.1 MAC-Reachability TLV

   | Type= MAC-RI  |                  (1 byte)
   |   Length      |                  (1 byte)
   |V|F|   RESV    |              Data Label            |  (4 bytes)
   |                          MAC (1)       (6 bytes)                 |
   |                      .................                           |
   |                          MAC (N)       (6 bytes)                 |

                   Figure 4: MAC-Reachability TLV format

   Length is 4 plus a multiple of 6.

   The bits of 'V' and 'F' are used to identify Data Label type and are
   defined as follows:

                  | Bit      | Description             |
                  | 'V'      | VLAN                    |
                  | 'F'      | Fine Grained Label      |

                 Table 2: Data Label Type Bits Definitions

    Notes: If BGP LS is used for NVO3 network MAC address distribution
   between an external SDN Controller and NVE, Data Label can be used to
   represent 24 bits VN ID.

3.3 The BGP-LS Attributes

3.3.1 Node Attribute TLVs

D. Eastlake et al.                                              [Page 8]

INTERNET-DRAFT                                          BGP LS For TRILL Node Flag Bits TLV

   A new Node Flag bit TBD4 is added to the Node Flag Bits TLV. This
   flag indicates that the node is a distributed Layer 3 gateway
   [RFC7956]. Opaque Node Attribute TLV

   The Opaque Node Attribute TLV is used as the envelope to
   transparently carry TRILL specific information. In most cases, this
   information is encoded as sub-TLVs within the IS-IS Router Capability
   and MT-Capability TLVs or as the Group Address (GADDR) TLV. Many of
   these are specified in [RFC7176] but additional sub-TLVs have been
   specified and may be specified in the future that also can be carried
   using the Opaque Node Attribute TLV.

3.3.2. Link Attribute TLVs

   Link attribute TLVs are TLVs that may be encoded in the BGP-LS
   attribute with a link NLRI. Besides the TLVs that has been defined in
   [RFC7752] section 3.3.2 Table 9, the following 'Link Attribute' TLV
   is provided for TRILL.

     | TLV Code | Description  | IS-IS TLV  | Defined in:           |
     | Point    |              | /Sub-TLV   |                       |
     | TBD3     | Link MTU     |   22/28    | [RFC7176] Section 2.4 |

                       Table 7: Link Attribute TLVs

D. Eastlake et al.                                              [Page 9]

INTERNET-DRAFT                                          BGP LS For TRILL

4. Operational Considerations

   This document does not require any MIB or YANG model to configure
   operational parameters.

   Any implementation of this specification (i.e. that distributes TRILL
   Link-State information using BGP), MUST do the malformed attribute
   checks below, and if it detects a malformed attribute, it should use
   the 'Attribute Discard' action per [I-D.ietf.idr-error-handling]
   section 2.

   An implementation MUST perform the following expanded BGP-LS
   syntactic check for determining if the message is malformed:

   o  Does the sum of all TLVs found in the BGP LS attribute correspond
      to the BGP LS path attribute length ?

   o  Does the sum of all TLVs found in the BGP MP_REACH_NLRI attribute
      correspond to the BGP MP_REACH_NLRI length ?

   o  Does the sum of all TLVs found in the BGP MP_UNREACH_NLRI
      attribute correspond to the BGP MP_UNREACH_NLRI length ?

   o  Does the sum of all TLVs found in a Node-, Link, prefix (IPv4 or
      IPv6) NLRI attribute correspond to the Node-, Link- or Prefix
      Descriptors 'Total NLRI Length' field ?

   o  Does every fixed length TLV correspond to the TLV Length field in
      this document ?

   o  Does the sum of MAC reachability TLVs equal the length of the

   In addition, the following checks need to be made for the fields
      specific to the BGP LS for TRILL:


         NLRI types are valid

         MAC Reachability NLRI has correct format including:

         o  Identifier (64 bits),

         o  local node descriptor with AREA address TLV has the form
            found in Figure 2

D. Eastlake et al.                                             [Page 10]

INTERNET-DRAFT                                          BGP LS For TRILL

5. Security Considerations

   Procedures and protocol extensions defined in this document do not
   affect the BGP security model. See [RFC6952] for details.

D. Eastlake et al.                                             [Page 11]

INTERNET-DRAFT                                          BGP LS For TRILL

6. IANA Considerations

   For all of the following assignments, [this document] is the

   IANA is requested to assign one Protocol-ID TBD1 for "TRILL" from the
   BGP-LS registry of Protocol-IDs.

   IANA is requested to assign one NLRI Type TBD2 for "MAC Reachability"
   from the BGP-LS registry of NLRI Types.

   IANA is requested to assign one new TLV type TBD3 for "Link MTU" from
   the BGP-LS registry of BGP-LS Attribute TLVs.

   IANA is requested to create a registry for BGP-LS Node Descriptor
   Flag Bits and to assign one Node Flag bit TBF4 [bit 6 suggested] for
   "Layer 3 Gateway". This new registry is to be added to the IANA
   Border Gateway Protocol - Link State (BGP-LS) Parameters web page as

      Name: BGP-LS Node Descriptor Flag Bits
      Registration Procedure: Expert Review
      Reference: [RFC7752]
      Note: These bits are in the payload of the Node Flag Bits TLV.
            The bit array is variable length so the maximum bit value
            assignable is very large; however, length of the TLV grows
            linearly with the highest numbered flag bit used and there
            may be practical limits on the length of the TLV.

         Bit   Letter  Description     Reference
         ----  ------  --------------  ------------
          0       O    Overload Bit    [ISO10589]
          1       T    Attached Bit    [ISO10589]
          2       E    External Bit    [RFC2328]
          3       B    ABR Bit         [RFC2328]
          4       R    Router Bit      [RFC5340]
          5       V    V6 Bit          [RFC5340]
          6       G    L3 Gateway Bit  [this document][RFC7956]
         7-up     -    Unassigned

D. Eastlake et al.                                             [Page 12]

INTERNET-DRAFT                                          BGP LS For TRILL

Normative References

   [I-D.ietf.idr-error-handling] - Enke, C., John, S., Pradosh, M.,
         Keyur,P., "Revised Error Handling for BGP UPDATE Messages",
         draft-ietf-idr-error-handling-19(work in progress), April 2015.

   [IS-IS] - International Organization for Standardization,
         "Information technology -- Telecommunications and information
         exchange between systems -- Intermediate System to Intermediate
         System intra-domain routeing information exchange protocol for
         use in conjunction with the protocol for providing the
         connectionless-mode network service (ISO 8473)", ISO/IEC
         10589:2002, Second Edition, November 2002.

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

   [RFC6325] - Perlman, R., Eastlake 3rd, D., Dutt, D., Gai, S., and A.
         Ghanwani, "Routing Bridges (RBridges): Base Protocol
         Specification", RFC 6325, DOI 10.17487/RFC6325, July 2011,

   [RFC7172] - Eastlake 3rd, D., Zhang, M., Agarwal, P., Perlman, R.,
         and D. Dutt, "Transparent Interconnection of Lots of Links
         (TRILL): Fine-Grained Labeling", RFC 7172, DOI
         10.17487/RFC7172, May 2014, <http://www.rfc->.

   [RFC7176] - Eastlake, D., Senevirathne, T., Ghanwani, A., Dutt, D.,
         Banerjee, A.," Transparent Interconnection of Lots of Links
         (TRILL) Use of IS-IS", May 2014.

   [RFC7357] - Zhai, H., Hu, F., Perlman, R., Eastlake 3rd, D., and O.
         Stokes, "Transparent Interconnection of Lots of Links (TRILL):
         End Station Address Distribution Information (ESADI) Protocol",
         RFC 7357, September 2014, <http://www.rfc->.

   [RFC7752] - Gredler, H., Ed., Medved, J., Previdi, S., Farrel, A.,
         and S. Ray, "North-Bound Distribution of Link-State and Traffic
         Engineering (TE) Information Using BGP", RFC 7752, DOI
         10.17487/RFC7752, March 2016, <https://www.rfc->.

   [RFC7780] - Eastlake 3rd, D., Zhang, M., Perlman, R., Banerjee, A.,
         Ghanwani, A., and S. Gupta, "Transparent Interconnection of
         Lots of Links (TRILL): Clarifications, Corrections, and
         Updates", RFC 7780, DOI 10.17487/RFC7780, February 2016,

D. Eastlake et al.                                             [Page 13]

INTERNET-DRAFT                                          BGP LS For TRILL

   [RFC7956] - Hao, W., Li, Y., Qu, A., Durrani, M., and P. Sivamurugan,
         "Transparent Interconnection of Lots of Links (TRILL)
         Distributed Layer 3 Gateway", RFC 7956, DOI 10.17487/RFC7956,
         September 2016, <>.

   [RFC8174] - Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
         2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May
         2017, <>.

Informative References

   [ISO10589] - SO, "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)", International Standard
         10589:2002, Second Edition, 2002.

   [RFC2328] - Moy, J., "OSPF Version 2", STD 54, RFC 2328, DOI
         10.17487/RFC2328, April 1998, <https://www.rfc->.

   [RFC5340] - Coltun, R., Ferguson, D., Moy, J., and A. Lindem, "OSPF
         for IPv6", RFC 5340, DOI 10.17487/RFC5340, July 2008,

   [RFC6952] - Jethanandani, M., Patel, K., and L. Zheng, "Analysis of
         BGP, LDP, PCEP, and MSDP Issues According to the Keying and
         Authentication for Routing Protocols (KARP) Design Guide", RFC
         6952, DOI 10.17487/RFC6952, May 2013, <https://www.rfc->


   Authors thank Susan Hares, John Scudder, Ross Callon, Andrew Qu, Jie
   Dong, Mingui Zhang, Qin Wu, Shunwan Zhuang, Zitao Wang, Lili Wang for
   their valuable inputs.

D. Eastlake et al.                                             [Page 14]

INTERNET-DRAFT                                          BGP LS For TRILL

Authors' Addresses

      Weiguo Hao
      Huawei Technologies
      101 Software Avenue,
      Nanjing 210012, China

      Phone: +86-25-56623144

      Donald E. Eastlake
      Huawei Technologies
      1424 Pro Shop Court
      Davenport, FL 33896 USA

      Phone: +1-508-333-2270

      Yizhou Li
      Huawei Technologies
      101 Software Avenue,
      Nanjing 210012, China

      Phone: +86-25-56625375

      Sujay Gupta
      IP Infusion


      Muhammad Durrani


D. Eastlake et al.                                             [Page 15]

INTERNET-DRAFT                                          BGP LS For TRILL

Copyright, Disclaimer, and Additional IPR Provisions

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

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   ( 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.  The definitive version of
   an IETF Document is that published by, or under the auspices of, the
   IETF. Versions of IETF Documents that are published by third parties,
   including those that are translated into other languages, should not
   be considered to be definitive versions of IETF Documents. The
   definitive version of these Legal Provisions is that published by, or
   under the auspices of, the IETF. Versions of these Legal Provisions
   that are published by third parties, including those that are
   translated into other languages, should not be considered to be
   definitive versions of these Legal Provisions.  For the avoidance of
   doubt, each Contributor to the IETF Standards Process licenses each
   Contribution that he or she makes as part of the IETF Standards
   Process to the IETF Trust pursuant to the provisions of RFC 5378. No
   language to the contrary, or terms, conditions or rights that differ
   from or are inconsistent with the rights and licenses granted under
   RFC 5378, shall have any effect and shall be null and void, whether
   published or posted by such Contributor, or included with or in such

D. Eastlake et al.                                             [Page 16]