BESS Workgroup J. Rabadan, Ed.
Internet-Draft S. Sathappan
Intended status: Standards Track Nokia
Expires: June 19, 2020 T. Przygienda
W. Lin
J. Drake
Juniper Networks
A. Sajassi
S. Mohanty
Cisco Systems
December 17, 2019

Preference-based EVPN DF Election
draft-ietf-bess-evpn-pref-df-05

Abstract

The Designated Forwarder (DF) in Ethernet Virtual Private Networks (EVPN) is defined as the PE responsible for sending Broadcast, Unknown unicast and Broadcast traffic (BUM) to a multi-homed device/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.

The DF is selected out of a candidate list of PEs that advertise the same Ethernet Segment Identifier (ESI) to the EVPN network, according to the Default DF Election algorithm.

While the Default Algorithm provides an efficient and automated way of selecting the DF across different Ethernet Tags in the ES, there are some use-cases where a more 'deterministic' and user-controlled method is required. At the same time, Service Providers require an easy way to force an on-demand DF switchover in order to carry out some maintenance tasks on the existing DF or control whether a new active PE can preempt the existing DF PE.

This document proposes an extension to the Default DF election procedures so that the above requirements can be met.

Status of This Memo

This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.

Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.

Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."

This Internet-Draft will expire on June 19, 2020.

Copyright Notice

Copyright (c) 2019 IETF Trust and the persons identified as the document authors. All rights reserved.

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.


Table of Contents

1. Introduction

1.1. Problem Statement

[RFC7432] defines the Designated Forwarder (DF) in (PBB-)EVPN networks as the PE responsible for sending broadcast, multicast and 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 multi-homed device or network in case of single-active multi-homing.

The DF is selected out of a candidate list of PEs that advertise the Ethernet Segment Identifier (ESI) to the EVPN network and according to the DF Election Algorithm, or DF Alg as per [RFC8584].

While the Default DF Alg [RFC7432] or HRW [RFC8584] provide an efficient and automated way of selecting the DF across different Ethernet Tags in the ES, there are some use-cases where a more 'deterministic' and user-controlled method is required. At the same time, Service Providers require an easy way to force an on-demand DF switchover in order to carry out some maintenance tasks on the existing DF or control whether a new active PE can preempt the existing DF PE.

This document proposes a new DF Alg and capability to address the above needs.

1.2. Solution requirements

The procedures described in this document meet the following requirements:

  1. The solution provides an administrative preference option so that the user can control in what order the candidate PEs may become DF, assuming they are all operationally ready to take over as DF.
  2. This extension works for [RFC7432] Ethernet Segments and virtual ES, as defined in [I-D.ietf-bess-evpn-virtual-eth-segment].
  3. The user may force a PE to preempt the existing DF for a given Ethernet Tag without re-configuring all the PEs in the ES.
  4. 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 known as "non-revertive" behavior, as opposed to the [RFC7432] DF election procedures that are always revertive.
  5. The solution works for single-active and all-active multi-homing Ethernet Segments.

2. Conventions and Terminology

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.

3. EVPN BGP Attributes Extensions

This solution reuses and extends the DF Election Extended Community defined in [RFC8584] that is advertised along with the ES route:

 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type=0x06     | Sub-Type(0x06)| RSV |  DF Alg |    Bitmap     ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~     Bitmap    |   Reserved    |   DF Preference (2 octets)    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Figure 1: DF Election Extended Community

Where the following fields are defined as follows:

                       1 1 1 1 1 1
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |D|A|                           |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Figure 2: Bitmap field in the DF Election Extended Community

4. Solution description

Figure 3 illustrates an example that will be used in the description of the solution.

              EVPN network
         +-------------------+
         |                +-------+  ENNI    Aggregation
         |   <---ESI1,500 |  PE1  |   /\  +----Network---+
         | <-----ESI2,100 |       |===||===              |
         |                |       |===||== \      vES1   |  +----+
     +-----+              |       |   \/  |\----------------+CE1 |
