| 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 address block | |||
| 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 address block 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 address block mig | |||
| discourages the use of the IPv6-mapped IPv4 loopback range address. | ht be used by existing implementations. This document | |||
| discourages the use of an address in the IPv6-mapped IPv4 loopback address bl | ||||
| ock. | ||||
| </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 address block.</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 | 403 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. | ||||