rfc9780.original   rfc9780.txt 
MPLS Working Group G. Mirsky Internet Engineering Task Force (IETF) G. Mirsky
Internet-Draft Ericsson Request for Comments: 9780 Ericsson
Updates: 8562 (if approved) G. Mishra Updates: 8562 G. Mishra
Intended status: Standards Track Verizon Inc. Category: Standards Track Verizon Inc.
Expires: 23 August 2025 D. Eastlake ISSN: 2070-1721 D. Eastlake 3rd
Independent Independent
19 February 2025 May 2025
Bidirectional Forwarding Detection (BFD) for Multipoint Networks over Bidirectional Forwarding Detection (BFD) for Multipoint Networks over
Point-to-Multi-Point MPLS Label Switched Path (LSP) Point-to-Multipoint MPLS Label Switched Paths (LSPs)
draft-ietf-mpls-p2mp-bfd-11
Abstract Abstract
This document describes procedures for using Bidirectional Forwarding This document describes procedures for using Bidirectional Forwarding
Detection (BFD) for multipoint networks to detect data plane failures Detection (BFD) for multipoint networks to detect data plane failures
in Multiprotocol Label Switching (MPLS) point-to-multipoint Label in MPLS point-to-multipoint Label Switched Paths (LSPs) and Segment
Switched Paths (LSPs) and Segment Routing (SR) point-to-multipoint Routing (SR) point-to-multipoint policies with an SR over MPLS (SR-
policies with SR over MPLS data plane. MPLS) data plane.
Furthermore, this document also updates RFC 8562 and recommends the
use of an IPv6 address from the Dummy IPv6 range TBA2/64
(Section 7.1) and discourages the use of an IPv4 loopback address
mapped to IPv6.
It also describes the applicability of LSP Ping, as in-band, and the Furthermore, this document updates RFC 8562 by recommending the use
control plane, as out-band, solutions to bootstrap a BFD session. of an IPv6 address from the Dummy IPv6 Prefix range 100:0:0:1::/64
and discouraging the use of an IPv4 loopback address mapped to IPv6.
It also describes the behavior of the active tail for head In addition, this document describes the applicability of LSP Ping,
notification. as in-band, and the control plane, as out-of-band, solutions to
bootstrap a BFD session. The document also describes the behavior of
the active tail for head notification.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This is an Internet Standards Track document.
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months This document is a product of the Internet Engineering Task Force
and may be updated, replaced, or obsoleted by other documents at any (IETF). It represents the consensus of the IETF community. It has
time. It is inappropriate to use Internet-Drafts as reference received public review and has been approved for publication by the
material or to cite them other than as "work in progress." Internet Engineering Steering Group (IESG). Further information on
Internet Standards is available in Section 2 of RFC 7841.
This Internet-Draft will expire on 23 August 2025. Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
https://www.rfc-editor.org/info/rfc9780.
Copyright Notice Copyright Notice
Copyright (c) 2025 IETF Trust and the persons identified as the Copyright (c) 2025 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents (https://trustee.ietf.org/ Provisions Relating to IETF Documents
license-info) in effect on the date of publication of this document. (https://trustee.ietf.org/license-info) in effect on the date of
Please review these documents carefully, as they describe your rights publication of this document. Please review these documents
and restrictions with respect to this document. Code Components carefully, as they describe your rights and restrictions with respect
extracted from this document must include Revised BSD License text as to this document. Code Components extracted from this document must
described in Section 4.e of the Trust Legal Provisions and are include Revised BSD License text as described in Section 4.e of the
provided without warranty as described in the Revised BSD License. Trust Legal Provisions and are provided without warranty as described
in the Revised BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction
2. Conventions used in this document . . . . . . . . . . . . . . 3 2. Conventions Used in This Document
2.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 2.1. Terminology
2.2. Requirements Language . . . . . . . . . . . . . . . . . . 4 2.2. Requirements Language
3. Multipoint BFD Encapsulation . . . . . . . . . . . . . . . . 4 3. Multipoint BFD Encapsulation
3.1. IP Encapsulation of Multipoint BFD . . . . . . . . . . . 4 3.1. IP Encapsulation of Multipoint BFD
3.2. Non-IP Encapsulation of Multipoint BFD . . . . . . . . . 5 3.2. Non-IP Encapsulation of Multipoint BFD
4. Bootstrapping Multipoint BFD . . . . . . . . . . . . . . . . 6 4. Bootstrapping Multipoint BFD
4.1. LSP Ping . . . . . . . . . . . . . . . . . . . . . . . . 6 4.1. LSP Ping
4.2. Control Plane . . . . . . . . . . . . . . . . . . . . . . 7 4.2. Control Plane
5. Operation of Multipoint BFD with Active Tail over P2MP MPLS 5. Operation of Multipoint BFD with Active Tail over P2MP MPLS LSP
LSP . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 6. Security Considerations
6. Security Considerations . . . . . . . . . . . . . . . . . . . 9 7. IANA Considerations
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9 7.1. IPv6 Special-Purpose Address
7.1. IPv6 Address Allocation . . . . . . . . . . . . . . . . . 10 7.2. MPLS Generalized Associated Channel (G-ACh) Type
7.2. Multipoint BFD over MPLS LSP Associated Channel Type . . 10 8. References
8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 10 8.1. Normative References
9. References . . . . . . . . . . . . . . . . . . . . . . . . . 10 8.2. Informative References
9.1. Normative References . . . . . . . . . . . . . . . . . . 10 Acknowledgements
9.2. Informative References . . . . . . . . . . . . . . . . . 12 Authors' Addresses
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 13
1. Introduction 1. Introduction
[RFC8562] defines a method of using Bidirectional Detection (BFD) [RFC8562] defines a method of using Bidirectional Forwarding
[RFC5880] to monitor and detect failures between the sender (head) Detection (BFD) [RFC5880] to monitor and detect failures between the
and one or more receivers (tails) in multipoint or multicast sender (head) and one or more receivers (tails) in multipoint or
networks. multicast networks.
[RFC8562] added two BFD session types - MultipointHead and [RFC8562] added two BFD session types: MultipointHead and
MultipointTail. Throughout this document, MultipointHead and MultipointTail. Throughout this document, MultipointHead and
MultipointTail refer to the value to which the bfd.SessionType is set MultipointTail refer to the value to which the bfd.SessionType is set
on a BFD endpoint. on a BFD endpoint.
This document describes procedures for using such modes of BFD This document describes procedures for using such modes of the BFD
protocol to detect data plane failures in Multiprotocol Label protocol to detect data plane failures in MPLS point-to-multipoint
Switching (MPLS) point-to-multipoint (p2mp) Label Switched Paths (P2MP) Label Switched Paths (LSPs) and Segment Routing (SR) point-to-
(LSPs) and Segment Routing (SR) point-to-multipoint policies with SR multipoint policies with an SR over MPLS (SR-MPLS) data plane.
over MPLS (SR-MPLS) data plane
The document also describes the applicability of out-band solutions The document also describes the applicability of out-of-band
to bootstrap a BFD session in this environment. solutions to bootstrap a BFD session in this environment.
Historically, an IPv6-mapped IPv4 loopback range Historically, an IPv6-mapped IPv4 loopback range
address::ffff:127.0.0.1/128 was mandated, although functionally, an address::ffff:127.0.0.1/128 was mandated, although functionally, an
IPv6 address from that range is not analogous to its IPv4 IPv6 address from that range is not analogous to its IPv4
counterpart. Furthermore, using the loopback address as the counterpart. Furthermore, using the loopback address as the
destination address, even for an inner IP encapsulation of a tunneled destination address, even for an inner IP encapsulation of a tunneled
packet violates Section 2.5.3 of [RFC4291]. Hence, IANA is requested packet, violates Section 2.5.3 of [RFC4291]. Hence, IANA has
to allocate TBA2/64 as a new Dummy IPv6 Prefix (Section 7.1) to allocated 100:0:0:1::/64 as a new Dummy IPv6 Prefix (Section 7.1) to
select destination IPv6 addresses for IP/UDP encapsulation of select destination IPv6 addresses for IP/UDP encapsulation of
management, control, and OAM packets. A source-only IPv6 dummy management, control, and Operations, Administration, and Maintenance
address is used as the destination to generate an exception and a (OAM) packets. A source-only IPv6 dummy address is used as the
reply message to the request message received. This draft starts the destination to generate an exception and a reply message to the
transition to using the IPv6 addresses from the Dummy IPv6 Prefix request message received. This document starts the transition to
range TBA2/64 as the IPv6 destination address in the IP/UDP using the IPv6 addresses from the Dummy IPv6 Prefix range
100:0:0:1::/64 as the IPv6 destination address in the IP/UDP
encapsulation of active OAM over the MPLS data plane. Thus, this encapsulation of active OAM over the MPLS data plane. Thus, this
document also updates [RFC8562] and recommends the use of an IPv6 document updates [RFC8562] by recommending the use of an IPv6 address
address from the Dummy IPv6 Prefix range TBA2/64 (Section 7.1) while from the Dummy IPv6 Prefix range 100:0:0:1::/64 (Section 7.1) while
acknowledging that an address from ::ffff:127.0.0.1/128 range might acknowledging that an address from the ::ffff:127.0.0.1/128 range
be used by existing implementations, discourages the use of the might be used by existing implementations. This document discourages
IPv6-mapped IPv4 loopback range address. the use of an address in the IPv6-mapped IPv4 loopback range.
It also describes the behavior of the active tail for head This document also describes the behavior of the active tail for head
notification. notification.
2. Conventions used in this document 2. Conventions Used in This Document
2.1. Terminology 2.1. Terminology
ACH: Associated Channel Header ACH: Associated Channel Header
BFD: Bidirectional Forwarding Detection BFD: Bidirectional Forwarding Detection
GAL: G-ACh Label GAL: G-ACh Label
G-ACh: Generic Associated Channel G-ACh: Generic Associated Channel
skipping to change at page 4, line 4 skipping to change at line 137
2.1. Terminology 2.1. Terminology
ACH: Associated Channel Header ACH: Associated Channel Header
BFD: Bidirectional Forwarding Detection BFD: Bidirectional Forwarding Detection
GAL: G-ACh Label GAL: G-ACh Label
G-ACh: Generic Associated Channel G-ACh: Generic Associated Channel
LSP: Label Switched Path LSP: Label Switched Path
LSR: Label Switching Router LSR: Label Switching Router
MPLS: Multiprotocol Label Switching MPLS: Multiprotocol Label Switching
p2mp: Point-to-Multipoint P2MP: Point-to-Multipoint
PW: Pseudowire (PW)
SR: Segment Routing SR: Segment Routing
SR-MPLS: SR over MPLS SR-MPLS: SR over MPLS
2.2. Requirements Language 2.2. Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in BCP "OPTIONAL" in this document are to be interpreted as described in
14 [RFC2119] [RFC8174] when, and only when, they appear in all BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here. capitals, as shown here.
3. Multipoint BFD Encapsulation 3. Multipoint BFD Encapsulation
[RFC8562] uses BFD in the Demand mode from the very start of a point- [RFC8562] uses BFD in Demand mode from the very start of a point-to-
to-multipoint (p2mp) BFD session. Because the head doesn't receive multipoint (P2MP) BFD session. Because the head doesn't receive any
any BFD Control packet from a tail, the head of the p2mp BFD session BFD Control packets from a tail, the head of the P2MP BFD session
transmits all BFD Control packets with the value of Your transmits all BFD Control packets with the value of the Your
Discriminator field set to zero. As a result, a tail cannot Discriminator field set to zero. As a result, a tail cannot
demultiplex BFD sessions using Your Discriminator, as defined in demultiplex BFD sessions using Your Discriminator, as defined in
[RFC5880]. [RFC8562] requires that to demultiplex BFD sessions, the [RFC5880]. To demultiplex BFD sessions, [RFC8562] requires that the
tail uses the source IP address, My Discriminator, and the identity tail use the source IP address, My Discriminator, and the identity of
of the multipoint tree from which the BFD Control packet was the multipoint tree from which the BFD Control packet was received.
received. If the BFD Control packet is encapsulated in IP/UDP, then If the BFD Control packet is encapsulated in IP/UDP, then the source
the source IP address MUST be used to demultiplex the received BFD IP address MUST be used to demultiplex the received BFD Control
Control packet as described in Section 3.1. The non-IP encapsulation packet as described in Section 3.1. The non-IP encapsulation case is
case is described in Section 3.2. described in Section 3.2.
3.1. IP Encapsulation of Multipoint BFD 3.1. IP Encapsulation of Multipoint BFD
[RFC8562] defines IP/UDP encapsulation for multipoint BFD over p2mp [RFC8562] defines IP/UDP encapsulation for multipoint BFD over P2MP
MPLS LSP. This document updates Section 5.8 of [RFC8562] regarding MPLS LSP. This document updates Section 5.8 of [RFC8562] regarding
the selection of the IPv6 destination address: the selection of the IPv6 destination address as follows:
* The sender of an MPLS echo request SHOULD use an address from the * The sender of an MPLS echo request SHOULD use an address from the
Dummy IPv6 Prefix range TBA2/64 Section 7.1. Dummy IPv6 Prefix range 100:0:0:1::/64 (see Section 7.1).
* The sender of an MPLS echo request MAY select the IPv6 destination * The sender of an MPLS echo request MAY select the IPv6 destination
address from the ::ffff:7f00/104 range. address from the ::ffff:7f00/104 range.
The Motivation section [RFC6790] lists several advantages of Section 1.2 of [RFC6790] lists several advantages of generating the
generating the entropy value by an ingress Label Switching Router entropy value by an ingress Label Switching Router (LSR) compared to
(LSR) compared to when a transit LSR infers entropy using the when a transit LSR infers entropy using the information in the MPLS
information in the MPLS label stack or payload. Thus, this label stack or payload. This specification further clarifies that:
specification further clarifies that:
if multiple alternative paths for the given p2mp LSP Forwarding * if multiple alternative paths for the given P2MP LSP Forwarding
Equivalence Class (FEC) exist, the MultipointHead SHOULD use the Equivalence Class (FEC) exist, the MultipointHead SHOULD use the
Entropy Label [RFC6790] used for LSP Ping [RFC8029] to exercise Entropy Label [RFC6790] used for LSP Ping [RFC8029] to exercise
those particular alternative paths; those particular alternative paths;
or the MultipointHead MAY use the UDP port number to possibly * or the MultipointHead MAY use the UDP port number to possibly
exercise those particular alternate paths. exercise those particular alternate paths.
3.2. Non-IP Encapsulation of Multipoint BFD 3.2. Non-IP Encapsulation of Multipoint BFD
In some environments, the overhead of extra IP/UDP encapsulations may In some environments, the overhead of extra IP/UDP encapsulations may
be considered burdensome, making the use of more compact Generic be considered burdensome, which makes the use of more compact Generic
Associated Channel (G-ACh) ([RFC5586]) encapsulation attractive. Associated Channel (G-ACh) [RFC5586] encapsulation attractive. Also,
Also, the validation of the IP/UDP encapsulation of a BFD Control the validation of the IP/UDP encapsulation of a BFD Control packet in
packet in a p2mp BFD session may fail because of a problem related to a P2MP BFD session may fail because of a problem related to neither
neither the MPLS label stack nor to BFD. Avoiding unnecessary the MPLS label stack nor BFD. Avoiding unnecessary encapsulation of
encapsulation of p2mp BFD over an MPLS LSP improves the accuracy of P2MP BFD over an MPLS LSP improves the accuracy of the correlation of
the correlation of the detected failure and defect in MPLS LSP. the detected failure and defect in MPLS LSP.
If a BFD Control packet in PW-ACH encapsulation (without IP/UDP If a BFD Control packet in PW-ACH encapsulation (without IP/UDP
Headers) is to be used in ACH, an implementation would not be able to Headers) is to be used in ACH, an implementation would not be able to
verify the identity of the MultipointHead and, as a result, will not verify the identity of the MultipointHead and, as a result, will not
properly demultiplex BFD packets. Hence, a new channel type value is properly demultiplex BFD packets. Hence, a new channel type value is
needed. needed.
Non-IP encapsulation for multipoint BFD over p2mp MPLS LSP (shown in Non-IP encapsulation for multipoint BFD over P2MP MPLS LSP (shown in
Figure 1) MUST use G-ACh Label (GAL) (see [RFC5586]) at the bottom of Figure 1) MUST use the G-ACh Label (GAL) [RFC5586] at the bottom of
the label stack followed by an Associated Channel Header (ACH). If a the label stack followed by an Associated Channel Header (ACH). If a
BFD Control packet in PW-ACH encapsulation (without IP/UDP Headers) BFD Control packet in PW-ACH encapsulation (without IP/UDP Headers)
is to be used in ACH, an implementation would not be able to verify is to be used in ACH, an implementation would not be able to verify
the identity of the MultipointHead and, as a result, will not the identity of the MultipointHead and, as a result, will not
properly demultiplex BFD packets. Hence, a new channel type value is properly demultiplex BFD packets. Hence, a new channel type value is
needed. The Channel Type field in ACH MUST be set to Multipoint BFD needed. The Channel Type field in ACH MUST be set to Multipoint BFD
Session (TBA1) value (Section 7.2). To provide the identity of the Session (0x0013) (see Section 7.2). To provide the identity of the
MultipointHead for the particular multipoint BFD session, a Source MultipointHead for the particular multipoint BFD session, a Source
Address TLV, as defined in Section 4.1 of [RFC7212], MUST immediately Address TLV, as defined in Section 4.1 of [RFC7212], MUST immediately
follow a BFD Control message. The use of other TLVs is outside the follow a BFD Control message. The use of other TLVs is outside the
scope of this document. scope of this document.
0 1 2 3 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 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LSP Label | TC |S| TTL | | LSP Label | TC |S| TTL |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| GAL | TC |1| TTL | | GAL | TC |1| TTL |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0 0 0 1|Version| Flags | Channel Type = TBA1 | |0 0 0 1|Version| Flags | Channel Type = 0x0013 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~ BFD Control Message ~ ~ BFD Control Message ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type=0 | Reserved | Length | | Type=0 | Reserved | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reserved | Address Family | | Reserved | Address Family |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~ Address ~ ~ Address ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1: Non-IP Encapsulation for Multipoint BFD Over a Figure 1: Non-IP Encapsulation for Multipoint BFD over a
Multicast MPLS LSP Multicast MPLS LSP
Fields in Figure 1 are interpreted as follows: The fields in Figure 1 are interpreted as follows:
* the top three four-octet words as defined in [RFC5586]; * The top three four-octet words are defined in [RFC5586].
* the BFD Control Message field is as defined in [RFC5880]; * The BFD Control Message field is defined in [RFC5880].
* all the remaining fields are as defined in Section 4.1 of * All the remaining fields are defined in Section 4.1 of [RFC7212].
[RFC7212].
4. Bootstrapping Multipoint BFD 4. Bootstrapping Multipoint BFD
4.1. LSP Ping 4.1. LSP Ping
LSP Ping is the part of the on-demand OAM toolset used to detect and LSP Ping is the part of the on-demand OAM toolset used to detect and
localize defects in the data plane and verify the control plane localize defects in the data plane and verify the control plane
against the data plane by ensuring that the LSP is mapped to the same against the data plane by ensuring that the LSP is mapped to the same
FEC at both egress and ingress endpoints. FEC at both egress and ingress endpoints.
LSP Ping, as defined in [RFC6425], MAY be used to bootstrap LSP Ping, as defined in [RFC6425], MAY be used to bootstrap
MultipointTail. If LSP Ping is used, it MUST include the Target FEC MultipointTail. If LSP Ping is used, it MUST include the Target FEC
TLV and the BFD Discriminator TLV defined in [RFC5884]. For the case TLV and the BFD Discriminator TLV defined in [RFC5884]. For the case
of p2mp MPLS LSP, the Target FEC TLV MUST use sub-TLVs defined in of P2MP MPLS LSP, the Target FEC TLV MUST use sub-TLVs defined in
Section 3.1 [RFC6425]. For the case of p2mp SR policy with SR-MPLS Section 3.1 of [RFC6425]. For the case of P2MP SR policy with an SR-
data plane, an implementation of this specification MUST follow MPLS data plane, an implementation of this specification MUST follow
procedures defined in [RFC8287]. Setting the value of Reply Mode the procedures defined in [RFC8287]. Setting the value of the Reply
field to "Do not reply" [RFC8029] for the LSP Ping to bootstrap Mode field to "Do not reply" [RFC8029] for the LSP Ping to bootstrap
MultipointTail of the p2mp BFD session is RECOMMENDED. Indeed, the MultipointTail of the P2MP BFD session is RECOMMENDED. Indeed,
because BFD over a multipoint network uses BFD Demand mode, the MPLS because BFD over a multipoint network uses BFD Demand mode, the MPLS
echo reply from a tail has no useful information to convey to the echo reply from a tail has no useful information to convey to the
head, unlike in the case of the BFD over a p2p MPLS LSP [RFC5884]. A head, unlike in the case of BFD over a P2P MPLS LSP [RFC5884]. A
MultipointTail that receives an LSP Ping that includes the BFD MultipointTail that receives an LSP Ping that includes the BFD
Discriminator TLV: Discriminator TLV:
* MUST validate the LSP Ping; * MUST validate the LSP Ping;
* MUST associate the received BFD Discriminator value with the p2mp * MUST associate the received BFD Discriminator value with the P2MP
LSP; LSP;
* MUST create a p2mp BFD session and set bfd.SessionType = * MUST create a P2MP BFD session and set bfd.SessionType =
MultipointTail as described in [RFC8562]; MultipointTail as described in [RFC8562]; and
* MUST use the source IP address of LSP Ping, the value of BFD * MUST use the source IP address of the LSP Ping, the value of BFD
Discriminator from the BFD Discriminator TLV, and the identity of Discriminator from the BFD Discriminator TLV, and the identity of
the p2mp LSP to properly demultiplex BFD sessions. the P2MP LSP to properly demultiplex BFD sessions.
Besides bootstrapping a BFD session over a p2mp LSP, LSP Ping SHOULD Besides bootstrapping a BFD session over a P2MP LSP, LSP Ping SHOULD
be used to verify the control plane against the data plane be used to verify the control plane against the data plane
periodically by checking that the p2mp LSP is mapped to the same FEC periodically by checking that the P2MP LSP is mapped to the same FEC
at the MultipointHead and all active MultipointTails. The rate of at the MultipointHead and all active MultipointTails. The rate of
generation of these LSP Ping Echo request messages SHOULD be generation of these LSP Ping Echo request messages SHOULD be
significantly less than the rate of generation of the BFD Control significantly less than the rate of generation of the BFD Control
packets because LSP Ping requires more processing to validate the packets because LSP Ping requires more processing to validate the
consistency between the data plane and the control plane. An consistency between the data plane and the control plane. An
implementation MAY provide configuration options to control the rate implementation MAY provide configuration options to control the rate
of generation of the periodic LSP Ping Echo request messages. of generation of the periodic LSP Ping Echo request messages.
4.2. Control Plane 4.2. Control Plane
The BFD Discriminator Attribute MAY be used to bootstrap a multipoint The BFD Discriminator attribute MAY be used to bootstrap a multipoint
BFD session on a tail, following the format and procedures given in BFD session on a tail, following the format and procedures given in
Section 3.1.6 of [RFC9026]. Section 3.1.6 of [RFC9026].
5. Operation of Multipoint BFD with Active Tail over P2MP MPLS LSP 5. Operation of Multipoint BFD with Active Tail over P2MP MPLS LSP
[RFC8562] defined how the BFD Demand mode can be used in multipoint [RFC8562] defines how BFD Demand mode can be used in multipoint
networks. When applied in MPLS, procedures specified in [RFC8562] networks. When applied in MPLS, the procedures specified in
allow an egress LSR to detect a failure of the part of the MPLS p2mp [RFC8562] allow an egress LSR to detect a failure in the part of the
LSP from the ingress LSR to that egress LSR. The ingress LSR is not MPLS P2MP LSP from the ingress LSR to that egress LSR. The ingress
aware of the state of the p2mp LSP. [RFC8563], using mechanisms LSR is not aware of the state of the P2MP LSP. [RFC8563], using
defined in [RFC8562], defined an "active tail" behavior. An active mechanisms defined in [RFC8562], defines the behavior of an active
tail might notify the head of the detected failure and responds to a tail. An active tail might notify the head of the detected failure
poll sequence initiated by the head. The first method, referred to and respond to a poll sequence initiated by the head. The first
as Head Notification without Polling, is mentioned in Section 5.2.1 method, referred to as "Head Notification without Polling", is
[RFC8563], is the simplest of all described in [RFC8563]. The use of mentioned in Section 5.2.1 of [RFC8563]) and is the simplest of the
this method in BFD over MPLS p2mp LSP is discussed in this document. methods described in [RFC8563]. The use of this method in BFD over
MPLS P2MP LSP is discussed in this document. Analysis of other
Analysis of other methods of a head learning of the state of an MPLS methods for a head to learn of the state of an MPLS P2MP LSP is
p2mp LSP is outside the scope of this document. outside the scope of this document.
As specified in [RFC8563] for the active tail mode, BFD variables As specified in [RFC8563], BFD variables MUST be as follows for the
MUST be as follows: active tail mode:
On an ingress LSR: * On an ingress LSR:
* bfd.SessionType is MultipointHead; - bfd.SessionType is MultipointHead.
* bfd.RequiredMinRxInterval is set to nonzero, allowing egress LSRs - bfd.RequiredMinRxInterval is nonzero, allowing egress LSRs to
to send BFD Control packets. send BFD Control packets.
On an egress LSR: * On an egress LSR:
* bfd.SessionType is MultipointTail; - bfd.SessionType is MultipointTail.
* bfd.SilentTail is set to zero. - bfd.SilentTail is set to zero.
In Section 5.2.1 [RFC8563] is noted that "the tail sends unsolicited Section 5.2.1 of [RFC8563] notes that "the tail sends unsolicited BFD
BFD packets in response to the detection of a multipoint path packets in response to the detection of a multipoint path failure"
failure" but without the specifics on the information in the packet but does not provide specifics about the information in the packets
and frequency of transmissions. This document defines below the or the frequency of transmissions. The procedure for an active tail
procedure of an active tail with unsolicited notifications for p2mp with unsolicited notifications for P2MP MPLS LSP is defined below.
MPLS LSP.
Upon detecting the failure of the p2mp MPLS LSP, an egress LSR sends Upon detecting the failure of the P2MP MPLS LSP, an egress LSR sends
BFD Control packet with the following settings: a BFD Control packet with the following settings:
* the Poll (P) bit is set; * The Poll (P) bit is set.
* the Status (Sta) field set to Down value; * The Status (Sta) field is set to the Down value.
* the Diagnostic (Diag) field set to Control Detection Time Expired * The Diagnostic (Diag) field is set to the Control Detection Time
value; Expired value.
* the value of the Your Discriminator field is set to the value the * The value of the Your Discriminator field is set to the value the
egress LSR has been using to demultiplex that BFD multipoint egress LSR has been using to demultiplex that BFD multipoint
session; session.
* BFD Control packet MAY be encapsulated in IP/UDP with the * The BFD Control packet MAY be encapsulated in IP/UDP with the
destination IP address of the ingress LSR and the UDP destination destination IP address of the ingress LSR and the UDP destination
port number set to 4784 per [RFC5883]. If non-IP encapsulation is port number set to 4784 per [RFC5883]. If non-IP encapsulation is
used, then a BFD Control packet is encapsulated using PW-ACH used, then a BFD Control packet is encapsulated using PW-ACH
encapsulation (without IP/UDP Headers) with Channel Type 0x0007 encapsulation (without IP/UDP Headers) with Channel Type 0x0007
[RFC5885]; [RFC5885].
* these BFD Control packets are transmitted at the rate of one per * The BFD Control packets are transmitted at the rate of one per
second until either it receives a control packet valid for this second until either 1) it receives a control packet valid for this
BFD session with the Final (F) bit set from the ingress LSR or the BFD session with the Final (F) bit set from the ingress LSR or 2)
defect condition clears. However, to improve the likelihood of the defect condition clears. However, to improve the likelihood
notifying the ingress LSR of the failure of the p2mp MPLS LSP, the of notifying the ingress LSR of the failure of the P2MP MPLS LSP,
egress LSR SHOULD initially transmit three BFD Control packets the egress LSR SHOULD initially transmit three BFD Control packets
defined above in short succession. The actual transmission of the defined above in short succession. The actual transmission of the
periodic BFD Control message MUST be jittered by up to 25% within periodic BFD Control message MUST be jittered by up to 25% within
one-second intervals. Thus, the interval MUST be reduced by a one-second intervals. Thus, the interval MUST be reduced by a
random value of 0 to 25%, to reduce the possibility of congestion random value of 0 to 25%, to reduce the possibility of congestion
on the ingress LSR's data and control planes. on the ingress LSR's data and control planes.
As described above, an ingress LSR that has received the BFD Control As described above, an ingress LSR that has received the BFD Control
packet sends the unicast IP/UDP encapsulated BFD Control packet with packet sends the unicast IP/UDP encapsulated BFD Control packet with
the Final (F) bit set to the egress LSR. In some scenarios, e.g., the Final (F) bit set to the egress LSR. In some scenarios (e.g.,
when a p2mp LSP is broken close to its root, and the number of egress when a P2MP LSP is broken close to its root and the number of egress
LSRs is significantly large, the root might receive a large number of LSRs is significantly large), the root might receive a large number
notifications. The notifications from leaves to the root will not of notifications. The notifications from leaves to the root will not
use resources allocated for the monitored multicast flow and, as a use resources allocated for the monitored multicast flow and, as a
result, will not congest that particular flow, although they may result, will not congest that particular flow, although they may
negatively affect other flows. However, the control plane of the negatively affect other flows. However, the control plane of the
ingress LSR might be congested by the BFD Control packets transmitted ingress LSR might be congested by the BFD Control packets transmitted
by egress LSRs and the process of generating unicast BFD Control by egress LSRs and the process of generating unicast BFD Control
packets, as noted above. To mitigate that, a BFD implementation that packets, as noted above. To mitigate that, a BFD implementation that
supports this specification is RECOMMENDED to use a rate limiter of supports this specification is RECOMMENDED to use a rate limiter of
received BFD Control packets passed to the ingress LSRs control received BFD Control packets passed to the ingress LSR's control
plane for processing. plane for processing.
6. Security Considerations 6. Security Considerations
This document does not introduce new security considerations but This document does not introduce new security considerations but
inherits all security considerations from [RFC5880], [RFC5884], inherits all security considerations from [RFC5880], [RFC5884],
[RFC7726], [RFC8562], [RFC8029], and [RFC6425]. [RFC7726], [RFC8562], [RFC8029], and [RFC6425].
Also, BFD for p2mp MPLS LSP MUST follow the requirements listed in Also, BFD for P2MP MPLS LSPs MUST follow the requirements listed in
section 4.1 [RFC4687] to avoid congestion in the control plane or the Section 4.1 of [RFC4687] to avoid congestion in the control plane or
data plane caused by the rate of generating BFD Control packets. An the data plane caused by the rate of generating BFD Control packets.
operator SHOULD consider the amount of extra traffic generated by An operator SHOULD consider the amount of extra traffic generated by
p2mp BFD when selecting the interval at which the MultipointHead will P2MP BFD when selecting the interval at which the MultipointHead will
transmit BFD Control packets. The operator MAY consider the size of transmit BFD Control packets. The operator MAY consider the size of
the packet the MultipointHead transmits periodically as using IP/UDP the packet the MultipointHead transmits periodically as using IP/UDP
encapsulation, which adds up to 28 octets, more than 50% of the BFD encapsulation, which adds up to 28 octets (more than 50% of the BFD
Control packet length, comparing to G-ACh encapsulation. Control packet length) compared to G-ACh encapsulation.
7. IANA Considerations 7. IANA Considerations
7.1. IPv6 Address Allocation
IANA is requested to allocate an IPv6 TBA2/64 prefix as Dummy IPv6 7.1. IPv6 Special-Purpose Address
Prefix in the "IANA IPv6 Special Purpose Address Registry"
[IANA-IPv6-Special-Purpose-Address-Registry] as in Table 1.
+=======+======+=============+==========+===========+======+===========+===========+=========+=========+
|Address|Name |RFC |Allocation|Termination|Source|Destination|Forwardable|Globally |Reserved-|
|Block | | |Date |Date | | | |Reachable|by- |
| | | | | | | | | |Protocol |
+=======+======+=============+==========+===========+======+===========+===========+=========+=========+
|TBA2 |Dummy |This document|The date |N/A |True |False |False |False |False |
| |IPv6 | |of | | | | | | |
| |Prefix| |allocation| | | | | | |
+-------+------+-------------+----------+-----------+------+-----------+-----------+---------+---------+
Table 1: Dummy IPv6 Address Prefix
7.2. Multipoint BFD over MPLS LSP Associated Channel Type IANA has allocated the following in the "IANA IPv6 Special-Purpose
Address Registry" [IANA-IPv6-REG]:
IANA is requested to allocate value (TBA1) from its MPLS Generalized Address Block: 100:0:0:1::/64
Associated Channel (G-ACh) Types registry. Name: Dummy IPv6 Prefix
RFC: RFC 9780
Allocation Date: 2025-04
Termination Date: N/A
Source: True
Destination: False
Forwardable: False
Globally Reachable: False
Reserved-by-Protocol: False
+=======+========================+===============+ 7.2. MPLS Generalized Associated Channel (G-ACh) Type
| Value | Description | Reference |
+=======+========================+===============+
| TBA1 | Multipoint BFD Session | This document |
+-------+------------------------+---------------+
Table 2: Multipoint BFD Session G-ACh Type IANA has allocated the following value in the "MPLS Generalized
Associated Channel (G-ACh) Types" registry.
8. Acknowledgements +========+========================+===========+
| Value | Description | Reference |
+========+========================+===========+
| 0x0013 | Multipoint BFD Session | RFC 9780 |
+--------+------------------------+-----------+
The authors sincerely appreciate the comments received from Andrew Table 1: Multipoint BFD Session G-ACh Type
Malis, Italo Busi, Shraddha Hegde, and thought stimulating questions
from Carlos Pignataro.
9. References 8. References
9.1. Normative References 8.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997, DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>. <https://www.rfc-editor.org/info/rfc2119>.
[RFC5586] Bocci, M., Ed., Vigoureux, M., Ed., and S. Bryant, Ed., [RFC5586] Bocci, M., Ed., Vigoureux, M., Ed., and S. Bryant, Ed.,
"MPLS Generic Associated Channel", RFC 5586, "MPLS Generic Associated Channel", RFC 5586,
DOI 10.17487/RFC5586, June 2009, DOI 10.17487/RFC5586, June 2009,
<https://www.rfc-editor.org/info/rfc5586>. <https://www.rfc-editor.org/info/rfc5586>.
skipping to change at page 12, line 37 skipping to change at line 536
[RFC8563] Katz, D., Ward, D., Pallagatti, S., Ed., and G. Mirsky, [RFC8563] Katz, D., Ward, D., Pallagatti, S., Ed., and G. Mirsky,
Ed., "Bidirectional Forwarding Detection (BFD) Multipoint Ed., "Bidirectional Forwarding Detection (BFD) Multipoint
Active Tails", RFC 8563, DOI 10.17487/RFC8563, April 2019, Active Tails", RFC 8563, DOI 10.17487/RFC8563, April 2019,
<https://www.rfc-editor.org/info/rfc8563>. <https://www.rfc-editor.org/info/rfc8563>.
[RFC9026] Morin, T., Ed., Kebler, R., Ed., and G. Mirsky, Ed., [RFC9026] Morin, T., Ed., Kebler, R., Ed., and G. Mirsky, Ed.,
"Multicast VPN Fast Upstream Failover", RFC 9026, "Multicast VPN Fast Upstream Failover", RFC 9026,
DOI 10.17487/RFC9026, April 2021, DOI 10.17487/RFC9026, April 2021,
<https://www.rfc-editor.org/info/rfc9026>. <https://www.rfc-editor.org/info/rfc9026>.
9.2. Informative References 8.2. Informative References
[IANA-IPv6-Special-Purpose-Address-Registry] [IANA-IPv6-REG]
IANA, "IANA IPv6 Special-Purpose Address Registry", IANA, "IANA IPv6 Special-Purpose Address Registry",
<https://www.iana.org/assignments/iana-ipv6-special- <https://www.iana.org/assignments/iana-ipv6-special-
registry/iana-ipv6-special-registry.xhtml>. registry>.
[RFC4291] Hinden, R. and S. Deering, "IP Version 6 Addressing [RFC4291] Hinden, R. and S. Deering, "IP Version 6 Addressing
Architecture", RFC 4291, DOI 10.17487/RFC4291, February Architecture", RFC 4291, DOI 10.17487/RFC4291, February
2006, <https://www.rfc-editor.org/info/rfc4291>. 2006, <https://www.rfc-editor.org/info/rfc4291>.
[RFC4687] Yasukawa, S., Farrel, A., King, D., and T. Nadeau, [RFC4687] Yasukawa, S., Farrel, A., King, D., and T. Nadeau,
"Operations and Management (OAM) Requirements for Point- "Operations and Management (OAM) Requirements for Point-
to-Multipoint MPLS Networks", RFC 4687, to-Multipoint MPLS Networks", RFC 4687,
DOI 10.17487/RFC4687, September 2006, DOI 10.17487/RFC4687, September 2006,
<https://www.rfc-editor.org/info/rfc4687>. <https://www.rfc-editor.org/info/rfc4687>.
Acknowledgements
The authors sincerely appreciate the comments received from Andrew
Malis, Italo Busi, and Shraddha Hegde. The authors also appreciate
the thought-stimulating questions from Carlos Pignataro.
Authors' Addresses Authors' Addresses
Greg Mirsky Greg Mirsky
Ericsson Ericsson
Email: gregimirsky@gmail.com Email: gregimirsky@gmail.com
Gyan Mishra Gyan Mishra
Verizon Inc. Verizon Inc.
Email: gyan.s.mishra@verizon.com Email: gyan.s.mishra@verizon.com
Donald Eastlake, 3rd Donald Eastlake 3rd
Independent Independent
2386 Panoramic Circle 2386 Panoramic Circle
Apopka, FL 32703 Apopka, FL 32703
United States of America United States of America
Email: d3e3e3@gmail.com Email: d3e3e3@gmail.com
 End of changes. 87 change blocks. 
251 lines changed or deleted 244 lines changed or added

This html diff was produced by rfcdiff 1.48.