rfc9026xml2.original.xml   rfc9026.xml 
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?rfc toc="yes"?>
<?rfc tocompact="yes"?> <!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent">
<?rfc tocdepth="3"?> <rfc xmlns:xi="http://www.w3.org/2001/XInclude" category="std" number="9026" doc
<?rfc tocindent="yes"?> Name="draft-ietf-bess-mvpn-fast-failover-15" ipr="trust200902" submissionType="I
<?rfc symrefs="yes"?> ETF" consensus="true" xml:lang="en" tocInclude="true" tocDepth="3" symRefs="tru
<?rfc sortrefs="yes"?> e" sortRefs="true" version="3">
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<rfc category="std" docName="draft-ietf-bess-mvpn-fast-failover-15" ipr="trust20
0902">
<front> <front>
<title abbrev="MVPN Fast Upstream Failover">Multicast VPN Fast Upstream Fail over</title> <title abbrev="MVPN Fast Upstream Failover">Multicast VPN Fast Upstream Fail over</title>
<seriesInfo name="RFC" value="9026"/>
<author fullname="Thomas Morin" initials="T." role="editor" surname="Morin"> <author fullname="Thomas Morin" initials="T." role="editor" surname="Morin">
<organization>Orange</organization> <organization>Orange</organization>
<address> <address>
<postal> <postal>
<street>2, avenue Pierre Marzin</street> <street>2, avenue Pierre Marzin</street>
<city>Lannion</city> <city>Lannion</city>
<code>22307</code> <code>22307</code>
<country>France</country> <country>France</country>
</postal> </postal>
<email>thomas.morin@orange.com</email>
<email>thomas.morin@orange-ftgroup.com</email>
</address> </address>
</author> </author>
<author fullname="Robert Kebler" initials="R." role="editor" surname="Kebler "> <author fullname="Robert Kebler" initials="R." role="editor" surname="Kebler ">
<organization>Juniper Networks</organization> <organization>Juniper Networks</organization>
<address> <address>
<postal> <postal>
<street>1194 North Mathilda Ave.</street> <street>1194 North Mathilda Avenue</street>
<city>Sunnyvale</city> <city>Sunnyvale</city>
<region>CA</region> <region>CA</region>
<code>94089</code> <code>94089</code>
<country>United States of America</country>
<country>U.S.A.</country>
</postal> </postal>
<email>rkebler@juniper.net</email> <email>rkebler@juniper.net</email>
</address> </address>
</author> </author>
<author initials="G." surname="Mirsky" fullname="Greg Mirsky" role="editor">
<organization>ZTE Corp.</organization>
<address>
<email>gregimirsky@gmail.com</email>
</address>
</author>
<date month="April" year="2021"/>
<author initials="G." surname="Mirsky" fullname="Greg Mirsky" role="edito <keyword>BFD</keyword>
r"> <keyword>P2MP</keyword>
<organization>ZTE Corp.</organization>
<address>
<email>gregimirsky@gmail.com</email>
</address>
</author>
<date year="2021"/>
<abstract> <abstract>
<t>This document defines Multicast Virtual Private Network (VPN) extension <t>This document defines Multicast Virtual Private Network (VPN)
s and procedures that extensions and procedures that allow fast failover for upstream failures
allow fast failover for upstream failures by allowing downstream Provider by allowing downstream Provider Edges (PEs) to consider the status of
Edges (PEs) to Provider-Tunnels (P-tunnels) when selecting the Upstream PE for a VPN
consider the status of Provider-Tunnels (P-tunnels) when multicast flow. The fast failover is enabled by using "Bidirectional
selecting the Upstream PE for a VPN multicast flow. Forwarding Detection (BFD) for Multipoint Networks" (RFC 8562) and the
The fast failover is enabled by using new BGP Attribute, BFD Discriminator. Also, this document introduces a
RFC 8562 Bidirectional Forwarding Detection (BFD) for Multipoint Networks new BGP Community, Standby PE, extending BGP Multicast VPN (MVPN) routing
and the new BGP Attribute - BFD Discriminator. so
Also, the document that a C-multicast route can be advertised toward a Standby Upstream
introduces a new BGP Community, Standby PE, PE.</t>
extending BGP Multicast VPN routing so that a C-multicast route can be adv
ertised toward a
Standby Upstream PE.</t>
</abstract> </abstract>
</front> </front>
<middle> <middle>
<section title="Introduction"> <section>
<name>Introduction</name>
<t>It is assumed that the reader is <t>It is assumed that the reader is familiar with the workings of
familiar with the workings of multicast MPLS/BGP IP VPNs as described in multicast MPLS/BGP IP VPNs as described in <xref target="RFC6513"/> and
<xref target="RFC6513"/> and <xref target="RFC6514"/>.</t> <xref target="RFC6514"/>.</t>
<t>In the context of multicast in BGP/MPLS VPNs <xref
<t>In the context of multicast in BGP/MPLS VPNs <xref target="RFC6513"/>, target="RFC6513"/>, it is desirable to provide mechanisms allowing fast
it is desirable to recovery of connectivity on different types of failures. This document
provide mechanisms allowing fast recovery of connectivity on different addresses failures of elements in the provider network that are upstream
types of failures. This document addresses failures of elements in the of PEs connected to VPN sites with receivers.</t>
provider network that are upstream of PEs connected to VPN sites with <t>
receivers.</t>
<t>
<xref target="tunnel-status"/> <xref target="tunnel-status"/>
describes local procedures allowing an egress PE (a PE connected to describes local procedures allowing an egress PE (a PE connected to
a receiver site) to take into account the status of P-tunnels to a receiver site) to take into account the status of P-tunnels to
determine the Upstream Multicast Hop (UMH) for a given (C-S, determine the Upstream Multicast Hop (UMH) for a given
C-G). One of the optional methods uses <xref target="RFC8562"/> and th (C-S,C-G). One of the optional methods uses <xref target="RFC8562"/>
e new BGP Attribute - BFD Discriminator. and the new BGP Attribute, BFD Discriminator. None of these methods
None of these methods provide a "fast failover" solution provide a "fast failover" solution when used alone but can be used
when used alone, but can be used together with the mechanism described together with the mechanism described in <xref
in <xref target="standby-join"/> target="standby-join"/> for a "fast failover" solution.
for a "fast failover" solution. </t>
</t> <t>
<t>
<xref target="standby-join"/> <xref target="standby-join"/>
describes an optional BGP extension, a new Standby PE Community. that describes an optional BGP extension, a new Standby PE
can speed up failover by not Community, that can speed up failover by not requiring any Multicast
requiring any multicast VPN (MVPN) routing message exchange at recover VPN (MVPN) routing message exchange at recovery time.
y time. </t>
</t>
<t> <t>
<xref target="hot-standby"/> <xref target="hot-standby"/>
describes a "hot leaf standby" mechanism that can be used to improve failo describes a "hot root standby" mechanism that can be used to improve
ver time in MVPN. failover time in MVPN. The approach combines mechanisms defined in
The approach combines Sections <xref target="tunnel-status" format="counter"/> and <xref target=
mechanisms defined in <xref target="tunnel-status"/> and <xref target="sta "standby-join" format="counter"/> and
ndby-join"/>, has similarities with the solution described in <xref target="RFC7431"/>
and has similarities with the solution to improve failover times when PIM routing is used in a network given
described in <xref target="RFC7431"/> to improve failover some topology and metric constraints.
times when PIM routing is used in a network given some topology and
metric constraints.
</t> </t>
<t> <t>
The procedures described in this document are optional and allow The procedures described in this document are optional and allow an
an operator to provide protection for multicast services in BGP/MPLS IP VP operator to provide protection for multicast services in BGP/MPLS IP
Ns. VPNs. An operator would enable these mechanisms using a method
An operator would enable these mechanisms using a method discussed in <xre discussed in <xref target="tunnel-status"/> combined with the redundancy
f target="tunnel-status"/> provided by a standby PE connected to the multicast flow source. PEs
combined with the redundancy provided by a standby PE connected to the mul that support these mechanisms would converge faster and thus provide a
ticast flow source. more stable multicast service. In the case that a BGP implementation
PEs that support these mechanisms would converge faster and thus provide a does not recognize or is configured not to support the extensions
more stable multicast service. defined in this document, the implementation will continue to provide
In the case that a BGP implementation the multicast service, as described in <xref target="RFC6513"/>.
does not recognize or is configured not to support the extensions defined
in this document,
the implementation will continue to provide the multicast service, as desc
ribed in <xref target="RFC6513"/>.
</t> </t>
</section> </section>
<section>
<name>Conventions Used in This Document</name>
<section>
<name>Requirements Language</name>
<section title="Conventions used in this document"> <t>
<section title="Requirements Language"> The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQU
<t> IRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>
NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"MAY", and "OPTIONAL" in this document are to be interpreted as "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> be interpreted as
when, and only when, they appear in all capitals, as shown here. described in BCP&nbsp;14 <xref target="RFC2119"/> <xref target="RFC8174"/>
</t> when, and only when, they appear in all capitals, as shown here.
</section> </t>
<section title="Terminology"> </section>
<t>The terminology used in this document is the terminology defined in <section>
<name>Terminology</name>
<t>The terminology used in this document is the terminology defined in
<xref target="RFC6513"/> and <xref target="RFC6514"> </xref>.</t> <xref target="RFC6513"/> and <xref target="RFC6514"> </xref>.</t>
<t>The term 'upstream' (lower case) throughout this document refers to lin ks and nodes <t>The term "upstream" (lower case) throughout this document refers to l inks and nodes
that are upstream to a PE connected to VPN sites with receivers of a multi cast flow.</t> that are upstream to a PE connected to VPN sites with receivers of a multi cast flow.</t>
<t>The term 'Upstream' (capitalized) throughout this document refers to a PE or an Autonomous <t>The term "Upstream" (capitalized) throughout this document refers to a PE or an Autonomous
System Border Router (ASBR) at which (S,G) or (*,G) data packets enter the VP N backbone or the local AS System Border Router (ASBR) at which (S,G) or (*,G) data packets enter the VP N backbone or the local AS
when traveling through the VPN backbone.</t> when traveling through the VPN backbone.</t>
</section> </section>
<section>
<name>Abbreviations</name>
<dl indent="12">
<section title="Acronyms"> <dt>PMSI:
<t>PMSI: P-Multicast Service Interface</t> </dt>
<t>I-PMSI: Inclusive PMSI</t> <dd>P-Multicast Service Interface
<t>S-PMSI: Selective PMSI</t> </dd>
<t>x-PMSI: Either an I-PMSI or an S-PMSI</t>
<t>P-tunnel: Provider-Tunnels</t>
<t>UMH: Upstream Multicast Hop</t>
<t>VPN: Virtual Private Network</t>
<t>MVPN: Multicast VPN</t>
<t>RD: Route Distinguisher</t>
<t>RP: Rendezvous Point</t>
<t>NLRI: Network Layer Reachability Information</t>
<t>VRF: VPN Routing and Forwarding Table</t>
<t>MED: Multi-Exit Discriminator</t>
<t>P2MP: Point-to-Multipoint</t>
</section>
</section> <dt>I-PMSI:
</dt>
<dd>Inclusive PMSI
</dd>
<section anchor="tunnel-status" title="UMH Selection Based on Tunnel Status" <dt>S-PMSI:
> </dt>
<dd>Selective PMSI
</dd>
<dt>x-PMSI:
</dt>
<dd>Either an I-PMSI or an S-PMSI
</dd>
<dt>P-tunnel:
</dt>
<dd>Provider-Tunnel
</dd>
<dt>UMH:
</dt>
<dd>Upstream Multicast Hop
</dd>
<dt>VPN:
</dt>
<dd>Virtual Private Network
</dd>
<dt>MVPN:
</dt>
<dd>Multicast VPN
</dd>
<dt>RD:
</dt>
<dd>Route Distinguisher
</dd>
<dt>RP:
</dt>
<dd>Rendezvous Point
</dd>
<dt>NLRI:
</dt>
<dd>Network Layer Reachability Information
</dd>
<dt>VRF:
</dt>
<dd>VPN Routing and Forwarding Table
</dd>
<dt>MED:
</dt>
<dd>Multi-Exit Discriminator
</dd>
<dt>P2MP:
</dt>
<dd>Point-to-Multipoint
</dd>
</dl>
</section>
</section>
<section anchor="tunnel-status">
<name>UMH Selection Based on Tunnel Status</name>
<t> <t>
Section 5.1 of <xref target="RFC6513"/> describes procedures used by a <xref target="RFC6513" sectionFormat="of" section="5.1"/> describes
multicast VPN downstream PE to determine the Upstream Multicast Hop procedures used by an MVPN downstream PE to determine the
(UMH) for a given (C-S, C-G). Upstream Multicast Hop (UMH) for a given (C-S,C-G).
</t> </t>
<t> <t>
For a given downstream PE and a given VRF, the P-tunnel corresponding For a given downstream PE and a given VRF, the P-tunnel corresponding
to a given Upstream PE for a given (C-S, C-G) state is the S-PMSI to a given Upstream PE for a given (C-S,C-G) state is the S-PMSI
tunnel advertised by that Upstream PE for this (C-S, C-G) and tunnel advertised by that Upstream PE for that (C-S,C-G) and
imported into that VRF, or if there isn't any such S-PMSI, the I-PMSI imported into that VRF or, if there isn't any such S-PMSI, the I-PMSI
tunnel advertised by that PE and imported into that VRF. tunnel advertised by that PE and imported into that VRF.
</t> </t>
<t> <t>
The procedure described here is an optional procedure that is based on The procedure described here is optional one, based on a
a downstream PE taking into account the status of P-tunnels downstream PE taking into account the status of P-tunnels rooted at each
rooted at each possible Upstream PE, for including or not including possible Upstream PE, for including or not including each given PE in the list
each given PE in the list of candidate UMHs for a given (C-S, C-G) of candidate UMHs for a given (C-S,C-G) state. If it is not possible to
state. determine whether a P-tunnel's current status is Up, the state shall be
If it is not possible to determine whether a P-tunnel's current status is Up, considered "not known to be Down", and it may be treated as if it is Up so
the state shall be considered "not known to be Down", that attempts to use the tunnel are acceptable. The result is that, if a
and it may be treated as if it is Up so that attempts to use the tunnel are acce P-tunnel is Down (see <xref target="tunnel-status-determination"/>), the PE
ptable. that is the root of the P-tunnel will not be considered for UMH
The result is that, if a P-tunnel is Down (see selection. This will result in the downstream PE failing over to use the next
<xref target="tunnel-status-determination"/>), the PE that is the root of the Upstream PE in the list of candidates.
P-tunnel will not be
considered for UMH selection. This will result in the downstream PE failing o
ver to
   use the next Upstream PE in the list of candidates.