CE3--+ PE4 |              +-------+       | \   ------------+    |
     +-----+                 |            |  \ /         |  +----+
         |                   |            |   X          |
         |   <---ESI1,255  +-----+============ \         |
         | <-----ESI2,200  | PE2 |==========    \ vES2   | +----+
         |                 +-----+        | \    ----------+CE2 |
         |                   |            |  --------------|    |
         |                 +-----+   ----------------------+    |
         | <-----ESI2,300  | PE3 +--/     |              | +----+
         |                 +-----+        +--------------+
         --------------------+

Figure 3: Preference-based DF Election

Figure 3 shows three PEs that are connecting EVCs coming from the Aggregation Network to their EVIs in the EVPN network. CE1 is connected to vES1 - that spans PE1 and PE2 - and CE2 is connected to vES2, that is defined in PE1, PE2 and PE3.

If the algorithm chosen for vES1 and vES2 is Alg 2, i.e., Preference-based, the PEs may become DF irrespective of their IP address and based on an administrative Preference value. The following sections provide some examples of the procedures and how they are applied in the use-case of Figure 3.

4.1. Use of the Preference algorithm

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 DF in case of multiple failures, the following procedure may be used:

  1. vES1 and vES2 are now configurable with three optional parameters that are signaled in the DF Election extended community. These parameters are the Preference, Preemption option (or "Don't Preempt Me" option) and DF Alg. We will represent these 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 as [100,0,Pref], [200,0,Pref] and [300,0,Pref] in PE1, PE2 and PE3 respectively.
  2. The PEs will advertise an ES route for each vES, including the 3 parameters in the DF Election Extended Community.
  3. According to [RFC8584], each PE will run the DF election algorithm upon expiration of the DF Wait timer. In this case, each PE runs the Preference-based DF Alg for each ES as follows:
  4. Note that, by default, the Highest-Preference is chosen for each ES or vES, however the ES configuration can be changed to the Lowest-Preference algorithm as long as this option is consistent in all the PEs in the ES. E.g. vES1 could have been explicitly configured as Alg Preference-based with Lowest-Preference, in which case, PE2 would have been the DF.
  5. 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 forced to take over as DF for vES2 (irrespective of the DP capability). Once the maintenance on PE3 is over, the operator could decide to leave the existing preference or configure the old preference back.
  6. In case of equal Preference in two or more PEs in the ES, the tie-breakers will be the DP bit and the lowest IP PE, in that order. For instance:
  7. The Preference is an administrative option that MUST be configured on a per-ES basis from the management plane, but MAY also be dynamically changed based on the use of local policies. 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% (that could happen if e.g. the 2-port LAG between PE1 and the Aggregation Network loses one port). Policies MAY also trigger dynamic Preference changes based on the PE's bandwidth availability in the core, specific ports going operationally down, etc. The definition of the actual local policies is out of scope of this document. The default Preference value is 32767.

The Preference Alg MAY be used along with the AC-DF capability. Assuming all the PEs in the ES are configured consistently with Preference Alg and AC-DF capability, a given PE in the ES is not considered as candidate for DF Election until its corresponding Ethernet A-D per ES and Ethernet A-D per EVI routes are not received, as described in [RFC8584].

The procedures in this document can be used in [RFC7432] based ES or vES as in [I-D.ietf-bess-evpn-virtual-eth-segment], and including EVPN networks as in [RFC8214], [RFC7623] or [RFC8365].

4.2. Use of the Preference algorithm in [RFC7432] Ethernet Segments

While the Preference-based DF Alg described in Section 4.1 is typically used in virtual ES scenarios where there is normally an individual Ethernet Tag per vES, the existing [RFC7432] definition of ES allows potentially up to thousands of Ethernet Tags on the same ES. If this is the case, and the operator still wants to control who the DF is for a given Ethernet Tag, the use of the Preference-based DF Alg can also provide some level of load balancing.

In this type of scenarios, the ES is configured with an administrative Preference value, but then a range of Ethernet Tags can be defined to use the Highest-Preference or the Lowest-Preference depending on the desired behavior. With this option, the PE will build a list of candidate PEs ordered by Preference, however the DF for a given Ethernet Tag will be determined by the local configuration.

For instance:

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 valid, as long as that logic is consistent in all the PEs in the ES.

4.3. The Non-Revertive Capability

