draft-ietf-bess-mvpn-fast-failover-04.txt   draft-ietf-bess-mvpn-fast-failover-05.txt 
Network Working Group T. Morin, Ed. Network Working Group T. Morin, Ed.
Internet-Draft Orange Internet-Draft Orange
Intended status: Standards Track R. Kebler, Ed. Intended status: Standards Track R. Kebler, Ed.
Expires: May 10, 2019 Juniper Networks Expires: August 18, 2019 Juniper Networks
G. Mirsky, Ed. G. Mirsky, Ed.
ZTE Corp. ZTE Corp.
November 6, 2018 February 14, 2019
Multicast VPN fast upstream failover Multicast VPN fast upstream failover
draft-ietf-bess-mvpn-fast-failover-04 draft-ietf-bess-mvpn-fast-failover-05
Abstract Abstract
This document defines multicast VPN extensions and procedures that This document defines multicast VPN extensions and procedures that
allow fast failover for upstream failures, by allowing downstream PEs allow fast failover for upstream failures, by allowing downstream PEs
to take into account the status of Provider-Tunnels (P-tunnels) when to take into account the status of Provider-Tunnels (P-tunnels) when
selecting the upstream PE for a VPN multicast flow, and extending BGP selecting the upstream PE for a VPN multicast flow, and extending BGP
MVPN routing so that a C-multicast route can be advertised toward a MVPN routing so that a C-multicast route can be advertised toward a
standby upstream PE. standby upstream PE.
skipping to change at page 1, line 46 skipping to change at page 1, line 46
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on May 10, 2019. This Internet-Draft will expire on August 18, 2019.
Copyright Notice Copyright Notice
Copyright (c) 2018 IETF Trust and the persons identified as the Copyright (c) 2019 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
skipping to change at page 2, line 30 skipping to change at page 2, line 30
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. UMH Selection based on tunnel status . . . . . . . . . . . . 3 3. UMH Selection based on tunnel status . . . . . . . . . . . . 3
3.1. Determining the status of a tunnel . . . . . . . . . . . 4 3.1. Determining the status of a tunnel . . . . . . . . . . . 4
3.1.1. mVPN tunnel root tracking . . . . . . . . . . . . . . 5 3.1.1. mVPN tunnel root tracking . . . . . . . . . . . . . . 5
3.1.2. PE-P Upstream link status . . . . . . . . . . . . . . 5 3.1.2. PE-P Upstream link status . . . . . . . . . . . . . . 5
3.1.3. P2MP RSVP-TE tunnels . . . . . . . . . . . . . . . . 5 3.1.3. P2MP RSVP-TE tunnels . . . . . . . . . . . . . . . . 5
3.1.4. Leaf-initiated P-tunnels . . . . . . . . . . . . . . 6 3.1.4. Leaf-initiated P-tunnels . . . . . . . . . . . . . . 6
3.1.5. ((S, G)) counter information . . . . . . . . . . . . 6 3.1.5. (C-S, C-G) counter information . . . . . . . . . . . 6
3.1.6. BFD Discriminator . . . . . . . . . . . . . . . . . . 6 3.1.6. BFD Discriminator . . . . . . . . . . . . . . . . . . 6
3.1.7. Per PE-CE link BFD Discriminator . . . . . . . . . . 9 3.1.7. Per PE-CE link BFD Discriminator . . . . . . . . . . 9
4. Standby C-multicast route . . . . . . . . . . . . . . . . . . 10 4. Standby C-multicast route . . . . . . . . . . . . . . . . . . 10
4.1. Downstream PE behavior . . . . . . . . . . . . . . . . . 11 4.1. Downstream PE behavior . . . . . . . . . . . . . . . . . 11
4.2. Upstream PE behavior . . . . . . . . . . . . . . . . . . 12 4.2. Upstream PE behavior . . . . . . . . . . . . . . . . . . 12
4.3. Reachability determination . . . . . . . . . . . . . . . 13 4.3. Reachability determination . . . . . . . . . . . . . . . 13
4.4. Inter-AS . . . . . . . . . . . . . . . . . . . . . . . . 13 4.4. Inter-AS . . . . . . . . . . . . . . . . . . . . . . . . 13
4.4.1. Inter-AS procedures for downstream PEs, ASBR fast 4.4.1. Inter-AS procedures for downstream PEs, ASBR fast
failover . . . . . . . . . . . . . . . . . . . . . . 14 failover . . . . . . . . . . . . . . . . . . . . . . 14
4.4.2. Inter-AS procedures for ASBRs . . . . . . . . . . . . 14 4.4.2. Inter-AS procedures for ASBRs . . . . . . . . . . . . 14
5. Hot leaf standby . . . . . . . . . . . . . . . . . . . . . . 14 5. Hot leaf standby . . . . . . . . . . . . . . . . . . . . . . 15
6. Duplicate packets . . . . . . . . . . . . . . . . . . . . . . 15 6. Duplicate packets . . . . . . . . . . . . . . . . . . . . . . 15
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 15 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 16
8. Security Considerations . . . . . . . . . . . . . . . . . . . 16 8. Security Considerations . . . . . . . . . . . . . . . . . . . 16
9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 16 9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 16
10. Contributor Addresses . . . . . . . . . . . . . . . . . . . . 16 10. Contributor Addresses . . . . . . . . . . . . . . . . . . . . 16
11. References . . . . . . . . . . . . . . . . . . . . . . . . . 18 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 18
11.1. Normative References . . . . . . . . . . . . . . . . . . 18 11.1. Normative References . . . . . . . . . . . . . . . . . . 18
11.2. Informative References . . . . . . . . . . . . . . . . . 19 11.2. Informative References . . . . . . . . . . . . . . . . . 19
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 19 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 19
1. Introduction 1. Introduction
skipping to change at page 3, line 51 skipping to change at page 3, line 51
what the upstream multicast hop (UMH) is for a given (C-S,C-G). what the upstream multicast hop (UMH) is for a given (C-S,C-G).
The procedure described here is an OPTIONAL procedure that consists The procedure described here is an OPTIONAL procedure that consists
of having a downstream PE take into account the status of P-tunnels of having a downstream PE take into account the status of P-tunnels
rooted at each possible upstream PEs, for including or not including rooted at each possible upstream PEs, for including or not including
each given PE in the list of candidate UMHs for a given (C-S,C-G) each given PE in the list of candidate UMHs for a given (C-S,C-G)
state. The result is that, if a P-tunnel is "down" (see state. The result is that, if a P-tunnel is "down" (see
Section 3.1), the PE that is the root of the P-tunnel will not be Section 3.1), the PE that is the root of the P-tunnel will not be
considered for UMH selection, which will result in the downstream PE considered for UMH selection, which will result in the downstream PE
to failover to the upstream PE which is next in the list of to failover to the upstream PE which is next in the list of
candidates. candidates. If rules to determine the state of the P-tunnel are not
consistent across all PEs, then some may arrive at a different
conclusion regarding the state of the tunnel, In such a scenario,
procedures described in Section 9.1.1 of [RFC6513] MUST be used.
A downstream PE monitors the status of the tunnels of UMHs that are A downstream PE monitors the status of the tunnels of UMHs that are
ahead of the current one. Whenever the downstream PE determines that ahead of the current one. Whenever the downstream PE determines that
one of these tunnels is no longer "known to down", the PE selects the one of these tunnels is no longer "known to down", the PE selects the
UMH corresponding to that as the new UMH. UMH corresponding to that as the new UMH.
More precisely, UMH determination for a given (C-S,C-G) will consider More precisely, UMH determination for a given (C-S,C-G) will consider
the UMH candidates in the following order: the UMH candidates in the following order:
o first, the UMH candidates that either (a) advertise a PMSI bound o first, the UMH candidates that either (a) advertise a PMSI bound
skipping to change at page 4, line 45 skipping to change at page 4, line 47
Note that this document assumes that if a site of a given MVPN that Note that this document assumes that if a site of a given MVPN that
contains C-S is dual-homed to two PEs, then all the other sites of 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) that MVPN would have two unicast VPN routes (VPN-IPv4 or VPN-IPv6)
routes to C-S, each with its own RD. routes to C-S, each with its own RD.
3.1. Determining the status of a tunnel 3.1. Determining the status of a tunnel
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 sub-sections. The
procedure proposed here also allows that all downstream PEs don't optional procedures proposed in this section also allow that all
apply the same rules to define what the status of a P-tunnel is downstream PEs don't apply the same rules to define what the status
(please see Section 6), and some of them will produce a result that of a P-tunnel is (please see Section 6), and some of them will
may be different for different downstream PEs. Thus what is called produce a result that may be different for different downstream PEs.
the "status" of a P-tunnel in this section, is not a characteristic Thus what is called the "status" of a P-tunnel in this section, is
of the tunnel in itself, but is the status of the tunnel, *as seen not a characteristic of the tunnel in itself, but is the status of
from a particular downstream PE*. Additionally, some of the the tunnel, *as seen from a particular downstream PE*. Additionally,
following methods determine the ability of downstream PE to receive some of the following methods determine the ability of downstream PE
traffic on the P-tunnel and not specifically on the status of the to receive traffic on the P-tunnel and not specifically on the status
P-tunnel itself. This could be referred to as "P-tunnel reception of the P-tunnel itself. This could be referred to as "P-tunnel
status", but for simplicity, we will use the terminology of P-tunnel reception status", but for simplicity, we will use the terminology of
"status" for all of these methods. P-tunnel "status" for all of these methods.
Depending on the criteria used to determine the status of a P-tunnel, Depending on the criteria used to determine the status of a P-tunnel,
there may be an interaction with another resiliency mechanism used there may be an interaction with another resiliency mechanism used
for the P-tunnel itself, and the UMH update may happen immediately or for the P-tunnel itself, and the UMH update may happen immediately or
may need to be delayed. Each particular case is covered in each may need to be delayed. Each particular case is covered in each
separate sub-section below. separate sub-section below.
3.1.1. mVPN tunnel root tracking 3.1.1. mVPN tunnel root tracking
A condition to consider that the status of a P-tunnel is up is that A condition to consider that the status of a P-tunnel is up is that
skipping to change at page 6, line 15 skipping to change at page 6, line 17
When signaling state for a P2MP TE LSP is removed (e.g. if the When 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
[RFC4875], the status of the corresponding P-tunnel SHOULD be re- [RFC4875], the status of the corresponding P-tunnel SHOULD be re-
evaluated. If the P-tunnel transitions from up to Down state, the evaluated. If the P-tunnel transitions from up to Down state, the
upstream PE, that is the ingress of the P-tunnel, SHOULD NOT be upstream PE, that is the ingress of the P-tunnel, SHOULD NOT be
considered a valid UMH. considered a valid UMH.
3.1.4. Leaf-initiated P-tunnels 3.1.4. Leaf-initiated P-tunnels
A PE can be removed from the UMH candidate list for a given ((S, G)) A PE can be removed from the UMH candidate list for a given (C-S,
if the P-tunnel for this (S, G) (I or S , depending) is leaf C-G) if the P-tunnel (I or S , depending) for this (S, G) is leaf
triggered (PIM, mLDP), but for some reason internal to the protocol triggered (PIM, mLDP), but for some reason internal to the protocol
the upstream one-hop branch of the tunnel from P to PE cannot be the upstream one-hop branch of the tunnel from P to PE cannot be
built. In this case, the downstream PE can immediately update its built. In this case, the downstream PE can immediately update its
UMH when the reachability condition changes. UMH when the reachability condition changes.
3.1.5. ((S, G)) counter information 3.1.5. (C-S, C-G) counter information
In cases, where the downstream node can be configured so that the In cases, where the downstream node can be configured so that the
maximum inter-packet time is known for all the multicast flows mapped 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 information on a P-tunnel, the local per-(C-S,C-G) traffic counter information
for traffic received on this P-tunnel can be used to determine the for traffic received on this P-tunnel can be used to determine the
status of the P-tunnel. status of the P-tunnel.
When such a procedure is used, in the context where fast restoration When such a procedure is used, in the context where fast restoration
mechanisms are used for the P-tunnels, downstream PEs should be mechanisms are used for the P-tunnels, downstream PEs should be
configured to wait before updating the UMH, to let the P-tunnel configured to wait before updating the UMH, to let the P-tunnel
restoration mechanism happen. A configurable timer MUST be provided restoration mechanism happen. A configurable timer MUST be provided
for this purpose, and it is recommended to provide a reasonable for this purpose, and it is recommended to provide a reasonable
default value for this timer. default value for this timer.
This method can be applicable, for instance, when a ((S, G)) flow is This method can be applicable, for instance, when a (C-S, C-G) flow
mapped on an S-PMSI. is mapped on an S-PMSI.
In cases where this mechanism is used in conjunction with In cases where this mechanism is used in conjunction with
Hot leaf standby, then no prior knowledge of the rate of the Hot leaf standby, then no prior knowledge of the rate of the
multicast streams is required; downstream PEs can compare reception multicast streams is required; downstream PEs can compare reception
on the two P-tunnels to determine when one of them is down. on the two P-tunnels to determine when one of them is down.
3.1.6. BFD Discriminator 3.1.6. BFD Discriminator
P-tunnel status can be derived from the status of a multipoint BFD P-tunnel status can be derived from the status of a multipoint BFD
session [I-D.ietf-bfd-multipoint] whose discriminator is advertised session [I-D.ietf-bfd-multipoint] whose discriminator is advertised
along with an x-PMSI A-D route. along with an x-PMSI A-D route.
This document defines the format and ways of usingr a new BGP This document defines the format and ways of using a new BGP
attribute called the "BGP- BFD attribute". This is an optional attribute called the "BGP- BFD attribute". This is an optional
transitive BGP attribute. The format of this attribute is defined as transitive BGP attribute. The format of this attribute is defined as
follows: follows:
+-------------------------------+ +-------------------------------+
| Flags (1 octet) | | Flags (1 octet) |
+-------------------------------+ +-------------------------------+
| BFD Discriminator (4 octets) | | BFD Discriminator (4 octets) |
+-------------------------------+ +-------------------------------+
skipping to change at page 7, line 28 skipping to change at page 7, line 31
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
3.1.6.1. Upstream PE Procedures 3.1.6.1. Upstream PE Procedures
When it is desired to track the P-tunnel status using p2mp BFD When it is desired to track the P-tunnel status using p2mp BFD
session, the Upstream PE: session, the Upstream PE:
o MUST initiate BFD session and set bfd.SessionType = MultipointHead o MUST initiate BFD session and set bfd.SessionType = MultipointHead
as described in [I-D.ietf-bfd-multipoint]; as described in [I-D.ietf-bfd-multipoint];
o MUST use [Ed.note] address as destination IP address when o MUST use address in 127.0.0.0/8 range for IPv4 or in
transmitting BFD control packets; 0:0:0:0:0:FFFF:7F00:0/104 range for IPv6 as destination IP address
when transmitting BFD control packets;
o MUST use the IP address of the Upstream PE as source IP address o MUST use the IP address of the Upstream PE as source IP address
when transmitting BFD control packets; when transmitting BFD control packets;
o MUST include the BGP-BFD Attribute in the x-PMSI A-D Route with o MUST include the BGP-BFD Attribute in the x-PMSI A-D Route with
BFD Discriminator value set to My Discriminator value. BFD Discriminator value set to My Discriminator value;
o MUST periodically transmit BFD control packets over the x-PMSI
tunnel.
If tracking of the P-tunnel by using a p2mp BFD session is to be If tracking of the P-tunnel by using a p2mp BFD session is to be
enabled after the P-tunnel has been already signaled, the the enabled after the P-tunnel has been already signaled, then the
procedure described above MUST be followed. Note that x-PMSI A-D procedure described above MUST be followed. Note that x-PMSI A-D
Route MUST be re-sent with exactly the same attributes as before and Route MUST be re-sent with exactly the same attributes as before and
the BGP-BFD Attribute included. the BGP-BFD Attribute included.
If P-tunnel is already signaled, and P-tunnel status tracked using If P-tunnel is already signaled, and 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:
o x-PMSI A-D Route MUST be re-sent with exactly the same attributes o x-PMSI A-D Route MUST be re-sent with exactly the same attributes
as before, but the BGP-BFD Attribute MUST be excluded; as before, but the BGP-BFD Attribute MUST be excluded;
o the p2mp BFD session SHOULD be deleted. o the p2mp BFD session SHOULD be deleted.
3.1.6.2. Downstream PE Procedures 3.1.6.2. Downstream PE Procedures
On receiving the BGP-BFD Attribute in the x-PMSI A-D Route, the Upon receiving the BGP-BFD Attribute in the x-PMSI A-D Route, the
Downstream PE: Downstream PE:
o MUST associate the received BFD discriminator value with the o MUST associate the received BFD discriminator value with the
P-tunnel originating from the Root PE; P-tunnel originating from the Root PE and the IP address of the
Upstream PE;
o MUST create p2mp BFD session and set bfd.SessionType = o MUST create p2mp BFD session and set bfd.SessionType =
MultipointTail as described in [I-D.ietf-bfd-multipoint]; MultipointTail as described in [I-D.ietf-bfd-multipoint];
o MUST use the source IP address of a BFD control packet, the value o MUST use the source IP address of the BFD control packet, the
of BFD Discriminator from the BGP-BFD Attribute to properly value of the BFD Discriminator field, and the x-PMSI tunnel
demultiplex BFD sessions; identifier the BFD control packet was received to properly
demultiplex BFD sessions.
After the state of the p2mp BFD session is up, i.e. bfd.SessionState 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 == Up, the session state will then be used to track the health of the
P-tunnel. P-tunnel.
According to [I-D.ietf-bfd-multipoint], if the Downstream PE receives According to [I-D.ietf-bfd-multipoint], if the Downstream PE receives
Down or AdminDown in the State field of the BFD control packet or Down or AdminDown in the State field of the BFD control packet or
associated with the BFD session Detection Timer expires, the BFD associated with the BFD session Detection Timer expires, the BFD
session state is down, i.e. bfd.SessionState = Down. When the BFD session state is down, i.e., bfd.SessionState == Down. When the BFD
session state is Down, then the P-tunnel associated with the BFD session state is Down, then the P-tunnel associated with the BFD
session as down MUST be declared down. Then The Downstream PE MAY session as down MUST be declared down. Then The Downstream PE MAY
initiate a switchover of the traffic from the Primary Upstream PE to initiate a switchover of the traffic from the Primary Upstream PE to
the Standby Upstream PE only if the Standby Upstream PE deemed the Standby Upstream PE only if the Standby Upstream PE deemed
available. The dedicated p2mp BFD session MAY monitor the state of available. A different p2mp BFD session MAY monitor the state of the
the Standby Upstream PE. Standby Upstream PE.
If the Downstream PE's P-tunnel is already up when the Downstream PE If the Downstream PE's P-tunnel is already up when the Downstream PE
receives the new x-PMSI A-D Route with BGP-BFD Attribute, the receives the new x-PMSI A-D Route with BGP-BFD Attribute, the
Downstream PE MUST accept the x-PMSI A-D Route and associate the Downstream PE MUST accept the x-PMSI A-D Route and associate the
value of BFD Discriminator field with the P-tunnel. The Upstream PE value of BFD Discriminator field with the P-tunnel. The Upstream PE
MUST follow procedures listed above in this section to bring the p2mp MUST follow procedures listed above in this section to bring the p2mp
BFD session up and use it to monitor the state of the associated BFD session up and use it to monitor the state of the associated
P-tunnel. P-tunnel.
If the Downstream PE's P-tunnel is already up, its state being If the Downstream PE's P-tunnel is already up, its state being
skipping to change at page 9, line 18 skipping to change at page 9, line 22
PE: PE:
o MUST accept the x-PMSI A-D Route; o MUST accept the x-PMSI A-D Route;
o MUST stop receiving BFD control packets for this p2mp BFD session; o MUST stop receiving BFD control packets for this p2mp BFD session;
o SHOULD delete the p2mp BFD session associated with the P-tunnel; o SHOULD delete the p2mp BFD session associated with the P-tunnel;
o SHOULD NOT switch the traffic to the Standby Upstream PE. o SHOULD NOT switch the traffic to the Standby Upstream PE.
When such a procedure is used, in the context where fast restoration In such a scenario, in the context where fast restoration mechanisms
mechanisms are used for the P-tunnels, leaf PEs should be configured are used for the P-tunnels, leaf PEs should be configured to wait
to wait before updating the UMH, to let the P-tunnel restoration before updating the UMH, to let the P-tunnel restoration mechanism
mechanism happen. A configurable timer MUST be provided for this happen. A configurable timer MUST be provided for this purpose, and
purpose, and it is recommended to provide a reasonable default value it is RECOMMENDED to provide a reasonable default value for this
for this timer. timer.
3.1.7. Per PE-CE link BFD Discriminator 3.1.7. Per PE-CE link BFD Discriminator
The following approach is defined for the fast failover in response The following approach is defined for the fast failover in response
to the detection of PE-CE link failures, in which UMH selection for a to the detection of PE-CE link failures, in which UMH selection for a
given C-multicast route takes into account the state of the BFD given C-multicast route takes into account the state of the BFD
session associated with the state of the upstream PE-CE link. session associated with the state of the upstream PE-CE link.
3.1.7.1. Upstream PE Procedures 3.1.7.1. Upstream PE Procedures
For each protected PE-CE link, the upstream PE initiates a multipoint For each protected PE-CE link, the upstream PE initiates a multipoint
BFD session [I-D.ietf-bfd-multipoint] as MultipointHead toward BFD session [I-D.ietf-bfd-multipoint] as MultipointHead toward
downstream PEs. A downstream PE monitors the state of the p2mp downstream PEs. A downstream PE monitors the state of the p2mp
session as MultipointTail and MAY interpret transition of the BFD session as MultipointTail and MAY interpret transition of the BFD
session into Down state as the indication of the associated PE-CE session into Down state as the indication of the associated PE-CE
link being down. link being down.
For SSM groups, the upstream PE advertises an ((S, G)) S-PMSI A-D For SSM groups, the upstream PE advertises an (C-S, C-G) S-PMSI A-D
route or wildcard (S,*) S-PMSI A-D route for each received SSM ((S, route or wildcard (S,*) S-PMSI A-D route for each received SSM (C-S,
G)) C-multicast route for which protection is desired. For each ASM C-G) C-multicast route for which protection is desired. For each ASM
((S, G)) C-multicast route for which protection is desired, the (C-S, C-G) C-multicast route for which protection is desired, the
upstream PE advertises a ((S, G)) S-PMSI A-D route. For each ASM upstream PE advertises a (C-S, C-G) S-PMSI A-D route. For each ASM
(*,G) C-Multicast route for which protection is desired, the upstream (*,G) C-Multicast route for which protection is desired, the upstream
PE advertises a wildcard (*,G) S-PMSI A-D route. Note that all PE advertises a wildcard (*,G) S-PMSI A-D route. Note that all
S-PMSI A-D routes can signal the same P-tunnel, so there is no need S-PMSI A-D routes can signal the same P-tunnel, so there is no need
for a new P-tunnel for each S-PMSI A-D route. Multicast flows for for a new P-tunnel for each S-PMSI A-D route. Multicast flows for
which protection is desired is controlled by configuration/policy on which protection is desired is controlled by configuration/policy on
the upstream PE. The protected link is the RPF PE-CE interface the upstream PE. The protected link is the RPF PE-CE interface
towards the src/RP. The upstream PE advertises the BFD discriminator towards the src/RP. The upstream PE advertises the BFD Discriminator
of the protected link in the S-PMSI A-D route. If the route to the of the protected link in the S-PMSI A-D route. If the route to the
src/RP changes such that the RPF interface is changed to be a new PE- src/RP changes such that the RPF interface is changed to be a new PE-
CE interface, then the upstream PE will update the S-PMSI A-D route CE interface, then the upstream PE will update the S-PMSI A-D route
with included BGP-BFD Attribute so that value of the BFD with included BGP-BFD Attribute so that the previously advertised
Discriminator is associated with the new RPF link. value of the BFD Discriminator is associated with the new RPF link.
3.1.7.2. Downstream PE Procedures 3.1.7.2. Downstream PE Procedures
If an S-PMSI A-D route bound to a given C-multicast is signaled with If an S-PMSI A-D route bound to a given C-multicast is signaled with
a multipoint BFD session, then the upstream PE is considered during a multipoint BFD session, then the upstream PE is considered during
UMH selection for the C-multicast if and only if the corresponding UMH selection for the C-multicast if and only if the corresponding
BFD session is not in state Down, i.e bfd.SessionState != Down. BFD session is not in state Down, i.e., bfd.SessionState != Down.
Whenever the state of the BFD session changes to Down the Provider Whenever the state of the BFD session changes to Down the Provider
Tunnel will be considered down, and the downstream PE MAY switch to Tunnel will be considered down, and the downstream PE MAY switch to
the backup Provider Tunnel only if the backup Provider Tunnel deemed the backup Provider Tunnel only if the backup Provider Tunnel deemed
available. The dedicated p2mp BFD session MAY monitor the state of available. The dedicated p2mp BFD session MAY monitor the state of
the backup Provider Tunnel. Note that the Provider Tunnel is the backup Provider Tunnel. Note that the Provider Tunnel is
considered down only for the C-multicast states that match to an considered down only for the C-multicast states that match to an
S-PMSI A-D route which included BGP-BFD Attribute with the BFD S-PMSI A-D route which included BGP-BFD Attribute with the BFD
Discriminator of the p2mp BFD session which is down. Discriminator of the p2mp BFD session which is down.
4. Standby C-multicast route 4. Standby C-multicast route
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 exactly two PEs. The procedures that contains C-S is connected to two or more PEs though, to simplify
require all the PEs of that MVPN to follow the single forwarder PE the description, the case of dual-homing is described. The
selection, as specified in [RFC6513]. The procedures assume that if procedures require all the PEs of that MVPN to follow the UMH
a site of a given MVPN that contains C-S is dual-homed to two PEs, selection, as specified in [RFC6513], whether the PE selected based
then all the other sites of that MVPN would have two unicast VPN on its IP address, hashing algorithm described in section 5.1.3
routes (VPN-IPv4 or VPN-IPv6) routes to C-S, each with its own RD. [RFC6513], or Installed UMH Route. 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) routes to C-S, each with its own RD.
As long as C-S is reachable via both PEs, a given downstream PE will 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 with select one of the PEs connected to C-S as its Upstream PE with
respect to C-S. We will refer to the other PE connected to C-S as respect to C-S. We will refer to the other PE connected to C-S as
the "Standby Upstream PE". Note that if the connectivity to C-S the "Standby Upstream PE". Note that if the connectivity to C-S
through the Primary Upstream PE becomes unavailable, then the PE will through the Primary Upstream PE becomes unavailable, then the PE will
select the Standby Upstream PE as its Upstream PE with respect to select the Standby Upstream PE as its Upstream PE with respect to
C-S. When the Primary PE later becomes available, then the PE will C-S. When the Primary PE later becomes available, then the PE will
select the Primary Upstream PE again as its Upstream PE. This is select the Primary Upstream PE again as its Upstream PE. This is
referred to as "revertive" behavior and MUST be supported. Non- referred to as "revertive" behavior and MUST be supported. Non-
skipping to change at page 11, line 29 skipping to change at page 11, line 37
then in addition to sending the C-multicast route with an RT that then in addition to sending the C-multicast route with an RT that
identifies the Primary Upstream PE, the PE also originates and sends identifies the Primary Upstream PE, the PE also originates and sends
a C-multicast route with an RT that identifies the Standby Upstream a C-multicast route with an RT that identifies the Standby Upstream
PE. This route, that has the semantics of being a 'standby' PE. This route, that has the semantics of being a 'standby'
C-multicast route, is further called a "Standby BGP C-multicast C-multicast route, is further called a "Standby BGP C-multicast
route", and is constructed as follows: route", and is constructed as follows:
o the NLRI is constructed as the original C-multicast route, except o the NLRI is constructed as the original C-multicast route, except
that the RD is the same as if the C-multicast route was built that the RD is the same as if the C-multicast route was built
using the standby PE as the UMH (it will carry the RD associated using the standby PE as the UMH (it will carry the RD associated
to the unicast VPN route advertised by the standby PE for S) to the unicast VPN route advertised by the standby PE for S and a
Route Target derived from the standby PE's UMH route's VRF RT
Import EC);
o SHOULD carry the "Standby PE" BGP Community (this is a new BGP o SHOULD carry the "Standby PE" BGP Community (this is a new BGP
Community, see Section 7) Community, see Section 7).
The normal and the standby C-multicast routes must have their Local The normal and the standby C-multicast routes must have their Local
Preference attribute adjusted so that, if two C-multicast routes with Preference attribute adjusted so that, if two C-multicast routes with
same NLRI are received by a BGP peer, one carrying the "Standby PE" same NLRI are received by a BGP peer, one carrying the "Standby PE"
attribute and the other one *not* carrying the "Standby PE" attribute and the other one *not* carrying the "Standby PE"
community, then preference is given to the one *not* carrying the community, then preference is given to the one *not* carrying the
"Standby PE" attribute. Such a situation can happen when, for "Standby PE" attribute. Such a situation can happen when, for
instance, due to transient unicast routing inconsistencies, two instance, due to transient unicast routing inconsistencies, two
different downstream PEs consider different upstream PEs to be the different downstream PEs consider different upstream PEs to be the
primary one; in that case, without any precaution taken, both primary one; in that case, without any precaution taken, both
upstream PEs would process a standby C-multicast route and possibly upstream PEs would process a standby C-multicast route and possibly
stop forwarding at the same time. For this purpose, routes that stop forwarding at the same time. For this purpose, routes that
carry the "Standby PE" BGP Community MUST have the LOCAL_PREF carry the "Standby PE" BGP Community MUST have the LOCAL_PREF
attribute set to zero. attribute set to zero.
Note that, when a PE advertises such a Standby C-multicast join for Note that, when a PE advertises such a Standby C-multicast join for
an ((S, G)) it must join the corresponding P-tunnel. an (C-S, C-G) it must join the corresponding P-tunnel.
If at some later point the local PE determines that C-S is no longer If at some later point the local PE determines that C-S is no longer
reachable through the Primary Upstream PE, the Standby Upstream PE reachable through the Primary Upstream PE, the Standby Upstream PE
becomes the Upstream PE, and the local PE re-sends the C-multicast becomes the Upstream PE, and the local PE re-sends the C-multicast
route with RT that identifies the Standby Upstream PE, except that route with RT that identifies the Standby Upstream PE, except that
now the route does not carry the Standby PE BGP Community (which now the route does not carry the Standby PE BGP Community (which
results in replacing the old route with a new route, with the only results in replacing the old route with a new route, with the only
difference between these routes being the presence/absence of the difference between these routes being the presence/absence of the
Standby PE BGP Community). Standby PE BGP Community).
skipping to change at page 13, line 6 skipping to change at page 13, line 15
Doing neither (a) or (b) for a given (C-S,C-G) is called "cold root Doing neither (a) or (b) for a given (C-S,C-G) is called "cold root
standby". standby".
Doing (a) but not (b) for a given (C-S,C-G) is called "warm root Doing (a) but not (b) for a given (C-S,C-G) is called "warm root
standby". standby".
Doing (b) (which implies also doing (a)) for a given (C-S,C-G) is Doing (b) (which implies also doing (a)) for a given (C-S,C-G) is
called "hot root standby". called "hot root standby".
Note that, if an upstream PE uses an S-PMSI only policy, it shall Note that, if an upstream PE uses an S-PMSI only policy, it shall
advertise an S-PMSI for an ((S, G)) as soon as it receives a advertise an S-PMSI for an (C-S, C-G) as soon as it receives a
C-multicast route for ((S, G)), normal or Standby; i.e. it shall not C-multicast route for (C-S, C-G), normal or Standby; i.e., it shall
wait for receiving a non-Standby C-multicast route before advertising not wait for receiving a non-Standby C-multicast route before
the corresponding S-PMSI. advertising the corresponding S-PMSI.
Section 9.3.2 of [RFC6514], describes the procedures of sending a Section 9.3.2 of [RFC6514], describes the procedures of sending a
Source-Active A-D result as a result of receiving the C-multicast Source-Active A-D result as a result of receiving the C-multicast
route. These procedures should be followed for both the normal and route. These procedures should be followed for both the normal and
Standby C-multicast routes. Standby C-multicast routes.
4.3. Reachability determination 4.3. Reachability determination
The standby PE can use the following information to determine that The standby PE can use the following information to determine that
C-S can or cannot be reached through the primary PE: C-S can or cannot be reached through the primary PE:
o presence/absence of a unicast VPN route toward C-S o presence/absence of a unicast VPN route toward C-S
o supposing that the standby PE is an egress of the tunnel rooted at o supposing that the standby PE is an egress of the tunnel rooted at
the Primary PE, the standby PE can determine the reachability of the Primary PE, the standby PE can determine the reachability of
C-S through the Primary PE based on the status of this tunnel, C-S through the Primary PE based on the status of this tunnel,
determined thanks to the same criteria as the ones described in determined thanks to the same criteria as the ones described in
Section 3.1 (without using the UMH selection procedures of Section 3.1 (without using the UMH selection procedures of
Section 3) Section 3);
o other mechanisms MAY be used o other mechanisms MAY be used.
4.4. Inter-AS 4.4. Inter-AS
If the non-segmented inter-AS approach is used, the procedures in If the non-segmented inter-AS approach is used, the procedures in
section 4 can be applied. section 4 can be applied.
When multicast VPNs are used in an inter-AS context with the When multicast VPNs are used in an inter-AS context with the
segmented inter-AS approach described in section 8.2 of [RFC6514], segmented inter-AS approach described in section 8.2 of [RFC6514],
the procedures in this section can be applied. the procedures in this section can be applied.
skipping to change at page 15, line 49 skipping to change at page 16, line 12
(a) the rules determining the status of a tree are not the same on (a) the rules determining the status of a tree are not the same on
two distinct downstream PEs or (b) the rule determining the status of two distinct downstream PEs or (b) the rule determining the status of
a tree depend on conditions local to a PE (e.g. the PE-P upstream a tree depend on conditions local to a PE (e.g. the PE-P upstream
link being up). link being up).
7. IANA Considerations 7. IANA Considerations
Allocation is expected from IANA for the BGP "Standby PE" community. Allocation is expected from IANA for the BGP "Standby PE" community.
(TBC) (TBC)
[Note to RFC Editor: this section may be removed on publication as an
RFC.]
8. Security Considerations 8. Security Considerations
9. Acknowledgments 9. Acknowledgments
The authors want to thank Greg Reaume, Eric Rosen, and Jeffrey Zhang The authors want to thank Greg Reaume, Eric Rosen, Jeffrey Zhang, and
for their review and useful feedback. Zheng (Sandy) Zhang for their reviews, useful comments, and helpful
suggestions.
10. Contributor Addresses 10. Contributor Addresses
Below is a list of other contributing authors in alphabetical order: Below is a list of other contributing authors in alphabetical order:
Rahul Aggarwal Rahul Aggarwal
Arktan Arktan
Email: raggarwa_1@yahoo.com Email: raggarwa_1@yahoo.com
skipping to change at page 18, line 18 skipping to change at page 18, line 26
USA USA
Email: kanwar.singh@alcatel-lucent.com Email: kanwar.singh@alcatel-lucent.com
11. References 11. References
11.1. Normative References 11.1. Normative References
[I-D.ietf-bfd-multipoint] [I-D.ietf-bfd-multipoint]
Katz, D., Ward, D., Networks, J., and G. Mirsky, "BFD for Katz, D., Ward, D., Networks, J., and G. Mirsky, "BFD for
Multipoint Networks", draft-ietf-bfd-multipoint-18 (work Multipoint Networks", draft-ietf-bfd-multipoint-19 (work
in progress), June 2018. in progress), December 2018.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997, DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>. <https://www.rfc-editor.org/info/rfc2119>.
[RFC4875] Aggarwal, R., Ed., Papadimitriou, D., Ed., and S. [RFC4875] Aggarwal, R., Ed., Papadimitriou, D., Ed., and S.
Yasukawa, Ed., "Extensions to Resource Reservation Yasukawa, Ed., "Extensions to Resource Reservation
Protocol - Traffic Engineering (RSVP-TE) for Point-to- Protocol - Traffic Engineering (RSVP-TE) for Point-to-
Multipoint TE Label Switched Paths (LSPs)", RFC 4875, Multipoint TE Label Switched Paths (LSPs)", RFC 4875,
 End of changes. 38 change blocks. 
78 lines changed or deleted 90 lines changed or added

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