Network Working Group                                       S. Sivabalan
Internet-Draft                                                S. Boutros
Intended status: Standards Track                     Cisco Systems, Inc.
Expires: May 03, 2016                                           H. Shah
                                                             Ciena Corp.
                                                               S. Aldrin
                                                             Google Inc.
                                                           M. Venkatesan
                                                       November 03, 2015

             MAC Address Withdrawal over Static Pseudowire


   This document specifies a mechanism to signal MAC address withdrawal
   notification using PW Associated Channel (ACH).  Such notification is
   useful when statically provisioned PWs are deployed in VPLS/H-VPLS

Requirements Language

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   document are to be interpreted as described in [RFC2119].

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

   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 May 3, 2016.

Sivabalan, et al.        Expires May 03, 2016               [Page 1]

Internet-Draft    MAC Withdrawal over Static Pseudowire   October 2015

Copyright Notice

   Copyright (c) 2015 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
   ( 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  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . .   3
   3.  MAC Withdraw OAM Message  . . . . . . . . . . . . . . . . . .   4
   4.  Operation . . . . . . . . . . . . . . . . . . . . . . . . . .   6
     4.1.  Operation of Sender . . . . . . . . . . . . . . . . . . .   6
     4.2.  Operation of Receiver . . . . . . . . . . . . . . . . . .   7
   5.  Security Consideration  . . . . . . . . . . . . . . . . . . .   7
   6.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   7
     6.1.  MPLS G-Ach type . . . . . . . . . . . . . . . . . . . . .   7
     6.2.  Sequence Number TLV . . . . . . . . . . . . . . . . . . .   8
   7.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   8
     7.1.  Normative References  . . . . . . . . . . . . . . . . . .   8
     7.2.  Informative References  . . . . . . . . . . . . . . . . .   9
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   9

1.  Introduction

   An LDP-based MAC Address 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 be removed, to all other PEs
   over the LDP sessions.  [RFC7361] describes an optimized MAC
   withdrawal mechanism which can be used to remove only the set of
   MAC addresses that need to be re-learned in H-VPLS networks.
   [RFC7361] also describes optimized MAC Withdrawal operations
   in PBB-VPLS networks.

Sivabalan, et al.        Expires May 03, 2016               [Page 2]

Internet-Draft    MAC Withdrawal over Static Pseudowire    October 2015

   A PW can be signaled via the LDP or can be statically provisioned.
   In the case of static PW, LDP based MAC withdrawal mechanism cannot
   be used.  This is analogous to the problem and solution described in
   [RFC6478]  where PW OAM message has been introduced to carry PW
   status TLV using in-band PW Associated Channel.  In this document, we
   propose to use PW OAM message to withdraw MAC address(es) learned via
   static PW.

   Thus, MAC withdraw signaling for static PW re-uses concepts of

   - in-band signaling mechanisms used by static PW status signaling and

   - MAC withdrawal mechanisms described by [RFC4762] and [RFC7361]

   The MAC withdraw signaling is a best effort scheme.  It is an attempt
   to optimize the network convergence by reducing blackholes caused by
   PW failover for protected PWs.  The protocol defined in this document
   addresses possible loss of MAC withdraw signal due to network
   congestion, but do not assure the guarenteed delivery, as is the
   case for the LDP based MAC withdraw signaling.  In the event that MAC
   withdraw signaling does not reach the intended target, the fallback
   to MAC re-learning due to bi-directional traffic or as a last resort
   to user configured MAC entries age out, will resume the traffic via
   new PW path.  Such fallbacks would cause temporary blackout but does
   not render network permanently unusable.

2.  Terminology

   The following terminologies are used in this document:

   ACK:  Acknowledgement for MAC withdraw message.

   LDP:  Label Distribution Protocol.

   MAC:  Media Access Control.

   PE:  Provide Edge Node.

   MPLS:  Multi Protocol Label Switching.

   PW:  PseudoWire.

   PW OAM:  PW Operations, Administration and Maintenance.

   TLV:  Type, Length, and Value.

   VPLS:  Virtual Private LAN Services.

Sivabalan, et al.        Expires May 03, 2016               [Page 3]

Internet-Draft    MAC Withdrawal over Static Pseudowire     October 2015

3.  MAC Withdraw OAM Message

   LDP provides a reliable packet transport for control plackets for
   dynamic PWs.  This can be contrasted with static PWs which rely on
   re-transmission and acknowledgments (ACK) for reliable OAM packet
   delivery as described in [RFC6478].  The proposed solution for MAC
   withdrawal over static PW also relies on re-transmissions and ACKs.
   However, ACK is mandatory.  A given MAC withdrawal notification is
   sent as a PW OAM message, and the sender re-transmits the message for
   a configured number of times in the absence of an ACK response for
   the sequence numbered message.  The receiver removes the MAC
   address(es) for a given sequence number MAC withdraw signaling and
   sends the ACK response.  The receipt of same or lower sequence number
   message is responded with 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 same guidelines
   used in [RFC6478], whereby first 4-bytes of OAM message header
   is followed by 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 Number TLV" otherwise the entire message is dropped.  It
   MAY contain MAC Flush Parameter TLVs defined in [RFC7361]  when
   static PWs are deployed in H-VPLS and PBB-VPLS scenarios.  The first
   2 bits of the sequence number TLV are reserved and MUST be set to 0
   on transmit and ignored on receipt.

Sivabalan, et al.        Expires May 03, 2016               [Page 4]

Internet-Draft    MAC Withdrawal over Static Pseudowire     October 2015

       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 OAM Message |
      |            Reserved           |  TLV Length   |A|R| Flags     |
      |Res| Sequence Number TLV (TBD) |  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, MAC List TLV and MAC Flush Parameter TLV are
   collectively referred to as "MAC TLV(s)".  The definition and
   processing rules of MAC List TLV are described by [RFC4762], and the
   corresponding rules of MAC Flush Parameter TLV are governed by

   "TLV Length" is the total length of all TLVs in the message, and
   "Sequence Number TLV Length" is the length of the sequence number

   A single bit (called A-bit) is set by a receiver to acknowledge
   receipt and processing of a MAC Address Withdraw OAM message.
   In the acknowledge message, with A-bit set, MAC TLV(s) is/are

   A single bit (called R-bit) is set to indicate if the sender is
   requesting reset of the sequence numbers.  The sender sets this bit
   when the Pseudowire is restarted and has no local record of send and
   expected receive sequence number.

   The Sequence number TLV MUST be the first TLV in the message.

   The lack of 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
   of sequence number handling which includes overflow detection for
   sequence number field of size 16-bits. This document leverages
   the same scheme with the two exemptions
       - sequence number field is of size 32-bits
       - overflow detection is simplified such that sequence
         number exceed 2,147,483,647 (0x7FFFFFFF) is considered
         overflow and reset to 1.

Sivabalan, et al.        Expires May 03, 2016               [Page 5]

Internet-Draft    MAC Withdrawal over Static Pseudowire     October 2015

4.  Operation

   This section describes how the initial MAC withdraw OAM messages 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 transmitted sequence
   number counter, and include 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 interval
   which we call "Retransmit Time" which can be either a default (1
   second) or 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 MUST
   be ceased when an ACK is received. In order to avaoid continuous
   retransmissions in the absence of acknowledgements, a method of
   suppressing retransmission MUST be implemented. A simple and
   well used approach is to cease retransmission after a small
   number of transmissions. A one second retransmission with two
   retries in the absence of an ACK response is RECOMMENDED.
   However, both the interval and the number of retries are a local
   matter which present no interworking issues and 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 mindful of not
   introducing network congestion and must take into account of
   decaying value of delayed MAC withdraw signaling against possible
   relearning due to bidirectional traffic or MAC age timeout.

   During the period of retransmission, if a need to send a new MAC
   withdraw message with updated sequence number arises then
   retransmission of the older unacknowledged withdraw message MUST be
   suspended and retransmit time for the new sequence number MUST be
   initiated.  In essence, sender engages in retransmission logic only
   for the latest send withdraw message for a given PW.

   In the event that a Pseudowire was deleted and re-added or the router
   is restarted with configuration, the local node may lose information
   about the send sequence number of previous incarnation.  This becomes
   problematic for the remote peer as it will continue to ignore the

Sivabalan, et al.        Expires May 03, 2016               [Page 6]

Internet-Draft    MAC Withdrawal over Static Pseudowire     October 2015

   received MAC withdraw messages with lower sequence numbers.  In such
   cases, it is desirable to reset the sequence numbers at both ends of
   the Pseudowire.  The 'R' reset bit is set in the first MAC withdraw
   to notify the remote peer to reset the send and receive sequence
   numbers.  The 'R' bit must be cleared in subsequent MAC withdraw
   messages after the acknowledgement is received

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 MAC address(es) contained in the MAC TLV(s) is/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 MAC TLV(s) is/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

   The handling of the sequence number is described in section 3.

   A MAC withdraw message with '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' 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-Ach type

   This document requests IANA to assign new channel type (requested
   value 0x0028) from the registry named "MPLS Generalized Associated
   Channel (G-ACh) Types (including Pseudwire Associated Channel
   Types)".  The description of the new channel type is "MAC Withdraw
   OAM Message".  [TO BE REMOVED: This registration should take place at
   the following location:
   parameters/g-ach-parameters.xhtml]. The channel type value of 0x0028

