RFC 8564

Support of Point-to-Multipoint Bidirectional Forwarding Detection (BFD) in Transparent Interconnection of Lots of Links (TRILL)

πŸ“… published April 2019, from ietf

Okay bestie, this one is a Standards Track doc from April 2019 πŸ¦‹ It's written by M. Zhang (Huawei Technologies), S. Pallagatti (Vmware), and V. Govindan (Cisco Systems). It's published under ISSN 2070-1721, and it updates RFCs 7175 and 7177 πŸ’… So if you're already reading those, this one is the add-on you need.

Abstract ✨

Okay, so P2MP BFD (Point-to-Multipoint Bidirectional Forwarding Detection) is built to check that multipoint connectivity is working 🌸 This doc is where TRILL gets its own P2MP BFD support. Just like TRILL point-to-point BFD, the BFD Control packets in TRILL P2MP BFD get sent using RBridge Channel messages 🧚 It also updates RFCs 7175 and 7177 πŸ’–

Status of This Memo πŸ“œ

This is an Internet Standards Track document πŸ”₯

It's a product of the Internet Engineering Task Force (IETF), so it represents the consensus of the IETF community 🫢 It went through public review and got approved for publication by the Internet Engineering Steering Group (IESG). If you want more on Internet Standards, check Section 2 of RFC 7841 πŸ“

Info about this doc's current status, any errata, and how to send feedback lives at https://www.rfc-editor.org/info/rfc8564 ✨