As discussed in Section 1.2 (d), a capability to NOT preempt the existing DF for a given Ethernet Tag is required and therefore added to the DF Election extended community. This option will allow a non-revertive behavior in the DF election.

Note that, when a given PE in an ES is taken down for maintenance operations, before bringing it back, the Preference may be changed in order to provide a non-revertive behavior. The DP bit and the mechanism explained in this section will be used for those cases when a former DF comes back up without any controlled maintenance operation, and the non-revertive option is desired in order to avoid service impact.

In Figure 3, we assume that based on the Highest-Pref, PE3 is the DF for ESI2.

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 unnecessary packet loss in the ES.

The following procedure avoids preemption upon failure recovery (please refer to Figure 1):

  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 disabled (default behavior), the advertised DP bit will be 0. If "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 consistent in their configuration of the DP capability, however this document do not enforces the consistency across all the PEs.
  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" capability. In this example, we assume ESI2 is configured as 'DP=enabled' in the three PEs.
  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, 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-2 (due to the Lowest-Pref).
  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 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 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 PE1 and PE2. PE3 will then:
  6. Subsequently, if PE2 fails, upon receiving PE2's ES route withdrawal, PE3 and PE1 will go through the process described in (5) to select new Highest and Lowest-PEs (considering their own active ES route) and then they will run the DF Election.

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 algorithm), the rest of the PEs in the ES MUST fall back to the Default [RFC7432] Alg.

This document does not modify the use of the P and B bits in the Ethernet A-D per EVI routes [RFC8214] advertised by the PEs in the ES after running the DF Election, irrespective of the revertive or non-revertive behavior in the PE.

5. Security Considerations

This document describes a DF Election Algorithm that provides absolute control (by configuration) over what PE is the DF for a given Ethernet Tag. While this control is desired in many situations, a malicious user that gets access to the configuration of a PE in the ES may change the behavior of the network. In other DF Algs such as HRW, the DF Election is more automated and cannot be determined by configuration.

The non-revertive capability described in this document may be seen as a security improvement over the regular EVPN revertive DF Election: an intentional link (or node) "flapping" on a PE will only cause service disruption once, when the PE goes to NDF state.

6. IANA Considerations

This document solicits the allocation of the following values:

7. Acknowledgments

The authors would like to thank Kishore Tiruveedhula for his review and comments.

8. Contributors

In addition to the authors listed, the following individuals also contributed to this document:

Kiran Nagaraj, Nokia

Vinod Prabhu, Nokia

Selvakumar Sivaraj, Juniper

Sami Boutros, VMWare

9. References

9.1. Normative References

[RFC7432] Sajassi, A., Aggarwal, R., Bitar, N., Isaac, A., Uttaro, J., Drake, J. and W. Henderickx, "BGP MPLS-Based Ethernet VPN", RFC 7432, DOI 10.17487/RFC7432, February 2015.
[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.
[RFC7623] Sajassi, A., 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.
[RFC8365] Sajassi, A., Drake, J., 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.
[RFC8584] Rabadan, J., Mohanty, S., Sajassi, A., Drake, J., Nagaraj, K. and S. Sathappan, "Framework for Ethernet VPN Designated Forwarder Election Extensibility", RFC 8584, DOI 10.17487/RFC8584, April 2019.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017.

9.2. Informative References

[I-D.ietf-bess-evpn-virtual-eth-segment] Sajassi, A., Brissette, P., Schell, R., Drake, J. and J. Rabadan, "EVPN Virtual Ethernet Segment", Internet-Draft draft-ietf-bess-evpn-virtual-eth-segment-04, January 2019.

Authors' Addresses

J. Rabadan (editor) Nokia 777 Middlefield Road Mountain View, CA 94043 USA EMail: jorge.rabadan@nokia.com
S. Sathappan Nokia EMail: senthil.sathappan@nokia.com
T. Przygienda Juniper Networks EMail: prz@juniper.net
W. Lin Juniper Networks EMail: wlin@juniper.net
J. Drake Juniper Networks EMail: jdrake@juniper.net
A. Sajassi Cisco Systems EMail: sajassi@cisco.com
S. Mohanty Cisco Systems EMail: satyamoh@cisco.com