draft-ietf-bess-mvpn-fast-failover-08.txt   draft-ietf-bess-mvpn-fast-failover-09.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: February 29, 2020 Juniper Networks Expires: August 4, 2020 Juniper Networks
G. Mirsky, Ed. G. Mirsky, Ed.
ZTE Corp. ZTE Corp.
August 28, 2019 February 1, 2020
Multicast VPN fast upstream failover Multicast VPN fast upstream failover
draft-ietf-bess-mvpn-fast-failover-08 draft-ietf-bess-mvpn-fast-failover-09
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 February 29, 2020. This Internet-Draft will expire on August 4, 2020.
Copyright Notice Copyright Notice
Copyright (c) 2019 IETF Trust and the persons identified as the Copyright (c) 2020 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 31 skipping to change at page 2, line 31
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. (C-S, C-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 Attribute . . . . . . . . . . . . . 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 . . . . . . . . . . . . . . . . . . 9 4. Standby C-multicast route . . . . . . . . . . . . . . . . . . 10
4.1. Downstream PE behavior . . . . . . . . . . . . . . . . . 10 4.1. Downstream PE behavior . . . . . . . . . . . . . . . . . 10
4.2. Upstream PE behavior . . . . . . . . . . . . . . . . . . 11 4.2. Upstream PE behavior . . . . . . . . . . . . . . . . . . 12
4.3. Reachability determination . . . . . . . . . . . . . . . 12 4.3. Reachability determination . . . . . . . . . . . . . . . 13
4.4. Inter-AS . . . . . . . . . . . . . . . . . . . . . . . . 12 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 . . . . . . . . . . . . . . . . . . . . . . 13 failover . . . . . . . . . . . . . . . . . . . . . . 14
4.4.2. Inter-AS procedures for ASBRs . . . . . . . . . . . . 13 4.4.2. Inter-AS procedures for ASBRs . . . . . . . . . . . . 14
5. Hot Root Standby . . . . . . . . . . . . . . . . . . . . . . 14 5. Hot Root Standby . . . . . . . . . . . . . . . . . . . . . . 14
6. Duplicate packets . . . . . . . . . . . . . . . . . . . . . . 14 6. Duplicate packets . . . . . . . . . . . . . . . . . . . . . . 15
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 15 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 15
8. Security Considerations . . . . . . . . . . . . . . . . . . . 15 7.1. BFD Discriminator . . . . . . . . . . . . . . . . . . . . 15
9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 15 7.2. BFD Discriminator Extention Type . . . . . . . . . . . . 16
10. Contributor Addresses . . . . . . . . . . . . . . . . . . . . 15 8. Security Considerations . . . . . . . . . . . . . . . . . . . 17
11. References . . . . . . . . . . . . . . . . . . . . . . . . . 17 9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 17
11.1. Normative References . . . . . . . . . . . . . . . . . . 17 10. Contributor Addresses . . . . . . . . . . . . . . . . . . . . 17
11.2. Informative References . . . . . . . . . . . . . . . . . 18 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 19
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 18 11.1. Normative References . . . . . . . . . . . . . . . . . . 19
11.2. Informative References . . . . . . . . . . . . . . . . . 20
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 20
1. Introduction 1. Introduction
In the context of multicast in BGP/MPLS VPNs, it is desirable to In the context of multicast in BGP/MPLS VPNs, it is desirable to
provide mechanisms allowing fast recovery of connectivity on provide mechanisms allowing fast recovery of connectivity on
different types of failures. This document addresses failures of different types of failures. This document addresses failures of
elements in the provider network that are upstream of PEs connected elements in the provider network that are upstream of PEs connected
to VPN sites with receivers. to VPN sites with receivers.
Section 3 describes local procedures allowing an egress PE (a PE Section 3 describes local procedures allowing an egress PE (a PE
skipping to change at page 5, line 29 skipping to change at page 5, line 29
is reachable through unicast routing tables. In this case, the is reachable through unicast routing tables. In this case, the
downstream PE can immediately update its UMH when the reachability downstream PE can immediately update its UMH when the reachability
condition changes. condition changes.
That is similar to BGP next-hop tracking for VPN routes, except that 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 root the address considered is not the BGP next-hop address, but the root
address in the PMSI tunnel attribute. address in the PMSI tunnel attribute.
If BGP next-hop tracking is done for VPN routes and the root address 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 in of a given tunnel happens to be the same as the next-hop address in
the BGP auto-discovery route advertising the tunnel, then this the BGP auto-discovery route advertising the tunnel, then using this
mechanisms may be omitted for this tunnel, as it will not bring any mechanism for the tunnel will not bring any specific benefit.
specific benefit.
3.1.2. PE-P Upstream link status 3.1.2. PE-P Upstream link status
A condition to consider a tunnel status as Up can be that the last- A condition to consider a tunnel status as Up can be that the last-
hop link of the P-tunnel is up. hop link of the P-tunnel is up.
This method should not be used when there is a fast restoration Using this method when a fast restoration mechanism (such as MPLS FRR
mechanism (such as MPLS FRR [RFC4090]) in place for the link. [RFC4090]) is in place for the link requires careful consideration
and coordination of defect detection intervals for the link and the
tunnel. In many cases, it is not practical to use both methods at
the same time.
3.1.3. P2MP RSVP-TE tunnels 3.1.3. P2MP RSVP-TE tunnels
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 Up state. considered up if the sub-LSP to this downstream PE is in Up state.
The determination of whether a P2MP RSVP-TE LSP is in Up state The determination of whether a P2MP RSVP-TE LSP is in Up state
requires Path and Resv state for the LSP and is based on procedures requires Path and Resv state for the LSP and is based on procedures
specified in [RFC4875]. In this case, the downstream PE can specified in [RFC4875]. As a result, the downstream PE can
immediately update its UMH when the reachability condition changes. immediately update its UMH when the reachability condition changes.
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 (C-S, An upstream PE SHOULD be removed from the UMH candidate list for a
C-G) if the P-tunnel (I or S, depending) for this (S, G) is leaf given (C-S, C-G) if the P-tunnel (I-PMSI or S-PMSI) for this (S, G)
triggered (PIM, mLDP), but for some reason internal to the protocol is leaf-triggered (PIM, mLDP), but for some reason, internal to the
the upstream one-hop branch of the tunnel from P to PE cannot be protocol, the upstream one-hop branch of the tunnel from P to PE
built. In this case, the downstream PE can immediately update its cannot be built. As a result, the downstream PE can immediately
UMH when the reachability condition changes. update its UMH when the reachability condition changes.
3.1.5. (C-S, C-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, a configurable timer MUST be
configured to wait before updating the UMH, to let the P-tunnel configured on the downstream PE to wait before updating the UMH, to
restoration mechanism happen. A configurable timer MUST be provided let the P-tunnel restoration mechanism happen. It is RECOMMENDED to
for this purpose, and it is recommended to provide a reasonable provide a reasonable default value for this timer. An implementation
default value for this timer. SHOULD use three seconds as the default value for this timer.
This method can be applicable, for instance, when a (C-S, C-G) flow This method can be applicable, for instance, when a (C-S, C-G) flow
is 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 the method
Hot Root Standby, no prior knowledge of the rate of the multicast described in Section 5, no prior knowledge of the rate of the
streams is required; downstream PEs can compare reception on the two multicast streams is required; downstream PEs can compare reception
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 Attribute
P-tunnel status can be derived from the status of a multipoint BFD P-tunnel status MAY be derived from the status of a multipoint BFD
session [RFC8562] whose discriminator is advertised along with an session [RFC8562] whose discriminator is advertised along with an
x-PMSI A-D route. x-PMSI A-D route.
This document defines the format and ways of using a new BGP This document defines the format and ways of using a new BGP
attribute called the "BGP- BFD attribute". It is an optional attribute called the "BFD Discriminator". It 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:
+-------------------------------+ 0 1 2 3
| Flags (1 octet) | 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 Discriminator (4 octets) | | BFD Mode | Reserved |
+-------------------------------+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| BFD Discriminator |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~ Optional TLVs ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The Flags field has the following format: Format of the BFD Discriminator Attribute
0 1 2 3 4 5 6 7 Where:
+-+-+-+-+-+-+-+-+
| reserved | BFD Mode is the one octet long field. This specification defines
+-+-+-+-+-+-+-+-+ the P2MP value (TBA3) Section 7.1.
Reserved field is three octets long, and the value MUST be zeroed
on transmission and ignored on receipt.
BFD Discriminator is four octets long field.
Optional TLVs is the optional variable-length field that MAY be
used in the BFD Discriminator attribute for future extensions.
TLVs MAY be included is a sequential or nested manner. Each TLV
consists of:
* one octet-long field of TLV 's Type value (Section 7.2)
* one octet-long field of the length of the Value field in octets
* variable length Value field.
The length of a TLV MUST be aligned on four octets boundary.
The BFD Discriminator attribute SHALL be considered malformed if its
length is not a non-zero multiple of four. If malformed, the UPDATE
message SHALL be handled using the approach of "treat-as-withdraw"
per [RFC7606].
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 a p2mp BFD When it is desired to track the P-tunnel status using a 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 [RFC8562]; as described in [RFC8562];
o MUST use an address in 127.0.0.0/8 range for IPv4 or in o when transmitting BFD Control packets, MUST as the destination IP
0:0:0:0:0:FFFF:7F00:0/104 range for IPv6 as destination IP address address one of the internal loopback addresses from 127/8 range
when transmitting BFD control packets; for IPv4 or one of IPv4-mapped IPv4 loopback addresses from
::ffff:127.0.0.0/104 range for IPv6;
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 BFD Discriminator attribute in the x-PMSI A-D
BFD Discriminator value set to My Discriminator value; Route with the value set to My Discriminator value;
o MUST periodically transmit BFD control packets over the x-PMSI o MUST periodically transmit BFD control packets over the x-PMSI
tunnel. tunnel.
If the tracking of the P-tunnel by using a p2mp BFD session is 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 enabled after the x-PMSI A-D route has been already advertised, the
x-PMSI A-D Route MUST be re-sent with precisely the same attributes x-PMSI A-D Route MUST be re-sent with precisely the same attributes
as before and the BGP-BFD Attribute included. as before and the BFD Discriminator attribute included.
If the x-PMSI A-D route is advertised with P-tunnel status tracked 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 using the p2mp BFD session and it is desired to stop tracking
P-tunnel status using BFD, then: P-tunnel status using BFD, then:
o x-PMSI A-D Route MUST be re-sent with precisely the same o x-PMSI A-D Route MUST be re-sent with precisely the same
attributes as before, but the BGP-BFD Attribute MUST be excluded; attributes as before, but the BFD Discriminator 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
Upon receiving the BGP-BFD Attribute in the x-PMSI A-D Route, the Upon receiving the BFD Discriminator attribute in the x-PMSI A-D
Downstream PE: Route, the 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 and the IP address of the P-tunnel originating from the Root PE and the IP address of the
Upstream PE; 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 [RFC8562]; MultipointTail as described in [RFC8562];
o MUST use the source IP address of the BFD control packet, the o MUST use the source IP address of the BFD control packet, the
value of the BFD Discriminator field, and the x-PMSI tunnel value of the BFD Discriminator field, and the x-PMSI tunnel
identifier the BFD control packet was received to properly identifier the BFD control packet was received to properly
demultiplex BFD sessions. 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 [RFC8562], if the Downstream PE receives Down or According to [RFC8562], if the Downstream PE receives Down or
AdminDown in the State field of the BFD control packet or associated AdminDown in the State field of the BFD control packet or associated
with the BFD session Detection Timer expires, the BFD session state with the BFD session Detection Timer expires, the BFD session is
is down, i.e., bfd.SessionState == Down. When the BFD session state down, i.e., bfd.SessionState == Down. When the BFD session state is
is Down, then the P-tunnel associated with the BFD session as down Down, then the P-tunnel associated with the BFD session MUST be
MUST be declared down. Then The Downstream PE MAY initiate a declared down. As a result, the Downstream PE MAY initiate a
switchover of the traffic from the Primary Upstream PE to the Standby switchover of the traffic from the Primary Upstream PE to the Standby
Upstream PE only if the Standby Upstream PE deemed available. A Upstream PE only if the Standby Upstream PE deemed available. A
different p2mp BFD session MAY monitor the state of the Standby different p2mp BFD session MAY be used to monitor the state of the
Upstream PE. P-tunnel from 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 BFD Discriminator attribute,
Downstream PE MUST accept the x-PMSI A-D Route and associate the 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
monitored by the p2mp BFD session, and the Downstream PE receives the monitored by the p2mp BFD session, and the Downstream PE receives the
new x-PMSI A-D Route without the BGP-BFD Attribute, the Downstream new x-PMSI A-D Route without the BFD Discriminator attribute, the
PE: Downstream PE:
o MUST accept the x-PMSI A-D Route; o MUST accept the x-PMSI A-D Route;
o MUST stop processing BFD control packets for this p2mp BFD o MUST stop processing BFD control packets for this p2mp BFD
session; 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.
skipping to change at page 10, line 7 skipping to change at page 10, line 37
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 will refer to the other PE connected to C-S as the "Standby We will refer to the other PE connected to C-S as the "Standby
Upstream PE". Note that if the connectivity to C-S through the Upstream PE". Note that if the connectivity to C-S through the
Primary Upstream PE becomes unavailable, then the PE will select the Primary Upstream PE becomes unavailable, then the PE will select the
Standby Upstream PE as its Upstream PE for C-S. When the Primary PE Standby Upstream PE as its Upstream PE for C-S. When the Primary PE
later becomes available, then the PE will select the Primary Upstream later becomes available, then the PE will select the Primary Upstream
PE again as its Upstream PE. Such behavior is referred to as PE again as its Upstream PE. Such behavior is referred to as
"revertive" behavior and MUST be supported. Non-revertive behavior "revertive" behavior and MUST be supported. Non-revertive behavior
would refer to the behavior of continuing to select the backup PE as would refer to the behavior of continuing to select the backup PE as
the UMH even after the Primary has come up. This non-revertive the UMH even after the Primary has come up. This non-revertive
behavior can also be optionally supported by an implementation and behavior MAY also be supported by an implementation and would be
would be enabled through some configuration. enabled through some configuration.
For readability, in the following sub-sections, the procedures are For readability, in the following sub-sections, 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 failover for the equally to BGP C-multicast Shared Tree Join routes failover for the
case where the customer RP is dual-homed (substitute "C-RP" to case where the customer RP is dual-homed (substitute "C-RP" to
"C-S"). "C-S").
4.1. Downstream PE behavior 4.1. Downstream PE behavior
When a (downstream) PE connected to some site of an MVPN needs to When a (downstream) PE connected to some site of an MVPN needs to
skipping to change at page 10, line 45 skipping to change at page 11, line 27
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 and a 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 Route Target derived from the standby PE's UMH route's VRF RT
Import EC); 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" community 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" community. Such a situation can happen when, for
instance, due to transient unicast routing inconsistencies, two instance, due to transient unicast routing inconsistencies or lack of
different downstream PEs consider different upstream PEs to be the support of the Standby PE community, two different downstream PEs
primary one; in that case, without any precaution taken, both consider different upstream PEs to be the primary one; in that case,
upstream PEs would process a standby C-multicast route and possibly without any precaution taken, both upstream PEs would process a
stop forwarding at the same time. For this purpose, routes that standby C-multicast route and possibly stop forwarding at the same
carry the "Standby PE" BGP Community MUST have the LOCAL_PREF time. For this purpose, routes that carry the "Standby PE" BGP
attribute set to zero. Community MUST have the LOCAL_PREF attribute set to zero.
Note that, when a PE advertises such a Standby C-multicast join for a 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. (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). Also, a LOCAL_PREF attribute MUST be set Standby PE BGP Community). Also, a LOCAL_PREF attribute MUST be set
to zero. to zero.
4.2. Upstream PE behavior 4.2. Upstream PE behavior
When a PE receives a C-multicast route for a particular (C-S, C-G), When a PE receives a C-multicast route for a particular (C-S, C-G),
and the RT carried in the route results in importing the route into a and the RT carried in the route results in importing the route into a
particular VRF on the PE, if the route carries the Standby PE BGP particular VRF on the PE, if the route carries the Standby PE BGP
Community, then the PE performs as follows: Community, then the PE performs as follows:
when the PE determines that C-S is not reachable through some when the PE determines (the use of the particular method to detect
other PE, the PE SHOULD install VRF PIM state corresponding to the failure is outside the scope of this document) that C-S is not
this Standby BGP C-multicast route (the result will be that a PIM reachable through some other PE, the PE SHOULD install VRF PIM
Join message will be sent to the CE towards C-S, and that the PE state corresponding to this Standby BGP C-multicast route (the
will receive (C-S, C-G) traffic), and the PE SHOULD forward (C-S, result will be that a PIM Join message will be sent to the CE
C-G) traffic received by the PE to other PEs through a P-tunnel towards C-S, and that the PE will receive (C-S, C-G) traffic), and
rooted at the PE. the PE SHOULD forward (C-S, C-G) traffic received by the PE to
other PEs through a P-tunnel rooted at the PE.
Furthermore, irrespective of whether C-S carried in that route is Furthermore, irrespective of whether C-S carried in that route is
reachable through some other PE: reachable through some other PE:
a) based on local policy, as soon as the PE receives this Standby BGP 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 C-multicast route, the PE MAY install VRF PIM state corresponding
to this BGP Source Tree Join route (the result will be that Join 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 messages will be sent to the CE toward C-S, and that the PE will
receive (C-S, C-G) traffic) receive (C-S, C-G) traffic)
skipping to change at page 13, line 32 skipping to change at page 14, line 21
advertised from the AS of the source to construct a C-multicast advertised from the AS of the source to construct a C-multicast
route, as described in section 11.1.3 [RFC6514] a downstream PE will route, as described in section 11.1.3 [RFC6514] a downstream PE will
choose a second Inter-AS I-PMSI auto-discovery route advertised from choose a second Inter-AS I-PMSI auto-discovery route advertised from
the AS of the source and use this route to construct and advertise a the AS of the source and use this route to construct and advertise a
Standby C-multicast route (C-multicast route carrying the Standby Standby C-multicast route (C-multicast route carrying the Standby
extended community) as described in Section 4.1. extended community) as described in Section 4.1.
4.4.2. Inter-AS procedures for ASBRs 4.4.2. Inter-AS procedures for ASBRs
When an upstream ASBR receives a C-multicast route, and at least one 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 ASBR of the RTs of the route matches one of the ASBR Import RT, the ASBR,
locates an Inter-AS I-PMSI A-D route whose RD and Source AS matches that supports this specification, MUST locate an Inter-AS I-PMSI A-D
the RD and Source AS carried in the C-multicast route. If the match route whose RD and Source AS respectively match the RD and Source AS
is found, and C-multicast route carries the Standby PE BGP Community, carried in the C-multicast route. If the match is found, and
then the ASBR performs as follows: C-multicast route carries the Standby PE BGP Community, then the ASBR
MUST perform as follows:
o if the route was received over iBGP; the route is expected to have o if the route was received over iBGP and its LOCAL_PREF attribute
a LOCAL_PREF attribute set to zero, and it should be re-advertised is set to zero, then it MUST be re-advertised in eBGP with a MED
in eBGP with a MED attribute (MULTI_EXIT_DISC) set to the highest attribute (MULTI_EXIT_DISC) set to the highest possible value
possible value (0xffff) (0xffff)
o if the route was received over eBGP; the route is expected to have o if the route was received over eBGP and its MED attribute set of
a MED attribute set of 0xffff and should be re-advertised in iBGP 0xffff, then it MUST be re-advertised in iBGP with a LOCAL_PREF
with a LOCAL_PREF attribute set to zero attribute set to zero
Other ASBR procedures are applied without modification. Other ASBR procedures are applied without modification.
5. Hot Root Standby 5. Hot Root Standby
The mechanisms defined in sections Section 4 and Section 3 can be The mechanisms defined in sections Section 4 and Section 3 can be
used together as follows. used together as follows.
The principle is that, for a given VRF (or possibly only for a given The principle is that, for a given VRF (or possibly only for a given
C-S,C-G): C-S,C-G):
skipping to change at page 15, line 9 skipping to change at page 15, line 43
traffic on P-tunnels at the same time in the steady state. That will traffic on P-tunnels at the same time in the steady state. That will
be the case when "hot root standby" mode is used (Section 4), and be the case when "hot root standby" mode is used (Section 4), and
which can also be the case if procedures of Section 3 are used and which can also be the case if procedures of Section 3 are used and
(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 depends on conditions local to a PE (e.g., the PE-P upstream a tree depends 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. IANA is requested to allocate the BGP "Standby PE" community value
(TBC) (TBA1) from the Border Gateway Protocol (BGP) Well-known Communities
registry.
7.1. BFD Discriminator
This document defines a new BGP optional transitive attribute, called
"BFD Discriminator". IANA is requested to allocate a codepoint
(TBA2) in the "BGP Path Attributes" registry to the BFD Discriminator
attribute.
IANA is requested to create a new BFD Mode sub-registry in Border
Gateway Protocol (BGP) Parameters registry as described in Table 1.
+---------+-------------------------+---------------+
| Range | Registration Procedures | Note |
+---------+-------------------------+---------------+
| 0-249 | Standards Action | |
| 250-253 | Specification Required | Experimental |
| 254 | Private Use | |
| 255 | Standards Action | |
+---------+-------------------------+---------------+
Table 1: BFD Mode Sub-registry
IANA is requested to allocate the following values from the BFD Mode
sub-registry as defined in Table 2.
+-------+------------------+---------------+
| Value | Description | Reference |
+-------+------------------+---------------+
| 0 | Reserved | This document |
| TBA3 | P2MP BFD Session | This document |
| 255 | Reserved | This document |
+-------+------------------+---------------+
Table 2: BFD Mode
7.2. BFD Discriminator Extention Type
IANA is requested to create a new BFD Discriminator Extention Type
sub-registry in Border Gateway Protocol (BGP) Parameters registry as
described in Table 3.
+---------+-------------+-------------------------+
| Value | Description | Reference |
+---------+-------------+-------------------------+
| 0 | Reserved | |
| 1-191 | Unassigned | IETF Review |
| 192-251 | Unassigned | First Come First Served |
| 252-254 | Unassigned | Private Use |
| 255 | Reserved | |
+---------+-------------+-------------------------+
Table 3: BFD Discriminator Extention Type Sub-registry
8. Security Considerations 8. Security Considerations
This document describes procedures based on [RFC6513] and [RFC6514]
and hence shares the security considerations respectively represented
in these specifications.
This document makes use of BFD, as defined in [RFC8562], which, in
turn, is based on [RFC5880]. Security considerations relevant to
each protocol are discussed in the respective protocol
specifications.
9. Acknowledgments 9. Acknowledgments
The authors want to thank Greg Reaume, Eric Rosen, Jeffrey Zhang, and The authors want to thank Greg Reaume, Eric Rosen, Jeffrey Zhang, and
Zheng (Sandy) Zhang for their reviews, useful comments, and helpful Zheng (Sandy) Zhang for their reviews, useful comments, and helpful
suggestions. 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:
skipping to change at page 18, line 5 skipping to change at page 20, line 5
[RFC6513] Rosen, E., Ed. and R. Aggarwal, Ed., "Multicast in MPLS/ [RFC6513] Rosen, E., Ed. and R. Aggarwal, Ed., "Multicast in MPLS/
BGP IP VPNs", RFC 6513, DOI 10.17487/RFC6513, February BGP IP VPNs", RFC 6513, DOI 10.17487/RFC6513, February
2012, <https://www.rfc-editor.org/info/rfc6513>. 2012, <https://www.rfc-editor.org/info/rfc6513>.
[RFC6514] Aggarwal, R., Rosen, E., Morin, T., and Y. Rekhter, "BGP [RFC6514] Aggarwal, R., Rosen, E., Morin, T., and Y. Rekhter, "BGP
Encodings and Procedures for Multicast in MPLS/BGP IP Encodings and Procedures for Multicast in MPLS/BGP IP
VPNs", RFC 6514, DOI 10.17487/RFC6514, February 2012, VPNs", RFC 6514, DOI 10.17487/RFC6514, February 2012,
<https://www.rfc-editor.org/info/rfc6514>. <https://www.rfc-editor.org/info/rfc6514>.
[RFC7606] Chen, E., Ed., Scudder, J., Ed., Mohapatra, P., and K.
Patel, "Revised Error Handling for BGP UPDATE Messages",
RFC 7606, DOI 10.17487/RFC7606, August 2015,
<https://www.rfc-editor.org/info/rfc7606>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>. May 2017, <https://www.rfc-editor.org/info/rfc8174>.
[RFC8562] Katz, D., Ward, D., Pallagatti, S., Ed., and G. Mirsky, [RFC8562] Katz, D., Ward, D., Pallagatti, S., Ed., and G. Mirsky,
Ed., "Bidirectional Forwarding Detection (BFD) for Ed., "Bidirectional Forwarding Detection (BFD) for
Multipoint Networks", RFC 8562, DOI 10.17487/RFC8562, Multipoint Networks", RFC 8562, DOI 10.17487/RFC8562,
April 2019, <https://www.rfc-editor.org/info/rfc8562>. April 2019, <https://www.rfc-editor.org/info/rfc8562>.
11.2. Informative References 11.2. Informative References
 End of changes. 44 change blocks. 
107 lines changed or deleted 209 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/