Sivabalan, et al.        Expires May 03, 2016               [Page 7]

Internet-Draft    MAC Withdrawal over Static Pseudowire     October 2015

   is requested as it is used in implementations that are deployed in
   the field.

6.2.  Sequence Number TLV

   This document requests IANA to assign a new TLV Type
   (requested value 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:].
   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, February 2006.

   [RFC4447]  Martini, L., 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. and V. Kompella, "Virtual Private LAN Service
              (VPLS) Using Label Distribution Protocol (LDP) Signaling",
              RFC 4762, January 2007.

   [RFC5085]  Nadeau, T. and C. Pignataro, "Pseudowire Virtual Circuit
              Connectivity Verification (VCCV): A Control Channel for
              Pseudowires", RFC 5085, December 2007.

   [RFC5226]  Narten, T. and H. Alvestrand, "Guidelines for Writing an
              IANA Considerations Section in RFCs", BCP 26, RFC 5226,
              May 2008.

Sivabalan, et al.        Expires May 03, 2016               [Page 8]

Internet-Draft    MAC Withdrawal over Static Pseudowire     October 2015

   [RFC6073]  Martini, L., Metz, C., Nadeau, T., Bocci, M., and M.
              Aissaoui, "Segmented Pseudowire", RFC 6073, January 2011.

   [RFC6478]  Martini, L., Swallow, G., Heron, G., and M. Bocci,
              "Pseudowire Status for Static Pseudowires", RFC 6478, May

   [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, September 2014.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

7.2.  Informative References

Authors' Addresses

   Siva Sivabalan
   Cisco Systems, Inc.
   2000 Innovation Drive
   Kanata, Ontario  K2K 3E8


   Sami Boutros
   Cisco Systems, Inc.
   170 West Tasman Dr.
   San Jose, CA  95134


   Himanshu Shah
   Ciena Corp.
   3939 North First Street
   San Jose, CA  95134


Sivabalan, et al.        Expires May 03, 2016               [Page 9]

Internet-Draft    MAC Withdrawal over Static Pseudowire     October 2015

   Sam Aldrin
   Google Inc.


   Mannan Venkatesan
   1800 Bishop Gate Blvd
   Mount Laurel, NJ  08075


Sivabalan, et al.        Expires January 3, 2016               [Page 10]