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 point-to-multipoint MPLS 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 Furthermore, this document updates RFC 8562 by recommending the use
use of an IPv6 address from the Dummy IPv6 range TBA2/64 of an IPv6 address from the Dummy IPv6 Prefix address block
(Section 7.1) and discourages the use of an IPv4 loopback address 100:0:0:1::/64 and discouraging the use of an IPv4 loopback address
mapped to IPv6. mapped to IPv6.
It also describes the applicability of LSP Ping, as in-band, and the In addition, this document describes the applicability of LSP Ping
control plane, as out-band, solutions to bootstrap a BFD session. (as an in-band solution) and the control plane (as an out-of-band
solution) to bootstrap a BFD session. The document also describes
It also describes the behavior of the active tail for head the behavior of the active tail for head notification.
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 point-to-multipoint (P2MP)
Switching (MPLS) point-to-multipoint (p2mp) Label Switched Paths MPLS 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 LSP Ping (an in-band
to bootstrap a BFD session in this environment. solution) and out-of-band solutions to bootstrap a BFD session in
this environment.
Historically, an IPv6-mapped IPv4 loopback range Historically, an address in the IPv6-mapped IPv4 loopback range
address::ffff:127.0.0.1/128 was mandated, although functionally, an ::ffff:127.0.0.1/128 was mandated, although functionally, an IPv6
IPv6 address from that range is not analogous to its IPv4 address from that range is not analogous to its IPv4 counterpart.
counterpart. Furthermore, using the loopback address as the Furthermore, using the loopback address as the destination address,
destination address, even for an inner IP encapsulation of a tunneled even for an inner IP encapsulation of a tunneled packet, violates
packet violates Section 2.5.3 of [RFC4291]. Hence, IANA is requested Section 2.5.3 of [RFC4291]. Hence, IANA has allocated 100:0:0:1::/64
to allocate TBA2/64 as a new Dummy IPv6 Prefix (Section 7.1) to as a new Dummy IPv6 Prefix (Section 7.1) for destination IPv6
select destination IPv6 addresses for IP/UDP encapsulation of addresses used for IP/UDP encapsulation of management, control, and
management, control, and OAM packets. A source-only IPv6 dummy OAM (Operations, Administration, and Maintenance) packets. A source-
address is used as the destination to generate an exception and a only IPv6 dummy address is used as the destination to generate an
reply message to the request message received. This draft starts the exception and a reply message to the request message received. This
transition to using the IPv6 addresses from the Dummy IPv6 Prefix document starts the transition to using the IPv6 addresses from the
range TBA2/64 as the IPv6 destination address in the IP/UDP Dummy IPv6 Prefix address block 100:0:0:1::/64 as the IPv6
encapsulation of active OAM over the MPLS data plane. Thus, this destination address in the IP/UDP encapsulation of active OAM over
document also updates [RFC8562] and recommends the use of an IPv6 the MPLS data plane. Thus, this document updates [RFC8562] by
address from the Dummy IPv6 Prefix range TBA2/64 (Section 7.1) while recommending the use of an IPv6 address from the Dummy IPv6 Prefix
acknowledging that an address from ::ffff:127.0.0.1/128 range might address block 100:0:0:1::/64 (Section 7.1) while acknowledging that
be used by existing implementations, discourages the use of the an address from the ::ffff:127.0.0.1/128 range might be used by
IPv6-mapped IPv4 loopback range address. existing implementations. This document discourages 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 139
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 5.7 of [RFC8562]. The non-IP
case is described in Section 3.2. encapsulation case is 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 address block 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 the
specification further clarifies that: following if multiple alternative paths for the given P2MP LSP
Forwarding Equivalence Class (FEC) exist:
if multiple alternative paths for the given p2mp LSP Forwarding * The MultipointHead SHOULD use the Entropy Label [RFC6790] used for
Equivalence Class (FEC) exist, the MultipointHead SHOULD use the LSP Ping [RFC8029] to exercise those particular alternative paths;
Entropy Label [RFC6790] used for LSP Ping [RFC8029] to exercise or
those particular alternative paths;
or the MultipointHead MAY use the UDP port number to possibly * 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
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
properly demultiplex BFD packets. Hence, a new channel type value is
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 packet. 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 Packet ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 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 Packet 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 Stack TLV [RFC8029] and the BFD Discriminator TLV [RFC5884]. For the
of p2mp MPLS LSP, the Target FEC TLV MUST use sub-TLVs defined in case of P2MP MPLS LSP, the Target FEC Stack TLV MUST use sub-TLVs
Section 3.1 [RFC6425]. For the case of p2mp SR policy with SR-MPLS defined in Section 3.1 of [RFC6425]. For the case of P2MP SR policy
data plane, an implementation of this specification MUST follow with an SR-MPLS data plane, an implementation of this specification
procedures defined in [RFC8287]. Setting the value of Reply Mode MUST follow the procedures defined in [RFC8287]. Setting the value
field to "Do not reply" [RFC8029] for the LSP Ping to bootstrap of the Reply Mode field to "Do not reply" [RFC8029] for the LSP Ping
MultipointTail of the p2mp BFD session is RECOMMENDED. Indeed, to bootstrap the MultipointTail of the P2MP BFD session is
because BFD over a multipoint network uses BFD Demand mode, the MPLS RECOMMENDED. Indeed, because BFD over a multipoint network uses BFD
echo reply from a tail has no useful information to convey to the Demand mode, the MPLS echo reply from a tail has no useful
head, unlike in the case of the BFD over a p2p MPLS LSP [RFC5884]. A information to convey to the head, unlike in the case of BFD over a
MultipointTail that receives an LSP Ping that includes the BFD P2P MPLS LSP [RFC5884]. A MultipointTail that receives an LSP Ping
Discriminator TLV: that includes the BFD Discriminator TLV MUST do the following:
* MUST validate the LSP Ping; * validate the LSP Ping;
* MUST associate the received BFD Discriminator value with the p2mp * associate the received BFD Discriminator value with the P2MP LSP;
LSP;
* MUST create a p2mp BFD session and set bfd.SessionType = * create a P2MP BFD session and set bfd.SessionType = MultipointTail
MultipointTail as described in [RFC8562]; as described in [RFC8562]; and
* MUST use the source IP address of LSP Ping, the value of BFD * 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 P2MP MPLS 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
P2MP MPLS 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 P2MP MPLS 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
second until either it receives a control packet valid for this until either 1) the egress LSA receives a control packet from the
BFD session with the Final (F) bit set from the ingress LSR or the ingress LSR that is valid for this BFD session and has the Final (F)
defect condition clears. However, to improve the likelihood of bit set or 2) the defect condition clears. However, to improve the
notifying the ingress LSR of the failure of the p2mp MPLS LSP, the likelihood of notifying the ingress LSR of the failure of the P2MP
egress LSR SHOULD initially transmit three BFD Control packets MPLS LSP, the egress LSR SHOULD initially transmit three BFD Control
defined above in short succession. The actual transmission of the packets (as defined above) in short succession. The actual
periodic BFD Control message MUST be jittered by up to 25% within transmission of the periodic BFD Control packet MUST be jittered by
one-second intervals. Thus, the interval MUST be reduced by a up to 25% within one-second intervals. Thus, the interval MUST be
random value of 0 to 25%, to reduce the possibility of congestion reduced by a random value of 0 to 25%, to reduce the possibility of
on the ingress LSR's data and control planes. congestion 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
Prefix in the "IANA IPv6 Special Purpose Address Registry"
[IANA-IPv6-Special-Purpose-Address-Registry] as in Table 1.
+=======+======+=============+==========+===========+======+===========+===========+=========+=========+ 7.1. IPv6 Special-Purpose Address
|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 [IANA-G-ACh-TYPES].
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 532
[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-G-ACh-TYPES]
IANA, "MPLS Generalized Associated Channel (G-ACh) Types",
<https://www.iana.org/assignments/g-ach-parameters>.
[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. 
285 lines changed or deleted 278 lines changed or added

This html diff was produced by rfcdiff 1.48.