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 " "> | <!ENTITY nbsp " "> | |||
<!ENTITY zwsp "​"> | <!ENTITY zwsp "​"> | |||
<!ENTITY nbhy "‑"> | <!ENTITY nbhy "‑"> | |||
<!ENTITY wj "⁠"> | <!ENTITY wj "⁠"> | |||
]> | ]> | |||
<?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"/> | ||||
<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> | |||
<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 point-to-multipoint MPLS | |||
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 address bl | |||
f target="iana-ipv6-addr-alloc-sec"/>) | ock 100: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, | <t> | |||
as in-band, and the control plane, as out-band, solutions to | In addition, this document describes the applicability of LSP Ping (as an in- | |||
bootstrap a BFD session. | band | |||
</t> | solution) and the control plane (as an out-of-band solution) to bootstrap | |||
<t> | a BFD session. | |||
It also describes the behavior of the active tail for head notification. | 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 point-to-multipoin | |||
Label Switching (MPLS) point-to-multipoint (p2mp) Label Switched | t (P2MP) MPLS 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 LSP Ping (an in-band solution | |||
solutions to bootstrap a BFD session in this environment. | ) and | |||
out-of-band solutions to bootstrap a BFD session in this environment. | ||||
</t> | </t> | |||
<t> | <t> | |||
Historically, an IPv6-mapped IPv4 loopback range address::ffff:127.0.0.1/128 | Historically, an address in the IPv6-mapped IPv4 loopback range | |||
was mandated, | ::ffff:127.0.0.1/128 was mandated, although functionally, an | |||
although functionally, an IPv6 address from that range is not analogous to it | IPv6 address from that range is not analogous to its IPv4 | |||
s IPv4 counterpart. Furthermore, | counterpart. | |||
using the loopback address as the destination address, even for an inner IP e | Furthermore, | |||
ncapsulation of a tunneled packet | using the loopback address as the destination address, even for an inner IP e | |||
violates Section 2.5.3 of <xref target="RFC4291"/>. Hence, IANA is requested | ncapsulation of a tunneled packet, | |||
to allocate | violates <xref target="RFC4291" sectionFormat="of" section="2.5.3"/>. Hence, | |||
TBA2/64 as a new Dummy IPv6 Prefix (<xref target="iana-ipv6-addr-alloc-sec"/> | IANA has allocated | |||
) | 100:0:0:1::/64 as a new Dummy IPv6 Prefix (<xref target="iana-ipv6-addr-alloc | |||
to select destination IPv6 addresses for IP/UDP encapsulation of management, | -sec"/>) | |||
control, and OAM packets. | for destination IPv6 addresses used for IP/UDP encapsulation of management, c | |||
ontrol, and OAM (Operations, Administration, and Maintenance) 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 address block 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 address block 100:0:0:1::/64 (<xref target="iana-ipv6-addr- | |||
while acknowledging that an address from ::ffff:127.0.0.1/128 range might be | alloc-sec"/>) while | |||
used by existing implementations, | acknowledging that an address from the ::ffff:127.0.0.1/128 range might be us | |||
discourages the use of the IPv6-mapped IPv4 loopback range address. | ed 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 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> | |||
<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="RFC8562" sectionFormat="of" section="5.7"/>. | |||
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"> | ||||
<li>The sender of an MPLS echo request SHOULD use an address from | ||||
the Dummy IPv6 Prefix range TBA2/64 <xref target="iana-ipv6-addr-alloc-sec | ||||
"/>.</li> | ||||
<li>The sender of an MPLS echo request MAY select the IPv6 destination ad | ||||
dress from the ::ffff:7f00/104 range.</li> | ||||
</ul> | ||||
<t> | <ul spacing="normal"> | |||
The Motivation section <xref target="RFC6790" format="default"/> lists s | <li>The sender of an MPLS echo request <bcp14>SHOULD</bcp14> use an addres | |||
everal advantages of generating the entropy value | s from | |||
by an ingress Label Switching Router (LSR) compared to when a transit LS | the Dummy IPv6 Prefix address block 100:0:0:1::/64 (see <xref target="iana | |||
R infers entropy using the information in the MPLS label stack or payload. | -ipv6-addr-alloc-sec"/>).</li> | |||
Thus, this specification further clarifies that: | <li>The sender of an MPLS echo request <bcp14>MAY</bcp14> select the IPv6 | |||
</t> | destination address from the ::ffff:7f00/104 range.</li> | |||
<ul empty="true" spacing="normal"> | </ul> | |||
<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 | <t><xref target="RFC6790" sectionFormat="of" section="1.2" format="default | |||
ose particular alternate paths. | "/> | |||
</li> | 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 the following if multiple alternative | ||||
paths | ||||
for the given P2MP LSP Forwarding Equivalence Class (FEC) exist:</t> | ||||
<ul spacing="normal"> | ||||
<li>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; or</li> | ||||
<li>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> | ||||
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> | |||
<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 packet. 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 Packet ~ | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| 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> | |||
<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 Packet 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 | |||
skipping to change at line 271 ¶ | skipping to change at line 262 ¶ | |||
</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> | |||
<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 Stack TLV <xref target="RF | |||
in <xref target="RFC5884" format="default"/>. For the case of p2mp MPLS LSP, th | C8029" format="default"/> and the BFD Discriminator TLV <xref target="RFC5884" f | |||
e Target FEC TLV | ormat="default"/>. For the case of P2MP MPLS LSP, the Target FEC Stack 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" | unlike in the case of BFD over a P2P MPLS LSP <xref target="RFC5884" for | |||
format="default"/>. | mat="default"/>. | |||
A MultipointTail that receives an LSP Ping that includes the BFD Discrim | A MultipointTail that receives an LSP Ping that includes the BFD Discrim | |||
inator TLV: | inator TLV <bcp14>MUST</bcp14> do the following: | |||
</t> | </t> | |||
<ul spacing="normal"> | <ul spacing="normal"> | |||
<li> | <li>validate the LSP Ping; | |||
MUST validate the LSP Ping; | ||||
</li> | </li> | |||
<li> | <li>associate the received BFD Discriminator value with the P2MP LSP; | |||
MUST associate the received BFD Discriminator value with the p2mp LSP; | ||||
</li> | </li> | |||
<li> | <li>create a P2MP BFD session and set bfd.SessionType = | |||
MUST 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>use the source IP address of the LSP Ping, the value | |||
MUST use the source IP address of 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 | MultipointHead and all active MultipointTails. The rate of generation of | |||
these LSP Ping Echo request | 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 | the consistency between the data plane and the control plane. An implementati | |||
on MAY provide configuration | on <bcp14>MAY</bcp14> provide configuration | |||
options to control the rate of generation of the periodic LSP Ping Echo reque | options to control the rate of generation of the periodic LSP Ping echo reque | |||
st messages. | 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 P2MP MPLS | |||
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 P2MP MPLS LSP is discussed in this document. | |||
Analysis of other methods for a head to learn of the state of an P2MP MPLS 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> | </ul> | |||
BFD Control packet MAY be encapsulated in IP/UDP with the destination IP address | ||||
of the ingress LSR | <t> | |||
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> | </t> | |||
<li> | ||||
these BFD Control packets are transmitted at the rate of one per second | <t> | |||
until either it receives a control packet valid for this BFD session | The BFD Control packets are transmitted at the rate of one per | |||
with the Final (F) bit set from the ingress LSR or the defect | second until either 1) the egress LSA receives a control packet from the ing | |||
condition clears. However, to improve the likelihood of notifying the ingress | ress LSR | |||
LSR of the failure of the p2mp MPLS LSP, | that is valid for this BFD session and has the Final (F) bit set or 2) the | |||
the egress LSR SHOULD initially transmit three BFD Control packets defined abo | defect condition clears. | |||
ve in short succession. | However, to improve the likelihood of notifying the ingress LSR of the failure | |||
The actual transmission of the periodic BFD Control message MUST be jittered b | of the P2MP MPLS LSP, | |||
y up to 25% within one-second intervals. | the egress LSR <bcp14>SHOULD</bcp14> initially transmit three BFD Control pack | |||
Thus, the interval MUST be reduced by a random value of 0 to 25%, to reduce th | ets (as defined above) in short succession. | |||
e possibility of congestion on the ingress LSR's | The actual transmission of the periodic BFD Control packet <bcp14>MUST</bcp14> | |||
be jittered by up to 25% within one-second intervals. | ||||
Thus, the interval <bcp14>MUST</bcp14> be reduced by a random value of 0 to 25 | ||||
%, to reduce the possibility of congestion on the ingress LSR's | ||||
data and control planes. | data and control planes. | |||
</li> | </t> | |||
</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"/> | ||||
as in <xref target="dummy-ipv6-range-table"/>. | <!-- [rfced] An informative reference is listed for the "IANA IPv6 Special | |||
</t> | Purpose Address Registry" in Section 7.1. Would you like to also add an | |||
<table anchor="dummy-ipv6-range-table" align="center"> | informative reference for the "MPLS Generalized Associated Channel | |||
<name>Dummy IPv6 Address Prefix</name> | (G-ACh) Types" registry in Section 7.2? | |||
<thead> | --> | |||
<tr> | ||||
<th align="left">Address Block</th> | ||||
<th align="left">Name</th> | ||||
<th align="left">RFC</th> | ||||
<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 <xref target="IANA-G-ACh-TYPES"/>. | |||
</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> | |||
<reference anchor="IANA-G-ACh-TYPES" target="https://www.iana.org/assignments/g- | ||||
ach-parameters"> | ||||
<front> | ||||
<title>MPLS Generalized Associated Channel (G-ACh) Types</title> | ||||
<author> | ||||
<organization>IANA</organization> | ||||
</author> | ||||
</front> | ||||
</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] 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. 87 change blocks. | ||||
388 lines changed or deleted | 402 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. |