Network Working GroupInternet Engineering Task Force (IETF) P. DuttaInternet-DraftRequest for Comments: 7361 F. BalusIntended status:Category: Standards Track Alcatel-LucentExpires: December 29, 2014ISSN: 2070-1721 O. Stokes Extreme Networks G. Calvignac Orange D. Fedyk Hewlett-PackardJune 27,September 2014 LDP Extensions for Optimized MAC Address Withdrawal inH-VPLS draft-ietf-l2vpn-vpls-ldp-mac-opt-13a Hierarchical Virtual Private LAN Service (H-VPLS) AbstractRFC4762RFC 4762 describes a mechanism to remove or unlearnMACMedia Access Control (MAC) addresses that have been dynamically learned in a Virtual Private LAN Service (VPLS)Instanceinstance for faster convergence on topologychange.changes. The procedure also removes MAC addresses in the VPLS that do not require relearning due to such topologychange.changes. This document defines an enhancement to the MACAddress Withdrawaladdress withdraw procedure with an empty MACList from RFC4762, whichlist (RFC 4762); this enhancement enables a ProviderEdge(PE)Edge (PE) device to remove only the MAC addresses that need to be relearned. Additional extensions toRFC4762RFC 4762 MACWithdrawalwithdraw procedures are specified to provide an optimized MAC flushing for the Provider Backbone Bridging(PBB)VPLS(PBB) VPLS specified inRFC7041. Requirements Language 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].RFC 7041. Status ofthisThis Memo ThisInternet-Draftissubmitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documentsan Internet Standards Track document. This document is a product of the Internet Engineering Task Force (IETF).Note that other groups may also distribute working documents as Internet-Drafts. The listIt represents the consensus ofcurrent Internet- Drafts is at http://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents validthe IETF community. It has received public review and has been approved fora maximumpublication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 5741. Information about the current status ofsix monthsthis document, any errata, and how to provide feedback on it may beupdated, replaced, or obsoleted by other documentsobtained atany 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 May 31, 2014.http://www.rfc-editor.org/info/rfc7361. Copyright Notice Copyright (c) 2014 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 (http://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. . . . . . . . . . . . . . . . . . . . . . . . . 3....................................................4 2. Terminology. . . . . . . . . . . . . . . . . . . . . . . . . 5.....................................................6 2.1. Requirements Language ......................................6 3. Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . 6........................................................6 3.1. MACFlushFlushing onactivationActivation ofbackup spokeBackup Spoke PW. . . . . . . . 7..............8 3.1.1.PE-rs initiatedMACFlush . . . . . . . . . . . . . . 8Flushing Initiated by PE-rs .....................8 3.1.2.MTU-s initiatedMACflush . . . . . . . . . . . . . . 8Flushing Initiated by MTU-s .....................8 3.2. MACFlushFlushing onfailure . . . . . . . . . . . . . . . . . . . 9Failure ....................................9 3.3. MACFlushFlushing in PBB-VPLS. . . . . . . . . . . . . . . . . . 9..................................10 4. Problem Description. . . . . . . . . . . . . . . . . . . . . 10............................................10 4.1. MACFlushFlushing Optimization in VPLS Resiliency. . . . . . . . 10..............10 4.1.1. MACFlushFlushing Optimization forregularRegular H-VPLS. . . . . . 10.......11 4.1.2. MACFlushFlushing Optimization fornativeNative Ethernetaccess . . 12Access .............................................13 4.2.Black holing issueBlack-Holing Issue in PBB-VPLS. . . . . . . . . . . . . . 13............................13 5. Solution Description. . . . . . . . . . . . . . . . . . . . . 14...........................................14 5.1. MACFlushFlushing Optimization for VPLS Resiliency. . . . . . . . 14.............14 5.1.1. MAC Flush Parameters TLV. . . . . . . . . . . . . . . 15...........................15 5.1.2. Application of the MAC Flush TLV in Optimized MACFlush . . . . . . . . . . . . . . . . . . . . . . . . 16Flushing .............................16 5.1.3. MAC Flush TLV Processing Rules for Regular VPLS. . . 16....17 5.1.4. Optimized MAC Flush Procedures. . . . . . . . . . . . 17.....................18 5.2. LDP MAC Flush Extensions for PBB-VPLS. . . . . . . . . . 18.....................19 5.2.1. MAC Flush TLV Processing Rules for PBB-VPLS. . . . . 20........20 5.2.2. Applicability of the MAC Flush Parameters TLV. . . . 21......22 6. Operational Considerations. . . . . . . . . . . . . . . . . . 22.....................................23 7. IANA Considerations. . . . . . . . . . . . . . . . . . . . . 23 7.1............................................24 7.1. New LDP TLV. . . . . . . . . . . . . . . . . . . . . . . . 23 7.2...............................................24 7.2. New Registry for MAC Flush Flags. . . . . . . . . . . . . . 23..........................24 8. SecurityConsiderations . . . . . . . . . . . . . . . . . . . 23 9. Contributing Author . . . . . . . . . . . . . . . . . . . . . 24 10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 24Considerations ........................................24 9. Contributing Author ............................................25 10. Acknowledgements ..............................................25 11. References. . . . . . . . . . . . . . . . . . . . . . . . . 24....................................................25 11.1. Normative References. . . . . . . . . . . . . . . . . . 24.....................................25 11.2. Informative References. . . . . . . . . . . . . . . . . 24 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 25...................................25 1. Introduction A method of Virtual Private LAN Service (VPLS), also known as Transparent LANService (TLS)Services (TLS), is described in [RFC4762]. A VPLS is created using a collection of one or more point-to-point pseudowires (PWs) [RFC4664] configured in a flat, full-mesh topology. The mesh topology provides a LAN segment or broadcast domain that is fully capable of learning and forwarding on EthernetMACMedia Access Control (MAC) addresses at thePEProvider Edge (PE) devices. This VPLSfull meshfull-mesh core configuration can be augmented with additional non-meshed spoke nodes to provide a Hierarchical VPLS (H-VPLS) service [RFC4762]. Throughout thisdocumentdocument, this configuration is referred to as "regular" H-VPLS. [RFC7041] describes how Provider Backbone Bridging (PBB) can be integrated with VPLS to allow for useful PBB capabilities while continuing to avoid the use of the Multiple Spanning Tree Protocol (MSTP) in the backbone. The combinedsolutionsolution, referred to asPBB-VPLS"PBB-VPLS", results in better scalability in terms of number of service instances,PWsPWs, and C-MAC (Customer MAC)Addressesaddresses that need to be handled in the VPLSPEsPEs, depending on the location of the I-component in the PBB-VPLS topology. A MACAddress Withdrawaladdress withdrawal mechanism for VPLS is described in [RFC4762] to remove or unlearn MAC addresses for faster convergence on topologychangechanges in resilient H-VPLS topologies. Note that the H-VPLS topology discussed in [RFC4762] describestwo tierthe two-tier hierarchytoin VPLS as the basic building block of H-VPLS, but it is possible to have a multi-tier hierarchy in an H-VPLS. Figure1,1 is reproducedbelowfrom [RFC4762]illustratingand illustrates dual-homing in H-VPLS. PE2-rs +--------+ | | | -- | | / \ | CE-1 | \S / | \ | -- | \ +--------+ \ MTU-s PE1-rs / | +--------+ +--------+ / | | | | | / | | -- | Primary PW | -- |---/ | | / \ |- - - - - - - - - - - | / \ | | | \S / | | \S / | | | -- | | -- |---\ | +--------+ +--------+ \ | / \ \ | / \ +--------+ / \ | | CE-2 \ | -- | \ Secondary PW | / \ | - - - - - - - - - - - - - - - - - | \S / | | -- | +--------+ PE3-rs Figure 1: AnexampleExample of adual-homedDual-Homed MTU-s An example usage of the MACFlushflushing mechanism is the dual-homed H-VPLS where an edge devicetermed as Multi Tenantcalled the Multi-Tenant Unit switch(MTU- s)[RFC4762],(MTU-s) [RFC4762] is connected to two PE devices via a primary spoke PW and backup spokePWPW, respectively. Such redundancy is designed to protect against the failure of the primary spoke PW or primary PE device. There could be multiple methods ofdual homingdual-homing in H-VPLS that are not described in [RFC4762]. For example, note the following statement fromsectionSection 10.2.1inof [RFC4762]."HowHow a spoke is designated primary or secondary is outside the scope of this document. For example, a spanning tree instance running between only the MTU-s and the two PE-rs nodes is one possible method. Another method could beconfiguration".configuration. This document intends to clarify several H-VPLS dual-homing models that are deployed in practice and various use cases ofLDP basedLDP-based MACflushflushing in these models. 2. Terminology This document uses the terminology defined in [RFC7041], [RFC5036],[RFC4447][RFC4447], and [RFC4762]. Throughout thisdocument Virtualdocument, "Virtual Private LANServiceService" (VPLS)meansrefers to the emulated bridged LAN service offered to a customer.H-VPLS means"H-VPLS" refers to the hierarchical connectivity or layout ofMulti Tenant Unit switch (MTU- s)the MTU-s and the Provider EdgeRoutingrouting- andswitching capableswitching-capable (PE-rs) devices offering the VPLS [RFC4762]. The terms"Spoke Node""spoke node" and "MTU-s" in H-VPLS are used interchangeably. "Spoke PW"meansrefers to the PseudowirePW(PW) that provides connectivity between MTU-s and PE-rs nodes. "Mesh PW"meansrefers to the PW that provides connectivity between PE-rs nodes in a VPLSfull meshfull-mesh core. "MACFlush Message" meansflush message" refers to a Label Distribution Protocol (LDP)Address Withdraw Messageaddress withdraw message without a MAC List TLV. A MACFlush Message inflush message "in the"contextcontext of aPseudo Wire (PW)" meansPW" refers to theMessagemessage that has been received over the LDP session that is used to set up the PW used to provide connectivity in VPLS. The MACFlush Messageflush message carries the context of the PW in terms of the Forwarding Equivalence Class (FEC) TLV associated with the PW[RFC4762][RFC4447].[RFC4762] [RFC4447]. In general, "MACFlush" meansflushing" refers to the method of initiating and processingofMACFlush Messagesflush messages across a VPLS instance. 2.1. Requirements Language 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]. 3. Overview When the MTU-s switches over to the backup PW, the requirement is to flush the MAC addresses learned in the corresponding Virtual Switch Instance (VSI) in peer PE devices participating in the full mesh, to avoidblack holingthe black-holing of frames to those addresses. This is accomplished by sending an LDPAddress Withdraw Message,address withdraw message -- a new message defined in thisdocument,document -- from the PE that is no longer connected to the MTU-s with the primary PW. The new messagehas thecontains a list of MAC addresses to be removed and is sent to all other PEs over the corresponding LDP sessions. In order to minimize the impact on LDP convergence time and scalability when a MAC List TLV contains a large number of MAC addresses, many implementations useaan LDPAddress Withdraw Messageaddress withdraw message with an empty MACList.list. When a PE-rs switch in thefull-meshfull mesh ofH- VPLS receiveH-VPLS receives thismessagemessage, it also flushes MAC addresseswhichthat are not affected due to the topology change, thus leading to unnecessary flooding and relearning. Throughout thisdocumentdocument, the term "MACFlush Message"flush message" is used to specify an LDPAddress Withdraw Messageaddress withdraw message with an empty MACListlist as described in [RFC4762]. The solutions described in this document are applicable only to LDPAddress Withdraw Messageaddress withdraw messages with empty MACList.lists. In a VPLS topology, the core PWs remain active and learning happens on the PE-rs nodes.HoweverHowever, when the VPLS topology changes, the PE-rs must relearn using MACAddressesaddress withdrawal orflush.flushing. As per the MACAddress Withdrawaladdress withdrawal processing rules in[RFC4762][RFC4762], a PEdevicedevice, on receiving a MACFlush Messageflush message, removes all MAC addresses associated with the specified VPLS instance (as indicated in the FEC TLV) except the MAC addresses learned over the PW associated with this signaling session over which the message was received. Throughout thisdocumentdocument, we use the terminology"Positive""positive" MACFlushflushing or"Flush-all- but-mine""flush-all-but-mine" for this type of MACFlush Messageflush message and its actions. This document introduces an optimized"Negative""negative" MAC flush message, described insection 3.2Section 3.2, that can be configured to improve the response to topologychangechanges in a number of Ethernet topologies where theSLAService Level Agreement (SLA) is dependent on minimal disruption and fast restoration of affected traffic. This new message is used in the case of Provider Backbone Bridging (PBB) topologies to restrict the flushing to a set ofService Instances (ISIDs).service instances (I-SIDs). It is also important to note that thePositiveMACFlushflush message described in[RFC4762][RFC4762], which is called "a positive MAC flush message" in this document, MUST always be handled forBMACsBackbone MACs (B-MACs) in cases where the core nodes change or fail.Where there is dualIn dual-homed ormultihomedmulti-homed edgetopology,topologies, the procedures in this document augment [RFC4762] messagesprovidingand provide less disruption for those cases. 3.1. MACFlushFlushing onactivationActivation ofbackup spokeBackup Spoke PW This section describes scenarios where MACFlushflush withdrawal is initiated on activation of a backup PW in H-VPLS. 3.1.1.PE-rs initiatedMACFlushFlushing Initiated by PE-rs [RFC4762] specifies that on failure of the primaryPW,PW it isthePE3-rs (Figure 1) that initiates MACflushflushing towards the core.HoweverHowever, note that PE3-rs can initiate MACFlushflushing only when PE3-rs isdualdual- homing "aware"--- that is, there is some redundancy management protocol running between the MTU-s and its host PE-rs devices. The scope of this document is applicable to several dual-homing ormultihomingmulti- homing protocols.TheThis document illustrates thatmultihomingmulti-homing can be improved withthe Negativenegative MACflush.flushing. One example isBGP based multi-homingBGP-based multi- homing inLDP based VPLS thatLDP-based VPLS, which uses the procedures defined in[I-D.ietf- l2vpn-vpls-multihoming].[VPLS-MH]. In this method of dual-homing, PE3-rs would neither forward any traffic to the MTU-s norwould itreceive any traffic from the MTU-s while PE1-rs is acting as a primary (or designated forwarder). 3.1.2.MTU-s initiatedMACflushFlushing Initiated by MTU-s Whendual homingdual-homing is achieved by manual configuration in the MTU-s, the hosting PE-rs devices aredual homing "agnostic"dual-homing "agnostic", and PE3-rscan notcannot initiate MACFlushflush messages. PE3-rs can send or receive traffic over the backupPWPW, since the dual-homing control is with the MTU-s only. When the backup PW is made active by the MTU-s, the MTU-s triggers a MACFlush Message.flush message. The message is sent over the LDP session associated with the newly activated PW. On receiving the MACFlush Messageflush message from the MTU-s, PE3-rs(PE-rs(the PE-rs device withnow-activea now- active PW) would flush all the MAC addresses it haslearnedlearned, except the ones learned over the newly activated spoke PW. PE3-rs further initiates a MACFlush Messageflush message to all other PE devices in the core. Note that a forced switchover to the backup PW canbealsoperformed atbe invoked by the MTU-sadministrativelydue to maintenance or administrative activities on the former primary spoke PW.MTU-s initiatedThe method of MAC flushing initiated by the MTU-s is modeled after Topology Change Notification (TCN) in the Rapid Spanning Tree Protocol (RSTP) [IEEE.802.1Q-2011]. When a bridge switches from a failed link to the backup link, the bridge sends out a TCN message over the newly activated link.The upstream bridge uponUpon receiving thismessagemessage, the upstream bridge flushes its entire list of MACaddressesaddresses, except the ones received over thislink andlink. The upstream bridge then sends the TCN message out of its other ports in that spanning tree instance. The message is further relayed along the spanning tree by the other bridges. The MACFlushflushing information is propagated in the control plane. Thecontrol planecontrol-plane message propagation is associated with the data path and hence followssimilarpropagation rules similar to those used forpropagation as theforwarding in the LDP data plane. Forexampleexample, PE-rs nodes follow thedata planedata-plane "split-horizon" forwarding rules in H-VPLS(Refer(refer tosectionSection 4.4inof [RFC4762]).ThereforeTherefore, a MACFlushflush message is propagated in the context of mesh PW(s) when it is received in the context of a spoke PW. When a PE-rs node receives a MACFlushflush message in the context of a meshPWPW, then it is not propagated to other mesh PWs. 3.2. MACFlushFlushing onfailureFailure MACFlushflushing onfailurefailure, or "negative" MACflushflushing, is introduced in this document. Negative MACflushflushing is an improvement on the current practice of sending a MACFlush Messageflush message with an empty MAC list as described insectionSection 3.1.1. We use the term "negative" MACflushflushing or"Flush-all-from-me""flush-all-from-me" for this kind of flushing action as opposed to the "positive" MACFlushflush action in [RFC4762]. In negative MACflush,flushing, the MACFlushflushing is initiated by PE1-rs (Figure 1) on detection of failure of the primary spoke PW. The MACFlushflush message is sent to all participating PE-rs devices in the VPLSfull-mesh.full mesh. PE1-rs should initiate MACflushflushing only if PE1-rs isdual homingdual-homing aware. (If PE1-rs isdual homingdual-homing agnostic, the policy isdoto not initiateaMACflushflushing on failure, since that could cause unnecessary flushing in the case ofsingle homeda single-homed MTU-s.) The specificdual-homingdual- homing protocols for this scenario are outside the scope of thisdocumentdocument, but the operator can choose to use the optimized MACflushflushing described in this document or the [RFC4762] procedures. The procedure for negative MACflushflushing is beneficial and results in less disruption than the [RFC4762]proceduresprocedures, including when theMTU- sMTU-s isdual homeddual-homed with a variety of Ethernettechnologiestechnologies, not just LDP. TheNegativenegative MAC flush message is a more targeted MACflushflush, and the otherPE- rsPE-rs nodes will flush only the specified MACs. This targeted MAC flush cannot be achieved with the MACAddress Withdraw Messageaddress withdraw message defined in [RFC4762].The negativeNegative MACflushflushing typically results in a smaller set of MACs to be flushed and results in less disruption for these topologies. Note that in the case of negativeflushMAC flushing the list SHOULD be only the MACs for the affected MTU-s. If the list isemptyempty, then the negative MAC flush procedures will result in flushing and relearning all attachedMTU-s'sMTU-s devices for the originating PE-rs. 3.3. MACFlushFlushing in PBB-VPLS [RFC7041] describes how PBB can be integrated with VPLS to allow for useful PBB capabilities while continuing to avoid the use of MSTP in the backbone. The combinedsolutionsolution, referred to as"PBB-VPLS""PBB-VPLS", results in better scalability in terms of the number of service instances,PWsPWs, and C-MACs that need to be handled in the VPLS PE-rs devices. This document describes extensions to LDP MACFlushflushing procedures described in [RFC4762] that are required to build desirable capabilitiestofor the PBB-VPLS solution. The solution proposed in this document is generic and is applicable whenMulti SegmentMulti-Segment Pseudowires(MS-PW)s(MS-PWs) [RFC6073] are used in interconnecting PE devices in H-VPLS. There could be other H-VPLS models not defined in this document where the solution may be applicable. 4. Problem Description This section describes the problems in detail withrespectiverespect to various MACflushflushing actions described insectionSection 3. 4.1. MACFlushFlushing Optimization in VPLS Resiliency This section describes the optimizations required in MACflushflushing procedures when H-VPLS resiliency is provided by primary and backup spoke PWs. 4.1.1. MACFlushFlushing Optimization forregularRegular H-VPLS Figure2,2 shows a dual-homed H-VPLS scenario for a VPLSinstanceinstance, where the problem with the existing MACflushflushing method is as explained insectionSection 3. PE1-rs PE3-rs +--------+ +--------+ | | | | | -- | | -- | Customer Site 1 | / \ |------------------| / \ |->Z X->CE-1 /-----| \s / | | \s / | \ primary spoke PW | -- | /------| -- | \ / +--------+ / +--------+ \ (MTU-s)/ | \ / | +--------+/ | \ / | | | | \ / | | -- | | \ / | | / \ | | H-VPLSFull MeshFull-Mesh Core| | \s / | | / \ | | -- | | / \ | /+--------+\ | / \ | / backup spoke PW | / \ | / \ +--------+ \--------+--------+ Y->CE-2 \ | | | | Customer Site 2 \------| -- | | -- | | / \ |------------------| / \ |-> | \s / | | \s / | | -- | | -- | +--------+ +--------+ PE2-rs PE4-rs Figure 2:Dual homedDual-Homed MTU-s intwo tier hierarchyTwo-Tier Hierarchy H-VPLS In Figure 2, the MTU-s is dual-homed to PE1-rs and PE2-rs. Only the primary spoke PW is active atMTU-s, thusthe MTU-s; thus, PE1-rs is acting as the active device (designated forwarder) to reach the full mesh in the VPLS instance. The MAC addresses of nodes located at access sites (behindCE1CE-1 andCE2)CE-2) are learned at PE1-rs over the primary spoke PW. Let's say X represents a set of such MAC addresses located behind CE-1. MAC Z represents one of a possible set of other destination MACs. As packets flow from X to other MACs in the VPLS network, PE2-rs,PE3-rsPE3-rs, and PE4-rs learn about X on their respective mesh PWs terminating at PE1-rs. When the MTU-s switches to the backup spoke PW and activates it, PE2-rs becomes the active device (designated forwarder) to reach thefull meshfull-mesh core for the MTU-s. Traffic entering the H-VPLS from CE-1 and CE-2 is diverted by the MTU-s to the spoke PW to PE2-rs. Traffic destined from PE2-rs,PE3-rsPE3-rs, and PE4-rs to X will beblackholed tillblack-holed until the MAC address aging timer expires(default(the default is 5 minutes) or a packet flows from X to other addresses through PE2-rs. For example, ifafter the backup spoke PW is active, ifa packet flows from MAC Z to MACX,X after the backup spoke PW is active, packets from MAC Z travel from PE3-rs toPE-1rsPE1-rs and are dropped. However, if a packet with MAC X as source and MAC Z as destination arrives at PE2-rs, PE2-rs will now learn that MAC X is on the backup spoke PW and will forward to MAC Z. At thispointpoint, traffic from PE3-rs to MAC X will go to PE2-rs, sincePE-3rsPE3-rs has also learned about MAC X.ThereforeTherefore, a mechanism is required to make this learning more timely in cases where traffic is not bidirectional. To avoid trafficblackholingblack-holing, the MAC addresses that have been learned in the upstream VPLSfull-meshfull mesh throughPE1-rs,PE1-rs must be relearned or removed from the MACFIBsForwarding Information Bases (FIBs) in the VSIs at PE2-rs,PE3-rsPE3-rs, and PE4-rs. If PE1-rs and PE2-rs are dual-homingagnosticagnostic, then on activation of the standby PW from the MTU-s, a MAC flush message will be sent by the MTU-s to PE2-rs that will flush all the MAC addresses learned in the VPLS instance at PE2-rs from alltheother PWsbutexcept the PW connected to the MTU-s. PE2-rs further relays the MAC flush messages to all other PE-rs devices in the full mesh. The same processing rule appliesatfor all those PE-rs devices: all the MAC addresses are flushedbutexcept the ones learned on the PW connected to PE2-rs. For example, at PE3-rs all of the MAC addresses learned from the PWs connected to PE1-rs and PE4-rs are flushed and relearned subsequently. Before the relearninghappenshappens, flooding of unknown destination MAC addresses takes place throughout the network. As the number of PE-rs devices in thefull-full mesh increases, the number of unaffected MAC addresses flushed in a VPLS instance also increases, thus leading to unnecessary flooding and relearning. With a large number of VPLS instances provisioned in the H-VPLS networktopologytopology, the amount of unnecessary flooding and relearning increases. An optimization, described below, is required that will flush only the MAC addresses learned from the respective PWs between PE1-rs and other PE devices in thefull-mesh minimizingfull mesh, to minimize the relearning and flooding in the network. In the example above, only the MAC addresses insetsets X and Y (shown in Figure 2) need to be flushed across the core. The same case is applicable when PE1-rs and PE2-rs aredual homingdual-homing aware and participate in a designated forwarder election. When PE2-rs becomes the active device forMTU-sthe MTU-s, then PE2-rs MAY initiate MACflushflushing towards the core. The receiving action of the MACFlushflush message in other PE-rs devices is the same as inMTU-s initiatedMACFlush.flushing initiated by the MTU-s. This is the[RFC4762]behavior specifiedbehavior.in [RFC4762]. 4.1.2. MACFlushFlushing Optimization fornativeNative EthernetaccessAccess The analysis insectionSection 4.1.1 applies also to the native Ethernet access into a VPLS. In such ascenarioscenario, one active endpoint and one or more standby endpoints terminate into two or more VPLS or H-VPLS PE-rs devices. Examples ofthese dual homedthis dual-homed access are ITU-T [ITU.G8032] access rings or any proprietary multi-chassisLAGLink Aggregation Group (LAG) emulations. Upon failure of the active native Ethernet endpoint on PE1-rs, an optimized MAC flush message is required to be initiated by PE1-rs to ensure that on PE2-rs,PE3-rsPE3-rs, and PE4-rs only the MAC addresses learned from the respective PWs connected to PE1-rs are being flushed. 4.2.Black holing issueBlack-Holing Issue in PBB-VPLS In a PBB-VPLSdeploymentdeployment, a B-component VPLS (B-VPLS) may be used as infrastructure to support one or more I-component instances. The B-VPLS control plane (LDP Signaling) and learning of"Backbone"Backbone MACs(BMACs) replaces(B-MACs) replace the I-component control plane and learning ofcustomerCustomer MACs(CMACs)(C-MACs) throughout the MPLS core. This raises an additional challenge related toblack holeblack-hole avoidance in the I-component domain as described in this section. Figure 3 describes the case of aCECustomer Edge (CE) device (node A) dual-homed to two I-component instances located on two PBB-VPLS PEs (PE1-rs and PE2-rs). IP/MPLS Core +--------------+ |PE2-rs | +----+ | |PBB | | |VPLS| +-+ ||VPLS|---|P||(B2)|---|P| |S/+----+Stby/+----+ /+-+\ |PE3-rs / +----+ / \+----+ +---+/ |PBB |/ +-+ |PBB | +---+CMACC-MAC X--|CE |---|VPLS|---|P|--|VPLS|---|CE|--CMAC|--C-MAC Y | |Act|(B1)| +-+ | | | | +---+A+----++-++----+ +---+ A |PE1-rs | B | | +--------------+ Figure 3: PBBBlack holingBlack-Holing Issue - CE Dual-Hominguse caseUse Case The link between PE1-rs and CE-A is active (marked withA)A), while the link between CE-A and PE2-rs is inStandby/Blockedstandby/blocked status. In the networkdiagram CMACdiagram, C-MAC X is one of the MAC addresses located behind CE-A in the customer domain,CMACC-MAC Y is behindCE-BCE-B, and the B-VPLS instances on PE1-rs are associated withBMACB-MAC B1 and PE2-rs withBMACB-MAC B2. As the packets flow fromCMACC-MAC X toCMACC-MAC Y through PE1-rs withBMACB-MAC B1, the remote PE-rs devices participating in the B-VPLS with the sameISIDI-SID (for example, PE3-rs) will learn theCMACC-MAC X associated withBMACB-MAC B1 on PE1-rs. Under a failure condition of the link betweenCE- ACE-A and PE1-rs and on activation of the link to PE2-rs, the remotePE- rsPE-rs devices (for example, PE3-rs) will forward the traffic destined forcustomer MACC-MAC X toBMAC B1B-MAC B1, resulting in PE1-rsblackholingblack- holing that traffic until the aging timer expires or a packet flows from X to Y throughthe PE2-rs, BMAC B2.PE2-rs (B-MAC B2). This may take a long time(default(the default aging timer is 5 minutes) and may affect a large number of flows across multiple I-components. A possible solution to this issue is to use the existing LDP MACFlushflushing method as specified in [RFC4762] to flush theBMACB-MAC associated with the PE-rs in the B-VPLS domain where the failure occurred. This will automatically flush theCMAC to BMACC-MAC-to-B-MAC association in the remote PE-rs devices. This solution has the disadvantage of producing a lot of unnecessary MACflushflushing in the B-VPLS domain as there was no failure or topology change affecting the Backbone domain. A better solutionwhich propagates-- one that would propagate the I-component events through the backbone infrastructure (B-VPLS) -- is required in order to flush only theCMAC to BMACC-MAC-to-B-MAC associations in the remotePBB-VPLSPBB-VPLS- capable PE-rs devices. Since there are no I-componentcontrol planecontrol-plane exchanges across the PBB backbone, extensions to the B-VPLS control plane are required to propagate the I-component MACFlushflushing events across the B-VPLS. 5. Solution Description This section describes the solution for the problem space described insectionSection 4. 5.1. MACFlushFlushing Optimization for VPLS Resiliency The basic principle of the optimized MAC flush mechanism is explained with reference to Figure 2. The optimization is achieved by initiating MACFlushflushing on failure as described insectionSection 3.2. PE1-rs would initiate MACFlushflushing towards the core on detection of failure of the primary spoke PW between the MTU-s and PE1-rs (or status change from active to standby[RFC6718] ).[RFC6718]). This method is referred to as "MACFlushflushing onFailure"failure" throughout this document. The MACFlushflush message would indicate to receiving PE-rs devices to flush all MACs learned over the PW in the context of the VPLS for which the MAC flush message is received. Each PE-rs device in the full mesh that receives the message identifies the VPLS instance and its respective PW that terminates in PE1-rs from the FEC TLV received in the message and/or LDP session.ThusThus, the PE-rs device flushes only the MAC addresses learned from that PW connected to PE1-rs, minimizing the required relearning and the flooding throughout the VPLS domain. This section defines a generic MAC Flush Parameters TLV for LDP [RFC5036].Through outThroughout thisdocumentdocument, the MAC Flush Parameters TLV is also referred to as theMAC"MAC FlushTLV.TLV". A MAC Flush TLV carries information on the desired action at the PE-rs device receiving the message and is used for optimized MAC flushing in VPLS. The MAC Flush TLV can also be used for the [RFC4762] style of MACFlushflushing as explained insectionSection 3. 5.1.1. MAC Flush Parameters TLV The MAC Flush Parameters TLV is describedasbelow: 0 1 2 3 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |1|1| MAC FlushParams TLV(TBDA)|TLV (0x0406) | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Flags | Sub-TLV Type | Sub-TLV Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Sub-TLVVariable LengthVariable-Length Value | | " | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ TheUU-bit andF bitsF-bit [RFC5036] are set to forward if unknown so that potential intermediate VPLS PE-rs devices unaware of the new TLV can just propagate it transparently. In the case ofana B-VPLS network that has PBB-VPLS in the core with no I-componentsattachedattached, this message can still be useful to edge B-VPLS devices that do have the I-components with theISIDsI-SIDs and understand the message. The MAC Flush Parameters TLV type isto be0x0406, as assigned by IANA. The encoding of the TLV follows the standard LDP TLV encoding described in[RFC5036][RFC5036]. The TLV value field contains aone byte1-byte Flag field used as described below.FurtherFurther, the TLV value MAY carry one or more sub-TLVs. Any sub-TLV definitiontofor the above TLV MUST address the actions in combination with other existing sub-TLVs. The detailed format for the Flags bit vector is described below: 0 1 2 3 4 5 6 7 +-+-+-+-+-+-+-+-+ |C|N| MBZ | (MBZ = MUST Be Zero) +-+-+-+-+-+-+-+-+1 ByteThe 1-byte Flag field is mandatory. The following flags are defined:C flag, usedC-flag: Used to indicate the context of the PBB-VPLS component in which MACflushflushing is required. ForPBB-VPLSPBB-VPLS, there are two contexts of MAC flushing- The-- the Backbone VPLS (B-component VPLS) and the Customer VPLS (I-component VPLS).C flagThe C-flag MUST be ZERO(C=0)(C = 0) when a MACFlushflush action for the B-VPLS isrequired. C flagrequired and MUST be set(C=1)(C = 1) when the MACFlushflush action for the I-component is required. In the regular H-VPLScasecase, theC flagC-flag MUST be ZERO(C=0)(C = 0) to indicate that the flush applies to the current VPLS context.N flag, usedN-flag: Used to indicate whether a positive(N=0, Flush-all-but-mine)(N = 0, flush-all-but-mine) or negative(N=1 Flush-all-from-me)(N = 1, flush-all-from-me) MACFlushflush action is required. The source (mine/me) is definedeitheras the PW associated with either the LDP session on which the LDP MACWithdrawwithdraw was received orwiththeBMAC(s)B-MAC(s) listed in theBMACB-MAC Sub-TLV. For the optimized MACFlushflush procedure described in thissectionsection, the flag MUST be set(N=1).(N = 1). Detailed usage in the context of PBB-VPLS is explained insectionSection 5.2. MBZflags, theflags: The rest of the flags SHOULD be set to zero on transmission and ignored on reception. The MAC Flush TLV SHOULD be placed after the existing TLVs in the [RFC4762] MACFlush message in [RFC4762].flush message. 5.1.2. Application of the MAC Flush TLV in Optimized MACFlushFlushing When optimized MACflushflushing is supported, the MAC Flush TLV MUST be sentasin an existing LDPAddress Withdraw Messageaddress withdraw message with an empty MACListlist but from the core PE-rs on detection of failure of its local/primary spoke PW. TheN bitN-bit in the TLV MUST be set to 1 to indicateFlush-all- from-me.flush-all-from-me. If the optimized MACFlushflush procedure is used in a Backbone VPLS or regular VPLS/H-VPLScontextcontext, theC bitC-bit MUST be ZERO(C=0).(C = 0). If it is used in an I-componentcontextcontext, theC bitC-bit MUST be set(C=(C = 1). SeesectionSection 5.2 for details of its usage inPBB-VPLS context.the context of PBB-VPLS. Note that the assumption is that the MACflushFlush TLV is understood by all devices before it is turned on in any network. SeeOperational Considerations section 6.Section 6 ("Operational Considerations"). When optimized MACflushflushing is not supported, the MAC withdraw procedures defined in [RFC4762], where either the MTU-s or PE2-rssendsends the MACWithdrawwithdraw message, SHOULD be used. This includes the case where the network is being changed to support optimized MACflushflushing but not all devices are capable of understandingtheoptimized MACflush. Forflush messages. In the case of B-VPLSdevicesdevices, the optimized MAC flush message SHOULD be supported. 5.1.3. MAC Flush TLV Processing Rules for Regular VPLS This section describes the processing rules of the MAC Flush TLV that MUST be followed in the context of optimized MAC flush procedures in VPLS. When optimized MACflushflushing is supported, a multi-homing PE-rs initiates a MAC flush message towards the other related VPLS PE-rs devices when it detects a transition (failure or a change to standby) in its active spoke PW. In such a case the MAC Flush TLV MUST be sent with N = 1. A PE-rs device receiving the MAC Flush TLV SHOULD follow the same processing rules as those described in this section. Note that if aMulti-segment PsuedowireMulti-Segment Pseudowire (MS-PW) is used in VPLS, then a MAC flush message is processed only at the PW Terminating Provider Edge (T-PE)nodesnodes, since PW Switching Provider Edge S-PE(s) traversed by the MS-PWpropagatepropagates the MAC flush messages without any action. In this section, a PE-rs device signifies only a T-PE in the MS-PW case. When a PE-rs device receives a MAC Flush TLV with N = 1, it SHOULD flush all the MAC addresses learned from the PW in the VPLS in the context on which the MACFlushflush message is received. It is assumed that when these procedures are used all nodes support the MACFlush Message.flush message. SeesectionSection 6Operational Considerations("Operational Considerations") for details. WhenOptimizedoptimized MACflushflushing is not supported, a MAC Flush TLV is received with N = 0 in the MAC flushmessage thenmessage; in such a case, the receiving PE-rs SHOULD flush the MAC addresses learned from all PWs in the VPLSinstanceinstance, except the ones learned over the PW on which the message is received. Regardless of whetherOptimizedoptimized MACflushflushing is supported, if a PE-rs device receives a MAC flush message with a MAC Flush TLV option (N = 0 orN=N = 1) and a valid MAC address list, it SHOULD ignore the option and deal with MAC addresses explicitly as per [RFC4762]. 5.1.4. Optimized MAC Flush Procedures This section expands on the optimized MAC flush procedure in the scenario shown in Figure 2. WhenOptimizedoptimized MACflushflushing is beingusedused, a PE-rs that isdualdual- homing aware SHOULD send MAC address messages with a MAC Flush TLV andN=1N = 1, provided the other PEs understand the new messages. Upon receipt of the MAC flush message, PE2-rs identifies the VPLS instance that requires MACflushflushing from the FEC element in the FEC TLV. On receivingN=1, PE-2N = 1, PE2-rs removes all MAC addresses learned from that PW over which the message is received. The same action isfollowedperformed by PE3-rs and PE4-rs. Figure 4 shows another redundant H-VPLS topology to protect against failure of the MTU-s device. In this case, since there is more than a singleMTU-SMTU-S, a protocol such as provider RSTP [IEEE.802.1Q-2011] may be used as the selection algorithm for active and backup PWs in order to maintain the connectivity between MTU-s devices and PE-rs devices at the edge. It is assumed that PE-rs devices can detect failure on PWs in either direction throughOAM mechanisms such as VCCV procedures for instance. MTU-1================PE-1-rs=============PE-3-rsOAM mechanisms (for instance, Virtual Circuit Connectivity Verification (VCCV) procedures). MTU-1================PE1-rs==============PE3-rs || || \ /|| || Redundancy || \ / || || Provider RSTP ||Full-MeshFull Mesh . || || || / \ || || || / \||MTU-2----------------PE-2-rs=============PE-4-rsMTU-2----------------PE2-rs==============PE4-rs Backup PW Figure 4: Redundancy with Provider RSTP MTU-1, MTU-2,PE1-rsPE1-rs, and PE2-rs participate in provider RSTP.By configuration inConfiguration using RSTPit is ensuredensures that the PW between MTU-1 and PE1-rs is active and the PW between MTU-2 and PE2-rs is blocked (made backup) at the MTU-2 end. When the active PW failure is detected by RSTP, it activates the PW between MTU-2 and PE2-rs. When PE1-rs detects the failing PW to MTU-1, it MAY trigger MACflushflushing into the full mesh with a MAC Flush TLV that carriesN=1.N = 1. Other PE-rs devices in the full mesh that receive the MAC flush message identify their respective PWs terminating on PE1-rs and flush all the MAC addresses learned from it. [RFC4762] describes a multi-domain VPLS service where fully meshed VPLS networks (domains) are connected together by a single spoke PW per VPLS service between the VPLS "border" PE-rs devices. To provide redundancy against failure of the inter-domain spoke, full mesh of inter-domain spokes can besetupset up between border PE-rsdevicesdevices, and provider RSTP may be used for selection of the active inter-domain spoke. In the case of inter-domain spoke PW failure,PE-rs initiatedMAC withdrawal initiated by PE-rs MAY be used for optimized MACflushingflush procedures within individual domains. Further, the procedures are applicablewithto any native Ethernet access topologies multi-homed to two or more VPLS PE-rs devices. The text in this section applies for the native Ethernet case where active/standby PWs are replaced with the active/standby Ethernet endpoints. An optimized MACFlushflush message can be generated by the VPLS PE-rs that detects the failure in the primary Ethernet access. 5.2. LDP MAC Flush Extensions for PBB-VPLS The use ofAddress Withdrawan address withdraw message with a MAC List TLV is proposed in [RFC4762] as a way to expedite removal of MAC addresses as the result of a topology change(e.g.(e.g., failure of a primary link of a VPLS PE-rs deviceand implicitlyand, implicitly, the activation of an alternate link in adual- homingdual-homing use case). These existing procedures apply individually to B-VPLS and I-component domains. When it comes to reflecting topology changes in access networks connected toI-componentI-components across the B-VPLSdomaindomain, certain additions should beconsideredconsidered, as described below. MACSwitchingswitching in PBB is based on the mapping of Customer MACs(CMACs)(C-MACs) to one or more BackboneMAC(s) (BMACs).MACs (B-MACs). A topology change in the access(I-domain)(I-component domain) should just invoke the flushing ofCMACC-MAC entries in the PBB PEs' FIB(s) associated with the I-component(s) impacted by the failure. There is a need to indicate the PBB PE(BMAC(B-MAC source) that originated the MACFlushflush message to selectively flush only the MACs that are affected. These goals can be achieved by including the MAC Flush Parameters TLV in the LDPAddress Withdrawaddress withdraw message to indicate the particular domain(s) requiring MACflush.flushing. On the other end, the receiving PEs SHOULD use the information from the new TLV to flush only the related FIB entry/entries in the I-component instance(s). At least one of the following sub-TLVs MUST be included in the MAC Flush Parameters TLV if the C-flag is set to 1: o PBBBMACB-MAC List Sub-TLV: Type:IANA TBDB0x0407 Length:valueValue length in octets. At least oneBMACB-MAC address MUST be present in the list. Value:oneOne or a list of48 bits BMAC48-bit B-MAC addresses. These are the sourceBMACB-MAC addresses associated with the B-VPLS instance that originated the MACWithdrawwithdraw message. It will be used to identify theCMAC(s)C-MAC(s) mapped to theBMAC(s)B-MAC(s) listed in the sub-TLV. o PBBISIDI-SID List Sub-TLV: Type:IANA TBDC0x0408 Length:valueValue length in octets. Zero indicates an emptyISIDI-SID list. An emptyISIDI-SID list means that theflushflushing applies to all theISIDsI-SIDs mapped to the B-VPLS indicated by the FEC TLV. Value:oneOne or a list of24 bits ISIDs24-bit I-SIDs that represent the I-component FIB(s) where the MACFlushflushing needs to take place. 5.2.1. MAC Flush TLV Processing Rules for PBB-VPLS The following steps describe the details of the processing rules for the MAC Flush TLV in the context of PBB-VPLS. Ingeneralgeneral, these procedures are similar to the VPLS case but are tailored toPBBPBB, which may have a large number of MAC addresses. InPBBPBB, there are two sets of MACaddressesaddresses: Backbone (outer) MACs(BMACs)(B-MACs) and Customer (inner) MACs(CMACs).(C-MACs). C-MACs are associated to remote B-MACs by learning. There are alsoISIDs whichI-SIDs in PBB; I-SIDs are similar to VLANs for the purposes of the discussion in thisdescription.section. In order toget theachieve behavior that is similar to the Regular VPLScasecase, there are some differences in the interpretation of theOptimizedoptimized MAC flush message. 1. PositiveFlushflush ofCMACs.C-MACs. This is equivalent tothe[RFC4762] MACflushflushing in a PBB context. In thiscasecase, theN bitN-bit is set to 0; theC bitC-bit isSetset to11, andCMACsC-MACs are to be flushed.HoweverHowever, sinceCMACsC-MACs are related toBMACsB-MACs in anISID context there isI-SID context, further refinement of the flushing scope is possible. - If anISIDI-SID needs to be flushed(All CMACs(all C-MACs within thatISID)I-SID), thenISIDsI-SIDs are listed in the appropriate TLV. If allISIDsI-SIDs are to have theCMACs flushedC-MACs flushed, then theISIDI-SID TLV can be empty. It is typical to flush a singleISID onlyI-SID only, since eachISIDI-SID is associated with one or more interfaces (typicallyoneone, in the case ofdual homing).dual-homing). In the PBBcasecase, flushing theISIDI-SID is equivalent to the empty MAC list discussed in [RFC4762]. - If only a set ofBMAC to CMACB-MAC-to-C-MAC associationsneedneeds to be flushed, then aBMACB-MAC list can be included to further refine the list. This can be the case if anISIDI-SID component has more than one interface and aBMACB-MAC is used to refine the granularity. Since this is a positive MAC flush message, the intended behavior is to flush allCMACs butC-MACs except those that are associated witha BMACsB-MACs in the list. PositiveFlushflush ofBMACsB-MACs is also useful for propagatingFlushflush from other protocols such as RSTP. 2. NegativeFlushflush ofCMACs.C-MACs. This istheequivalent totheoptimized MACflush.flushing. In thiscasecase, theN bitN-bit is set to 1; theC bitC-bit isSetset to11, and a list ofBMACsB-MACs is provided so that the respectiveCMACsC-MACs can be flushed. - TheISIDI-SID list SHOULD be specified. If it isabsentabsent, then allISIDsI-SIDs require that theCMACs toC-MACs be flushed. - A set ofBMACsB-MACs SHOULD belistedlisted, sinceBMAC to CMACB-MAC-to-C-MAC associations need to be flushed and listingBMACsB-MACs scopes the flush to just thoseBMACs. AgainB-MACs. Again, this is typicalusageusage, because a PBB VPLSI- componentI-component interface will have one associatedISIDI-SID and typically onebut(but possibly more thanone BMACone) B-MAC, each with multiple remotely learnedCMACs.C-MACs. TheBMACB-MAC list is included to further refine the list for the remote receiver. Since this is a negative MAC flush message, the intended behavior is to flush all remoteCMACsC-MACs that are associated with anyBMACsB-MACs in the list (in otherwordswords, from the affectedinterface.)interface). TheProcessingprocessing rules on reception of the MAC flushMessagemessage are: - OnaBackbone Core Bridges(BCB) in(BCBs), if the C-bit is set to11, then the PBB-VPLS SHOULD NOT flush theirBMACB-MAC FIBs. The B-VPLS control plane SHOULD propagate the MACFlushflush message following thedata-plane split- horizondata- plane split-horizon rules to the established B-VPLS topology. - On Backbone Edge Bridges(BEB) is as follows:(BEBs), the following actions apply: - The PBBISID ListI-SID list is used to determine the particularISIDI-SID FIBs (I-component) that need to be considered for flushing action. If the PBBISIDI-SID Listsub-tlvSub-TLV is not included in a receivedmessagemessage, then all theISIDI-SID FIBs associated with the receiving B-VPLS SHOULD be considered for flushing action. - The PBBBMAC ListB-MAC list is used to identify from theISIDI-SID FIBs in the previous step to selectively flushBMAC to CMAC associationsB-MAC-to-C-MAC associations, depending on theN flagN-flag specified below. If the PBBBMACB-MAC List Sub-TLV is not included in a receivedmessagemessage, then allBMAC to CMAC associationB-MAC-to-C-MAC associations in allISIDI-SID FIBs (I-component) as specified by theISIDI-SID List are considered for required flushing action, again depending on theN flagN-flag specified below. - Next, depending on theN flag valueN-flag value, the following actions apply: -N=0,N = 0: all theCMACsC-MACs in the selectedISIDI-SID FIBs SHOULD beflushedflushed, with the exception of theresulted CMACresultant C-MAC list from theBMAC ListB-MAC list mentioned in themessage. ("Flushmessage ("flush all but theCMACsC-MACs associated with theBMAC(s)B-MAC(s) in theBMACB-MAC List Sub-TLV from the FIBs associated with theISIDI-SID list"). -N=1,N = 1: all theresulted CMACsresultant C-MACs SHOULD be flushed("Flush("flush all theCMACsC-MACs associated with theBMAC(s)B-MAC(s) in theBMACB-MAC List Sub-TLV from the FIBs associated with theISIDI-SID list"). 5.2.2. Applicability of the MAC Flush Parameters TLV If the MAC Flush Parameters TLV is received by a Backbone EdgeBridgesBridge (BEB) in a PBB-VPLS that does not understand theTLVTLV, thenit may result inan undesirable MAC flushingaction.action may result. It is RECOMMENDED that all PE-rs devices participating in PBB-VPLS support the MAC Flush Parameters TLV. If this is notpossiblepossible, the MAC Flush Parameters TLV SHOULD bedisableddisabled, as mentioned insectionSection 6Operational Considerations.("Operational Considerations"). "Mac Flush TLV" and its formal name -- "MAC Flush Parameters TLV" -- are synonymous. The MAC FlushParametersTLV isalsoapplicable to the regular VPLS context aswellwell, as explained insectionSection 3.1.1. To achieve negative MACFlushflushing (flush-all-from-me) in a regular VPLS context, the MAC Flush Parameters TLV SHOULD be encoded withC=0C = 0 and N = 1 without inclusion of any Sub-TLVs.NegativeA negative MAC flush message is highly desirable in scenarioswhenwhere VPLS access redundancy is provided by EthernetRing Protectionring protection as specified in the ITU-T[ITU.G8032]specification.G.8032 [ITU.G8032] specification. 6. Operational Considerations As mentioned earlier, if the MAC Flush Parameters TLV is not understood by areceiverreceiver, thenit would result in undesiredan undesirable MAC flushingaction.action would result. To avoid this, one possible solution is to develop anLDP basedLDP-based capability negotiation mechanism to negotiate support of various MACFlushing capabilityflushing capabilities between PE-rs devices in a VPLS instance. A negotiation mechanism was discussed previously and was considered outside the scope of this document. Negotiation is not required to deploy this optimized MACflushflushing as described in this document. VPLS may be used with or without the optimization. If an operator wants theoptimizationsoptimization forVPLSVPLS, it is the operator's responsibility to make sure that the VPLS devices that are capable of supporting the optimization are properly configured. From an operational standpoint, it is RECOMMENDED that implementations of the solution provide administrative control to select the desired MACFlushingflushing action towards a PE-rs device in the VPLS.ThusThus, in the topology described infigureFigure 2, an implementation could supportPE1-rsPE1-rs, sending optimized MACFlushflush messages towards the PE-rs devices that support the solution and the PE2-rs device initiating the [RFC4762] style of MACFlushflush messages towards thePE- rsPE-rs devices that do not support the optimized solution during upgrades. The PE-rs that supports the MAC Flush Parameters TLV MUST support theRFC4762RFC 4762 MACflush proceduresflushing procedures, since this document only augments them.ForIn the case ofPBB-VPLSPBB-VPLS, this operation is the only method supported for specifyingISIDsI-SIDs, and the optimization is assumed to be supported or should be turnedoffoff, reverting to flushing using [RFC4762] at the Backbone MAC level. 7. IANA Considerations7.17.1. New LDP TLV IANA maintains a registry called "Label Distribution Protocol (LDP) Parameters" with a sub-registry called "TLV Type Name Space". IANAis requested to allocatehas allocated three new code pointsfrom the unassigned range 0x0405-0x04FFasfollows. IANA is requested to allocate consecutive numbers.follows: Value | Description | Reference | Notes------+--------------------------+------------+----------- TBDA-------+---------------------------+------------+----------- 0x0406 | MAC Flush Parameters TLV |[This.I-D][RFC7361] |TBDB0x0407 | PBBBMACB-MAC List Sub-TLV |[This.I-D][RFC7361] |TBDC0x0408 | PBBISIDI-SID List Sub-TLV |[This.I-D][RFC7361] |7.27.2. New Registry for MAC Flush Flags IANAis requested to createhas created a new sub-registry under "Label Distribution Protocol (LDP) Parameters" called "MAC Flush Flags". IANAis requested to populatehas populated the registry as follows: BitnumberNumber | Hex | Abbreviation | Description | Reference-----------+------+--------------+------------------+----------------------+------+--------------+-----------------------+----------- 0 | 0x80 | C | Context |[This.I-D][RFC7361] 1 | 0x40 | N | NegativeflushMAC flushing |[This.I-D][RFC7361] 2-7 | | | Unassigned | Other new bits are to be assigned by StandardsAction.Action [RFC5226]. 8. Security ConsiderationsControl planeControl-plane aspects: LDP security (authentication) methods as described in [RFC5036]isare applicable here.FurtherFurther, this document implements security considerations as discussed in [RFC4447] and [RFC4762]. The extensions defined here optimize the MAC flushing action, and so the risk of security attacks is reduced. However, in the event that the configuration of support for the new TLV can be spoofed, sub-optimal behavior will be seen.Data planeData-plane aspects: This specification does not have any impact on the VPLS forwarding plane but can improve MAC flushing behavior. 9. Contributing Author The authors would like to thank MarcLasserreLasserre, who made a major contribution to the development of this document. Marc Lasserre Alcatel-LucentEmail:EMail: marc.lasserre@alcatel-lucent.com 10. Acknowledgements The authors would like to thank the following people who have provided valuable comments,feedbackfeedback, and review on the topics discussed in this document: Dimitri Papadimitriou, Jorge Rabadan, Prashanth Ishwar, Vipin Jain, John Rigby, Ali Sajassi, Wim Henderickx, Paul Kwok, Maarten Vissers, Daniel Cohn, Nabil Bitar, Giles Heron, Adrian Farrel, Ben Niven-Jenkins, Robert Sparks, SusanHaresHares, and Stephen Farrell. 11. References 11.1. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC4447] Martini, L., Ed., Rosen, E., El-Aawar, N., Smith, T., and G. Heron, "Pseudowire Setup and Maintenance Using the Label Distribution Protocol (LDP)", RFC 4447, April 2006. [RFC4762] Lasserre,M.M., Ed., and V. Kompella, Ed., "Virtual Private LAN Service (VPLS) Using Label Distribution Protocol (LDP) Signaling", RFC 4762, January 2007. [RFC5036] Andersson, L., Ed., Minei, I., Ed., and B. Thomas, Ed., "LDP Specification", RFC 5036, October 2007. 11.2. Informative References[RFC7041] Balus, F., Sajassi, A., and N. Bitar, "Extensions to the Virtual Private LAN Service (VPLS) Provider Edge (PE) Model for Provider Backbone Bridging",RFC 7041, November 2013. [I-D.ietf-l2vpn-vpls-multihoming] Kothari, B., Kompella, K., Henderickx, W., Balus, F., Palislamovic, S., Uttaro, J., and W. Lin, "BGP based Multi-homing in Virtual Private LAN Service", draft-ietf-l2vpn-vpls-multihoming-06 (work in progress), October 2012.[IEEE.802.1Q-2011] IEEE, "IEEE Standard for Local and metropolitan area networks -- Media Access Control (MAC) Bridges and Virtual Bridged Local Area Networks", IEEE Std 802.1Q, 2011. [ITU.G8032] InternationalTelecommunicationsTelecommunication Union, "Ethernet ring protection switching", ITU-T Recommendation G.8032,March 2010.February 2012. [RFC4664] Andersson,L.L., Ed., and E. Rosen, Ed., "Framework for Layer 2 Virtual Private Networks (L2VPNs)", RFC 4664, September 2006.[RFC6718] Muley, P., Aissaoui, M., and Bocci, M., "Pseudowire Redundancy",[RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC6718, August 2012.5226, May 2008. [RFC6073] Martini, L., Metz, C., Nadeau, T., Bocci, M., and M. Aissaoui,M.,"Segmented Pseudowire", RFC 6073, January 2011. [RFC6718] Muley, P., Aissaoui, M., and M. Bocci, "Pseudowire Redundancy", RFC 6718, August 2012. [RFC7041] Balus, F., Ed., Sajassi, A., Ed., and N. Bitar, Ed., "Extensions to the Virtual Private LAN Service (VPLS) Provider Edge (PE) Model for Provider Backbone Bridging", RFC 7041, November 2013. [VPLS-MH] Kothari, B., Kompella, K., Henderickx, W., Balus, F., Uttaro, J., Palislamovic, S., and W. Lin, "BGP based Multi-homing in Virtual Private LAN Service", Work in Progress, July 2014. Authors' Addresses Pranjal Kumar Dutta Alcatel-Lucent 701 E Middlefield Road Mountain View, California 94043 USAEmail:EMail: pranjal.dutta@alcatel-lucent.com Florin Balus Alcatel-Lucent 701 E Middlefield Road Mountain View, California 94043 USAEmail:EMail: florin.balus@alcatel-lucent.com Olen Stokes Extreme NetworksPO Box 14129, RTP Raleigh, North Carolina 277092121 RDU Center Drive Suite 300 Morrisville, NC 27650 USAEmail:EMail: ostokes@extremenetworks.com GeraldineCalvginacCalvignac Orange 2, avenue Pierre-Marzin Lannion Cedex, 22307 FranceEmail:EMail: geraldine.calvignac@orange.com Don Fedyk Hewlett-Packard Company USAEmail:EMail: don.fedyk@hp.com