Some downstream PEs could arrive at a different conclusion Some downstream PEs could arrive at a different conclusion regarding the
regarding the tunnel's state because the failure impacts only a subset of bra tunnel's state because the failure impacts only a subset of branches. Because
nches. of that, the procedures of <xref target="RFC6513" sectionFormat="of"
Because of that, the procedures of Section 9.1.1 of <xref target="RFC6513"/> are section="9.1.1"/> are applicable when using I-PMSI P-tunnels. That document
applicable when using I-PMSI P-tunnels. is a foundation for this document, and its processes all apply here.
That document is a foundation for this document, and its processes all apply her
e.
<!--
Section 9.1.1 of <xref target="RFC6513"/> mandates the use of specific procedure
s for sending intra-AS I-PMSI A-D Routes.
</t>
<t> </t>
There are three options specified in Section 5.1 of [RFC6513] for a <t>
downstream PE to select an Upstream PE. There are three options specified in <xref target="RFC6513"
<list style="symbols"> sectionFormat="of" section="5.1"/> for a downstream PE to select an
Upstream PE.
</t>
<ul spacing="normal">
<li>
<t> <t>
The first two options select the Upstream PE from a candidate PE The first two options select the Upstream PE from a candidate PE
set either based on an IP address or a hashing algorithm. When used set based either on an IP address or a hashing algorithm. When used
together with the optional procedure of considering the P-tunnel together with the optional procedure of considering the P-tunnel
status as in this document, a candidate Upstream PE is included in status as in this document, a candidate Upstream PE is included in
the set if it either: the set if it either:
<list style="letters"> </t>
<t> <ol spacing="normal" type="a"><li>
advertises an x-PMSI bound to a tunnel, where the specified tunnel's s tate advertises an x-PMSI bound to a tunnel, where the specified tunnel's s tate
is not known to be Down, or, is not known to be Down, or,
</t> </li>
<t> <li>
does not advertise any x-PMSI applicable to the given (C-S, C-G) does not advertise any x-PMSI applicable to the given (C-S,C-G)
but has associated a VRF Route Import BGP Extended Community to the but has associated a VRF Route Import BGP Extended Community to the
unicast VPN route for S. That is necessary to avoid unicast VPN route for S. That is necessary to avoid
incorrectly invalidating a UMH PE that would use a policy incorrectly invalidating a UMH PE that would use a policy
where no I-PMSI is advertised for a given VRF and where only where no I-PMSI is advertised for a given VRF and where only
S-PMSI are used. The S-PMSI can be advertised S-PMSIs are used. The S-PMSI can be advertised
only after the Upstream PE receives a C-multicast route for only after the Upstream PE receives a C-multicast route for
(C-S, C-G)/(C-*, C-G) to be carried over the advertised (C-S,C-G) / (C-*,C-G) to be carried over the advertised
S-PMSI. S-PMSI.
</t> </li>
</list> </ol>
<t>
If the resulting candidate set is empty, then the procedure is If the resulting candidate set is empty, then the procedure is
repeated without considering the P-tunnel status. repeated without considering the P-tunnel status.
</t> </t>
</li>
<t> <li>
The third option uses the installed UMH Route (i.e., the "best" The third option uses the installed UMH Route (i.e., the "best"
route towards the C-root) as the Selected UMH Route, and its route towards the C-root) as the Selected UMH Route, and its
originating PE is the selected Upstream PE. With the optional originating PE is the selected Upstream PE. With the optional
procedure of considering P-tunnel status as in this document, the procedure of considering P-tunnel status as in this document, the
Selected UMH Route is the best one among those whose originating Selected UMH Route is the best one among those whose originating
PE's P-tunnel is not "down". If that does not exist, the PE's P-tunnel is not "down". If that does not exist, the
installed UMH Route is selected regardless of the P-tunnel status. installed UMH Route is selected regardless of the P-tunnel status.
</t> </li>
</list> </ul>
</t> <section anchor="tunnel-status-determination">
<name>Determining the Status of a Tunnel</name>
<section anchor="tunnel-status-determination" title="Determining the Statu
s of a Tunnel">
<t> <t>
Different factors can be considered to determine the "status" of a Different factors can be considered to determine the "status" of a
P-tunnel and are described in the following sub-sections. The P-tunnel and are described in the following subsections. The optional
   optional procedures described in this section also handle the case when procedures described in this section also handle the case when the
   the downstream PEs do not all apply the same rules to define what the downstream PEs do not all apply the same rules to define what the
   status of a P-tunnel is status of a P-tunnel is (please see <xref target="dups"> </xref>), and