Copyright (c) 2019 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 (https://trustee.ietf.org/license-info) as they stand on the publication date. Please read those carefully, because they spell out your rights and restrictions for this doc πŸ™ˆ Any Code Components pulled out of this document must include the Simplified BSD License text, as described in Section 4.e of the Trust Legal Provisions. They also come without warranty, as described in the Simplified BSD License πŸ’…


Table of Contents πŸ¦‹

1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
2.  Acronyms and Terminology  . . . . . . . . . . . . . . . . . .   3
  2.1.  Acronyms  . . . . . . . . . . . . . . . . . . . . . . . .   3
  2.2.  Terminology . . . . . . . . . . . . . . . . . . . . . . .   3
3.  Bootstrapping . . . . . . . . . . . . . . . . . . . . . . . .   3
4.  A New RBridge Channel Message for P2MP BFD  . . . . . . . . .   4
5.  Discriminators and Packet Demultiplexing  . . . . . . . . . .   4
6.  Tracking Active Tails . . . . . . . . . . . . . . . . . . . .   5
7.  Security Considerations . . . . . . . . . . . . . . . . . . .   5
8.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   5
9.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   6
  9.1.  Normative References  . . . . . . . . . . . . . . . . . .   6
  9.2.  Informative References  . . . . . . . . . . . . . . . . .   7
Acknowledgements  . . . . . . . . . . . . . . . . . . . . . . . .   7
Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   8

1. Introduction 🌸

Okay, so TRILL supports multicast forwarding πŸ¦‹ Apps that use TRILL multicast might need to spot multicast failures fast, and P2MP BFD [RFC8562] is how they do it. This doc is where we spell out TRILL support for P2MP BFD ✨

Here's the setup. The head end needs to keep sending BFD Control packets to all the tails over TRILL multicast πŸ’… For that, a brand new RBridge Channel message gets allocated πŸŽ€

Now the big reason this matters. To run the global protection of distribution used for multicast forwarding [TRILL-TREES], the head has to track which tails are active [RFC8563] πŸ‘‘ If a tail loses connectivity, which it notices when it stops getting that new RBridge Channel message from the head, the tail should tell the head about the lost multipoint connectivity using unicast BFD Control packets 😭 Those unicast packets go out on the RBridge Channel message that already exists for BFD Control [RFC7175], so no new message is needed for them 🧚

Last bit: this document updates [RFC7177] as laid out in Section 3, and it updates [RFC7175] as laid out in Sections 4 and 5 πŸ’–

2. Acronyms and Terminology πŸ“

2.1. Acronyms πŸ’œ

Data Label: VLAN or Fine-Grained Label [RFC7172] 🌈

BFD: Bidirectional Forwarding Detection ✨

P2MP: Point to Multipoint πŸ¦‹

TRILL: Transparent Interconnection of Lots of Links or Tunneled Routing in the Link Layer 🌸

2.2. Terminology πŸŽ€

Here's the key word rule, bestie. 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 BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here πŸ’…

Also, familiarity with [RFC6325], [RFC7175], and [RFC7178] is assumed in this document 🫢

3. Bootstrapping 🧚

Okay, so the TRILL adjacency mechanism sets up one-hop TRILL BFD sessions [RFC7177] ✨ Multi-hop sessions get configured by the network manager instead 🌸

There's a small wording update you need to make. The second sentence in Section 6 of [RFC7177] is required to change πŸŽ€ Right now it reads:

   If an RBridge supports BFD [RFC7175], it will have learned whether
   the other RBridge has BFD enabled by whether or not a BFD-Enabled
   TLV [RFC6213] was included in its Hellos.

And now it should read:

   If an RBridge supports BFD (see [RFC7175] and [RFC8564]), it will
   have learned whether the other RBridge has BFD enabled by whether
   or not a BFD-Enabled TLV [RFC6213] was included in its Hellos.

Also, a normative reference to this document gets added to RFC 7177 because of this update πŸ’–

4. A New RBridge Channel Message for P2MP BFD πŸ‘‘

Okay, so RBridge Channel protocol number 0x002 is already defined for TRILL point-to-point BFD Control packets in [RFC7175] πŸ¦‹ That RFC says that if the M bit in the TRILL Header of an RBridge Channel packet carrying a BFD Control packet is nonzero, the packet is generally dropped 😭

Here's the plot twist. In P2MP BFD, the head has to probe the tails using multicast, so the M bit ends up set to 1 πŸ”₯ That's why there's a new RBridge Channel message, P2MP BFD Control, with protocol code point 0x007, specified in this doc 🌈

An RBridge that supports P2MP BFD MUST support this new RBridge Channel message for P2MP BFD ✨ The ability to support it, and therefore to do P2MP BFD at all, gets announced in the RBridge Channel Protocols sub-TLV in Link State PDUs (LSPs) [RFC7176] πŸ’…

Also, as [RFC7178] specifies, when a tail receives TRILL Data packets that were sent as BFD RBridge Channel messages, it absorbs them itself instead of delivering them to its attached end stations πŸ™ˆ

5. Discriminators and Packet Demultiplexing πŸŽ€

The processing in Section 3.2 of [RFC7175] generally applies here, with one twist: the test on the M bit in the TRILL Header gets reversed πŸ’œ If the M bit is zero, the packet MUST be discarded. If the M bit is one, it is processed 🫢

After doing the processing in Section 3.2 of [RFC7175], the tail demultiplexes incoming BFD packets based on a combo of the source address and My Discriminator, as specified in [RFC8562] 🌸 TRILL P2MP BFD adds one more ingredient: the tail also uses the Data Label, which is either the inner VLAN or the Fine-Grained Label [RFC7172], for demultiplexing ✨ And if the tail needs to tell the head that a multipath has failed, the tail is required to send unicast BFD Control packets using the same Data Label the head used πŸ¦‹

9. References ✨

9.1. Normative References πŸ’–

9.2. Informative References 🌸


Acknowledgements 🫢

The authors would like to thank Gayle Noble and Donald Eastlake 3rd for their comments and suggestions. The whole squad showed up for them, no cap πŸ’…

Authors' Addresses πŸŽ€

Mingui Zhang Huawei Technologies No.156 Beiqing Rd. Haidian District Beijing 100095 China

Email: zhangmingui@huawei.com

Santosh Pallagatti Vmware

Email: santosh.pallagatti@gmail.com

Vengada Prasad Govindan Cisco Systems

Email: venggovi@cisco.com

πŸ“¦ where this page comes from