BESS Workgroup | T. Yu |
Internet-Draft | January 15, 2019 |
Intended status: Experimental | |
Expires: July 19, 2019 |
EVPN Enhanced Mass Withdraw
draft-yu-bess-evpn-mass-withdraw-00
This document aims to define a enhanced mass withdraw process in case of multiple ES or vES fails.
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 July 19, 2019.
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.
EVPN [RFC7432] defines a mass withdraw mechanism to efficiently and quickly signal to remote PE nodes in case of a connection to ES fails. But there are paticular scenarios that failure of multiple ESs can happen listed but not limited below:
This document aims to introduce a solution improving convegence performance in case of failure on multiple ESs.
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT","SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119].
EVPN: BGP MPLS-Based Ethernet VPN defined in [RFC7432]
EVI: EVPN Instance
EVPN VPWS: Refers to [RFC8214]
vES: Virtual Ethernet Segment [I-D.ietf-bess-evpn-virtual-eth-segment]
EVC: Ethernet Virtual Circuit
PW: Pseudowire
(R1a): The mass withdraw mechanism MUST handle both single-active and active-active multi-homed ES.
(R1b): The mass withdraw mechanism MUST handle both single-active and active-active multi-homed vES.
(R1c): The mass withdraw mechanism SHOULD handle a huge number of ES/vES.
(R1d): The mass withdraw mechanism SHOULD handle failure scenarios mentioned in section 1.
(R1e): The mass withdraw mechanism SHOULD allowing aggregating sequential ESI.
(R1f): A suppresion mechanism is requried in case flapping occours leading to failure of large number of ES/vES
In order to reduce the number of ES/vES withdraw routes, the PE SHOULD aggregate ESI if the impacted ESI are sequential and send along with EVPN mass-withdraw community defined in section 6. If the impacted ES/vES are nonsequential then multiple EVPN mass-withdraw communities can be sent along the flush message.
To achieve a fast convergence time in case of multiple ES/vES fails, a sequential ES/vES helps. This can be achieved via proper ES/vES auto-generating algorithm or proper planning. An example is given below:
Assume type 0 ESI is used. An ESI/vESI planning rule is:
3 octs are used to identify device id
4 octs are used to identify ifindex. Ifindex uniquelly idenfies physical port, LAG or any logical ENNI port.
3 octs are used to identify service id under each interface, if 0 it is used as ES, if not 0 it is used as vES.
In case of port LAG or PW failure, an EVPN mass-withdraw community can be generated with all impacted vES with bit map.
The auto-generating algorithm and planning rule on ES/vES is out of scope of current document. Example given above is only used to explan the possibility of ESI aggregation.
A timer SHOULD be started each time for each flushing. Further failure during the timer SHOULD be suppressed. A half-life based damping mechanism MAY be implemented.
A new EVPN BGP Extended Community called EVPN Mass-Withdraw Community is introduced. This new extended community is a transitive extended community with the Type field of 0x06 (EVPN) and the Sub-Type of TBD.
+-------------------------------------------+ | Type (0x06) / Sub-type (TBD) (2 octets) | +-------------------------------------------+ | ESI (10 octets) | +-------------------------------------------+ | Bitmap (10 octets) | +-------------------------------------------+
Figure 1: EVPN Mass-Withdraw Community
TBD
Sub-type for EVPN Mass-Withdraw Community to be allocated.
[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-03, January 2019. |
[RFC2119] | Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997. |
[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. |