rfc9780.original.xml   rfc9780.xml 
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE rfc [ <!DOCTYPE rfc [
<!ENTITY nbsp "&#160;"> <!ENTITY nbsp "&#160;">
<!ENTITY zwsp "&#8203;"> <!ENTITY zwsp "&#8203;">
<!ENTITY nbhy "&#8209;"> <!ENTITY nbhy "&#8209;">
<!ENTITY wj "&#8288;"> <!ENTITY wj "&#8288;">
]> ]>
<?rfc toc="yes"?>
<?rfc tocompact="yes"?>
<?rfc tocdepth="3"?>
<?rfc tocindent="yes"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" category="std" docName="draft-ie
tf-mpls-p2mp-bfd-11" ipr="trust200902" obsoletes="" updates="8562" submissionTyp
e="IETF" xml:lang="en" tocInclude="true" tocDepth="3" symRefs="true" sortRefs="t
rue" version="3">
<!-- xml2rfc v2v3 conversion 3.12.0 -->
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<front> <rfc xmlns:xi="http://www.w3.org/2001/XInclude" category="std" docName="draft-ie
<title abbrev="Multi-Point BFD over P2MP MPLS LSP">Bidirectional Forwarding tf-mpls-p2mp-bfd-11" number="9780" consensus="true" ipr="trust200902" obsoletes=
Detection (BFD) for Multipoint Networks over Point-to-Multi-Point MPLS Label Swi "" updates="8562" submissionType="IETF" xml:lang="en" tocInclude="true" tocDepth
tched Path (LSP)</title> ="3" symRefs="true" sortRefs="true" version="3">
<seriesInfo name="Internet-Draft" value="draft-ietf-mpls-p2mp-bfd-11"/>
<!-- [rfced] We made the following changes to the document title: 1) updated
"Multi-Point" to "Multipoint" and 2) updated "Label Switched Path (LSP)"
to "Label Switched Paths (LSPs)" (plural). Let us know any concerns.
Original:
Bidirectional Forwarding Detection (BFD) for Multipoint Networks over
Point-to-Multi-Point MPLS Label Switched Path (LSP)
Current:
Bidirectional Forwarding Detection (BFD) for Multipoint Networks over
Point-to-Multipoint MPLS Label Switched Paths (LSPs)
-->
<!-- [rfced] Please review the following sentences in the abstract and
introduction to ensure that they align with the document title and the
rest of the document. These similar sentences mention SR P2MP policies
with an SR-MPLS data plane, which are not mentioned in the document
title. In addition, we only see SR and SR-MPLS mentioned in one sentence
in Section 4.1 (and in the Terminology section). Are any updates needed?
Document Title:
Bidirectional Forwarding Detection (BFD) for Multipoint Networks over
Point-to-Multipoint MPLS Label Switched Paths (LSPs)
Abstract:
This document describes procedures for using Bidirectional Forwarding
Detection (BFD) for multipoint networks to detect data plane failures
in MPLS point-to-multipoint Label Switched Paths (LSPs) and Segment
Routing (SR) point-to-multipoint policies with an SR over MPLS (SR-
MPLS) data plane.
Introduction:
This document describes procedures for using such modes of the BFD
protocol to detect data plane failures in Multiprotocol Label
Switching (MPLS) point-to-multipoint (p2mp) Label Switched Paths
(LSPs) and Segment Routing (SR) point-to-multipoint policies with an
SR over MPLS (SR-MPLS) data plane.
-->
<front>
<title abbrev="Multipoint BFD over P2MP MPLS LSP">Bidirectional
Forwarding Detection (BFD) for Multipoint Networks over
Point-to-Multipoint MPLS Label Switched Paths (LSPs)</title>
<seriesInfo name="RFC" value="9780"/>
<author fullname="Greg Mirsky" initials="G." surname="Mirsky"> <author fullname="Greg Mirsky" initials="G." surname="Mirsky">
<organization>Ericsson</organization> <organization>Ericsson</organization>
<address> <address>
<postal>
<street/>
<city/>
<code/>
<country/>
</postal>
<email>gregimirsky@gmail.com</email> <email>gregimirsky@gmail.com</email>
</address> </address>
</author> </author>
<author fullname="Gyan Mishra" initials="G. " surname="Mishra"> <author fullname="Gyan Mishra" initials="G." surname="Mishra">
<organization>Verizon Inc.</organization> <organization>Verizon Inc.</organization>
<address> <address>
<email>gyan.s.mishra@verizon.com</email> <email>gyan.s.mishra@verizon.com</email>
</address> </address>
</author> </author>
<author fullname="Donald Eastlake, 3rd" initials="D. " surname="Eastlake"> <author fullname="Donald Eastlake 3rd" initials="D." surname="Eastlake 3rd">
<organization>Independent</organization> <organization>Independent</organization>
<address> <address>
<postal> <postal>
<street>2386 Panoramic Circle</street> <street>2386 Panoramic Circle</street>
<city>Apopka</city> <city>Apopka</city>
<code>FL 32703</code> <region>FL</region><code>32703</code>
<country>USA</country> <country>United States of America</country>
</postal> </postal>
<email>d3e3e3@gmail.com</email> <email>d3e3e3@gmail.com</email>
</address> </address>
</author> </author>
<date year="2025"/> <date year="2025" month="May"/>
<area>Routing</area>
<workgroup>MPLS Working Group</workgroup> <area>RTG</area>
<keyword>Internet-Draft</keyword> <workgroup>mpls</workgroup>
<keyword>BFD</keyword> <keyword>BFD</keyword>
<keyword>Multipoint LSP</keyword> <keyword>Multipoint LSP</keyword>
<!-- [rfced] FYI - We updated "and recommends...and discourages" to "by
recommending...and discouraging" (we also made similar change in the
introduction). Please review and let us know any concerns.
Original:
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.
Updated:
Furthermore, this document updates RFC 8562 by recommending the
use 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.
-->
<abstract> <abstract>
<t> <t>
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 in MPLS point-to-multipoint
Label Switched Paths (LSPs) and Segment Routing (SR) point-to-multipoint poli cies Label Switched Paths (LSPs) and Segment Routing (SR) point-to-multipoint poli cies
with SR over MPLS data plane. with an SR over MPLS (SR-MPLS) data plane.
</t> </t>
<t> <t>
Furthermore, this document also updates RFC 8562 and Furthermore, this document updates RFC 8562 by
recommends the use of an IPv6 address from the Dummy IPv6 range TBA2/64 (<xre recommending the use of an IPv6 address from the Dummy IPv6 Prefix range 100:
f target="iana-ipv6-addr-alloc-sec"/>) 0:0:1::/64
and discourages the use of an IPv4 loopback address mapped and discouraging the use of an IPv4 loopback address mapped
to IPv6. to IPv6.
</t> </t>
<t>
It also describes the applicability of LSP Ping, <!-- [rfced] How may we update this sentence to improve readability?
as in-band, and the control plane, as out-band, solutions to
bootstrap a BFD session. Original:
</t> It also describes the applicability of LSP Ping, as in-band, and the
<t> control plane, as out-band, solutions to bootstrap a BFD session.
It also describes the behavior of the active tail for head notification.
Perhaps:
This document also describes the applicability of LSP Ping (as an in-band
solution) and the control plane (as an out-of-band solution) to bootstrap
a BFD session.
-->
<!-- [rfced] Please review the following sentences. The first sentence (from
the abstract) mentions both in-band and out-of-band solutions, but the
sentence (from the introduction) only mentions out-of-band
solutions. Should these be aligned?
Original:
It also describes the applicability of LSP Ping, as in-band, and the
control plane, as out-band, solutions to bootstrap a BFD session.
...
The document also describes the applicability of out-band solutions
to bootstrap a BFD session in this environment.
-->
<t>
In addition, this document describes the applicability of LSP Ping, 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.
</t> </t>
</abstract> </abstract>
</front> </front>
<middle> <middle>
<section anchor="intro-section" numbered="true" toc="default"> <section anchor="intro-section" numbered="true" toc="default">
<name>Introduction</name> <name>Introduction</name>
<t> <t>
<xref target="RFC8562"/> defines a method of using Bidirectional Detection (BFD) <xref target="RFC5880"/> <xref target="RFC8562"/> defines a method of using Bidirectional Forwardin g Detection (BFD) <xref target="RFC5880"/>
to monitor and detect failures between the sender to monitor and detect failures between the sender
(head) and one or more receivers (tails) in multipoint or multicast (head) and one or more receivers (tails) in multipoint or multicast
networks. networks.
</t> </t>
<t> <t>
<xref target="RFC8562"/> added two BFD session types - MultipointHead and <xref target="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 on a MultipointTail refer to the value to which the bfd.SessionType is set on a
BFD endpoint. BFD endpoint.
</t> </t>
<t> <t>
This document describes procedures for using such This document describes procedures for using such
modes of BFD protocol to detect data plane failures in Multiprotocol modes of the BFD protocol to detect data plane failures in MPLS point-to-mult
Label Switching (MPLS) point-to-multipoint (p2mp) Label Switched ipoint (P2MP) Label Switched
Paths (LSPs) and Segment Routing (SR) point-to-multipoint policies Paths (LSPs) and Segment Routing (SR) point-to-multipoint policies
with SR over MPLS (SR-MPLS) data plane with an SR over MPLS (SR-MPLS) data plane.
</t> </t>
<t> <t>
The document also describes the applicability of out-band The document also describes the applicability of out-of-band
solutions to bootstrap a BFD session in this environment. solutions to bootstrap a BFD session in this environment.
</t> </t>
<t>
<!-- [rfced] Please reivew "to select destination IPv6 addresses for"
here. Would updating as follows make this text more clear?
Original:
Hence, IANA is requested
to allocate TBA2/64 as a new Dummy IPv6 Prefix (Section 7.1) to
select destination IPv6 addresses for IP/UDP encapsulation of
management, control, and OAM packets.
Perhaps:
Hence, IANA has
allocated 100:0:0:1::/64 as a new Dummy IPv6 Prefix (Section 7.1) for
destination IPv6 addresses used for IP/UDP encapsulation of
management, control, and Operations, Administration, and Maintenance
(OAM) packets.
-->
<!-- [rfced] We see both of the following in Section 1:
address::ffff:127.0.0.1/128
::ffff:127.0.0.1/128
Should "address::ffff:127.0.0.1/128" be updated as follows?
Current:
Historically, an IPv6-mapped IPv4 loopback range
address::ffff:127.0.0.1/128 was mandated, although functionally, an
IPv6 address from that range is not analogous to its IPv4
counterpart.
Perhaps:
Historically, an address in the IPv6-mapped IPv4 loopback range
::ffff:127.0.0.1/128 was mandated, although functionally, an
IPv6 address from that range is not analogous to its IPv4
counterpart.
-->
<!-- [rfced] To improve readabilty, we split this long sentence into two
sentences. Would it be helpful to further update to use
"::ffff:127.0.0.1/128 range" instead of "IPv6-mapped IPv4 loopback range
address" in the second sentence?
Original:
Thus, this
document also updates [RFC8562] and recommends the use of an IPv6
address from the Dummy IPv6 Prefix range TBA2/64 (Section 7.1) while
acknowledging that an address from ::ffff:127.0.0.1/128 range might
be used by existing implementations, discourages the use of the
IPv6-mapped IPv4 loopback range address.
Current:
Thus, this
document updates [RFC8562] by recommending the use of an IPv6 address
from the Dummy IPv6 Prefix range 100:0:0:1::/64 (Section 7.1) while
acknowledging that an address from the ::ffff:127.0.0.1/128 range
might be used by existing implementations. This document discourages
the use of an address in the IPv6-mapped IPv4 loopback range.
Perhaps:
Thus, this
document updates [RFC8562] by recommending the use of an IPv6 address
from the Dummy IPv6 Prefix range 100:0:0:1::/64 (Section 7.1) while
acknowledging that an address from the ::ffff:127.0.0.1/128 range
might be used by existing implementations. This document discourages
the use of an address from the ::ffff:127.0.0.1/128 range.
-->
<t>
Historically, an IPv6-mapped IPv4 loopback range address::ffff:127.0.0.1/128 was mandated, Historically, an IPv6-mapped IPv4 loopback range address::ffff:127.0.0.1/128 was mandated,
although functionally, an IPv6 address from that range is not analogous to it s IPv4 counterpart. Furthermore, although functionally, an IPv6 address from that range is not analogous to it s IPv4 counterpart. Furthermore,
using the loopback address as the destination address, even for an inner IP e using the loopback address as the destination address, even for an inner IP e
ncapsulation of a tunneled packet ncapsulation of a tunneled packet,
violates Section 2.5.3 of <xref target="RFC4291"/>. Hence, IANA is requested violates <xref target="RFC4291" sectionFormat="of" section="2.5.3"/>. Hence,
to allocate IANA has allocated
TBA2/64 as a new Dummy IPv6 Prefix (<xref target="iana-ipv6-addr-alloc-sec"/> 100:0:0:1::/64 as a new Dummy IPv6 Prefix (<xref target="iana-ipv6-addr-alloc
) -sec"/>)
to select destination IPv6 addresses for IP/UDP encapsulation of management, to select destination IPv6 addresses for IP/UDP encapsulation of management,
control, and OAM packets. control, and Operations, Administration, and Maintenance (OAM) packets.
A source-only IPv6 dummy address is used as the destination to generate an exc eption and a reply message to the request message received. A source-only IPv6 dummy address is used as the destination to generate an exc eption and a reply message to the request message received.
This draft starts the transition to using the IPv6 addresses from the Dummy I Pv6 Prefix range TBA2/64 as the IPv6 destination address This document starts the transition to using the IPv6 addresses from the Dumm y 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. in the IP/UDP encapsulation of active OAM over the MPLS data plane.
Thus, this document also updates <xref target="RFC8562"/> and recommends the Thus, this document updates <xref target="RFC8562"/> by recommending the use
use of an IPv6 address from the of an IPv6 address from the
Dummy IPv6 Prefix range TBA2/64 (<xref target="iana-ipv6-addr-alloc-sec"/>) Dummy IPv6 Prefix range 100:0:0:1::/64 (<xref target="iana-ipv6-addr-alloc-se
while acknowledging that an address from ::ffff:127.0.0.1/128 range might be c"/>) while
used by existing implementations, acknowledging that an address from the ::ffff:127.0.0.1/128&nbsp;range might
discourages the use of the IPv6-mapped IPv4 loopback range address. be used by existing implementations. This document
discourages the use of an address in the IPv6-mapped IPv4 loopback range.
</t> </t>
<t> <t>
It also describes the behavior of the active tail for head notification. This document also describes the behavior of the active tail for head notific ation.
</t> </t>
</section> </section>
<section numbered="true" toc="default"> <section numbered="true" toc="default">
<name>Conventions used in this document</name> <name>Conventions Used in This Document</name>
<section numbered="true" toc="default"> <section numbered="true" toc="default">
<name>Terminology</name> <name>Terminology</name>
<dl> <dl>
<dt>ACH:</dt><dd>Associated Channel Header</dd> <dt>ACH:</dt><dd>Associated Channel Header</dd>
<dt>BFD:</dt><dd>Bidirectional Forwarding Detection</dd> <dt>BFD:</dt><dd>Bidirectional Forwarding Detection</dd>
<dt>GAL:</dt><dd>G-ACh Label</dd> <dt>GAL:</dt><dd>G-ACh Label</dd>
<dt>G-ACh:</dt><dd>Generic Associated Channel</dd> <dt>G-ACh:</dt><dd>Generic Associated Channel</dd>
<dt>LSP:</dt><dd>Label Switched Path</dd> <dt>LSP:</dt><dd>Label Switched Path</dd>
<dt>LSR:</dt><dd>Label Switching Router</dd> <dt>LSR:</dt><dd>Label Switching Router</dd>
<dt>MPLS:</dt><dd>Multiprotocol Label Switching</dd> <dt>MPLS:</dt><dd>Multiprotocol Label Switching</dd>
<dt>p2mp:</dt><dd>Point-to-Multipoint</dd> <dt>P2MP:</dt><dd>Point-to-Multipoint</dd>
<dt>PW:</dt><dd>Pseudowire (PW)</dd>
<dt>SR:</dt><dd>Segment Routing</dd> <dt>SR:</dt><dd>Segment Routing</dd>
<dt>SR-MPLS:</dt><dd>SR over MPLS</dd> <dt>SR-MPLS:</dt><dd>SR over MPLS</dd>
</dl> </dl>
</section> </section>
<section numbered="true" toc="default"> <section numbered="true" toc="default">
<name>Requirements Language</name> <name>Requirements Language</name>
<t> <t>
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>",
NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
"MAY", and "OPTIONAL" in this document are to be interpreted as NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>",
described in BCP 14 <xref target="RFC2119" format="default"/> <xref target="R "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
FC8174" format="default"/> "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are
when, and only when, they appear in all capitals, as shown here. to be interpreted as described in BCP&nbsp;14 <xref target="RFC2119"/>
<xref target="RFC8174"/> when, and only when, they appear in all capitals,
as shown here.
</t> </t>
</section> </section>
</section> </section>
<section anchor="encaps-section" numbered="true" toc="default"> <section anchor="encaps-section" numbered="true" toc="default">
<name>Multipoint BFD Encapsulation</name> <name>Multipoint BFD Encapsulation</name>
<!-- [rfced] We do not see "demultiplex" in Section 3.1. Please review and let
us know if any updates are needed.
Original:
If the BFD Control packet is encapsulated in IP/UDP, then
the source IP address MUST be used to demultiplex the received BFD
Control packet as described in Section 3.1.
-->
<t> <t>
<xref target="RFC8562" format="default"/> uses BFD in the Demand mode <xref target="RFC8562" format="default"/> uses BFD in Demand mode
from the very start of a point-to-multipoint (p2mp) BFD session. Because t from the very start of a point-to-multipoint (P2MP) BFD session. Because t
he he
head doesn't receive any BFD Control packet from a tail, the head of the p head doesn't receive any BFD Control packets from a tail, the head of the
2mp BFD P2MP BFD
session transmits all BFD Control packets with the value of Your Discrimin session transmits all BFD Control packets with the value of the Your Discr
ator field set to zero. As a result, a tail cannot demultiplex iminator field set to zero. As a result, a tail cannot demultiplex
BFD sessions using Your Discriminator, as defined in <xref target="RFC5880 " format="default"/>. BFD sessions using Your Discriminator, as defined in <xref target="RFC5880 " format="default"/>.
<xref target="RFC8562" format="default"/> requires that to demultiplex BFD To demultiplex BFD sessions, <xref target="RFC8562" format="default"/> req
sessions, uires that
the tail uses the source IP address, My Discriminator, and the identity of the tail use the source IP address, My Discriminator, and the identity of
the multipoint tree the multipoint tree
from which the BFD Control packet was received. from which the BFD Control packet was received.
If the BFD Control packet is encapsulated in IP/UDP, then the source IP ad dress If the BFD Control packet is encapsulated in IP/UDP, then the source IP ad dress
MUST be used to demultiplex the received BFD Control packet as described i n <xref target="ip-encaps-section" format="default"/>. <bcp14>MUST</bcp14> be used to demultiplex the received BFD Control packet as described in <xref target="ip-encaps-section" format="default"/>.
The non-IP encapsulation case is described in <xref target="non-ip-encaps- section" format="default"/>. The non-IP encapsulation case is described in <xref target="non-ip-encaps- section" format="default"/>.
</t> </t>
<section anchor="ip-encaps-section" numbered="true" toc="default"> <section anchor="ip-encaps-section" numbered="true" toc="default">
<name>IP Encapsulation of Multipoint BFD</name> <name>IP Encapsulation of Multipoint BFD</name>
<t> <t>
<xref target="RFC8562" format="default"/> defines IP/UDP encapsulation f or multipoint BFD <xref target="RFC8562" format="default"/> defines IP/UDP encapsulation f or multipoint BFD
over p2mp MPLS LSP. This document updates Section 5.8 of <xref target="R over P2MP MPLS LSP. This document updates <xref target="RFC8562" section
FC8562"/> regarding the selection of Format="of" section="5.8"/> regarding the selection of
the IPv6 destination address: the IPv6 destination address as follows:
</t> </t>
<ul spacing="normal"> <ul spacing="normal">
<li>The sender of an MPLS echo request SHOULD use an address from <li>The sender of an MPLS echo request <bcp14>SHOULD</bcp14> use an addres
the Dummy IPv6 Prefix range TBA2/64 <xref target="iana-ipv6-addr-alloc-sec s from
"/>.</li> the Dummy IPv6 Prefix range 100:0:0:1::/64 (see <xref target="iana-ipv6-ad
<li>The sender of an MPLS echo request MAY select the IPv6 destination ad dr-alloc-sec"/>).</li>
dress from the ::ffff:7f00/104 range.</li> <li>The sender of an MPLS echo request <bcp14>MAY</bcp14> select the IPv6
</ul> destination address from the ::ffff:7f00/104 range.</li>
</ul>
<t> <!-- [rfced] Should the introductory text include the first part of the
The Motivation section <xref target="RFC6790" format="default"/> lists s indented text here?
everal advantages of generating the entropy value
by an ingress Label Switching Router (LSR) compared to when a transit LS
R infers entropy using the information in the MPLS label stack or payload.
Thus, this specification further clarifies that:
</t>
<ul empty="true" spacing="normal">
<li>if multiple alternative paths for the given p2mp LSP Forwarding
Equivalence Class (FEC) exist, the MultipointHead
SHOULD use the Entropy Label <xref target="RFC6790" format="default"/> u
sed for LSP Ping <xref target="RFC8029" format="default"/>
to exercise those particular alternative paths;</li>
<li>
or the MultipointHead MAY use the UDP port number to possibly exercise th Original:
ose particular alternate paths. Thus, this
</li> specification further clarifies that:
if multiple alternative paths for the given p2mp LSP Forwarding
Equivalence Class (FEC) exist, the MultipointHead SHOULD use the
Entropy Label [RFC6790] used for LSP Ping [RFC8029] to exercise
those particular alternative paths;
or the MultipointHead MAY use the UDP port number to possibly
exercise those particular alternate paths.
Perhaps:
This
specification further clarifies the following if multiple alternative paths
for the given P2MP LSP Forwarding Equivalence Class (FEC) exist:
* The MultipointHead SHOULD use the Entropy Label [RFC6790] used for LSP
Ping [RFC8029] to exercise those particular alternative paths; or
* The MultipointHead MAY use the UDP port number to possibly exercise those
particular alternate paths.
-->
<t><xref target="RFC6790" sectionFormat="of" section="1.2" format="default
"/>
lists several advantages of generating the entropy value by an ingress
Label Switching Router (LSR) compared to when a transit LSR infers
entropy using the information in the MPLS label stack or payload.
This specification further clarifies that:</t>
<ul spacing="normal">
<li>if multiple alternative paths for the given P2MP LSP Forwarding
Equivalence Class (FEC) exist, the MultipointHead
<bcp14>SHOULD</bcp14> use the Entropy Label <xref target="RFC6790"
format="default"/> used for LSP Ping <xref target="RFC8029"
format="default"/> to exercise those particular alternative
paths;</li>
<li>or the MultipointHead <bcp14>MAY</bcp14> use the UDP port
number to possibly exercise those particular alternate paths.</li>
</ul> </ul>
</section> </section>
<section anchor="non-ip-encaps-section" numbered="true" toc="default"> <section anchor="non-ip-encaps-section" numbered="true" toc="default">
<name>Non-IP Encapsulation of Multipoint BFD</name> <name>Non-IP Encapsulation of Multipoint BFD</name>
<t> <t>
In some environments, the overhead of extra IP/UDP encapsulations may be In some environments, the overhead of extra IP/UDP encapsulations may be
considered burdensome, making the use of more compact Generic Associated Chan considered burdensome, which makes the use of more compact Generic Associated
nel (G-ACh) (<xref target="RFC5586"/>) Channel (G-ACh) <xref target="RFC5586"/>
encapsulation attractive. Also, the validation of the IP/UDP encapsulation of encapsulation attractive. Also, the validation of the IP/UDP encapsulation of
a BFD Control packet in a p2mp BFD session a BFD Control packet in a P2MP BFD session
may fail because of a problem related to neither the MPLS label stack nor to may fail because of a problem related to neither the MPLS label stack nor BFD
BFD. Avoiding unnecessary encapsulation . Avoiding unnecessary encapsulation
of p2mp BFD over an MPLS LSP improves the accuracy of the correlation of the of P2MP BFD over an MPLS LSP improves the accuracy of the correlation of the
detected failure and defect in MPLS LSP. detected failure and defect in MPLS LSP.
</t> </t>
<!-- [rfced] The following sentences appear twice in Section 3.2 (as the
second paragraph and in the third paragraph). Which should be removed?
Original:
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.
-->
<t> <t>
If a BFD Control If a BFD Control
packet in PW-ACH encapsulation (without IP/UDP Headers) is to be used 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 in ACH, an implementation would not be able to verify the identity of
the MultipointHead and, as a result, will not properly demultiplex the MultipointHead and, as a result, will not properly demultiplex
BFD packets. Hence, a new channel type value is needed. BFD packets. Hence, a new channel type value is needed.
</t> </t>
<t> <t>
Non-IP encapsulation for multipoint BFD over p2mp MPLS LSP (shown in <xref Non-IP encapsulation for multipoint BFD over P2MP MPLS LSP (shown in <xref
target="non-ip-p2mp-bfd-pic" format="default"/>) target="non-ip-p2mp-bfd-pic" format="default"/>)
MUST use G-ACh Label (GAL) (see <xref target="RFC5586" format="default"/>) <bcp14>MUST</bcp14> use the G-ACh Label (GAL) <xref target="RFC5586" format
at the bottom of the label ="default"/> at the bottom of the label
stack followed by an Associated Channel Header (ACH). If a BFD Control p acket in PW-ACH encapsulation (without IP/UDP Headers) is to be used in ACH, stack followed by an Associated Channel Header (ACH). If a BFD Control p acket 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 Multip ointHead and, as a result, will not properly demultiplex BFD packets. Hence, an implementation would not be able to verify the identity of the Multip ointHead and, as a result, will not properly demultiplex BFD packets. Hence,
a new channel type value is needed. The Channel Type field in ACH MUST b a new channel type value is needed. The Channel Type field in ACH <bcp14
e set to >MUST</bcp14> be set to
Multipoint BFD Session (TBA1) value (<xref target="iana-ach-sec"/>). To Multipoint BFD Session (0x0013) (see <xref target="iana-ach-sec"/>). To
provide the identity of the MultipointHead for the particular provide the identity of the MultipointHead for the particular
multipoint BFD session, a Source Address TLV, as defined in Section 4.1 multipoint BFD session, a Source Address TLV, as defined in <xref target
of <xref target="RFC7212" format="default"/>, ="RFC7212" sectionFormat="of" section="4.1"/>,
MUST immediately follow a BFD Control message. The use of other TLVs is <bcp14>MUST</bcp14> immediately follow a BFD Control message. The use of
outside the scope of this document. other TLVs is outside the scope of this document.
</t> </t>
<figure anchor="non-ip-p2mp-bfd-pic"> <figure anchor="non-ip-p2mp-bfd-pic">
<name>Non-IP Encapsulation for Multipoint BFD Over a Multicast MPLS LS P</name> <name>Non-IP Encapsulation for Multipoint BFD over a Multicast MPLS LS P</name>
<artwork name="" type="" align="left" alt=""><![CDATA[ <artwork name="" type="" align="left" alt=""><![CDATA[
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 ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork> ]]></artwork>
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
</figure> </figure>
<t>Fields in <xref target="non-ip-p2mp-bfd-pic"/> are interpreted as follows:</t <t>The fields in <xref target="non-ip-p2mp-bfd-pic"/> are interpreted as follows
> :</t>
<!-- [rfced] Would it be helpful to clarify "the top three four-octet words"
here? Will readers understand what is defined in RFC 5586?
Original:
* the top three four-octet words as defined in [RFC5586];
-->
<!-- [rfced] We do not see mention of "BFD Control Message" in [RFC5880].
Please review.
Original:
* the BFD Control Message field is as defined in [RFC5880];
-->
<ul> <ul>
<li>the top three four-octet words as defined in <xref target="RFC5586"/>;</li> <li>The top three four-octet words are defined in <xref target="RFC5586"/>.</li>
<li>the BFD Control Message field is as defined in <xref target="RFC5880"/>;</li <li>The BFD Control Message field is defined in <xref target="RFC5880"/>.</li>
> <li>All the remaining fields are defined in <xref target="RFC7212" sectionFormat
<li>all the remaining fields are as defined in Section 4.1 of <xref target="RFC7 ="of" section="4.1"/>.</li>
212"/>.</li>
</ul> </ul>
</section> </section>
</section> </section>
<section anchor="bootstrapping-section" numbered="true" toc="default"> <section anchor="bootstrapping-section" numbered="true" toc="default">
<name>Bootstrapping Multipoint BFD</name> <name>Bootstrapping Multipoint BFD</name>
<section anchor="lsp-section" numbered="true" toc="default"> <section anchor="lsp-section" numbered="true" toc="default">
<name>LSP Ping</name> <name>LSP Ping</name>
<t> <t>
LSP Ping is the part of the on-demand OAM toolset used to detect and loc alize defects in the data plane and LSP Ping is the part of the on-demand OAM toolset used to detect and loc alize defects in the data plane and
verify the control plane against the data plane by ensuring that the LSP is mapped to the same FEC verify the control plane against the data plane by ensuring that the LSP is mapped to the same FEC
at both egress and ingress endpoints. at both egress and ingress endpoints.
</t> </t>
<!-- [rfced] Should the two instances of "Target FEC TLV" here be "Target FEC
Stack TLV"? We see "Target FEC Stack TLV" in RFC 6425.
Original:
LSP Ping, as defined in [RFC6425], MAY be used to bootstrap
MultipointTail. If LSP Ping is used, it MUST include the Target FEC
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
Section 3.1 [RFC6425].
-->
<t> <t>
LSP Ping, as defined in <xref target="RFC6425" format="default"/>, MAY be LSP Ping, as defined in <xref target="RFC6425" format="default"/>, <bcp14
used to bootstrap MultipointTail. If LSP Ping is used, >MAY</bcp14> be used to bootstrap MultipointTail. If LSP Ping is used,
it MUST include the Target FEC TLV and the BFD Discriminator TLV defined it <bcp14>MUST</bcp14> include the Target FEC TLV and the BFD Discrimina
in <xref target="RFC5884" format="default"/>. For the case of p2mp MPLS LSP, th tor TLV defined in <xref target="RFC5884" format="default"/>. For the case of P2
e Target FEC TLV MP MPLS LSP, the Target FEC TLV
MUST use sub-TLVs defined in Section 3.1 <xref target="RFC6425" format=" <bcp14>MUST</bcp14> use sub-TLVs defined in <xref target="RFC6425" secti
default"/>. For the case of p2mp SR policy with SR-MPLS data plane, onFormat="of" section="3.1"/>. For the case of P2MP SR policy with an SR-MPLS da
an implementation of this specification MUST follow procedures defined i ta plane,
n <xref target="RFC8287" format="default"/>. Setting the value an implementation of this specification <bcp14>MUST</bcp14> follow the p
of Reply Mode field to "Do not reply" <xref target="RFC8029"/> for the rocedures defined in <xref target="RFC8287" format="default"/>. Setting the valu
LSP Ping to bootstrap MultipointTail of the p2mp BFD session is RECOMMENDED. e
of the Reply Mode field to "Do not reply" <xref target="RFC8029"/> for t
he LSP Ping to bootstrap the MultipointTail of the P2MP BFD session is <bcp14>R
ECOMMENDED</bcp14>.
Indeed, 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 head, Indeed, 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 head,
unlike in the case of the BFD over a p2p MPLS LSP <xref target="RFC5884" format="default"/>. unlike in the case of BFD over a P2P MPLS LSP <xref target="RFC5884" for mat="default"/>.
A MultipointTail that receives an LSP Ping that includes the BFD Discrim inator TLV: A MultipointTail that receives an LSP Ping that includes the BFD Discrim inator TLV:
</t> </t>
<!-- [rfced] May we update the introductory text to use "MUST" and remove
"MUST" from each bullet? Or do you prefer the current?
Original:
A MultipointTail that receives an LSP Ping that includes the BFD
Discriminator TLV:
* MUST validate the LSP Ping;
* MUST associate the received BFD Discriminator value with the p2mp
LSP;
* MUST create a p2mp BFD session and set bfd.SessionType =
MultipointTail as described in [RFC8562];
* MUST use the source IP address of LSP Ping, the value of BFD
Discriminator from the BFD Discriminator TLV, and the identity of
the p2mp LSP to properly demultiplex BFD sessions.
Perhaps:
A MultipointTail that receives an LSP Ping that includes the BFD
Discriminator TLV MUST do the following:
* validate the LSP Ping;
* associate the received BFD Discriminator value with the P2MP
LSP;
* create a P2MP BFD session and set bfd.SessionType =
MultipointTail as described in [RFC8562]; and
* use the source IP address of the LSP Ping, the value of BFD
Discriminator from the BFD Discriminator TLV, and the identity of
the P2MP LSP to properly demultiplex BFD sessions.
-->
<ul spacing="normal"> <ul spacing="normal">
<li> <li>
MUST validate the LSP Ping; <bcp14>MUST</bcp14> validate the LSP Ping;
</li> </li>
<li> <li>
MUST associate the received BFD Discriminator value with the p2mp LSP; <bcp14>MUST</bcp14> associate the received BFD Discriminator value with the P2MP LSP;
</li> </li>
<li> <li>
MUST create a p2mp BFD session and set bfd.SessionType = <bcp14>MUST</bcp14> create a P2MP BFD session and set bfd.SessionType =
MultipointTail as described in <xref target="RFC8562" format="default"/>; MultipointTail as described in <xref target="RFC8562" format="default"/>;
and
</li> </li>
<li> <li>
MUST use the source IP address of LSP Ping, the value <bcp14>MUST</bcp14> use the source IP address of the LSP Ping, the value
of BFD Discriminator from the BFD Discriminator TLV, and the identity of t of BFD Discriminator from the BFD Discriminator TLV, and the identity of t
he p2mp LSP he P2MP LSP
to properly demultiplex BFD sessions.</li> to properly demultiplex BFD sessions.</li>
</ul> </ul>
<t> <t>
Besides bootstrapping a BFD session over a p2mp LSP, LSP Ping SHOULD be Besides bootstrapping a BFD session over a P2MP LSP, LSP Ping <bcp14>SHO
used to verify the control plane ULD</bcp14> be used to verify the control plane
against the data plane periodically by checking that the p2mp LSP is map against the data plane periodically by checking that the P2MP LSP is map
ped to the same FEC at the ped to the same FEC at the
MultipointHead and all active MultipointTails. The rate of generation of these LSP Ping Echo request MultipointHead and all active MultipointTails. The rate of generation of these LSP Ping Echo request
messages SHOULD be significantly less than the rate of generation of messages <bcp14>SHOULD</bcp14> be significantly less than the rate of generat ion of
the BFD Control packets because LSP Ping requires more processing to validate the BFD Control packets because LSP Ping requires more processing to validate
the consistency between the data plane and the control plane. An implementati on MAY provide configuration the consistency between the data plane and the control plane. An implementati on <bcp14>MAY</bcp14> provide configuration
options to control the rate of generation of the periodic LSP Ping Echo reque st messages. options to control the rate of generation of the periodic LSP Ping Echo reque st messages.
</t> </t>
</section> </section>
<section anchor="control-plane-section" numbered="true" toc="default"> <section anchor="control-plane-section" numbered="true" toc="default">
<name>Control Plane</name> <name>Control Plane</name>
<t> <t>
The BFD Discriminator Attribute MAY be used to bootstrap a multipoint The BFD Discriminator attribute <bcp14>MAY</bcp14> be used to bootstr ap 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 <xref target="RFC9026" format="default"/>. <xref target="RFC9026" sectionFormat="of" section="3.1.6"/>.
</t> </t>
</section> </section>
</section> </section>
<section anchor="operation-sec" numbered="true" toc="default"> <section anchor="operation-sec" numbered="true" toc="default">
<name>Operation of Multipoint BFD with Active Tail over P2MP MPLS LSP</nam e> <name>Operation of Multipoint BFD with Active Tail over P2MP MPLS LSP</nam e>
<t> <t>
<xref target="RFC8562" format="default"/> defined how the BFD Demand mode can be <xref target="RFC8562" format="default"/> defines how BFD Demand mode can be use
used in multipoint networks. d in multipoint networks.
When applied in MPLS, procedures specified in <xref target="RFC8562" format="def When applied in MPLS, the procedures specified in <xref target="RFC8562" format=
ault"/> allow an egress LSR to detect a failure of the part of the MPLS p2mp LSP "default"/> allow an egress LSR to detect a failure in the part of the MPLS P2MP
from the ingress LSR to that egress LSR. The ingress LSR is not aware of the sta LSP
te of the p2mp LSP. <xref target="RFC8563" format="default"/>, using mechanisms from the ingress LSR to that egress LSR. The ingress LSR is not aware of the sta
defined in <xref target="RFC8562" format="default"/>, te of the P2MP LSP. <xref target="RFC8563" format="default"/>, using mechanisms
defined an "active tail" behavior. An active tail might notify the head of the d defined in <xref target="RFC8562" format="default"/>,
etected failure and responds to a poll sequence initiated by the head. defines the behavior of an active tail. An active tail might notify the head of
The first method, referred to as Head Notification without Polling, is mentioned the detected failure and respond to a poll sequence initiated by the head.
in Section 5.2.1 <xref target="RFC8563" format="default"/>, The first method, referred to as "Head Notification without Polling", is mention
is the simplest of all described in <xref target="RFC8563" format="default"/>. ed in <xref target="RFC8563" sectionFormat="of" section="5.2.1"/>) and
The use of this method in BFD over MPLS p2mp LSP is discussed in this document. is the simplest of the methods described in <xref target="RFC8563" format="defau
Analysis of other methods of a head learning of the state of an MPLS p2mp LSP is lt"/>.
outside the scope of this document. The use of this method in BFD over MPLS P2MP LSP is discussed in this document.
Analysis of other methods for a head to learn of the state of an MPLS P2MP LSP i
s outside the scope of this document.
</t> </t>
<t> <t>
As specified in <xref target="RFC8563" format="default"/> for the active tail mo As specified in <xref target="RFC8563" format="default"/>, BFD variables <bcp14>
de, BFD variables MUST be as follows: MUST</bcp14> be as follows for the active tail mode:
</t>
<t>On an ingress LSR:
</t> </t>
<ul spacing="normal">
<li><t>On an ingress LSR:</t>
<ul spacing="normal"> <ul spacing="normal">
<li>bfd.SessionType is MultipointHead;</li> <li>bfd.SessionType is MultipointHead.</li>
<li>bfd.RequiredMinRxInterval is set to nonzero, allowing egress LSRs to <li>bfd.RequiredMinRxInterval is nonzero, allowing egress LSRs to send B
send BFD Control packets.</li> FD Control packets.</li>
</ul> </ul>
<t>On an egress LSR: </li>
</t> <li><t>On an egress LSR:</t>
<ul spacing="normal"> <ul spacing="normal">
<li>bfd.SessionType is MultipointTail;</li> <li>bfd.SessionType is MultipointTail.</li>
<li>bfd.SilentTail is set to zero.</li> <li>bfd.SilentTail is set to zero.</li>
</ul> </ul>
</li>
</ul>
<t> <t>
In Section 5.2.1 <xref target="RFC8563" format="default"/> is noted that "the ta <xref target="RFC8563" sectionFormat="of" section="5.2.1"/> notes that "t
il sends unsolicited BFD packets in response he tail sends unsolicited BFD packets in response
to the detection of a multipoint path failure" but without the specifics on the to the detection of a multipoint path failure" but does not provide specifics ab
information in the packet and frequency of transmissions. out the information in the packets or the frequency of transmissions.
This document defines below the procedure of an active tail with unsolicited not The procedure for an active tail with unsolicited notifications for P2MP MPLS LS
ifications for p2mp MPLS LSP. P is defined below.
</t> </t>
<t>Upon detecting the failure of the p2mp MPLS LSP, an egress LSR sends BF D Control packet with the following settings: <t>Upon detecting the failure of the P2MP MPLS LSP, an egress LSR sends a BFD Control packet with the following settings:
</t> </t>
<ul spacing="normal"> <ul spacing="normal">
<li>the Poll (P) bit is set;</li> <li>The Poll (P) bit is set.</li>
<li>the Status (Sta) field set to Down value;</li> <li>The Status (Sta) field is set to the Down value.</li>
<li>the Diagnostic (Diag) field set to Control Detection Time Expired va <li>The Diagnostic (Diag) field is set to the Control Detection Time Exp
lue;</li> ired value.</li>
<li>the value of the Your Discriminator field is set to the value the eg <li>The value of the Your Discriminator field is set to the value the eg
ress LSR has been using to demultiplex that BFD multipoint session;</li> ress LSR has been using to demultiplex that BFD multipoint session.</li>
<li> <li>
BFD Control packet MAY be encapsulated in IP/UDP with the destination IP address of the ingress LSR The BFD Control packet <bcp14>MAY</bcp14> be encapsulated in IP/UDP with the des tination IP address of the ingress LSR
and the UDP destination port number set to 4784 per <xref target="RFC5883" forma t="default"/>. If non-IP encapsulation is and the UDP destination port number set to 4784 per <xref target="RFC5883" forma t="default"/>. If non-IP encapsulation is
used, then a BFD Control packet is encapsulated using PW-ACH encapsulation (with out IP/UDP Headers) used, then a BFD Control packet is encapsulated using PW-ACH encapsulation (with out IP/UDP Headers)
with Channel Type 0x0007 <xref target="RFC5885" format="default"/>; with Channel Type 0x0007 <xref target="RFC5885" format="default"/>.
</li> </li>
<!-- [rfced] The second bulleted list in Section 5 is prefaced with the
following text. However, it looks like only the first four bullets detail
settings. Should the last two bullets be regular paragraphs rather than
part of the list? Or should this introductory text be updated?
Original:
Upon detecting the failure of the p2mp MPLS LSP, an egress LSR sends
BFD Control packet with the following settings:
-->
<!-- [rfced] What does "it" refer to here?
Original:
* these BFD Control packets are transmitted at the rate of one per
second until either it receives a control packet valid for this
BFD session with the Final (F) bit set from the ingress LSR or the
defect condition clears.
Perhaps:
* These BFD Control packets are transmitted at the rate of one per
second until either 1) the egress LSA receives a control packet from the i
ngress LSR
that is valid for this BFD session and has the Final (F) bit set or 2) the
defect condition clears.
-->
<!-- [rfced] Please clarify "defined above" here. Is the intent "as defined
above" (with "as"), "with the settings described above", or something
else?
Original:
However, to improve the likelihood of
notifying the ingress LSR of the failure of the p2mp MPLS LSP, the
egress LSR SHOULD initially transmit three BFD Control packets
defined above in short succession.
Perhaps:
However, to improve the likelihood of
notifying the ingress LSR of the failure of the p2mp MPLS LSP, the
egress LSR SHOULD initially transmit three BFD Control packets
(as defined above) in short succession.
-->
<li> <li>
these BFD Control packets are transmitted at the rate of one per second The BFD Control packets are transmitted at the rate of one per second
until either it receives a control packet valid for this BFD session 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 defect with the Final (F) bit set from the ingress LSR or 2) the defect
condition clears. However, to improve the likelihood of notifying the ingress condition clears. However, to improve the likelihood of notifying the ingress
LSR of the failure of the p2mp MPLS LSP, LSR of the failure of the P2MP MPLS LSP,
the egress LSR SHOULD initially transmit three BFD Control packets defined abo the egress LSR <bcp14>SHOULD</bcp14> initially transmit three BFD Control pack
ve in short succession. ets defined above in short succession.
The actual transmission of the periodic BFD Control message MUST be jittered b The actual transmission of the periodic BFD Control message <bcp14>MUST</bcp14
y up to 25% within one-second intervals. > be jittered by up to 25% within one-second intervals.
Thus, the interval MUST be reduced by a random value of 0 to 25%, to reduce th Thus, the interval <bcp14>MUST</bcp14> be reduced by a random value of 0 to 25
e possibility of congestion on the ingress LSR's %, to reduce the possibility of congestion on the ingress LSR's
data and control planes. data and control planes.
</li> </li>
</ul> </ul>
<t> <t>
As described above, an ingress LSR that has received the BFD Control packet As described above, an ingress LSR that has received the BFD Control packet
sends the unicast IP/UDP encapsulated BFD Control packet with the Final (F) bit set sends the unicast IP/UDP encapsulated BFD Control packet with the Final (F) bit set
to the egress LSR. In some scenarios, e.g., when a p2mp LSP is broken close to i ts root, and the number of egress LSRs is significantly large, to the egress LSR. In some scenarios (e.g., when a P2MP LSP is broken close to i ts root and the number of egress LSRs is significantly large),
the root might receive a large number of notifications. The notifications from l eaves to the root will not use resources the root might receive a large number of notifications. The notifications from l eaves to the root will not use resources
allocated for the monitored multicast flow and, as a result, allocated for the monitored multicast flow and, as a result,
will not congest that particular flow, although they may negatively affect other flows. will not congest that particular flow, although they may negatively affect other flows.
However, the control plane of the ingress LSR might be congested by the BFD Cont rol packets transmitted by egress LSRs and the process of generating However, the control plane of the ingress LSR might be congested by the BFD Cont rol packets transmitted by egress LSRs and the process of generating
unicast BFD Control packets, as noted above. To mitigate that, a BFD implementat unicast BFD Control packets, as noted above. To mitigate that, a BFD implementat
ion that supports this specification is RECOMMENDED to use a rate limiter ion that supports this specification is <bcp14>RECOMMENDED</bcp14> to use a rate
of received BFD Control packets passed to the ingress LSR’s control plane for pr limiter
ocessing. of received BFD Control packets passed to the ingress LSR's control plane for pr
ocessing.
</t> </t>
</section> </section>
<section anchor="Security" numbered="true" toc="default"> <section anchor="Security" numbered="true" toc="default">
<name>Security Considerations</name> <name>Security Considerations</name>
<t> <t>
This document does not introduce new security considerations but inherits all security considerations This document does not introduce new security considerations but inherits all security considerations
from <xref target="RFC5880" format="default"/>, <xref target="RFC5884" for mat="default"/>, <xref target="RFC7726" format="default"/>, from <xref target="RFC5880" format="default"/>, <xref target="RFC5884" for mat="default"/>, <xref target="RFC7726" format="default"/>,
<xref target="RFC8562" format="default"/>, <xref target="RFC8029" format=" default"/>, and <xref target="RFC6425" format="default"/>. <xref target="RFC8562" format="default"/>, <xref target="RFC8029" format=" default"/>, and <xref target="RFC6425" format="default"/>.
</t> </t>
<t> <t>
Also, BFD for p2mp MPLS LSP MUST follow the requirements listed in section Also, BFD for P2MP MPLS LSPs <bcp14>MUST</bcp14> follow the requirements l
4.1 <xref target="RFC4687" format="default"/> to avoid congestion isted in <xref target="RFC4687" sectionFormat="of" section="4.1"/> to avoid cong
in the control plane or the data plane caused by the rate of generating BF estion
D Control packets. An operator SHOULD in the control plane or the data plane caused by the rate of generating BF
consider the amount of extra traffic generated by p2mp BFD when selecting D Control packets. An operator <bcp14>SHOULD</bcp14>
the interval at which the consider the amount of extra traffic generated by P2MP BFD when selecting
MultipointHead will transmit BFD Control packets. The operator MAY conside the interval at which the
r the size of the packet the MultipointHead transmits MultipointHead will transmit BFD Control packets. The operator <bcp14>MAY<
periodically as using IP/UDP encapsulation, which adds up to 28 octets, mo /bcp14> consider the size of the packet the MultipointHead transmits
re than 50% periodically as using IP/UDP encapsulation, which adds up to 28 octets (mo
of the BFD Control packet length, comparing to G-ACh encapsulation. re than 50%
of the BFD Control packet length) compared to G-ACh encapsulation.
</t> </t>
</section> </section>
<section anchor="iana-sec" numbered="true" toc="default"> <section anchor="iana-sec" numbered="true" toc="default">
<name>IANA Considerations</name> <name>IANA Considerations</name>
<!--
<section anchor="iana-ipv4-addr-alloc-sec" numbered="true" toc="default">
<name>IPv4 Address Allocation</name>
<t>
IANA is requested to allocate an IPv4 TBA3/24 prefix as Associated Channel
IPv4/UDP Prefix in the "Internet
Protocol Version 4 Address Space" and add the prefix to the "IANA
IPv4 Special Purpose Address Registry".
</t>
</section>
-->
<section anchor="iana-ipv6-addr-alloc-sec" numbered="true" toc="default"> <section anchor="iana-ipv6-addr-alloc-sec" numbered="true" toc="default">
<name>IPv6 Address Allocation</name> <name>IPv6 Special-Purpose Address</name>
<t> <t>
IANA is requested to allocate an IPv6 TBA2/64 prefix as Dummy IPv6 Prefix IANA has allocated the following in the "IANA
in the "IANA IPv6 Special-Purpose Address Registry" <xref target="IANA-IPv6-REG"/>:
IPv6 Special Purpose Address Registry" <xref target="IANA-IPv6-Special-Purpos </t>
e-Address-Registry"/> <!-- [rfced] FYI - We updated Table 2 to <dl> as the table was too wide for
as in <xref target="dummy-ipv6-range-table"/>. the txt output. Note that <dl> was used in other RFCs that have made
</t> allocations in the "IANA IPv6 Special-Purpose Address Registry" (e.g.,
<table anchor="dummy-ipv6-range-table" align="center"> RFCs 9637, 9602, and 9374).
<name>Dummy IPv6 Address Prefix</name> -->
<thead>
<tr> <!-- [rfced] An informative reference is listed for the "IANA IPv6 Special
<th align="left">Address Block</th> Purpose Address Registry" in Section 7.1. Would you like to also add an
<th align="left">Name</th> informative reference for the "MPLS Generalized Associated Channel
<th align="left">RFC</th> (G-ACh) Types" registry in Section 7.2?
<th align="left">Allocation Date</th> -->
<th align="left">Termination Date</th>
<th align="left">Source</th>
<th align="left">Destination</th>
<th align="left">Forwardable</th>
<th align="left">Globally Reachable</th>
<th align="left">Reserved-by-Protocol</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left">TBA2</td>
<td align="left">Dummy IPv6 Prefix</td>
<td align="left">This document</td>
<td align="left">The date of allocation</td>
<td align="left">N/A</td>
<td align="left">True</td>
<td align="left">False</td>
<td align="left">False</td>
<td align="left">False</td>
<td align="left">False</td>
</tr>
</tbody>
</table>
<dl spacing="compact">
<dt>Address Block:</dt><dd>100:0:0:1::/64</dd>
<dt>Name:</dt><dd>Dummy IPv6 Prefix</dd>
<dt>RFC:</dt><dd>RFC 9780</dd>
<dt>Allocation Date:</dt><dd>2025-04</dd>
<dt>Termination Date:</dt><dd>N/A</dd>
<dt>Source:</dt><dd>True</dd>
<dt>Destination:</dt><dd>False</dd>
<dt>Forwardable:</dt><dd>False</dd>
<dt>Globally Reachable:</dt><dd>False</dd>
<dt>Reserved-by-Protocol:</dt><dd>False</dd>
</dl>
</section> </section>
<section anchor="iana-ach-sec" numbered="true" toc="default"> <section anchor="iana-ach-sec" numbered="true" toc="default">
<name>Multipoint BFD over MPLS LSP Associated Channel Type</name> <name>MPLS Generalized Associated Channel (G-ACh) Type</name>
<t> <t>
IANA is requested to allocate value (TBA1) from its MPLS Generalized Associa ted Channel (G-ACh) Types registry. IANA has allocated the following value in the "MPLS Generalized Associated C hannel (G-ACh) Types" registry.
</t> </t>
<table anchor="p2mp-ach-table" align="center"> <table anchor="p2mp-ach-table" align="center">
<name>Multipoint BFD Session G-ACh Type</name> <name>Multipoint BFD Session G-ACh Type</name>
<thead> <thead>
<tr> <tr>
<th align="left">Value</th> <th align="left">Value</th>
<th align="center">Description</th> <th align="center">Description</th>
<th align="left">Reference</th> <th align="left">Reference</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<tr> <tr>
<td align="left">TBA1</td> <td align="left">0x0013</td>
<td align="center">Multipoint BFD Session</td> <td align="center">Multipoint BFD Session</td>
<td align="left">This document</td> <td align="left">RFC 9780</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
</section> </section>
</section> </section>
<section anchor="Acknowledgements" numbered="true" toc="default">
<name>Acknowledgements</name>
<t>
The authors sincerely appreciate the comments received from Andrew Malis,
Italo Busi, Shraddha Hegde,
and thought stimulating questions from Carlos Pignataro.
</t>
</section>
</middle> </middle>
<back> <back>
<references> <references>
<name>References</name> <name>References</name>
<references> <references>
<name>Normative References</name> <name>Normative References</name>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2
FC.2119.xml"/> 119.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8
FC.8174.xml"/> 174.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5
FC.5880.xml"/> 880.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5
FC.5884.xml"/> 884.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8
FC.8029.xml"/> 029.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8
FC.8287.xml"/> 287.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6
FC.6790.xml"/> 790.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5
FC.5586.xml"/> 586.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7
FC.7212.xml"/> 212.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6
FC.6425.xml"/> 425.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7
FC.7726.xml"/> 726.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8
FC.8562.xml"/> 562.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8
FC.8563.xml"/> 563.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5
FC.5883.xml"/> 883.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5
FC.5885.xml"/> 885.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC. <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.90
9026.xml"/> 26.xml"/>
</references> </references>
<references> <references>
<name>Informative References</name> <name>Informative References</name>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4
FC.4687.xml"/> 687.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4
FC.4291.xml"/> 291.xml"/>
<!-- <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/refer
ence.RFC.5952.xml"/> -->
<reference anchor="IANA-IPv6-Special-Purpose-Address-Registry" target="https://w ww.iana.org/assignments/iana-ipv6-special-registry/iana-ipv6-special-registry.xh tml"> <reference anchor="IANA-IPv6-REG" target="https://www.iana.org/assignments/iana- ipv6-special-registry">
<front> <front>
<title>IANA IPv6 Special-Purpose Address Registry</title> <title>IANA IPv6 Special-Purpose Address Registry</title>
<author> <author>
<organization>IANA</organization> <organization>IANA</organization>
</author> </author>
</front> </front>
</reference> </reference>
</references> </references>
</references> </references>
<section anchor="Acknowledgements" numbered="false" toc="default">
<name>Acknowledgements</name>
<t>The authors sincerely appreciate the comments received from <contact
fullname="Andrew Malis"/>, <contact fullname="Italo Busi"/>, and
<contact fullname="Shraddha Hegde"/>. The authors also appreciate the
thought-stimulating questions from <contact fullname="Carlos
Pignataro"/>.</t>
</section>
</back> </back>
<!-- [rfced] Terminology
a) We see the following forms used in this document. Should "P2MP" or "MPLS"
come first in this phrase?
p2mp MPLS LSP
MPLS p2mp LSP
Point-to-Multipoint MPLS Label Switched Path (LSP)
MPLS point-to-multipoint Label Switched Paths (LSPs)
b) Please review the instances of "echo" in the document and let us know if
they should be capitalized or lowercased.
MPLS echo reply
MPLS echo request
LSP Ping Echo request message
c) We have updated "out-band" to "out-of-band" (two instances). Let us know any
objections.
d) Would either of the following read more clearly? Or is the current okay?
Current:
the Dummy IPv6 Prefix range 100:0:0:1::/64
Perhaps ("address block" instead of "range"):
the Dummy IPv6 Prefix address block 100:0:0:1::/64
Or ("address block" and parentheses):
the Dummy IPv6 Prefix address block (100:0:0:1::/64)
-->
<!-- [rfced] Abbreviations
a) We updated "p2mp" (lowercase) to "P2MP" (caps). The capitalized form is much
more common in published RFCs, including in RFCs 9026 and 6425, which are
normatively referenced by this document.
b) FYI - We have added expansions for the following abbreviations
per Section 3.6 of RFC 7322 ("RFC Style Guide"). Please review each
expansion in the document carefully to ensure correctness.
Operations, Administration, and Maintenance (OAM)
Pseudowire (PW)
-->
<!-- [rfced] Please review the "Inclusive Language" portion of the online
Style Guide <https://www.rfc-editor.org/styleguide/part2/#inclusive_language>
and let us know if any changes are needed. Updates of this nature typically
result in more precise language, which is helpful for readers.
For example, please consider whether the following should be updated:
Dummy
-->
</rfc> </rfc>
 End of changes. 92 change blocks. 
359 lines changed or deleted 702 lines changed or added

This html diff was produced by rfcdiff 1.48.