(please see <xref target="dups"> </xref>), and some of them will some of them will produce a result that may be different for different
produce a result that may be different for different downstream PEs. downstream PEs. Thus, the "status" of a P-tunnel in this section is
Thus, the "status" of a P-tunnel in this section is not a characteristic not a characteristic of the tunnel in itself but is the tunnel
of the tunnel in itself, but is the tunnel status, as seen from a partic status, as seen from a particular downstream PE. Additionally, some of
ular the following methods determine the ability of a downstream PE to
downstream PE. Additionally, some of the following methods determine receive traffic on the P-tunnel and not specifically on the status of
the ability of a downstream PE to receive traffic on the P-tunnel the P-tunnel itself. That could be referred to as "P-tunnel reception
and not specifically on the status of the P-tunnel itself. status", but for simplicity, we will use the terminology of P-tunnel
That could be referred to as "P-tunnel reception status", but for "status" for all of these methods.
simplicity, we will use the terminology of P-tunnel "status" for
all of these methods.
</t> </t>
<t>Depending on the criteria used to determine the status of a <t>Depending on the criteria used to determine the status of a
P-tunnel, there may be an interaction with another resiliency mechanism P-tunnel, there may be an interaction with another resiliency mechanism
used for the P-tunnel itself, and the UMH update may happen used for the P-tunnel itself, and the UMH update may happen
immediately or may need to be delayed. Each particular case is covered immediately or may need to be delayed. Each particular case is covered
in each separate sub-section below.</t> in each separate subsection below.</t>
<t>An implementation may support any combination of the methods
<t>An implementation may support any combination of the methods describe described in this section and provide a network operator with control
d in this section and to choose which one to use in the particular deployment.</t>
provide a network operator with control to choose which one to use in th <section anchor="root-track-sec">
e particular deployment.</t> <name>MVPN Tunnel Root Tracking</name>
<section anchor="root-track-sec" title="MVPN Tunnel Root Tracking">
<t>When determining if the status of a P-tunnel is Up, a condition <t>When determining if the status of a P-tunnel is Up, a condition
to consider is whether the root of the tunnel, as specified to consider is whether the root of the tunnel, as specified
in the x-PMSI Tunnel attribute, is reachable through unicast routing t ables. In this case, in the x-PMSI Tunnel attribute, is reachable through unicast routing t ables. In this case,
the downstream PE can immediately update its UMH when the the downstream PE can immediately update its UMH when the
reachability condition changes.</t> reachability condition changes.</t>
<t>That is similar to BGP next-hop tracking for VPN routes, except <t>That is similar to BGP next-hop tracking for VPN routes, except
that the address considered is not the BGP next-hop address but the that the address considered is not the BGP next-hop address but the
root address in the x-PMSI Tunnel attribute. BGP next-hop tracking mon itors root address in the x-PMSI Tunnel attribute. BGP next-hop tracking mon itors
BGP next-hop address changes in the routing table.  In general, BGP next-hop address changes in the routing table. In general,
when a change is detected, it performs a next-hop scan to find when a change is detected, it performs a next-hop scan to find
if any of the next hops in the BGP table is affected and updates it ac cordingly.</t> if any of the next hops in the BGP table is affected and updates it ac cordingly.</t>
<t>If BGP next-hop tracking is done for VPN routes and the root <t>If BGP next-hop tracking is done for VPN routes and the root
address of a given tunnel happens to be the same as the next-hop address of a given tunnel happens to be the same as the next-hop
address in the BGP A-D Route advertising the tunnel, then checking, in address in the BGP A-D Route advertising the tunnel, then checking,
unicast routing tables, whether the tunnel root in unicast routing tables, whether the tunnel root is reachable will
is reachable, will be unnecessary duplication and thus will not bring be unnecessary duplication and will thus not bring any specific
any specific benefit.</t> benefit.</t>
</section> </section>
<section anchor="pe-p-link-status-sec">
<section anchor="pe-p-link-status-sec" title="PE-P Upstream Link Status" <name>PE-P Upstream Link Status</name>
>
<t> <t>
When determining if the status of a P-tunnel is Up, a condition to con When determining if the status of a P-tunnel is Up, a condition to
sider is whether the last-hop link of the P-tunnel is Up. consider is whether the last-hop link of the P-tunnel is Up.
Conversely, if the last-hop link of the P-tunnel is Down, then this ca Conversely, if the last-hop link of the P-tunnel is Down, then this
n be taken as an indication can be taken as an indication that the P-tunnel is Down.
that the P-tunnel is Down.
</t> </t>
<t> <t>
Using this method when a fast Using this method when a fast restoration mechanism (such as MPLS
restoration mechanism (such as MPLS FRR <xref target="RFC4090"/>) is i Fast Reroute (FRR) <xref target="RFC4090"/>) is in place for the link
n place for the link requires
requires careful consideration and coordination of defect detection in careful consideration and coordination of defect detection intervals
tervals for the link and the tunnel. for the link and the tunnel. When using multi-layer protection,
When using multi-layer protection, particular consideration must be gi particular consideration must be given to the interaction of defect
ven to the detections at different network layers. It is recommended to use
interaction of defect detections at different network layers. longer detection intervals at the higher layers. Some
It is recommended to use longer detection intervals at the higher laye recommendations suggest using a multiplier of 3 or larger, e.g., 10
rs. msec detection for the link failure detection and at least 100 msec
Some recommendations suggest using a multiplier of 3 or larger, e.g., for the tunnel failure detection. In many cases, it is not
10 msec detection for the link failure detection and at least 100 msec practical to use both protection methods simultaneously because
for the tunnel failure detection. uncorrelated timers might cause unnecessary switchovers and
In many cases, it is not practical to use both protection methods simu destabilize the network.
ltaneously because </t>
uncorrelated timers might cause unnecessary switchovers and destabilize
the network.
</t>
</section> </section>
<section anchor="rsvp-te-tunnel">
<section anchor="rsvp-te-tunnel" title="P2MP RSVP-TE Tunnels"> <name>P2MP RSVP-TE Tunnels</name>
<t> <t>
For P-tunnels of type P2MP MPLS-TE, the status of the P-tunnel is For P-tunnels of type P2MP MPLS-TE, the status of the P-tunnel is
considered Up if the sub-LSP to this downstream PE is in the Up state. The de considered Up if the sub-LSP to this downstream PE is in the Up
termination of state. The determination of whether a P2MP RSVP-TE Label Switched Path
whether a P2MP RSVP-TE LSP is in the Up state requires Path and Resv (LSP) is in the Up
state for the LSP and is based on procedures specified in <xref target state requires Path and Resv state for the LSP and is based on
="RFC4875"/>. procedures specified in <xref target="RFC4875"/>. As a result, the
As a result, the downstream PE can downstream PE can immediately update its UMH when the reachability
immediately update its UMH when the reachability condition condition changes.
changes.
</t> </t>
<t> <t>
When using this method and if the signaling state for a P2MP TE LSP is removed (e.g., if the When using this method and if the signaling state for a P2MP TE LSP is removed (e.g., if the
ingress of the P2MP TE LSP sends a PathTear message) or the P2MP TE ingress of the P2MP TE LSP sends a PathTear message) or the P2MP TE
LSP changes state from Up to Down as determined by procedures in LSP changes state from Up to Down as determined by procedures in
<xref target="RFC4875"/>, the status of the corresponding <xref target="RFC4875"/>, the status of the corresponding
P-tunnel MUST be re-evaluated. If the P-tunnel transitions from Up P-tunnel <bcp14>MUST</bcp14> be re-evaluated. If the P-tunnel transiti ons from Up
to Down state, the Upstream PE that is the ingress of the P-tunnel to Down state, the Upstream PE that is the ingress of the P-tunnel
MUST NOT be considered as a valid candidate UMH. <bcp14>MUST NOT</bcp14> be considered to be a valid candidate UMH.
</t> </t>
</section> </section>
<section anchor="leaf-init-tunnel">
<section anchor="leaf-init-tunnel" title="Leaf-initiated P-tunnels"> <name>Leaf-Initiated P-Tunnels</name>
<t>An Upstream PE MUST be removed from the UMH candidate list for a gi <t>An Upstream PE <bcp14>MUST</bcp14> be removed from the UMH candidat
ven (C-S, C-G) e list for a given (C-S,C-G)
if the P-tunnel (I-PMSI or S-PMSI) for this (S, G) is leaf-triggered if the P-tunnel (I-PMSI or S-PMSI) for this (S,G) is leaf triggered
(PIM, mLDP), but for some reason, internal to the protocol, the (PIM, mLDP), but for some reason, internal to the protocol, the
upstream one-hop branch of the tunnel from P to PE cannot be built. upstream one-hop branch of the tunnel from P to PE cannot be built.
As a result, the downstream PE can immediately update its UMH when As a result, the downstream PE can immediately update its UMH when
the reachability condition changes.</t> the reachability condition changes.</t>
</section> </section>
<section anchor="counter-info-tunnel">
<section anchor="counter-info-tunnel" title="(C-S, C-G) Counter Informat <name>(C-S,C-G) Counter Information</name>
ion">
<t>In cases where the downstream node can be configured so that the <t>In cases where the downstream node can be configured so that the
maximum inter-packet time is known for all the multicast flows maximum inter-packet time is known for all the multicast flows
mapped on a P-tunnel, the local per-(C-S, C-G) traffic counter mapped on a P-tunnel, the local traffic counter
information for traffic received on this P-tunnel can be used to information per (C-S,C-G) for traffic received on this P-tunnel can be
used to
determine the status of the P-tunnel.</t> determine the status of the P-tunnel.</t>
<t>When such a procedure is used, in the context where fast
restoration mechanisms are used for the P-tunnels, a configurable
timer <bcp14>MUST</bcp14> be set on the downstream PE to wait before
updating the UMH to let the P-tunnel restoration mechanism execute
its actions. Determining that a tunnel is probably down by waiting
for enough packets to fail to arrive as expected is a heuristic and
operational matter that depends on the maximum inter-packet time. A
timeout of three seconds is a generally suitable default waiting
period to ascertain that the tunnel is down, though other values
would be needed for atypical conditions.</t>
<t>When such a procedure is used, in the context where fast restoratio <t>In cases where this mechanism is used in conjunction with the
n method described in <xref target="hot-standby"/>, no prior knowledge
mechanisms are used for the P-tunnels, a configurable timer MUST be se of the rate or maximum inter-packet time on the multicast streams is
t required; downstream PEs can periodically compare actual packet
on the downstream PE to wait before updating the UMH to let the P-tunn reception statistics on the two P-tunnels to determine when one of
el them is down. The detailed specification of this mechanism is
restoration mechanism execute its actions. outside the scope of this document.</t>
Determining that a tunnel is probably down by waiting for enough packe
ts
to fail to arrive as expected is a heuristic and operational matter that
depends on the maximum inter-packet time.  A timeout of three seconds is a
generally suitable default waiting period to ascertain that the tunnel is
down, though other values would be needed for atypical conditions.</t>
<!--
<t>This method can be applicable, for instance, when a (C-S, C-G) flow
is
mapped on an S-PMSI.</t>
<t>In cases where this mechanism is used in conjunction with
the method described in <xref target="hot-standby"/>, no prior knowledge of the
rate or maximum inter-packet time on the
multicast streams is required; downstream PEs can periodically compare actual pa
cket
reception statistics on the two P-tunnels to determine when one of them is
down. The detailed specification of this mechanism is outside the scope of this
document.</t>
</section> </section>
<section anchor="bfd-tunnel">
<section anchor="bfd-tunnel" title="BFD Discriminator Attribute"> <name>BFD Discriminator Attribute</name>
<t> <t>
The P-tunnel status may be derived from the status of a multipoint BFD The P-tunnel status may be derived from the status of a multipoint
session <xref target="RFC8562"/> BFD session <xref target="RFC8562"/> whose discriminator is
whose discriminator is advertised along with an x-PMSI A-D Route. advertised along with an x-PMSI A-D Route. A P2MP BFD session can
A P2MP BFD session can be instantiated using a mechanism oth be instantiated using a mechanism other than the BFD Discriminator
er than the BFD Discriminator attribute, attribute, e.g., MPLS LSP Ping (<xref target="MPLS-P2MP-BFD"/>).
e.g., MPLS LSP Ping (<xref target="I-D.mirsky-mpls-p2mp-bfd"/>). The description of these methods is outside the scope of this
The description of these methods is outside the scope of this document document.
.
</t> </t>
<t> <t>
This document defines the format and ways of using a new BGP attribute This document defines the format and ways of using a new BGP
called the "BFD Discriminator". attribute called the "BFD Discriminator" (38). It is an optional
It is an optional transitive BGP attribute. Thus it is expected that a transitive BGP attribute. Thus, it is expected that an implementation
n implementation that does not recognize or is configured not to support this
that does not recognize or is configured not to support this attribute attribute, as if the attribute was unrecognized, follows procedures
, as if the attribute was unrecognized, defined for optional transitive path attributes in <xref
follows procedures defined for optional transitive path attributes in target="RFC4271" sectionFormat="of" section="5"/>. See <xref
Section 5 of <xref target="RFC4271"/>. target="iana-bfd-discr"/> for more information. The format of this at
In <xref target="iana-bfd-discr"/>, IANA is requested to allocate the tribute is shown in
codepoint value (TBA2). <xref target="bfd-attr-fig"/>.
The format of this attribute is shown in <xref target="bfd-attr-fig"/>
.
</t> </t>
<figure align="left" anchor="bfd-attr-fig" title="Format of the BFD Di <figure anchor="bfd-attr-fig">
scriminator Attribute"> <name>Format of the BFD Discriminator Attribute</name>
<artwork> <artwork align="left"><![CDATA[
<![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
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
| BFD Mode | | BFD Mode |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| BFD Discriminator | | BFD Discriminator |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~ Optional TLVs ~ ~ Optional TLVs ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork> ]]></artwork>
</figure> </figure>
<t> <t>
Where: Where:
<list style="hanging"> </t>
<t>BFD Mode field is one octet long. This specification defines the P2 <dl newline="false" spacing="normal">
MP BFD Session as value 1 <xref target="iana-bfd-discr"/>.</t> <dt/>
<t>BFD Discriminator field is four octets long.</t> <dd>BFD Mode field is 1 octet long. This specification defines
<t>Optional TLVs is the optional variable-length field that MAY be use P2MP BFD Session as value 1 (<xref
d in the BFD Discriminator attribute for future extensions. target="iana-bfd-discr"/>).</dd>
TLVs MAY be included in a sequential or nested manner. To allow for TL <dt/>
V nesting, <dd>BFD Discriminator field is 4 octets long.</dd>
<dt/>
<dd>
<t>Optional TLVs is the optional variable-length field that <bcp14
>MAY</bcp14> be used in the BFD Discriminator attribute for future extensions.
TLVs <bcp14>MAY</bcp14> be included in a sequential or nested manner.
To allow for TLV nesting,
it is advised to define a new TLV as a variable-length object. it is advised to define a new TLV as a variable-length object.
<xref target="opt-tlv-fig"/> presents the Optional TLV format TLV that consists of: <xref target="opt-tlv-fig"/> presents the Optional TLV format TLV that consists of:
<list style="symbols"> </t>
<t>Type - a one-octet-long field that characterizes the interpretation <dl spacing="normal">
of the Value field (<xref target="iana-bfd-attr-ext"/>)</t> <dt>Type:</dt><dd>a 1-octet-long field that characterizes the
<t>Length - a one-octet-long field equal to the length of the Value fi interpretation of the Value field (<xref
eld in octets</t> target="iana-bfd-attr-ext"/>)</dd>
<t>Value - a variable-length field.</t> <dt>Length:</dt><dd>a 1-octet-long field equal to the length of
</list> the Value field in octets</dd>
<dt>Value:</dt><dd>a variable-length field</dd>
</dl>
<t>
All multibyte fields in TLVs defined in this specification are in n etwork byte order. All multibyte fields in TLVs defined in this specification are in n etwork byte order.
</t> </t>
</list> </dd>
</dl>
<figure align="left" anchor="opt-tlv-fig" title="Format of t <figure anchor="opt-tlv-fig">
he Optional TLV"> <name>Format of the Optional TLV</name>
<artwork> <artwork align="left"><![CDATA[
<![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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Value ... | Type | Length | Value ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork> ]]></artwork>
</figure> </figure>
</t> <t>
<t>
An optional Source IP Address TLV is defined in this document. An optional Source IP Address TLV is defined in this document.
The Source IP Address TLV MUST be used when the value of the BFD Mode field's va The Source IP Address TLV <bcp14>MUST</bcp14> be used when the value of the BFD
lue is P2MP BFD Session. Mode field's value is P2MP BFD Session.
The BFD Discriminator attribute that does not include the Source IP Address TLV The BFD Discriminator attribute that does not include the Source IP Address TLV
MUST be handled <bcp14>MUST</bcp14> be handled
according to the "attribute discard" approach, as defined in <xref target="RFC76 06"/>. according to the "attribute discard" approach, as defined in <xref target="RFC76 06"/>.
For the Source IP Address TLV fields are set as follows: For the Source IP Address TLV, fields are set as follows:
<list style="symbols"> </t>
<t> <ul spacing="normal">
The Type field is set to 1 <xref target="iana-bfd-attr-ext"/>. <li>
</t> The Type field is set to 1 (<xref target="iana-bfd-attr-ext"/>).
<t> </li>
<li>
The Length field is 4 for the IPv4 address family and 16 for the IPv6 address fa mily. The Length field is 4 for the IPv4 address family and 16 for the IPv6 address fa mily.
The TLV is considered malformed if the field is set to any other value. The TLV is considered malformed if the field is set to any other value.
</t> </li>
<t> <li>
The Value field contains the address associated with the MultipointHead of the P 2MP BFD session. The Value field contains the address associated with the MultipointHead of the P 2MP BFD session.
</t> </li>
</list> </ul>
</t>
<t>
The BFD Discriminator attribute MUST be considered malformed
if its length is smaller than 11 octets or if Optional TLVs are presen
t, but not well-formed.
If the attribute is deemed to be malformed,
the UPDATE message SHALL be handled using the approach of Attribute D
iscard per <xref target="RFC7606"/>.
</t>
<!-- </section> -->
<section title="Upstream PE Procedures">
<t>
To enable downstream PEs to track the P-tunnel status using a point-to
-multipoint (P2MP) BFD session the Upstream PE:
<list style="symbols">
<t>
MUST initiate the BFD session and set bfd.SessionType = MultipointHead
as described in <xref target="RFC8562"/>;
</t>
<t>
when transmitting BFD Control packets MUST set the IP destination addr
ess of the inner IP header to
the internal loopback address 127.0.0.1/32 for IPv4 <xref target="RFC1
122"/>.
For IPv6, it MUST use the loopback address ::1/128 <xref target="RFC42
91"/>.
</t>
<t> <t>
MUST use the IP address included in the Source IP Address TLV of the B The BFD Discriminator attribute <bcp14>MUST</bcp14> be considered malf
FD Discriminator attribute ormed
as the source IP address when transmitting BFD Control packets; if its length is smaller than 11 octets or if Optional TLVs are presen
</t> t but not well formed.
<t> If the attribute is deemed to be malformed,
MUST include the BFD Discriminator attribute in the x-PMSI A-D Route w the UPDATE message <bcp14>SHALL</bcp14> be handled using the approach
ith the value set to My Discriminator value; of Attribute Discard per <xref target="RFC7606"/>.
</t> </t>
<t>
MUST periodically transmit BFD Control packets
over the x-PMSI P-tunnel after the P-tunnel is considered established.
Note that the methods to declare that a P-tunnel has been established
are outside the scope of this specification.
</t>
</list>
</t> <section>
<name>Upstream PE Procedures</name>
<t>
To enable downstream PEs to track the P-tunnel status using a
point-to-multipoint (P2MP) BFD session, the Upstream PE:
<t> </t>
If the tracking of the P-tunnel by using a P2MP BFD session is <ul spacing="normal">
enabled after the x-PMSI A-D Route has been already advertised, <li>
the x-PMSI A-D <bcp14>MUST</bcp14> initiate the BFD session and set bfd.SessionType
Route MUST be re-sent with the only change between the previous advertisement = MultipointHead as described in <xref target="RFC8562"/>;
and </li>
the new advertisement to be <li>
the inclusion of the BFD Discriminator attribute. when transmitting BFD Control packets <bcp14>MUST</bcp14> set the IP
</t> destination address of the inner IP header to the internal loopback
address 127.0.0.1/32 for IPv4 <xref target="RFC1122"/>. For IPv6,
it <bcp14>MUST</bcp14> use the loopback address ::1/128 <xref
target="RFC4291"/>;
</li>
<li>
<bcp14>MUST</bcp14> use the IP address included in the Source IP
Address TLV of the BFD Discriminator attribute as the source IP
address when transmitting BFD Control packets;
</li>
<li>
<bcp14>MUST</bcp14> include the BFD Discriminator attribute in the
x-PMSI A-D Route with the value set to the My Discriminator value;
</li>
<li>
<bcp14>MUST</bcp14> periodically transmit BFD Control packets over
the x-PMSI P-tunnel after the P-tunnel is considered established.
Note that the methods to declare that a P-tunnel has been
established are outside the scope of this specification.
<t> </li>
</ul>
<t>
If the tracking of the P-tunnel by using a P2MP BFD session is enabled
after the x-PMSI A-D Route has been already advertised, the x-PMSI A-D
Route <bcp14>MUST</bcp14> be resent with the only change between the
previous advertisement and the new advertisement to be the inclusion of the
BFD Discriminator attribute.
</t>
<t>
If the x-PMSI A-D Route is advertised with P-tunnel status tracked using If the x-PMSI A-D Route is advertised with P-tunnel status tracked using
the P2MP BFD session, and it is desired to stop tracking P-tunnel the P2MP BFD session, and it is desired to stop tracking P-tunnel
status using BFD, then: status using BFD, then:
<list style="symbols"> </t>
<t> <ul spacing="normal">
x-PMSI A-D Route MUST be re-sent with the only change between the prev <li>
ious advertisement and the x-PMSI A-D Route <bcp14>MUST</bcp14> be resent with the only
the new advertisement be the exclusion of the BFD Discriminator attribute; change between the previous advertisement and the new advertisement
</t> be the exclusion of the BFD Discriminator attribute;
<t> </li>
the P2MP BFD session MUST be deleted. The session MAY be deleted <li>
after some configurable delay, which should have a reasonable default. the P2MP BFD session <bcp14>MUST</bcp14> be deleted. The session
</t> <bcp14>MAY</bcp14> be deleted after some configurable delay, which
</list> should have a reasonable default.
</li>
</t> </ul>
</section> </section>
<section>
<section title="Downstream PE Procedures"> <name>Downstream PE Procedures</name>
<t> <t>
Upon receiving the BFD Discriminator attribute in the x-PMSI A-D Route , the downstream PE: Upon receiving the BFD Discriminator attribute in the x-PMSI A-D Route , the downstream PE:
<list style="symbols"> </t>
<t> <ul spacing="normal">
MUST associate the received BFD Discriminator value with the P-tunnel <li>
<bcp14>MUST</bcp14> associate the received BFD Discriminator value wit
h the P-tunnel
originating from the Upstream PE and the IP address of the Upstream PE ; originating from the Upstream PE and the IP address of the Upstream PE ;
</t> </li>
<t> <li>
MUST create a P2MP BFD session and set bfd.SessionType = MultipointTai <bcp14>MUST</bcp14> create a P2MP BFD session and set bfd.SessionType
l = MultipointTail
as described in <xref target="RFC8562"/>; as described in <xref target="RFC8562"/>;
</t> </li>
<t> <li>
to properly demultiplex BFD session MUST use: <t>
<list style="hanging"> to properly demultiplex BFD session, <bcp14>MUST</bcp14> use:
<t>the IP address in the Source IP Address TLV included the BFD Discri </t>
minator attribute in the x-PMSI A-D
Route;</t> <ul>
<t>the value of the BFD Discriminator field in the BFD Discriminator attri <li>the IP address in the Source IP Address TLV included the BFD Discriminator
bute;</t> attribute in the x-PMSI A-D Route;
<t>the x-PMSI Tunnel Identifier <xref target="RFC6514"/> the BFD Control p </li>
acket was received on.</t> <li>the value of the BFD Discriminator field in the BFD Discriminator
</list> attribute;
</t> </li>
</list> <li>the x-PMSI Tunnel Identifier <xref target="RFC6514"/> the BFD Control
packet was received on.
</li>
</ul>
</li>
</ul>
<t>
After the state of the P2MP BFD session is up, i.e., bfd.SessionState == Up, After the state of the P2MP BFD session is up, i.e., bfd.SessionState == Up,
the session state will then be used to track the health of the P-tunn el. the session state will then be used to track the health of the P-tunn el.
</t> </t>
<t> <t>
According to <xref target="RFC8562"/>, if the downstream PE According to <xref target="RFC8562"/>, if the downstream PE receives
receives Down or AdminDown in the State field of the BFD Control packe Down or AdminDown in the State field of the BFD Control packet, or
t or if the Detection Timer associated with the BFD session expires, the
associated with the BFD session Detection Timer associated with the BF BFD session is down, i.e., bfd.SessionState == Down. When the BFD
D session expires, the BFD session is down, session state is Down, then the P-tunnel associated with the BFD
i.e., bfd.SessionState == Down. When the BFD session state is Down, session <bcp14>MUST</bcp14> be considered down. If the site that
then the P-tunnel associated with the BFD session MUST be considered d contains C-S is connected to two or more PEs, a downstream PE will
own. select one as its Primary Upstream PE, while others are considered
If the site that contains C-S is connected to two or more PEs, a downs to be Standby Upstream PEs. In such a scenario, when the P-tunnel
tream PE is considered down, the downstream PE <bcp14>MAY</bcp14> initiate a
will select one as its Primary Upstream PE, while others are considere switchover of the traffic from the Primary Upstream PE to the
d as Standby Upstream PEs. Standby Upstream PE only if the Standby Upstream PE is deemed to be
In such a scenario, when the P-tunnel is considered down, in the Up state. That <bcp14>MAY</bcp14> be determined from the
the downstream PE MAY initiate a switchover of the traffic from the state of a P2MP BFD session with the Standby Upstream PE as the
Primary Upstream PE to the Standby Upstream PE only if the Standby Ups MultipointHead.
tream PE is deemed to be in the Up state. </t>
That MAY be determined from the state of a P2MP BFD session with the S <t>
tandby Upstream PE as the MultipointHead.
</t>
<t> If the downstream PE's P-tunnel is already established when the
If the downstream PE's P-tunnel is already established when the downst downstream PE receives the new x-PMSI A-D Route with the BFD
ream PE Discriminator attribute, the downstream PE <bcp14>MUST</bcp14>
receives the new x-PMSI A-D Route with BFD Discriminator attribute, associate the value of the BFD Discriminator field with the P-tunnel
the downstream PE MUST associate the value of BFD Discriminator and follow procedures listed above in this section if and only if
field with the P-tunnel and follow procedures listed above in this sec the x-PMSI A-D Route was properly processed as per <xref
tion target="RFC6514"/>, and the BFD Discriminator attribute was
if and only if the x-PMSI A-D Route was properly processed validated.
as per <xref target="RFC6514"/>, and the BFD Discriminator attribute w </t>
as validated. <t>
</t> If the downstream PE's P-tunnel is already established, its state
being monitored by the P2MP BFD session set up using the BFD
Discriminator attribute, and both the downstream PE receives the new
x-PMSI A-D Route without the BFD Discriminator attribute and the
x-PMSI A-D Route was processed without any error as per the relevant
specifications, then:
</t>
<ul spacing="normal">
<li>
The downstream PE <bcp14>MUST</bcp14> stop processing BFD Control
packets for this P2MP BFD session;
</li>
<li>
The P2MP BFD session associated with the P-tunnel
<bcp14>MUST</bcp14> be deleted. The session <bcp14>MAY</bcp14> be
deleted after some configurable delay, which should have a
reasonable default.
</li>
<li>
The downstream PE <bcp14>MUST NOT</bcp14> switch the traffic to the
Standby Upstream PE.
</li>
</ul>
</section>
</section>
<section>
<name>BFD Discriminator per PE-CE Link</name>
<t> <t>
If the downstream PE's P-tunnel is already established, its state bein The following approach is defined in response to the detection by the
g Upstream PE of a PE-CE link failure. Even though the provider tunnel is
   monitored by the P2MP BFD session set up using the BFD Discriminator still up, it is desired for the downstream PEs to switch to a backup
   attribute, and the downstream PE receives the new x-PMSI A-D Route Upstream PE. To achieve that, if the Upstream PE detects that its PE-CE
without the BFD Discriminator attribute, and the x-PMSI A-D Route was link fails, it <bcp14>MUST</bcp14> set the bfd.LocalDiag of the P2MP BFD
processed without any error session to Concatenated Path Down or Reverse Concatenated Path Down (per
as per the relevant specifications, the downstream PE: <xref target="RFC5880" sectionFormat="of" section="6.8.17"/>) unless it
<list style="symbols"> switches to a new PE-CE link within the time of bfd.DesiredMinTxInterval
<t> for the P2MP BFD session (in that case, the Upstream PE will start tracking
MUST stop processing BFD Control packets for this P2MP BFD session; the status of the new PE-CE link). When a downstream PE receives that
</t> bfd.LocalDiag code, it treats it as if the tunnel itself failed and tries
<t> to switch to a backup PE.
the P2MP BFD session associated with the P-tunnel MUST be deleted. The
session MAY be deleted
after some configurable delay, which should have a reasonable default.
</t>
<t>
MUST NOT switch the traffic to the Standby Upstream PE.
</t>
</list>
</t>
<!--
<t>
In such a scenario, in the context where fast restoration
mechanisms are used for the P-tunnels, leaf PEs should be
configured to wait before updating the UMH, to let the P-tunnel
restoration mechanism happen. A configurable timer MUST be provided
for this purpose, and it is RECOMMENDED to provide a reasonable
default value for this timer.
</t> </t>
-->
</section>
</section> </section>
<section anchor="operational-sec">
<name>Operational Considerations for Monitoring a P-Tunnel's Status</n
ame>
<t>
Several methods to monitor the status of a P-tunnel are described in <xref targe
t="tunnel-status-determination"/>.
<section title="Per PE-CE Link BFD Discriminator"> </t>
<t> <t>
The following approach is defined in response to the detection by the Tracking the root of an MVPN (<xref target="root-track-sec"/>) reveals the
Upstream PE of a PE-CE link failure. Even though the provider tunnel status of a P-tunnel based on the control plane information. Because, in
is still up, it is desired for the downstream PEs to switch to a general, the MPLS data plane is not fate sharing with the control plane, this
backup Upstream PE. To achieve that, if the Upstream PE detects that method might produce false-positive or false-negative alarms, for example,
its PE-CE link fails, it MUST set the bfd.LocalDiag of the P2MP BFD resulting in tunnels that are considered Up but are not able to reach the
session to Concatenated Path Down or Reverse Concatenated Path root, or ones that are declared down prematurely. On the other hand, because
Down (per Section 6.8.17 [RFC5880]), unless it switches to a new PE- BGP next-hop tracking is broadly supported and deployed, this method might be
CE link within the time of bfd.DesiredMinTxInterval for the P2MP BFD the easiest to deploy.
session (in that case, the Upstream PE will start tracking the status </t>
of the new PE-CE link). When a downstream PE receives that
bfd.LocalDiag code, it treats it as if the tunnel itself failed and
tries to switch to a backup PE.
</t>
</section>
<section anchor="operational-sec" title="Operational Considerations for Monitori <t>
ng P-Tunnel's Status"> The method described in <xref target="pe-p-link-status-sec"/> monitors the state
<t> of the data plane but only for an egress P-PE link of a P-tunnel. As a result,
Several methods to monitor the status of a P-tunnel are described in <xref targe network failures that affect upstream links might not be detected using this
t="tunnel-status-determination"/>. method and the MVPN convergence would be determined by the convergence of the
<!--Though there might be no perfect method, a comparison of benefits and challe BGP control plane.
nges of each technique could be helpful </t>
to both implementors and network operators.--> <t>
</t>
<t>
Tracking the root of an MVPN (<xref target="root-track-sec"/>) concludes about t
he status of a P-tunnel
based on the control plane information. Because, in general, the MPLS data plane
is not fate-sharing with the control plane,
this method might produce false positive or false negative alarms, For example,
resulting in tunnels that considered as being up but are
not able to reach the root, or ones that are declared down
prematurely. On the other hand, because BGP next-hop tracking is broadly
supported and deployed, this method might be the easiest to deploy.
</t>
<t>
Method described in <xref target="pe-p-link-status-sec"/> monitors the state of
the data plane but only for an egress P-PE link
of a P-tunnel. As a result, network failures that affect upstream links might no
t be detected using this method
and the MVPN convergence would be determined by the convergence of the BGP contr
ol plane.
</t>
<t>
Using the state change of a P2MP RSVP-TE LSP as the trigger to re-evaluate the s tatus of the P-tunnel (<xref target="rsvp-te-tunnel"/>) Using the state change of a P2MP RSVP-TE LSP as the trigger to re-evaluate the s tatus of the P-tunnel (<xref target="rsvp-te-tunnel"/>)
relies on the mechanism used to monitor the state of the P2MP LSP. relies on the mechanism used to monitor the state of the P2MP LSP.
</t> </t>
<t> <t>
The method described in <xref target="leaf-init-tunnel"/> is simple The method described in <xref target="leaf-init-tunnel"/> is simple
and is safe from causing false alarms, e.g., considering a tunnel operationally and is safe from causing false alarms, e.g., considering a tunnel operationally
up even though its data path has a defect or, conversely, declaring a tunnel fai Up even though its data path has a defect or, conversely, declaring a tunnel fai
led when it is unaffected. led when it is unaffected.
But the method applies to a sub-set of MVPNs, those that use the leaf-triggered But the method applies to a subset of MVPNs, those that use the leaf-triggered
x-PMSI tunnels. x-PMSI tunnels.
</t> </t>
<t> <t>
Though some MVPN might be used to provide a multicast service with Though some MVPNs might be used to provide a multicast service with
predictable interpacket interval (<xref target="counter-info-tunnel"/>), the num predictable inter-packet intervals (<xref target="counter-info-tunnel"/>), the n
ber of such cases seem limited. umber of such cases seem limited.
</t> </t>
<t> <t>
Monitoring the status of a P-tunnel using p2mp BFD session (<xref target="bfd-tu
nnel"/>) Monitoring the status of a P-tunnel using a P2MP BFD session (<xref
may produce the most accurate and expedient failure notification of all monitori target="bfd-tunnel"/>) may produce the most accurate and expedient failure
ng methods discussed. notification of all monitoring methods discussed. On the other hand, it
On the other hand, it requires careful consideration of the additional load of B requires careful consideration of the additional load of BFD sessions onto
FD onto network and PE nodes. network and PE nodes. Operators should consider the rate of BFD Control
Operators should consider the rate of BFD Control packets transmitted by root PE packets transmitted by root PEs combined with the number of such PEs in the
s network. In addition, the number of P2MP BFD sessions per PE determines the
combined with the number of such PEs in the network. In addition, the number of amount of state information that a PE maintains.
P2MP BFD sessions per PE determines
the amount of state information that a PE maintains.
</t> </t>
</section>
</section> </section>
</section> </section>
</section>
<section anchor="standby-join">
<name>Standby C-Multicast Route</name>
<section anchor="standby-join" title="Standby C-multicast Route">
<t> <t>
The procedures described below are limited to the case where the site The procedures described below are limited to the case where the site
that contains C-S is connected to two or more PEs, though, to simplify that contains C-S is connected to two or more PEs, though to simplify
the description, the case of dual-homing is described. In the case where m the description, the case of dual homing is described. In the case where
ore than two PEs are connected to the C-s site, more than two PEs are connected to the C-S site, selection of the
selection of the Standby PE can be performed using one of the methods of s Standby PE can be performed using one of the methods of selecting a
electing UMH. Details of the selection are outside the scope of this document.
a UMH. Details of the selection are outside the scope of this document. The procedures require all the PEs of that MVPN to follow the same UMH
The procedures require all the PEs of that MVPN to follow the same UMH sele selection procedure, as specified in <xref target="RFC6513"/>,
ction procedure, regardless of whether the PE selected based on its IP address, the
as specified in <xref target="RFC6513"/>, whether the PE selected based on hashing algorithm described in <xref target="RFC6513" sectionFormat="of"
its IP address, section="5.1.3" />, or the Installed UMH Route. The consistency of the
the hashing algorithm described in section 5.1.3 of <xref target="RFC6513" UMH selection method used among all PEs is expected to be provided by
/>, or Installed UMH Route. the management plane. The procedures assume that if a site of a given
The consistency of the UMH selection method used among all PEs is expected MVPN that contains C-S is dual homed to two PEs, then all the other
to be sites of that MVPN would have two unicast VPN routes (VPN-IPv4 or
provided by the management plane. VPN-IPv6) to C-S, each with its own RD.
The procedures assume
that if a site of a given MVPN that contains C-S is dual-homed to two
PEs, then all the other sites of that MVPN would have two unicast VPN
routes (VPN-IPv4 or VPN-IPv6) to C-S, each with its own RD.
</t> </t>
<t>As long as C-S is reachable via both PEs, a given downstream PE will <t>As long as C-S is reachable via both PEs, a given downstream PE will
select one of the PEs connected to C-S as its Upstream PE for C-S. select one of the PEs connected to C-S as its Upstream PE for C-S. We
We will refer to the other PE connected to C-S as the "Standby will refer to the other PE connected to C-S as the "Standby Upstream
Upstream PE". Note that if the connectivity to C-S through the Primary PE". Note that if the connectivity to C-S through the Primary Upstream
Upstream PE becomes unavailable, then the PE will select the Standby PE becomes unavailable, then the PE will select the Standby Upstream PE
Upstream PE as its Upstream PE for C-S. When the Primary as its Upstream PE for C-S. When the Primary PE later becomes available,
PE later becomes available, then the PE will select the Primary Upstream the PE will select the Primary Upstream PE again as its Upstream
PE again as its Upstream PE. Such behavior is referred to as "revertive" b PE. Such behavior is referred to as "revertive" behavior and
ehavior <bcp14>MUST</bcp14> be supported. Non-revertive behavior refers to the
and MUST be supported. Non-revertive behavior refers to the behavior behavior of continuing to select the backup PE as the UMH even after the
of continuing to select the backup PE as the UMH even after the Primary ha Primary has come up. This non-revertive behavior <bcp14>MAY</bcp14> also
s be supported by an implementation and would be enabled through some
come up. This non-revertive behavior MAY also be supported by an configuration. Selection of the behavior, revertive or non-revertive,
implementation and would be enabled through some configuration. is an operational issue, but it <bcp14>MUST</bcp14> be consistent on all
Selection of the behavior, revertive or non-revertive, is an operational i PEs in the given MVPN. While revertive is considered the default
ssue, but it MUST behavior, there might be cases where the switchover to the standby
be consistent on all PEs in the given MVPN. While revertive is considered tunnel does not affect other services and provides the required quality
the default behavior, of service. In this case, an operator might use non-revertive behavior
there might be cases where the switchover to the standby tunnel does not a to avoid unnecessary switchover and thus minimize disruption to the
ffect other services multicast service.</t>
and provides the required quality of service. An operator might use non-re
vertive behavior
to avoid unnecessary in such case switchover and thus minimize disruption
to the multicast service.</t>
<t>For readability, in the following sub-sections, the procedures are <t>For readability, in the following subsections, the procedures are
described for BGP C-multicast Source Tree Join routes, but they apply described for BGP C-multicast Source Tree Join routes, but they apply
equally to BGP C-multicast Shared Tree Join routes for the case equally to BGP C-multicast Shared Tree Join routes for the case where
where the customer RP is dual-homed (substitute "C-RP" to "C-S").</t> the customer RP is dual homed (substitute "C-RP" to "C-S").</t>
<section anchor="ds-behavior">
<section anchor="ds-behavior" title="Downstream PE Behavior"> <name>Downstream PE Behavior</name>
<t>When a (downstream) PE connected to some site of an MVPN needs to <t>When a (downstream) PE connected to some site of an MVPN needs to
send a C-multicast route (C-S, C-G), then following the procedures send a C-multicast route (C-S,C-G), then following the procedures
specified in Section 11.1 of <xref target="RFC6514"/>, the PE sends the specified in <xref target="RFC6514" sectionFormat="of"
C-multicast route with an RT that identifies the Upstream PE selected by section="11.1"/>, the PE sends the C-multicast route with an RT that
the PE originating the route. As long as C-S is reachable via the identifies the Upstream PE selected by the PE originating the
Primary Upstream PE, the Upstream PE is the Primary Upstream PE. If route. As long as C-S is reachable via the Primary Upstream PE, the
C-S is reachable only via the Standby Upstream PE, then the Upstream Upstream PE is the Primary Upstream PE. If C-S is reachable only via
PE is the Standby Upstream PE.</t> the Standby Upstream PE, then the Upstream PE is the Standby Upstream
PE.</t>
<t>If C-S is reachable via both the Primary and the Standby Upstream <t>If C-S is reachable via both the Primary and the Standby Upstream
PE, then in addition to sending the C-multicast route with an RT that PE, then in addition to sending the C-multicast route with an RT that
identifies the Primary Upstream PE, the downstream PE also originates an d sends a identifies the Primary Upstream PE, the downstream PE also originates an d sends a
C-multicast route with an RT that identifies the Standby Upstream PE. C-multicast route with an RT that identifies the Standby Upstream PE.
The route that has the semantics of being a "standby" C-multicast The route that has the semantics of being a "standby" C-multicast
route is further called a "Standby BGP C-multicast route", and is route is further called a "Standby BGP C-multicast route", and is
constructed as follows:</t> constructed as follows:</t>
<ul spacing="normal">
<t><list style="symbols"> <li>The NLRI is constructed as the C-multicast route with an RT that
<t>the NLRI is constructed as the C-multicast route with an RT that identifies the Primary Upstream PE, except that the RD is the same
identifies the Primary Upstream PE, as if the C-multicast route was built using the Standby Upstream PE
except that the RD is the same as if the C-multicast route was as the UMH (it will carry the RD associated to the unicast VPN route
built using the Standby Upstream PE as the UMH (it will carry the RD advertised by the Standby Upstream PE for S and a Route Target
associated to the unicast VPN route advertised by the Standby Upstre derived from the Standby Upstream PE's UMH route's VRF RT Import
am PE EC);</li>
for S and a Route Target derived from the Standby Upstream PE&#8217; <li>It <bcp14>MUST</bcp14> carry the "Standby PE" BGP Community
s UMH (0xFFFF0009); see <xref target="pe-standby-com-iana"/>.</li>
route&#8217;s VRF RT Import EC);</t> </ul>
<t>MUST carry the "Standby PE" BGP Community (this is a new BGP
Community. <xref target="pe-standby-com-iana"/> requested IANA to al
locate value TBA1).</t>
</list></t>
<t> <t>
The Local Preference attribute of the normal and the standby C-multicast The Local Preference attribute of both the normal and the standby
route C-multicast route needs to be adjusted as follows: if a BGP peer
needs to be adjusted. so that, if a BGP peer receives two C-multicast ro receives two C-multicast routes with the same NLRI, one carrying the
utes with "Standby PE" community and the other one not carrying the "Standby PE"
the same NLRI, one carrying the "Standby PE" community community, preference is given to the one not carrying the
and the other one not carrying the "Standby PE" community, "Standby PE" community. Such a situation can happen when, for
then preference is given to the one not carrying the "Standby PE" community. instance, due to transient unicast routing inconsistencies or lack of
Such a support of the Standby PE community, two different downstream PEs
situation can happen when, for instance, due to transient unicast consider different Upstream PEs to be the primary one. In that case,
routing inconsistencies or lack of support of the Standby PE community, without any precaution taken, both Upstream PEs would process a
two different downstream PEs consider standby C-multicast route and possibly stop forwarding at the same
different Upstream PEs to be the primary one. In that case, without time. For this purpose, routes that carry the Standby PE BGP Community
any precaution taken, both Upstream PEs would process a standby must have the LOCAL_PREF attribute set to the value lower than the
C-multicast route and possibly stop forwarding at the same time. For value specified as the LOCAL_PREF attribute for the route that does
this purpose, routes that carry the Standby PE BGP Community must have t not carry the Standby PE BGP Community. The value of zero is
he LOCAL_PREF <bcp14>RECOMMENDED</bcp14>.
attribute set to the value lower than the value specified as the LOCAL_P
REF
attribute for the route that does not carry the Standby PE BGP Community
. The value of zero is RECOMMENDED.
</t> </t>
<t>Note that, when a PE advertises such a Standby C-multicast join for <t>Note that when a PE advertises such a Standby C-multicast join for
a (C-S, C-G) it MUST join the corresponding P-tunnel.</t> a (C-S,C-G), it <bcp14>MUST</bcp14> join the corresponding P-tunnel.</t>
<t>If, at some later point, the PE determines that C-S is no longer
<t>If, at some later point, the PE determines that C-S is no reachable through the Primary Upstream PE, the Standby Upstream PE
longer reachable through the Primary Upstream PE, the Standby Upstream becomes the Upstream PE, and the PE resends the C-multicast route with
PE becomes the Upstream PE, and the PE re-sends the C-multicast the RT that identifies the Standby Upstream PE, except that now the
route with RT that identifies the Standby Upstream PE, except that now route does not carry the Standby PE BGP Community (which results in
the route does not carry the Standby PE BGP Community (which results replacing the old route with a new route, with the only difference
in replacing the old route with a new route, with the only difference
between these routes being the absence of the Standby PE BGP between these routes being the absence of the Standby PE BGP
Community). The new Upstream PE must set Community). The new Upstream PE must set the LOCAL_PREF attribute for
the LOCAL_PREF attribute for that C-multicast route to the same value as that C-multicast route to the same value as when the Standby PE BGP
when the Standby PE BGP Community was included in the advertisement.</t> Community was included in the advertisement.</t>
</section> </section>
<section anchor="us-behavior">
<section anchor="us-behavior" title="Upstream PE Behavior"> <name>Upstream PE Behavior</name>
<t> <t>
When a PE supporting this specification receives a C-multicast route for a parti When a PE supporting this specification receives a C-multicast route for a parti
cular (C-S, C-G) for which all of the following are true: cular (C-S,C-G) for which all of the following are true:
<list style="symbols"> </t>
<t>the RT carried in the route results in importing the route into a particular <ul spacing="normal">
VRF on the PE;</t> <li>the RT carried in the route results in importing the route into a
<t>the route carries the Standby PE BGP Community; and</t> particular VRF on the PE;</li>
<t> <li>the route carries the Standby PE BGP Community; and</li>
<li>
the PE determines (via a method of failure detection that is outside the scope o f this document) the PE determines (via a method of failure detection that is outside the scope o f this document)
that C-S is not reachable through some other PE (more details are in <xref targe t="reach-sec"/>), that C-S is not reachable through some other PE (more details are in <xref targe t="reach-sec"/>),
</t> </li>
</list> </ul>
then the PE MAY install VRF PIM state corresponding to this Standby BGP C-multic <t>
ast route then the PE <bcp14>MAY</bcp14> install VRF PIM state corresponding to this Stand
by BGP C-multicast route
(the result will be that a PIM Join message will be sent to the CE towards C-S, and that (the result will be that a PIM Join message will be sent to the CE towards C-S, and that
the PE will receive (C-S, C-G) traffic), and the PE MAY forward (C-S, C-G) the PE will receive (C-S,C-G) traffic), and the PE <bcp14>MAY</bcp14> forward (C -S,C-G)
traffic received by the PE to other PEs through a P-tunnel rooted at the PE. traffic received by the PE to other PEs through a P-tunnel rooted at the PE.
</t> </t>
<t>Furthermore, irrespective of whether C-S carried in that route is <t>Furthermore, irrespective of whether C-S carried in that route is
reachable through some other PE:</t> reachable through some other PE:</t>
<t><list style="hanging"> <ol type="a">
<t hangText="a)">based on local policy, as soon as the PE receives
this Standby BGP C-multicast route, the PE MAY install VRF PIM
state corresponding to this BGP Source Tree Join route (the result
will be that Join messages will be sent to the CE toward C-S, and
that the PE will receive (C-S, C-G) traffic)</t>
<t hangText="b)">based on local policy, as soon as the PE receives <li>based on local policy, as soon as the PE receives this Standby BGP
this Standby BGP C-multicast route, the PE MAY forward (C-S, C-G) C-multicast route, the PE <bcp14>MAY</bcp14> install VRF PIM state
traffic to other PEs through a P-tunnel independently of the corresponding to this BGP Source Tree Join route (the result will be that Join
reachability of C-S through some other PE. [note that this implies messages will be sent to the CE toward C-S, and that the PE will receive (C-S,C-
also doing a)]</t> G) traffic); and
</list></t> </li>
<t>Doing neither a) or b) for a given (C-S, C-G) is called "cold <li>based on local policy, as soon as the PE receives this Standby BGP
root standby".</t> C-multicast route, the PE <bcp14>MAY</bcp14> forward (C-S,C-G) traffic to
other PEs through a P-tunnel independently of the reachability of C-S through
some other PE. (note that this implies also doing step a.)
</li>
<t>Doing a) but not b) for a given (C-S, C-G) is called "warm root </ol>
standby".</t>
<t>Doing b) (which implies also doing a)) for a given (C-S, C-G) is <t>Doing neither step a nor step b for a given (C-S,C-G) is called "cold
root standby".</t>
<t>Doing step a but not step b for a given (C-S,C-G) is called "warm roo
t
standby".</t>
<t>Doing step b (which implies also doing step a) for a given (C-S,C-G)
is
called "hot root standby".</t> called "hot root standby".</t>
<t>Note that, if an Upstream PE uses an S-PMSI only policy, it shall <t>Note that, if an Upstream PE uses an S-PMSI-only policy, it shall
advertise an S-PMSI for a (C-S, C-G) as soon as it receives a C-multicas advertise an S-PMSI for a (C-S,C-G) as soon as it receives a C-multicast
t route for (C-S,C-G), normal or Standby; that is, it shall not wait for
route for (C-S, C-G), normal or Standby; i.e., it shall not wait for
receiving a non-Standby C-multicast route before advertising the receiving a non-Standby C-multicast route before advertising the
corresponding S-PMSI.</t> corresponding S-PMSI.</t>
<t>Section 9.3.2 of <xref target="RFC6513"/>, describes the procedures o <t><xref target="RFC6513" sectionFormat="of" section="9.3.2"/>
f describes the procedures of sending a Source-Active A-D Route as a
sending a Source-Active A-D Route as a result of receiving the C-multica result of receiving the C-multicast route. These procedures
st <bcp14>MUST</bcp14> be followed for both the normal and Standby
route. These procedures MUST be followed for both the normal and Standb
y
C-multicast routes.</t> C-multicast routes.</t>
</section> </section>
<section anchor="reach-sec">
<name>Reachability Determination</name>
<section anchor="reach-sec" title="Reachability Determination">
<t> <t>
The Standby Upstream PE can use the following information to determine t hat The Standby Upstream PE can use the following information to determine t hat
C-S can or cannot be reached through the Primary Upstream PE: C-S can or cannot be reached through the Primary Upstream PE:
<list style="symbols"> </t>
<t>presence/absence of a unicast VPN route toward C-S</t> <ul spacing="normal">
<li>presence/absence of a unicast VPN route toward C-S</li>
<t>supposing that the Standby Upstream PE is the egress of the tunne <li>supposing that the Standby Upstream PE is the egress of the tunnel
l rooted rooted
at the Primary Upstream PE, the Standby Upstream PE can determine th e reachability at the Primary Upstream PE, the Standby Upstream PE can determine th e reachability
of C-S through the Primary Upstream PE based on the status of this t unnel, of C-S through the Primary Upstream PE based on the status of this t unnel,
determined thanks to the same criteria as the ones described in determined thanks to the same criteria as the ones described in
<xref target="tunnel-status-determination"/> (without using <xref target="tunnel-status-determination"/> (without using
the UMH selection procedures of <xref target="tunnel-status"/>);</t> the UMH selection procedures of <xref target="tunnel-status"/>);</li
>
<t>other mechanisms may be used.</t> <li>other mechanisms</li>
</list> </ul>
</t>
</section> </section>
<section anchor="interas">
<section anchor="interas" title="Inter-AS"> <name>Inter-AS</name>
<t>If the non-segmented inter-AS approach is used, the procedures descri bed in <t>If the non-segmented inter-AS approach is used, the procedures descri bed in
<xref target="ds-behavior"/> through <xref target="reach-sec"/> can be a pplied.</t> <xref target="ds-behavior"/> through <xref target="reach-sec"/> can be a pplied.</t>
<t>When MVPNs are used in an inter-AS context with the
<t>When multicast VPNs are used in an inter-AS context with the segmented inter-AS approach described in <xref target="RFC6514"
segmented inter-AS approach described in Section 9.2 of <xref target="RF sectionFormat="of" section="9.2"/>, the procedures in this section can
C6514"/>, the procedures in be applied.</t>
this section can be applied.</t> <t>Prerequisites for the procedures described below to be applied
for a source of a given MVPN are:</t>
<t>A pre-requisite for the procedures described below to be applied <ul spacing="normal">
for a source of a given MVPN is:<list style="symbols"> <li>that any PE of this MVPN receives two or more Inter-AS I-PMSI
<t>that any PE of this MVPN receives two or more Inter-AS I-PMSI A-D Routes advertised by the AS of the source</li>
A-D Routes advertised by the AS of the source</t> <li>that these Inter-AS I-PMSI A-D Routes have distinct
Route Distinguishers (as described in item "(2)" of <xref target="RF
<t>that these Inter-AS I-PMSI A-D Routes have distinct C6514" section="9.2" sectionFormat="of"/>).</li>
Route Distinguishers (as described in item "(2)" of <xref target="RF </ul>
C6514">section 9.2 <t>
of</xref>).</t> As an example, these conditions will be satisfied when the source is
</list> dual homed to an AS that connects to the receiver AS through two
As an example, these conditions will be satisfied when the ASBR using autoconfigured RDs.</t>
source is dual-homed to an AS that connects to the receiver AS through <section>
two ASBR using auto-configured RDs.</t> <name>Inter-AS Procedures for Downstream PEs, ASBR Fast Failover</name
>
<section title="Inter-AS Procedures for downstream PEs, ASBR Fast Failov
er">
<t>The following procedure is applied by downstream PEs of an AS, <t>The following procedure is applied by downstream PEs of an AS,
for a source S in a remote AS.</t> for a source S in a remote AS.</t>
<t>In additional to choosing an Inter-AS I-PMSI A-D Route advertised
<t>Additionally to choosing an Inter-AS I-PMSI A-D Route from the AS of the source to construct a C-multicast route, as
advertised from the AS of the source to construct a C-multicast described in <xref target="RFC6514" sectionFormat="of"
route, as described in <xref target="RFC6514">section 11.1.3</xref>, a section="11.1.3"/>, a downstream PE will choose a second Inter-AS
downstream PE will choose a second Inter-AS I-PMSI A-D I-PMSI A-D Route advertised from the AS of the source and use this
Route advertised from the AS of the source and use this route to route to construct and advertise a Standby C-multicast route
construct and advertise a Standby C-multicast route (C-multicast (C-multicast route carrying the Standby extended community), as
route carrying the Standby extended community), as described in <xref described in <xref target="ds-behavior"> </xref>.</t>
target="ds-behavior"> </xref>.</t>
</section> </section>
<section>
<section title="Inter-AS Procedures for ASBRs"> <name>Inter-AS Procedures for ASBRs</name>
<t>When an Upstream ASBR receives a C-multicast route, and at least <t>When an Upstream ASBR receives a C-multicast route, and at least
one of the RTs of the route matches one of the ASBR Import RT, the one of the RTs of the route matches one of the ASBR Import RTs, the
ASBR, that supports this specification, must try to ASBR that supports this specification must try to locate an Inter-AS
locate an Inter-AS I-PMSI A-D Route whose RD and Source AS I-PMSI A-D Route whose RD and Source AS respectively match the RD
respectively match the RD and Source AS carried in the C-multicast rou and Source AS carried in the C-multicast route. If the match is
te. If found, and the C-multicast route carries the Standby PE BGP
the match is found, and the C-multicast route carries the Standby PE B Community, then the ASBR implementation that supports this
GP specification <bcp14>MUST</bcp14> be configurable to perform as
Community, then the ASBR implementation that supports this specificati follows:
on MUST be configurable to perform as follows: </t>
<list style="symbols"> <ul spacing="normal">
<t>if the route was received over iBGP and its LOCAL_PREF attribut <li>If the route was received over iBGP and its LOCAL_PREF
e is set to zero, then it MUST be attribute is set to zero, then it <bcp14>MUST</bcp14> be
re-advertised in eBGP with a MED attribute (MULTI_EXIT_DISC) set re-advertised in eBGP with a MED attribute (MULTI_EXIT_DISC) set
to the highest possible value (0xffff)</t> to the highest possible value (0xffff).</li>
<li>If the route was received over eBGP and its MED attribute is set
<t>if the route was received over eBGP and its MED attribute set t to 0xffff, then it <bcp14>MUST</bcp14> be re-advertised in iBGP
o 0xffff, then it MUST be with a LOCAL_PREF attribute set to zero.</li>
re-advertised in iBGP with a LOCAL_PREF attribute set to zero</t> </ul>
</list> <t>
Other ASBR procedures are applied without modification and, when app Other ASBR procedures are applied without modification and, when app
lied, MAY modify the above-listed behavior.</t> lied, <bcp14>MAY</bcp14> modify the above-listed behavior.</t>
</section> </section>
</section> </section>
</section> </section>
<section anchor="hot-standby">
<section anchor="hot-standby" title="Hot Root Standby"> <name>Hot Root Standby</name>
<t>The mechanisms defined in <xref target="standby-join"/> and <xref targe <t>The mechanisms defined in Sections <xref format="counter"
t="tunnel-status"/> target="tunnel-status"/> and <xref format="counter" target="standby-join"/
can be used together as follows.</t> > can be used
together as follows.</t>
<t>The principle is that, for a given VRF (or possibly only for a given <t>The principle is that, for a given VRF (or possibly only for a given
(C-S, C-G):<list style="symbols"> (C-S,C-G)):</t>
<t>downstream PEs advertise a Standby BGP C-multicast route (based <ul spacing="normal">
on <xref target="standby-join"/>)</t> <li>Downstream PEs advertise a Standby BGP C-multicast route (based on
<xref target="standby-join"/>).</li>
<t>Upstream PEs use the "hot standby" optional behavior and thus <li>Upstream PEs use the "hot standby" optional behavior and will thus
will start forwarding traffic for a given multicast state after they h start forwarding traffic for a given multicast state after they have a
ave (primary) BGP C-multicast route or a Standby BGP C-multicast route for
a (primary) BGP C-multicast route or a Standby BGP that state (or both).</li>
C-multicast route for that state (or both)</t>
<t>a policy controls downstream PEs from which tunnel to accept traffi
c.
For example, the policy could be based on the status of the tunnel
or tunnel monitoring method (<xref target="counter-info-tunnel"/>).</t
>
</list></t>
<t>Other combinations of the mechanisms proposed in <xref target="standby- <li>A policy controls from which tunnel downstream PEs accept traffic.
join"/> and <xref target="tunnel-status"/> For example, the policy could be based on the status of the tunnel or
are for further study.</t> tunnel-monitoring method (<xref target="counter-info-tunnel"/>).</li>
</ul>
<t>Other combinations of the mechanisms proposed in Sections <xref
format="counter" target="tunnel-status"/> and <xref format="counter"
target="standby-join"/> are for further study.</t>
<t>Note that the same level of protection would be achievable with a <t>Note that the same level of protection would be achievable with a
simple C-multicast Source Tree Join route advertised to both the primary simple C-multicast Source Tree Join route advertised to both the primary
and secondary Upstream PEs (carrying as Route Target extended and secondary Upstream PEs (carrying, as Route Target extended
communities, the values of the VRF Route Import Extended Community of each VPN communities, the values of the VRF Route Import Extended Community of each VPN
route from each Upstream PEs). The advantage of using the Standby route from each Upstream PE). The advantage of using the Standby
semantic is that, supposing that downstream PEs always advertise a semantic is that, supposing that downstream PEs always advertise a
Standby C-multicast route to the secondary Upstream PE, it allows to Standby C-multicast route to the secondary Upstream PE, it allows to
choose the protection level through a change of configuration on the choose the protection level through a change of configuration on the
secondary Upstream PE, without requiring any reconfiguration of all the secondary Upstream PE without requiring any reconfiguration of all the
downstream PEs.</t> downstream PEs.</t>
</section>
<section anchor="dups" title="Duplicate Packets"> </section>
<t><xref target="RFC6513">Multicast VPN <section anchor="dups">
specifications</xref> impose that a PE only forwards to CEs the packets <name>Duplicate Packets</name>
coming from the expected Upstream PE (Section 9.1 of <xref target="RFC6513 <t><xref target="RFC6513">Multicast VPN specifications</xref> impose
"/>).</t> that a PE only forwards to CEs the packets coming from the expected
Upstream PE (<xref target="RFC6513" sectionFormat="of"
<t>We draw the reader's attention to the fact that the respect of section="9.1"/>).</t>
this part of multicast VPN specifications is especially important when <t>We draw the reader's attention to the fact that the respect of this
two distinct Upstream PEs are susceptible to forward the same traffic on part of MVPN specifications is especially important when two
P-tunnels at the same time in the steady state. That will be the case when distinct Upstream PEs are susceptible to forward the same traffic on
"hot root standby" mode is used (<xref target="hot-standby"/>), P-tunnels at the same time in the steady state. That will be the case
and which can also be the case if procedures of <xref target="tunnel-statu when "hot root standby" mode is used (<xref target="hot-standby"/>) and
s"/> are used and a) the rules determining can also be the case if the procedures of <xref target="tunnel-status"/>
the status of a tree are not the same on two distinct downstream PEs or are used; likewise, it can also be the case when a) the rules
b) the rule determining the status of a tree depends on conditions local determining the status of a tree are not the same on two distinct
to a PE (e.g., the PE-P upstream link being up).</t> downstream PEs or b) the rule determining the status of a tree depends
on conditions local to a PE (e.g., the PE-P upstream link being Up).</t>
</section> </section>
<section anchor="IANA" title="IANA Considerations"> <section anchor="IANA">
<name>IANA Considerations</name>
<section anchor="pe-standby-com-iana" title="Standby PE Community"> <section anchor="pe-standby-com-iana">
<t>IANA is requested to allocate the BGP "Standby PE" community value (TBA <name>Standby PE Community</name>
1) <t>IANA has allocated the BGP "Standby PE" community value 0xFFFF0009
from the Border Gateway Protocol (BGP) Well-known Communities from the "Border Gateway Protocol (BGP) Well-known Communities"
registry using the First Come First Served registration policy.</t> registry using the First Come First Served registration policy.</t>
</section> </section>
<section anchor="iana-bfd-discr">
<section anchor="iana-bfd-discr" title="BFD Discriminator"> <name>BFD Discriminator</name>
<t>This document defines a new BGP optional transitive attribute, called <t>This document defines a new BGP optional transitive attribute called
"BFD Discriminator". IANA is requested to allocate a codepoint (TBA2) in the "BFD Discriminator". IANA has allocated codepoint 38 in the "BGP Path
"BGP Path
Attributes" registry to the BFD Discriminator attribute.</t> Attributes" registry to the BFD Discriminator attribute.</t>
<t> <t>
IANA is requested to create a new BFD Mode sub-registry in the Border Gateway IANA has created a new "BFD Mode" subregistry in the "Border Gateway Protocol
Protocol (BGP) (BGP)
Parameters registry. Parameters" registry.
The registration policies, per <xref target="RFC8126"/>, for The registration policies, per <xref target="RFC8126"/>, for
this sub-registry are according to <xref target="iana-bfd-mode-reg"/>. this subregistry are according to <xref target="iana-bfd-mode-reg"/>.
</t> </t>
<texttable anchor="iana-bfd-mode-reg" title="BFD Mode Sub-registry R <table anchor="iana-bfd-mode-reg">
egistration Policies"> <name>&quot;BFD Mode&quot; Subregistry Registration Policies</name>
<ttcol align='left'>Value</ttcol> <thead>
<ttcol align='center'>Policy</ttcol> <tr>
<c>0- 175</c> <th align="left">Value</th>
<c>IETF Review</c> <th align="center">Policy</th>
<c>176 - 249</c> </tr>
<c>First Come First Served</c> </thead>
<c>250 - 254</c> <tbody>
<c>Experimental Use</c> <tr>
<c>255</c> <td align="left">0- 175</td>
<c>IETF Review</c> <td align="center">IETF Review</td>
</texttable> </tr>
<tr>
<t> <td align="left">176 - 249</td>
IANA is requested to make initial assignments according to <xref target="iana <td align="center">First Come First Served</td>
-bfd-mode-alloc-tbl"/>. </tr>
</t> <tr>
<td align="left">250 - 254</td>
<texttable anchor="iana-bfd-mode-alloc-tbl" title="BFD Mode Sub-registr <td align="center">Experimental Use</td>
y"> </tr>
<ttcol align="left">Value</ttcol> <tr>
<ttcol align="center">Description</ttcol> <td align="left">255</td>
<ttcol align="left">Reference</ttcol> <td align="center">IETF Review</td>
<c>0</c> </tr>
<c>Reserved</c> </tbody>
<c>This document</c> </table>
<c>1</c> <t>
<c>P2MP BFD Session</c> IANA has made initial assignments according to <xref target="iana-bfd-mode-al
<c>This document</c> loc-tbl"/>.
<c>2- 175</c> </t>
<c>Unassigned</c> <table anchor="iana-bfd-mode-alloc-tbl">
<c></c> <name>&quot;BFD Mode&quot; Subregistry</name>
<c>176 - 249</c> <thead>
<c>Unassigned</c> <tr>
<c></c> <th align="left">Value</th>
<c>250 - 254</c> <th align="center">Description</th>
<c>Experimental Use</c> <th align="left">Reference</th>
<c>This document</c> </tr>
<c>255</c> </thead>
<c>Reserved</c> <tbody>
<c>This document</c> <tr>
</texttable> <td align="left">0</td>
<td align="center">Reserved</td>
</section> <td align="left">This document</td>
</tr>
<section anchor="iana-bfd-attr-ext" title="BFD Discriminator Optional TLV Typ <tr>
e"> <td align="left">1</td>
<t> <td align="center">P2MP BFD Session</td>
IANA is requested to create a new BFD Discriminator Optional TLV Type sub-reg <td align="left">This document</td>
istry in Border Gateway Protocol (BGP). </tr>
<tr>
<td align="left">2- 175</td>
<td align="center">Unassigned</td>
<td align="left"/>
</tr>
<tr>
<td align="left">176 - 249</td>
<td align="center">Unassigned</td>
<td align="left"/>
</tr>
<tr>
<td align="left">250 - 254</td>
<td align="center">Experimental Use</td>
<td align="left">This document</td>
</tr>
<tr>
<td align="left">255</td>
<td align="center">Reserved</td>
<td align="left">This document</td>
</tr>
</tbody>
</table>
</section>
<section anchor="iana-bfd-attr-ext">
<name>BFD Discriminator Optional TLV Type</name>
<t>
IANA has created a new "BFD Discriminator Optional TLV Type" subregistry in t
he "Border Gateway Protocol (BGP) Parameters" registry.
The registration policies, per <xref target="RFC8126"/>, for The registration policies, per <xref target="RFC8126"/>, for
this sub-registry are according to <xref target="iana-bfd-discr-ext-reg"/>. this subregistry are according to <xref target="iana-bfd-discr-ext-reg"/>.
</t>
<texttable anchor="iana-bfd-discr-ext-reg" title="BFD Discriminator
Optional TLV Type Sub-registry Registration Policies">
<ttcol align='left'>Value</ttcol>
<ttcol align='center'>Policy</ttcol>
<c>0- 175</c>
<c>IETF Review</c>
<c>176 - 249</c>
<c>First Come First Served</c>
<c>250 - 254</c>
<c>Experimental Use</c>
<c>255</c>
<c>IETF Review</c>
</texttable>
<t>
IANA is requested to make initial assignments according to <xref target="iana-bf
d-discr-ext-tbl"/>.
</t>
<texttable anchor="iana-bfd-discr-ext-tbl" title="BFD Discriminator Opt
ional TLV Type Sub-registry">
<ttcol align='left'>Value</ttcol>
<ttcol align='center'>Description</ttcol>
<ttcol align='left'>Reference</ttcol>
<c>0</c>
<c>Reserved</c>
<c>This document</c>
<c>1</c>
<c>Source IP Address</c>
<c>This document</c>
<c>2- 175</c>
<c>Unassigned</c>
<c></c>
<c>176 - 249</c>
<c>Unassigned</c>
<c></c>
<c>250 - 254</c>
<c>Experimental Use</c>
<c>This document</c>
<c>255</c>
<c>Reserved</c>
<c>This document</c>
</texttable>
</section>
</section>
<section anchor="Security" title="Security Considerations">
<t>
This document describes procedures based on <xref target="RFC6513"/> and <xr
ef target="RFC6514"/>
and hence shares the security considerations respectively represented in the
se specifications.
</t>
<t>
This document uses P2MP BFD, as defined in <xref target="RFC8562"/>,
which, in turn, is based on <xref target="RFC5880"/>.
Security considerations relevant to each protocol are discussed in
the respective protocol specifications.
An implementation that supports this specification MUST provide a
mechanism to limit the overall amount of capacity used by the BFD traffic
(as the combination of the number of active P2MP BFD sessions and the rate of
BFD Control packets to process).
</t>
<t>
The methods described in <xref target="tunnel-status-determination"/> ma
y produce false-negative state changes
that can be the trigger for an unnecessary convergence in the control pl
ane, ultimately negatively impacting the multicast
service provided by the VPN. An operator is expected to consider the net
work environment and use available
controls of the mechanism used to determine the status of a P-tunnel.
</t> </t>
<table anchor="iana-bfd-discr-ext-reg">
<name>&quot;BFD Discriminator Optional TLV Type&quot; Subregistry Regi
stration Policies</name>
<thead>
<tr>
<th align="left">Value</th>
<th align="center">Policy</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left">0- 175</td>
<td align="center">IETF Review</td>
</tr>
<tr>
<td align="left">176 - 249</td>
<td align="center">First Come First Served</td>
</tr>
<tr>
<td align="left">250 - 254</td>
<td align="center">Experimental Use</td>
</tr>
<tr>
<td align="left">255</td>
<td align="center">IETF Review</td>
</tr>
</tbody>
</table>
<t>
IANA has made initial assignments according to <xref target="iana-bfd-discr-ext-
tbl"/>.
</t>
<table anchor="iana-bfd-discr-ext-tbl">
<name>&quot;BFD Discriminator Optional TLV Type&quot; Subregistry</nam
e>
<thead>
<tr>
<th align="left">Value</th>
<th align="center">Description</th>
<th align="left">Reference</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left">0</td>
<td align="center">Reserved</td>
<td align="left">This document</td>
</tr>
<tr>
<td align="left">1</td>
<td align="center">Source IP Address</td>
<td align="left">This document</td>
</tr>
<tr>
<td align="left">2- 175</td>
<td align="center">Unassigned</td>
<td align="left"/>
</tr>
<tr>
<td align="left">176 - 249</td>
<td align="center">Unassigned</td>
<td align="left"/>
</tr>
<tr>
<td align="left">250 - 254</td>
<td align="center">Experimental Use</td>
<td align="left">This document</td>
</tr>
<tr>
<td align="left">255</td>
<td align="center">Reserved</td>
<td align="left">This document</td>
</tr>
</tbody>
</table>
</section>
</section> </section>
<section anchor="Security">
<section anchor="Acknowledgments" title="Acknowledgments"> <name>Security Considerations</name>
<t>The authors want to thank Greg Reaume, Eric Rosen, Jeffrey Zhang, Marti
n Vigoureux, Adrian Farrel,
and Zheng (Sandy) Zhang for their reviews,
useful comments, and helpful suggestions.</t>
</section>
<section title="Contributor Addresses">
<t> <t>
Below is a list of other contributing authors in alphabetical order: This document describes procedures based on <xref target="RFC6513"/> and
<figure align="left"> <xref target="RFC6514"/>; hence, it shares the security considerations
<artwork align="left"><![CDATA[ respectively represented in those specifications.
Rahul Aggarwal </t>
Arktan <t>
This document uses P2MP BFD, as defined in <xref target="RFC8562"/>, which, in
turn, is based on <xref target="RFC5880"/>. Security considerations relevant
to each protocol are discussed in the respective protocol specifications. An
implementation that supports this specification <bcp14>MUST</bcp14> provide a
mechanism to limit the overall amount of capacity used by the BFD traffic (as
the combination of the number of active P2MP BFD sessions and the rate of BFD
Control packets to process).
</t>
<t>
The methods described in <xref target="tunnel-status-determination"/>
may produce false-negative state changes that can be the trigger for
an unnecessary convergence in the control plane, ultimately negatively
impacting the multicast service provided by the VPN. An operator is
expected to consider the network environment and use available
controls of the mechanism used to determine the status of a P-tunnel.
</t>
</section>
Email: raggarwa_1@yahoo.com </middle>
<back>
<references>
<name>References</name>
<references>
<name>Normative References</name>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.2119.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.8174.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.6513.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.6514.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.4875.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.5880.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.8562.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.7606.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.8126.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.4271.xml"/>
</references>
<references>
<name>Informative References</name>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.4090.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.7431.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.4291.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.1122.xml"/>
Nehal Bhau <reference anchor='MPLS-P2MP-BFD'>
Cisco <front>
<title>BFD for Multipoint Networks over Point-to-Multi-Point MPLS LSP</title>
Email: NBhau@cisco.com <author initials='G' surname='Mirsky' fullname='Greg Mirsky'>
<organization />
</author>
Clayton Hassen <author initials='G' surname='Mishra' fullname='Gyan Mishra'>
Bell Canada <organization />
2955 Virtual Way </author>
Vancouver
CANADA
Email: Clayton.Hassen@bell.ca <author initials='D' surname='Eastlake 3rd' fullname='Donald Eastlake 3rd'>
<organization />
</author>
Wim Henderickx <date month='March' year='2021' />
Nokia
Copernicuslaan 50
Antwerp 2018
Belgium
Email: wim.henderickx@nokia.com </front>
Pradeep Jain <seriesInfo name='Internet-Draft' value='draft-mirsky-mpls-p2mp-bfd-14' />
Nokia
701 E Middlefield Rd
Mountain View, CA 94043
USA
Email: pradeep.jain@nokia.com </reference>
Jayant Kotalwar </references>
Nokia </references>
701 E Middlefield Rd
Mountain View, CA 94043
USA
Email: Jayant.Kotalwar@nokia.com <section anchor="Acknowledgments" numbered="false">
<name>Acknowledgments</name>
<t>The authors want to thank <contact fullname="Greg Reaume"/>, <contact
fullname="Eric Rosen"/>, <contact fullname="Jeffrey Zhang"/>, <contact
fullname="Martin Vigoureux"/>, <contact fullname="Adrian Farrel"/>, and
<contact fullname="Zheng (Sandy) Zhang"/> for their reviews, useful
comments, and helpful suggestions.</t>
</section>
Praveen Muley <section anchor="Contributors" numbered="false">
Nokia <name>Contributors</name>
701 East Middlefield Rd <t>Below is a list of other contributing authors in alphabetical order:
Mountain View, CA 94043 </t>
U.S.A.
Email: praveen.muley@nokia.com <author fullname="Rahul Aggarwal" initials="R" surname="Aggarwal">
<organization>Arktan</organization>
<address>
<postal>
<street></street>
<city></city>
<code></code>
<country></country>
</postal>
<email>raggarwa_1@yahoo.com</email>
</address>
</author>
Ray (Lei) Qiu <author fullname="Nehal Bhau" initials="N" surname="Bhau">
Juniper Networks <organization>Cisco</organization>
1194 North Mathilda Ave. <address>
Sunnyvale, CA 94089 <postal>
U.S.A. <street></street>
<city></city>
<code></code>
<country></country>
</postal>
<email>NBhau@cisco.com</email>
</address>
</author>
Email: rqiu@juniper.net <author fullname="Clayton Hassen" initials="C" surname="Hassen">
<organization>Bell Canada</organization>
<address>
<postal>
<street>2955 Virtual Way</street>
<city>Vancouver</city>
<code></code>
<country>Canada</country>
</postal>
<email>Clayton.Hassen@bell.ca</email>
</address>
</author>
Yakov Rekhter <author fullname="Wim Henderickx" initials="W" surname="Henderickx">
Juniper Networks <organization>Nokia</organization>
1194 North Mathilda Ave. <address>
Sunnyvale, CA 94089 <postal>
U.S.A. <street>Copernicuslaan 50</street>
<city>Antwerp</city>
<code>2018</code>
<country>Belgium</country>
</postal>
<email>wim.henderickx@nokia.com</email>
</address>
</author>
Email: yakov@juniper.net <author fullname="Pradeep Jain" initials="P" surname="Jain">
<organization>Nokia</organization>
<address>
<postal>
<street>701 E Middlefield Rd</street>
<city>Mountain View</city>
<code>CA 94043</code>
<country>United States of America</country>
</postal>
<email>pradeep.jain@nokia.com</email>
</address>
</author>
Kanwar Singh <author fullname="Jayant Kotalwar" initials="J" surname="Kotalwar">
Nokia <organization>Nokia</organization>
701 E Middlefield Rd <address>
Mountain View, CA 94043 <postal>
USA <street>701 E Middlefield Rd</street>
<city>Mountain View</city>
<code>CA 94043</code>
<country>United States of America</country>
</postal>
<email>Jayant.Kotalwar@nokia.com</email>
</address>
</author>
Email: kanwar.singh@nokia.com <author fullname="Praveen Muley" initials="P" surname="Muley">
<organization>Nokia</organization>
<address>
<postal>
<street>701 East Middlefield Rd</street>
<city>Mountain View</city>
<code>CA 94043</code>
<country>United States of America</country>
</postal>
<email>praveen.muley@nokia.com</email>
</address>
</author>
]]></artwork> <author fullname="Ray (Lei) Qiu" initials="R" surname="Qiu">
</figure> <organization>Juniper Networks</organization>
</t> <address>
</section> <postal>
<street>1194 North Mathilda Ave.</street>
<city>Sunnyvale</city>
<code>CA 94089</code>
<country>United States of America</country>
</postal>
<email>rqiu@juniper.net</email>
</address>
</author>
</middle> <author fullname="Yakov Rekhter" initials="Y" surname="Rekhter">
<organization>Juniper Networks</organization>
<address>
<postal>
<street>1194 North Mathilda Ave.</street>
<city>Sunnyvale</city>
<code>CA 94089</code>
<country>United States of America</country>
</postal>
<email>yakov@juniper.net</email>
</address>
</author>
<back> <author fullname="Kanwar Singh" initials="K" surname="Singh">
<references title="Normative References"> <organization>Nokia</organization>
<?rfc include="reference.RFC.2119"?> <address>
<?rfc include="reference.RFC.8174"?> <postal>
<?rfc include="reference.RFC.6513"?> <street>701 E Middlefield Rd</street>
<?rfc include="reference.RFC.6514"?> <city>Mountain View</city>
<?rfc include="reference.RFC.4875"?> <code>CA 94043</code>
<?rfc include="reference.RFC.5880"?> <country>United States of America</country>
<?rfc include="reference.RFC.8562"?> </postal>
<?rfc include="reference.RFC.7606"?> <email>kanwar.singh@nokia.com</email>
<?rfc include="reference.RFC.8126"?> </address>
<?rfc include="reference.RFC.4271"?> </author>
</references>
<references title="Informative References"> </section>
<?rfc include="reference.RFC.4090"?> </back>
<?rfc include="reference.RFC.7431"?>
<?rfc include="reference.RFC.4291"?>
<?rfc include="reference.RFC.1122"?>
<?rfc include="reference.I-D.mirsky-mpls-p2mp-bfd"?>
</references>
</back>
</rfc> </rfc>
 End of changes. 178 change blocks. 
1095 lines changed or deleted 1206 lines changed or added

This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/