Network Working GroupInternet Engineering Task Force (IETF) S. SivabalanInternet-DraftRequest for Comments: 7769 S. BoutrosIntended status:Category: Standards Track Cisco Systems, Inc.Expires: May 03, 2016ISSN: 2070-1721 H. Shah Ciena Corp. S. Aldrin Google Inc. M. VenkatesanComcast. November 03, 2015 MACComcast February 2016 Media Access Control (MAC) Address Withdrawal over Static Pseudowiredraft-ietf-pals-mpls-tp-mac-wd-03.txtAbstract This document specifies a mechanism to signalMACMedia Access Control (MAC) address withdrawal notification usingPWa pseudowire (PW) Associated Channel (ACH). Such notification is useful when statically provisioned PWs are deployed inVPLS/H-VPLSa Virtual Private LAN Service (VPLS) or Hierarchical Virtual Private LAN Service (H-VPLS) environment.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].Status of This 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 3, 2016.http://www.rfc-editor.org/info/rfc7769. Copyright Notice Copyright (c)20152016 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 . . . . . . . . . . . . . . . . . . . . . . . .23 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . .34 3. MAC Withdraw OAM Message . . . . . . . . . . . . . . . . . . 4 4. Operation . . . . . . . . . . . . . . . . . . . . . . . . . . 6 4.1. Operation of Sender . . . . . . . . . . . . . . . . . . . 6 4.2. Operation of Receiver . . . . . . . . . . . . . . . . . . 7 5. Security Consideration . . . . . . . . . . . . . . . . . . .78 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . .78 6.1. MPLS G-Ach type . . . . . . . . . . . . . . . . . . . . .78 6.2. Sequence Number TLV . . . . . . . . . . . . . . . . . . . 8 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 8 7.1. Normative References . . . . . . . . . . . . . . . . . . 87.2. Informative References . . . . . . . . . . . . . . . . . 9Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . .910 1. Introduction An LDP-based MACAddress Withdrawal Mechanismaddress withdrawal mechanism is specified in [RFC4762] to remove dynamically learned MAC addresses when the source of those addresses can no longer forward traffic. This is accomplished by sending an LDP Address Withdraw Message with a MAC List TLV containing the MAC addresses to beremoved, toremoved from all otherPEsProvider Edge nodes over the LDP sessions. [RFC7361] describes an optimized MAC withdrawal mechanismwhichthat can be used to remove only the set of MAC addresses that need to bere-learnedrelearned in H-VPLS networks. [RFC7361] also describes optimized MACWithdrawalwithdrawal operations in PBB-VPLS networks. A PW can be signaled via the LDP or can be statically provisioned. In the case of a static PW,LDP basedan LDP-based MAC withdrawal mechanism cannot be used. This is analogous to the problem and solution described in [RFC6478] where a PW OAM (Operations, Administration, and Maintenance) message has been introduced to carry the PW status TLV using the in-band PW Associated Channel. In this document, wepropose touse a PW OAM message to withdraw MAC address(es) learned via a static PW. Thus, MAC withdraw signaling for static PWre-uses concepts ofreuses the following concepts: - in-band signaling mechanisms used by static PW status signaling and - MAC withdrawal mechanisms described by [RFC4762] and[RFC7361] The[RFC7361]. MAC withdraw signaling is a best effort scheme. It is an attempt to optimizethenetwork convergence by reducing blackholes caused by PW failover for protected PWs. The protocol defined in this document addresses possible loss of the MAC withdraw signal due to network congestion, butdodoes notassure the guarenteedguarantee delivery, as is the case for theLDP basedLDP-based MAC withdraw signaling. In the event that MAC withdraw signaling does not reach the intended target, the fallback to MACre-learningre- learning due to bi-directional traffic or as a last resortto user configuredaging out of MACentries age out,addresses in the absence of frames from the sources, will resume the traffic via new PW path. Such fallbacks would cause temporaryblackoutblackouts but does not render a network permanently unusable. 2. Terminology The followingterminologies areterminology is used in this document: ACK: Acknowledgement for MAC withdrawmessage.message LDP: Label DistributionProtocol.Protocol MAC: Media AccessControl. PE: Provide Edge Node.Control MPLS:Multi ProtocolMultiprotocol LabelSwitching.Switching PW:PseudoWire.Pseudowire PW OAM: PW Operations,AdministrationAdministration, andMaintenance.Maintenance TLV: Type, Length, andValue.Value VPLS: Virtual Private LANServices.Services In addition, 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. MAC Withdraw OAM Message LDP providesareliable packet transport for control plackets for dynamic PWs. This can be contrasted with static PWswhichthat rely onre-transmissionretransmission and acknowledgments(ACK)(ACKs) for reliable OAM packet delivery as described in [RFC6478]. The proposed solution for MAC withdrawal over a static PW also relies onre-transmissionsretransmissions and ACKs. However, an ACK is mandatory. A given MAC withdrawal notification is sent as a PW OAM message, and the senderre-transmitsretransmits the messagefora configured number of times in the absence of an ACK response for thesequence numberedsequence-numbered message. The receiver removes the MAC address(es) for a givensequence numbersequence-number MAC withdraw signaling message and sends the ACK response. The receipt of the same or lowersequence numbersequence-number message is responded to with an ACK but does not cause removal of MAC addresses. A new TLV to carry the sequence number has been defined. The format of the MAC address withdraw OAM message is shown in Figure 1. The MAC withdraw PW OAM message follows the same guidelines used in [RFC6478], whereby the first4-bytes4 bytes of the OAM message headerisare followed bymessage specifica message-specific field and a set of TLVs relevant for the message. Since the MAC withdrawal PW OAM message is not refreshed forever, a MAC address withdraw OAM message MUST contain a "Sequence NumberTLV" otherwiseTLV"; otherwise, the entire message is dropped. It MAY contain the MAC Flush ParameterTLVsTLV defined in [RFC7361] when static PWs are deployed in H-VPLS and PBB-VPLS scenarios. The first 2 bits of thesequence numbersequence-number TLV are reserved and MUST be set to 0 on transmit and ignored on receipt. 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |0 0 0 1|Version| Reserved|(TBD)| MAC Withdraw OAMMessageMsg (0x28) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Reserved | TLV Length |A|R| Flags | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Res| SequenceNumberNo. TLV(TBD)(0x1) | Sequence Number TLV Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Sequence Number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | MAC List TLV | ~ MAC Flush Parameter TLV (optional) ~ | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 1: MAC Address Withdraw PW OAM Packet Format In this section, the MAC List TLV and MAC Flush Parameter TLV are collectively referred to as "MAC TLV(s)". The definition and processing rules of the MAC List TLV are described by [RFC4762], and the corresponding rules of the MAC Flush Parameter TLV are governed by [RFC7361]. "TLV Length" is the total length of all TLVs in the message, and "Sequence Number TLV Length" is the length of thesequence numberSequence Number field. A single bit (calledA-bit)"A-bit") is set by a receiver to acknowledge receipt and processing of a MAC Address Withdraw OAMmessage.Message. In the acknowledge message, with the A-bit set, the MACTLV(s) is/areTLVs are excluded. A single bit (calledR-bit)"R-bit") is set to indicate if the sender is requesting reset of the sequence numbers. The sender sets this bit when thePseudowirepseudowire is restarted and has no local record of previous send and expected receive sequencenumber.numbers. The SequencenumberNumber TLV MUST be the first TLV in the message. The lack of a reliable transport protocol for the in-band OAM necessitates a presence of sequencing and acknowledgement scheme so that the receiver can recognize newer message from retransmitted older messages.The[RFC4385] describes the details ofsequence number handlingsequence-number handling, which includes overflow detection forsequence numbera Sequence Number fieldofsize16-bits.of 16 bits. This document leverages the same scheme with the twoexemptionsexemptions: -sequence numberthe Sequence Number field is of size32-bits32 bits. - overflow detection is simplified such that a sequence numberexceedthat exceeds 2,147,483,647 (0x7FFFFFFF) is considered an overflow and reset to 1. 4. Operation This section describes how the initial MACwithdrawWithdraw OAMmessagesMessages are sent and retransmitted, as well as how the messages are processed and retransmitted messages are identified. 4.1. Operation of Sender Each PW is associated with a counter to keep track of the sequence number of the transmitted MAC withdrawal messages. Whenever a node sends a new set of MAC TLVs, it increments the transmittedsequencesequence- numbercounter,counter andincludeincludes the new sequence number in the message. The transmit sequence number is initialized to 1 at the onset, after the wrap and after the sequence number reset request receipt. Hence the transmit sequence number is set to 2 in the first MAC withdraw message sent after the sequence number is initialized to 1. The sender expects an ACK from the receiver within a time intervalwhichwe call "RetransmitTime"Time", which can be either a default (1 second) or a configured value. If the ACK does not arrive within the Retransmit Time, the sender retransmits the message with the same sequence number as the original message. The retransmission MUSTbe ceasedcease when an ACK is received. In order toavaoidavoid continuous retransmissions in the absence of acknowledgements, a method of suppressingretransmissionretransmissions MUST be implemented. A simple andwell usedwell-used approach is to cease retransmission after a small number of transmissions.AIn the absence of an ACK response, a one second retransmission with two retriesin the absence of an ACK responseis RECOMMENDED. However, both the interval and the number of retries are a local matterwhichthat present no interworkingissues and thusissues; thus, the operator MAY configure different values. Alternatively, an increasing backoff delay with a larger number of retries MAY be implemented to improve scaling issues. Whilst there are no interworking issues with any of these methods, the implementer must be mindfulofto notintroducingintroduce network congestion and must take into accountofthe decaying value of the delayed MAC withdraw signaling against possible relearning due to bidirectional traffic or MACagetimeout. During the period of retransmission, if a need to send a new MAC withdraw message with updated sequence numberarisesarises, then retransmission of the older unacknowledged withdraw message MUST be suspended and retransmit time for the new sequence number MUST be initiated. In essence, a sender engages in retransmission logic only for thelatest sendmost recently sent withdraw message for a given PW. In the event that aPseudowire waspseudowire is deleted and re-added or the router is restarted with configuration, the local node may lose information about thesendthe previously sent sequencenumber of previous incarnation.number. This becomes problematic for the remote peer as it will continue to ignore the received MAC withdraw messages with lower sequence numbers. In such cases, it is desirable to reset the sequence numbers at both ends of thePseudowire.pseudowire. The'R'resetbitR-bit is set in the first MAC withdraw to notify the remote peer to reset the send and receive sequence numbers. The'R' bitR-bit must be cleared in subsequent MAC withdraw messages after the acknowledgement isreceivedreceived. 4.2. Operation of Receiver Each PW is associated with a register to keep track of the expected sequence number of the MAC withdrawal message and is initialized to 1. Whenever a MAC withdrawal message is received, and if the sequence number on the message is greater than the value in the register, the MACaddress(es)addresses contained in the MACTLV(s) is/areTLVs are removed, and the register is updated with the received sequence number. The receiver sends an ACK whose sequence number is the same as that in the received message. If the sequence number in the received message is smaller than or equal to the value in the register, the MACTLV(s) is/areTLVs are not processed. However, an ACK with the received sequence number MUST be sent as a response. The receiver processes the ACK message as an acknowledgement for all the MAC withdraw messages sent up to the sequence number present in the ACK message and terminates retransmission. The handling of the sequence number is described insectionSection 3. A MAC withdraw message with'R' bitthe R-bit set MUST be processed by resetting the send and receive sequence number first. The rest of MAC withdraw message processing is performed as described above. The acknowledgement is sent with'R' bitthe R-bit cleared. 5. Security Consideration The security measures described in [RFC4447], [RFC5085], and [RFC6073] are adequate for the proposed mechanism. 6. IANA Considerations 6.1. MPLS G-Achtype This document requestsType IANAto assignhas assigned a new channel type(requested value 0x0028)(0x0028) from theregistry named"MPLS Generalized Associated Channel (G-ACh) Types (includingPseudwirePseudowire Associated ChannelTypes)".Types)" registry. The description of the new channel type is "MAC Withdraw OAM Message".[TO BE REMOVED: This registration should take place at the following location: http://www.iana.org/assignments/g-ach- parameters/g-ach-parameters.xhtml]. The channel type value of 0x0028 is requested as it is used in implementations that are deployed in the field.6.2. Sequence Number TLVThis document requestsIANAto assignhas assigned a new TLV Type(requested value 0x0001)(0x0001) from the existing LDP "TLV Type Name Space" registry. The description for the new TLV Type is "Sequence Number TLV".[Note to IANA TO BE REMOVED BY THE RFC EDITOR: This registration should take place at the following location: http://www.iana.org/assignments/ldp-namespaces/ldp-namespaces.xhtml]. In an earlier revision of this draft, we created a new sub-TLV registry with one entry, a new "Sequence Number TLV" with the value 0x0001. This has been implemented by several vendors. The IESG proposed that rathen than create a new sub-TLV registry, we just allocate a new code point from the existing LDP "TLV Type Name Space" registry. In this registry, the value 0x0001 is available for allocation by standards action, so we request this code point for the new "Sequence Number" TLV type to avoid needing to change the existing implementations.7. References 7.1. Normative References [RFC4385] Bryant, S., Swallow, G., Martini, L., and D. McPherson, "Pseudowire Emulation Edge-to-Edge (PWE3) Control Word for Use over an MPLS PSN", RFC 4385, DOI 10.17487/RFC4385, February2006.2006, <http://www.rfc-editor.org/info/rfc4385>. [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, DOI 10.17487/RFC4447, April2006.2006, <http://www.rfc-editor.org/info/rfc4447>. [RFC4762] Lasserre,M.M., Ed., and V. Kompella, Ed., "Virtual Private LAN Service (VPLS) Using Label Distribution Protocol (LDP) Signaling", RFC 4762, DOI 10.17487/RFC4762, January2007.2007, <http://www.rfc-editor.org/info/rfc4762>. [RFC5085] Nadeau,T.T., Ed., and C. Pignataro, Ed., "Pseudowire Virtual Circuit Connectivity Verification (VCCV): A Control Channel for Pseudowires", RFC 5085, DOI 10.17487/RFC5085, December2007.2007, <http://www.rfc-editor.org/info/rfc5085>. [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 5226, DOI 10.17487/RFC5226, May2008.2008, <http://www.rfc-editor.org/info/rfc5226>. [RFC6073] Martini, L., Metz, C., Nadeau, T., Bocci, M., and M. Aissaoui, "Segmented Pseudowire", RFC 6073, DOI 10.17487/RFC6073, January2011.2011, <http://www.rfc-editor.org/info/rfc6073>. [RFC6478] Martini, L., Swallow, G., Heron, G., and M. Bocci, "Pseudowire Status for Static Pseudowires", RFC 6478, DOI 10.17487/RFC6478, May2012.2012, <http://www.rfc-editor.org/info/rfc6478>. [RFC7361] Dutta, P., Balus, F., Stokes, O., Calvignac, G., and D. Fedyk, "LDP Extensions for Optimized MAC Address Withdrawal in a Hierarchical Virtual Private LAN Service (H-VPLS)", RFC 7361, DOI 10.17487/RFC7361, September2014.2014, <http://www.rfc-editor.org/info/rfc7361>. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March1997. 7.2. Informative References1997, <http://www.rfc-editor.org/info/rfc2119>. Authors' Addresses Siva Sivabalan Cisco Systems, Inc. 2000 Innovation Drive Kanata, Ontario K2K 3E8 Canada Email: msiva@cisco.com Sami Boutros Cisco Systems, Inc. 170 West Tasman Dr. San Jose, CA 95134USUnited States Email: sboutros@cisco.com Himanshu Shah Ciena Corp. 3939 North First Street San Jose, CA 95134USUnited States Email: hshah@ciena.com Sam Aldrin Google Inc. Email: aldrin.ietf@gmail.com Mannan VenkatesanComcast.Comcast 1800BishopBishops Gate Blvd Mount Laurel, NJ 08075USUnited States Email: mannan_venkatesan@cable.comcast.com