draft-ietf-bess-evpn-pref-df-05.txt   draft-ietf-bess-evpn-pref-df-06.txt 
BESS Workgroup J. Rabadan, Ed. BESS Workgroup J. Rabadan, Ed.
Internet-Draft S. Sathappan Internet-Draft S. Sathappan
Intended status: Standards Track Nokia Intended status: Standards Track Nokia
Expires: June 19, 2020 T. Przygienda Expires: December 21, 2020 T. Przygienda
W. Lin W. Lin
J. Drake J. Drake
Juniper Networks Juniper Networks
A. Sajassi A. Sajassi
S. Mohanty S. Mohanty
Cisco Systems Cisco Systems
December 17, 2019 June 19, 2020
Preference-based EVPN DF Election Preference-based EVPN DF Election
draft-ietf-bess-evpn-pref-df-05 draft-ietf-bess-evpn-pref-df-06
Abstract Abstract
The Designated Forwarder (DF) in Ethernet Virtual Private Networks The Designated Forwarder (DF) in Ethernet Virtual Private Networks
(EVPN) is defined as the PE responsible for sending Broadcast, (EVPN) is defined as the PE responsible for sending Broadcast,
Unknown unicast and Broadcast traffic (BUM) to a multi-homed device/ Unknown unicast and Broadcast traffic (BUM) to a multi-homed device/
network in the case of an all-active multi-homing Ethernet Segment network in the case of an all-active multi-homing Ethernet Segment
(ES), or BUM and unicast in the case of single-active multi-homing. (ES), or BUM and unicast in the case of single-active multi-homing.
The DF is selected out of a candidate list of PEs that advertise the The DF is selected out of a candidate list of PEs that advertise the
skipping to change at page 2, line 10 skipping to change at page 2, line 10
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 June 19, 2020. This Internet-Draft will expire on December 21, 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
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1. Problem Statement . . . . . . . . . . . . . . . . . . . . 3 1.1. Problem Statement . . . . . . . . . . . . . . . . . . . . 3
1.2. Solution requirements . . . . . . . . . . . . . . . . . . 3 1.2. Solution requirements . . . . . . . . . . . . . . . . . . 3
2. Conventions and Terminology . . . . . . . . . . . . . . . . . 4 2. Requirements Language and Terminology . . . . . . . . . . . . 4
3. EVPN BGP Attributes Extensions . . . . . . . . . . . . . . . 5 3. EVPN BGP Attributes Extensions . . . . . . . . . . . . . . . 5
4. Solution description . . . . . . . . . . . . . . . . . . . . 6 4. Solution description . . . . . . . . . . . . . . . . . . . . 6
4.1. Use of the Preference algorithm . . . . . . . . . . . . . 7 4.1. Use of the Preference algorithm . . . . . . . . . . . . . 7
4.2. Use of the Preference algorithm in [RFC7432] Ethernet 4.2. Use of the Preference algorithm in [RFC7432] Ethernet
Segments . . . . . . . . . . . . . . . . . . . . . . . . 9 Segments . . . . . . . . . . . . . . . . . . . . . . . . 9
4.3. The Non-Revertive Capability . . . . . . . . . . . . . . 10 4.3. The Non-Revertive Capability . . . . . . . . . . . . . . 10
5. Security Considerations . . . . . . . . . . . . . . . . . . . 12 5. Security Considerations . . . . . . . . . . . . . . . . . . . 13
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13
7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 13 7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 13
8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 13 8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 13
9. References . . . . . . . . . . . . . . . . . . . . . . . . . 13 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 14
9.1. Normative References . . . . . . . . . . . . . . . . . . 13 9.1. Normative References . . . . . . . . . . . . . . . . . . 14
9.2. Informative References . . . . . . . . . . . . . . . . . 14 9.2. Informative References . . . . . . . . . . . . . . . . . 14
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 14 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 15
1. Introduction 1. Introduction
1.1. Problem Statement 1.1. Problem Statement
[RFC7432] defines the Designated Forwarder (DF) in (PBB-)EVPN [RFC7432] defines the Designated Forwarder (DF) in (PBB-)EVPN
networks as the PE responsible for sending broadcast, multicast and networks as the PE responsible for sending broadcast, multicast and
unknown unicast traffic (BUM) to a multi-homed device/network in the unknown unicast traffic (BUM) to a multi-homed device/network in the
case of an all-active multi-homing ES or BUM and unicast traffic to a case of an all-active multi-homing ES or BUM and unicast traffic to a
multi-homed device or network in case of single-active multi-homing. multi-homed device or network in case of single-active multi-homing.
skipping to change at page 4, line 5 skipping to change at page 4, line 5
Ethernet Tag without re-configuring all the PEs in the ES. Ethernet Tag without re-configuring all the PEs in the ES.
d. The solution allows an option to NOT preempt the current DF, even d. The solution allows an option to NOT preempt the current DF, even
if the former DF PE comes back up after a failure. This is also if the former DF PE comes back up after a failure. This is also
known as "non-revertive" behavior, as opposed to the [RFC7432] DF known as "non-revertive" behavior, as opposed to the [RFC7432] DF
election procedures that are always revertive. election procedures that are always revertive.
e. The solution works for single-active and all-active multi-homing e. The solution works for single-active and all-active multi-homing
Ethernet Segments. Ethernet Segments.
2. Conventions and Terminology 2. Requirements Language and Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in "OPTIONAL" in this document are to be interpreted as described in
BCP14 [RFC2119] [RFC8174] when, and only when, they appear in all BCP14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here. capitals, as shown here.
o AC - Attachment Circuit. An AC has an Ethernet Tag associated to o AC - Attachment Circuit. An AC has an Ethernet Tag associated to
it. it.
o BUM - refers to the Broadcast, Unknown unicast and Multicast o BUM - refers to the Broadcast, Unknown unicast and Multicast
traffic. traffic.
o DF, NDF and BDF - Designated Forwarder, Non-Designated Forwarder o DF, NDF and BDF - Designated Forwarder, Non-Designated Forwarder
and Backup Designated Forwarder. and Backup Designated Forwarder.
o DF Alg - refers to Designated Forwarder Election Algorithm. o DF Alg or simply Alg - refers to Designated Forwarder Election
Algorithm.
o HRW - Highest Random Weight, as per [RFC8584]. o HRW - Highest Random Weight, as per [RFC8584].
o ES, vES and ESI - Ethernet Segment, virtual Ethernet Segment and o ES, vES and ESI - Ethernet Segment, virtual Ethernet Segment and
Ethernet Segment Identifier. Ethernet Segment Identifier.
o EVI - EVPN Instance. o EVI - EVPN Instance.
o ISID - refers to Service Instance Identifiers in Provider Backbone o ISID - refers to Service Instance Identifiers in Provider Backbone
Bridging (PBB) networks. Bridging (PBB) networks.
skipping to change at page 6, line 28 skipping to change at page 6, line 28
and DF Alg 2. and DF Alg 2.
o DF Preference (defined in this document): defines a 2-octet value o DF Preference (defined in this document): defines a 2-octet value
that indicates the PE preference to become the DF in the ES. The that indicates the PE preference to become the DF in the ES. The
allowed values are within the range 0-65535, and the default value allowed values are within the range 0-65535, and the default value
MUST be 32767. This value is the midpoint in the allowed MUST be 32767. This value is the midpoint in the allowed
Preference range of values, which gives the operator the Preference range of values, which gives the operator the
flexibility of choosing a significant number of values, above or flexibility of choosing a significant number of values, above or
below the default Preference. The DF Preference field is specific below the default Preference. The DF Preference field is specific
to DF Alg 2 and does not represent any Preference value for other to DF Alg 2 and does not represent any Preference value for other
Algs. Algs. If the DF Alg is different than Alg 2, these two octets can
be encoded differently.
4. Solution description 4. Solution description
Figure 3 illustrates an example that will be used in the description Figure 3 illustrates an example that will be used in the description
of the solution. of the solution.
EVPN network EVPN network
+-------------------+ +-------------------+
| +-------+ ENNI Aggregation | +-------+ ENNI Aggregation
| <---ESI1,500 | PE1 | /\ +----Network---+ | <---ESI1,500 | PE1 | /\ +----Network---+
skipping to change at page 7, line 47 skipping to change at page 7, line 47
4.1. Use of the Preference algorithm 4.1. Use of the Preference algorithm
Assuming the operator wants to control - in a flexible way - what PE Assuming the operator wants to control - in a flexible way - what PE
becomes the DF for a given vES and the order in which the PEs become becomes the DF for a given vES and the order in which the PEs become
DF in case of multiple failures, the following procedure may be used: DF in case of multiple failures, the following procedure may be used:
a. vES1 and vES2 are now configurable with three optional parameters a. vES1 and vES2 are now configurable with three optional parameters
that are signaled in the DF Election extended community. These that are signaled in the DF Election extended community. These
parameters are the Preference, Preemption option (or "Don't parameters are the Preference, Preemption option (or "Don't
Preempt Me" option) and DF Alg. We will represent these Preempt Me" option) and DF Alg. We will represent these
parameters as [Pref,DP,Alg]. Let's assume vES1 is configured as parameters as (Pref,DP,Alg). Let's assume vES1 is configured as
[500,0,Pref] in PE1, and [255,0,Pref] in PE2. vES2 is configured (500,0,Pref) in PE1, and (255,0,Pref) in PE2. vES2 is configured
as [100,0,Pref], [200,0,Pref] and [300,0,Pref] in PE1, PE2 and as (100,0,Pref), (200,0,Pref) and (300,0,Pref) in PE1, PE2 and
PE3 respectively. PE3 respectively.
b. The PEs will advertise an ES route for each vES, including the 3 b. The PEs will advertise an ES route for each vES, including the 3
parameters in the DF Election Extended Community. parameters in the DF Election Extended Community.
c. According to [RFC8584], each PE will run the DF election c. According to [RFC8584], each PE will run the DF election
algorithm upon expiration of the DF Wait timer. In this case, algorithm upon expiration of the DF Wait timer. In this case,
each PE runs the Preference-based DF Alg for each ES as follows: each PE runs the Preference-based DF Alg for each ES as follows:
- The PE will check the DF Alg value in each ES route, and - The PE will check the DF Alg value in each ES route, and
assuming all the ES routes are consistent in this DF Alg and assuming all the ES routes are consistent in this DF Alg and
the value is 2 (Preference-based), the PE will run the new the value is 2 (Preference-based), the PE will run the
extended procedure. Otherwise, the procedure will fall back procedure in this section. Otherwise, the procedure will fall
to [RFC7432] Default Alg. back to [RFC7432] Default Alg.
- In this Preference-based Alg, each PE builds a list of - In this Preference-based Alg, each PE builds a list of
candidate PEs, ordered by Preference. E.g. PE1 will build a candidate PEs, ordered by Preference. E.g. PE1 will build a
list of candidate PEs for vES1 ordered by the Preference, from list of candidate PEs for vES1 ordered by the Preference, from
high to low: PE1>PE2. Hence PE1 will become the DF for vES1. high to low: PE1>PE2. Hence PE1 will become the DF for vES1.
In the same way, PE3 becomes the DF for vES2. In the same way, PE3 becomes the DF for vES2.
d. Note that, by default, the Highest-Preference is chosen for each d. Note that, by default, the Highest-Preference is chosen for each
ES or vES, however the ES configuration can be changed to the ES or vES, however the ES configuration can be changed to the
Lowest-Preference algorithm as long as this option is consistent Lowest-Preference algorithm as long as this option is consistent
skipping to change at page 8, line 38 skipping to change at page 8, line 38
configured as Alg Preference-based with Lowest-Preference, in configured as Alg Preference-based with Lowest-Preference, in
which case, PE2 would have been the DF. which case, PE2 would have been the DF.
e. Assuming some maintenance tasks had to be executed on PE3, the e. Assuming some maintenance tasks had to be executed on PE3, the
operator could set vES2's Preference to e.g., 50 so that PE2 is operator could set vES2's Preference to e.g., 50 so that PE2 is
forced to take over as DF for vES2 (irrespective of the DP forced to take over as DF for vES2 (irrespective of the DP
capability). Once the maintenance on PE3 is over, the operator capability). Once the maintenance on PE3 is over, the operator
could decide to leave the existing preference or configure the could decide to leave the existing preference or configure the
old preference back. old preference back.
f. In case of equal Preference in two or more PEs in the ES, the f. In case of equal Preference in two or more PEs in the ES, the DP
tie-breakers will be the DP bit and the lowest IP PE, in that bit and the lowest IP of the candidate PEs are used as tie-
order. For instance: breakers. After selecting the PEs with the highest Preference
value, an implementation MUST first select the PE advertising the
DP bit set, and then select the PE with the lowest IP address (if
the DP bit selection does not yield a unique candidate). The
PE's IP address is the address used in the candidate list and it
is derived from the Originating Router's IP address of the ES
route. Some examples of the use of the DP bit and IP address
tie-breakers follow:
- If vES1 parameters were [500,0,Pref] in PE1 and [500,1,Pref] - If vES1 parameters were (500,0,Pref) in PE1 and (500,1,Pref)
in PE2, PE2 would be elected due to the DP bit. in PE2, PE2 would be elected due to the DP bit.
- If vES1 parameters were [500,0,Pref] in PE1 and [500,0,Pref] - If vES1 parameters were (500,0,Pref) in PE1 and (500,0,Pref)
in PE2, PE1 would be elected, assuming PE1's IP address is in PE2, PE1 would be elected, assuming PE1's IP address is
lower than PE2's. lower than PE2's.
g. The Preference is an administrative option that MUST be g. The Preference is an administrative option that MUST be
configured on a per-ES basis from the management plane, but MAY configured on a per-ES basis from the management plane, but MAY
also be dynamically changed based on the use of local policies. also be dynamically changed based on the use of local policies.
For instance, on PE1, ES1's Preference can be lowered from 500 to For instance, on PE1, ES1's Preference can be lowered from 500 to
100 in case the bandwidth on the ENNI port is decreased a 50% 100 in case the bandwidth on the ENNI port is decreased a 50%
(that could happen if e.g. the 2-port LAG between PE1 and the (that could happen if e.g. the 2-port LAG between PE1 and the
Aggregation Network loses one port). Policies MAY also trigger Aggregation Network loses one port). Policies MAY also trigger
skipping to change at page 9, line 44 skipping to change at page 10, line 6
administrative Preference value, but then a range of Ethernet Tags administrative Preference value, but then a range of Ethernet Tags
can be defined to use the Highest-Preference or the Lowest-Preference can be defined to use the Highest-Preference or the Lowest-Preference
depending on the desired behavior. With this option, the PE will depending on the desired behavior. With this option, the PE will
build a list of candidate PEs ordered by Preference, however the DF build a list of candidate PEs ordered by Preference, however the DF
for a given Ethernet Tag will be determined by the local for a given Ethernet Tag will be determined by the local
configuration. configuration.
For instance: For instance:
o Assuming ES3 is defined in PE1 and PE2, PE1 may be configured as o Assuming ES3 is defined in PE1 and PE2, PE1 may be configured as
[500,0,Preference] for ES3 and PE2 as [100,0,Preference]. (500,0,Preference) for ES3 and PE2 as (100,0,Preference).
o In addition, assuming VLAN-based service interfaces, the PEs will o In addition, assuming VLAN-based service interfaces, the PEs will
be configured with (Ethernet Tag-range,high_or_low), E.g., be configured with (Ethernet Tag-range,high_or_low), E.g.,
(1-2000,high) and (2001-4000, low). (1-2000,high) and (2001-4000, low).
o This will result in PE1 being DF for Ethernet Tags 1-2000 and PE2 o This will result in PE1 being DF for Ethernet Tags 1-2000 and PE2
being DF for Ethernet Tags 2001-4000. being DF for Ethernet Tags 2001-4000.
For Ethernet Segments attached to three or more PEs, any other logic For Ethernet Segments attached to three or more PEs, any other logic
that provides a fair distribution of the DF function among the PEs is that provides a fair distribution of the DF function among the PEs is
skipping to change at page 10, line 34 skipping to change at page 10, line 44
In Figure 3, we assume that based on the Highest-Pref, PE3 is the DF In Figure 3, we assume that based on the Highest-Pref, PE3 is the DF
for ESI2. for ESI2.
If PE3 has a link, EVC or node failure, PE2 would take over as DF. If PE3 has a link, EVC or node failure, PE2 would take over as DF.
If/when PE3 comes back up again, PE3 will take over, causing some If/when PE3 comes back up again, PE3 will take over, causing some
unnecessary packet loss in the ES. unnecessary packet loss in the ES.
The following procedure avoids preemption upon failure recovery The following procedure avoids preemption upon failure recovery
(please refer to Figure 1): (please refer to Figure 1):
1. A new "Don't Preempt Me" capability is defined on a per-PE per-ES 1. A new "Don't Preempt Me" capability is defined on a per-PE/per-ES
basis, as described in Section 3. If "Don't Preempt Me" is basis, as described in Section 3. If "Don't Preempt Me" is
disabled (default behavior), the advertised DP bit will be 0. If disabled (default behavior), the advertised DP bit will be 0. If
"Don't Preempt Me" is enabled, the ES route will be advertised "Don't Preempt Me" is enabled, the ES route will be advertised
with DP=1 ("Don't Preempt Me"). All the PEs in an ES SHOULD be with DP=1 ("Don't Preempt Me"). All the PEs in an ES SHOULD be
consistent in their configuration of the DP capability, however consistent in their configuration of the DP capability, however
this document do not enforces the consistency across all the PEs. this document do not enforce the consistency across all the PEs.
In case of inconsistency in the support of the DP capability in
the PEs of the same ES, non-revertive behavior is not guaranteed.
2. Assuming we want to avoid 'preemption' in all the PEs in the ES, 2. Assuming we want to avoid 'preemption' in all the PEs in the ES,
the three PEs are configured with the "Don't Preempt Me" the three PEs are configured with the "Don't Preempt Me"
capability. In this example, we assume ESI2 is configured as capability. In this example, we assume ESI2 is configured as
'DP=enabled' in the three PEs. 'DP=enabled' in the three PEs.
3. Assuming Ethernet Tag-1 uses Highest-Pref in vES2 and Ethernet 3. Assuming Ethernet Tag-1 uses Highest-Pref in vES2 and Ethernet
Tag-2 uses Lowest-Pref, when vES2 is enabled in the three PEs, Tag-2 uses Lowest-Pref, when vES2 is enabled in the three PEs,
the PEs will exchange the ES routes and select PE3 as DF for the PEs will exchange the ES routes and select PE3 as DF for
Ethernet Tag-1 (due to the Highest-Pref type), and PE1 as DF for Ethernet Tag-1 (due to the Highest-Pref type), and PE1 as DF for
Ethernet Tag-2 (due to the Lowest-Pref). Ethernet Tag-2 (due to the Lowest-Pref).
4. If PE3's vES2 goes down (due to EVC failure - detected by OAM, or 4. If PE3's vES2 goes down (due to EVC failure - detected by OAM, or
port failure or node failure), PE2 will become the DF for port failure or node failure), PE2 will become the DF for
Ethernet Tag-1. No changes will occur for Ethernet Tag-2. Ethernet Tag-1. No changes will occur for Ethernet Tag-2.
5. When PE3's vES2 comes back up, PE3 will start a boot-timer (if 5. When PE3's vES2 comes back up, PE3 will start a boot-timer (if
booting up) or hold-timer (if the port or EVC recovers). That booting up) or hold-timer (if the port or EVC recovers). That
timer will allow some time for PE3 to receive the ES routes from timer will allow some time for PE3 to receive the ES routes from
PE1 and PE2. PE3 will then: PE1 and PE2. This timer is applied between the INIT and the
DF_WAIT states in the DF Election Finite State Machine described
in [RFC8584]. PE3 will then:
- Select two "reference-PEs" among the ES routes in the vES, the - Select two "reference-PEs" among the ES routes in the vES, the
"Highest-PE" and the "Lowest-PE": "Highest-PE" and the "Lowest-PE":
* The Highest-PE is the PE with higher Preference, using the * The Highest-PE is the PE with higher Preference, using the
DP bit first (with DP=1 being better) and, after that, the DP bit first (with DP=1 being better) and, after that, the
lower PE-IP address as tie-breakers. PE3 will select PE2 lower PE-IP address as tie-breakers. PE3 will select PE2
as Highest-PE over PE1, since, when comparing [Pref,DP,PE- as Highest-PE over PE1, since, when comparing (Pref,DP,PE-
IP], [200,1,PE2-IP] wins over [100,1,PE1-IP]. IP), (200,1,PE2-IP) wins over (100,1,PE1-IP).
* The Lowest-PE is the PE with lower Preference, using the DP * The Lowest-PE is the PE with lower Preference, using the DP
bit first (with DP=1 being better) and, after that, the bit first (with DP=1 being better) and, after that, the
lower PE-IP address as tie-breakers. PE3 will select PE1 lower PE-IP address as tie-breakers. PE3 will select PE1
as Lowest-PE over PE2, since [100,1,PE1-IP] wins over as Lowest-PE over PE2, since (100,1,PE1-IP) wins over
[200,1,PE2-IP]. (200,1,PE2-IP).
* Note that if there were only one remote PE in the ES, * Note that if there were only one remote PE in the ES,
Lowest and Highest PE would be the same PE. Lowest and Highest PE would be the same PE.
- Check its own administrative Pref and compares it with the one - Check its own administrative Pref and compares it with the one
of the Highest-PE and Lowest-PE that have DP=1 in their ES of the Highest-PE and Lowest-PE that have DP=1 in their ES
routes. Depending on this comparison PE3 will send the ES routes. Depending on this comparison PE3 will send the ES
route with a [Pref,DP] that may be different from its route with a (Pref,DP) that may be different from its
administrative [Pref,DP]: administrative (Pref,DP):
* If PE3's Pref value is higher than the Highest-PE's, PE3 * If PE3's Pref value is higher than the Highest-PE's, PE3
will send the ES route with an 'in-use' operational Pref will send the ES route with an 'in-use' operational Pref
equal to the Highest-PE's and DP=0. equal to the Highest-PE's and DP=0.
* If PE3's Pref value is lower than the Lowest-PE's, PE3 will * If PE3's Pref value is lower than the Lowest-PE's, PE3 will
send the ES route with an 'in-use' operational Preference send the ES route with an 'in-use' operational Preference
equal to the Lowest-PE's and DP=0. equal to the Lowest-PE's and DP=0.
* If PE3's Pref value is neither higher nor lower than the * If PE3's Pref value is neither higher nor lower than the
Highest-PE's or the Lowest-PE's respectively, PE3 will send Highest-PE's or the Lowest-PE's respectively, PE3 will send
the ES route with its administrative [Pref,DP]=[300,1]. the ES route with its administrative (Pref,DP)=(300,1).
* In this example, PE3's administrative Pref=300 is higher * In this example, PE3's administrative Pref=300 is higher
than the Highest-PE with DP=1, that is, PE2 (Pref=200). than the Highest-PE with DP=1, that is, PE2 (Pref=200).
Hence PE3 will inherit PE2's preference and send the ES Hence PE3 will inherit PE2's preference and send the ES
route with an operational 'in-use' [Pref,DP]=[200,0]. route with an operational 'in-use' (Pref,DP)=(200,0).
- Note that, a PE will always send DP=0 as long as the - Note that, a PE will always send DP=0 as long as the
advertised Pref is the 'in-use' operational Pref (as opposed advertised Pref is the 'in-use' operational Pref (as opposed
to the 'administrative' Pref). to the 'administrative' Pref).
- This ES route update sent by PE3 (with [200,0,PE3-IP]) will - This ES route update sent by PE3, with (200,0,PE3-IP), will
not cause any DF switchover for any Ethernet Tag. PE2 will not cause any DF switchover for any Ethernet Tag. PE2 will
continue being DF for Ethernet Tag-1. This is because the DP continue being DF for Ethernet Tag-1. This is because the DP
bit will be used as a tie-breaker in the DF election. That bit will be used as a tie-breaker in the DF election. That
is, if a PE has two candidate PEs with the same Pref, it will is, if a PE has two candidate PEs with the same Pref, it will
pick up the one with DP=1. There are no DF changes for pick up the one with DP=1. There are no DF changes for
Ethernet Tag-2 either. Ethernet Tag-2 either.
6. Subsequently, if PE2 fails, upon receiving PE2's ES route 6. For any subsequent update/withdraw in the ES, the PEs will go
withdrawal, PE3 and PE1 will go through the process described in through the process described in (5) to select Highest and
(5) to select new Highest and Lowest-PEs (considering their own Lowest-PEs. For instance, if PE2 fails, upon receiving PE2's ES
active ES route) and then they will run the DF Election. route withdrawal, PE3 and PE1 will go through the selection of
new Highest and Lowest-PEs (considering their own active ES
route) and then they will run the DF Election.
- If a PE selects itself as new Highest or Lowest-PE and it was - If a PE selects itself as new Highest or Lowest-PE and it was
not before, the PE will then compare its operational 'in-use' not before, the PE will then compare its operational 'in-use'
Pref with its administrative Pref. If different, the PE will Pref with its administrative Pref. If different, the PE will
send an ES route update with its administrative Pref and DP send an ES route update with its administrative Pref and DP
values. In the example, PE3 will be the new Highest-PE, values. In the example, PE3 will be the new Highest-PE,
therefore it will send an ES route update with therefore it will send an ES route update with
[Pref,DP]=[300,1]. (Pref,DP)=(300,1).
- After running the DF Election, PE3 will become the new DF for - After running the DF Election, PE3 will become the new DF for
Ethernet Tag-1. No changes will occur for Ethernet Tag-2. Ethernet Tag-1. No changes will occur for Ethernet Tag-2.
Note that, irrespective of the DP bit, when a PE or ES comes back and Note that, irrespective of the DP bit, when a PE or ES comes back and
the PE advertises a DF Election Alg different than 2 (Preference the PE advertises a DF Election Alg different than 2 (Preference
algorithm), the rest of the PEs in the ES MUST fall back to the algorithm), the rest of the PEs in the ES MUST fall back to the
Default [RFC7432] Alg. Default [RFC7432] Alg.
This document does not modify the use of the P and B bits in the This document does not modify the use of the P and B bits in the
skipping to change at page 14, line 5 skipping to change at page 14, line 17
9. References 9. References
9.1. Normative References 9.1. Normative References
[RFC7432] Sajassi, A., Ed., Aggarwal, R., Bitar, N., Isaac, A., [RFC7432] Sajassi, A., Ed., Aggarwal, R., Bitar, N., Isaac, A.,
Uttaro, J., Drake, J., and W. Henderickx, "BGP MPLS-Based Uttaro, J., Drake, J., and W. Henderickx, "BGP MPLS-Based
Ethernet VPN", RFC 7432, DOI 10.17487/RFC7432, February Ethernet VPN", RFC 7432, DOI 10.17487/RFC7432, February
2015, <https://www.rfc-editor.org/info/rfc7432>. 2015, <https://www.rfc-editor.org/info/rfc7432>.
[RFC8214] Boutros, S., Sajassi, A., Salam, S., Drake, J., and J.
Rabadan, "Virtual Private Wire Service Support in Ethernet
VPN", RFC 8214, DOI 10.17487/RFC8214, August 2017,
<https://www.rfc-editor.org/info/rfc8214>.
[RFC7623] Sajassi, A., Ed., Salam, S., Bitar, N., Isaac, A., and W.
Henderickx, "Provider Backbone Bridging Combined with
Ethernet VPN (PBB-EVPN)", RFC 7623, DOI 10.17487/RFC7623,
September 2015, <https://www.rfc-editor.org/info/rfc7623>.
[RFC8365] Sajassi, A., Ed., Drake, J., Ed., Bitar, N., Shekhar, R.,
Uttaro, J., and W. Henderickx, "A Network Virtualization
Overlay Solution Using Ethernet VPN (EVPN)", RFC 8365,
DOI 10.17487/RFC8365, March 2018,
<https://www.rfc-editor.org/info/rfc8365>.
[RFC8584] Rabadan, J., Ed., Mohanty, S., Ed., Sajassi, A., Drake, [RFC8584] Rabadan, J., Ed., Mohanty, S., Ed., Sajassi, A., Drake,
J., Nagaraj, K., and S. Sathappan, "Framework for Ethernet J., Nagaraj, K., and S. Sathappan, "Framework for Ethernet
VPN Designated Forwarder Election Extensibility", VPN Designated Forwarder Election Extensibility",
RFC 8584, DOI 10.17487/RFC8584, April 2019, RFC 8584, DOI 10.17487/RFC8584, April 2019,
<https://www.rfc-editor.org/info/rfc8584>. <https://www.rfc-editor.org/info/rfc8584>.
[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>.
[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>.
9.2. Informative References
[I-D.ietf-bess-evpn-virtual-eth-segment] [I-D.ietf-bess-evpn-virtual-eth-segment]
Sajassi, A., Brissette, P., Schell, R., Drake, J., and J. Sajassi, A., Brissette, P., Schell, R., Drake, J., and J.
Rabadan, "EVPN Virtual Ethernet Segment", draft-ietf-bess- Rabadan, "EVPN Virtual Ethernet Segment", draft-ietf-bess-
evpn-virtual-eth-segment-04 (work in progress), January evpn-virtual-eth-segment-06 (work in progress), March
2019. 2020.
9.2. Informative References
[RFC8214] Boutros, S., Sajassi, A., Salam, S., Drake, J., and J.
Rabadan, "Virtual Private Wire Service Support in Ethernet
VPN", RFC 8214, DOI 10.17487/RFC8214, August 2017,
<https://www.rfc-editor.org/info/rfc8214>.
[RFC8365] Sajassi, A., Ed., Drake, J., Ed., Bitar, N., Shekhar, R.,
Uttaro, J., and W. Henderickx, "A Network Virtualization
Overlay Solution Using Ethernet VPN (EVPN)", RFC 8365,
DOI 10.17487/RFC8365, March 2018,
<https://www.rfc-editor.org/info/rfc8365>.
[RFC7623] Sajassi, A., Ed., Salam, S., Bitar, N., Isaac, A., and W.
Henderickx, "Provider Backbone Bridging Combined with
Ethernet VPN (PBB-EVPN)", RFC 7623, DOI 10.17487/RFC7623,
September 2015, <https://www.rfc-editor.org/info/rfc7623>.
Authors' Addresses Authors' Addresses
J. Rabadan (editor) J. Rabadan (editor)
Nokia Nokia
777 Middlefield Road 777 Middlefield Road
Mountain View, CA 94043 Mountain View, CA 94043
USA USA
Email: jorge.rabadan@nokia.com Email: jorge.rabadan@nokia.com
 End of changes. 33 change blocks. 
63 lines changed or deleted 77 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/