Internet Engineering Task Force (IETF)                        L. Martini
Request for Comments: 8237                                   Monoski LLC
Category: Standards Track                                     G. Swallow
ISSN: 2070-1721                                                     SETC
                                                          E. Bellagamba
                                                               Ericsson
                                                           October 2017


            MPLS Label Switched Path (LSP) Pseudowire (PW)
               Status Refresh Reduction for Static PWs

Abstract

  This document describes a method for generating an aggregated
  pseudowire (PW) status message transmitted for a statically
  configured PW on a Multiprotocol Label Switching (MPLS) Label
  Switched Path (LSP) to indicate the status of one or more PWs carried
  on the LSP.

  The method for transmitting the PW status information is not new;
  however, this protocol extension allows a Service Provider (SP) to
  reliably monitor the individual PW status while not overwhelming the
  network with multiple periodic status messages.  This is achieved by
  sending a single cumulative summary status verification message for
  all the PWs grouped in the same LSP.

Status of This Memo

  This is an Internet Standards Track document.

  This document is a product of the Internet Engineering Task Force
  (IETF).  It represents the consensus of the IETF community.  It has
  received public review and has been approved for publication by the
  Internet Engineering Steering Group (IESG).  Further information on
  Internet Standards is available in Section 2 of RFC 7841.

  Information about the current status of this document, any errata,
  and how to provide feedback on it may be obtained at
  https://www.rfc-editor.org/info/rfc8237.











Martini, et al.              Standards Track                    [Page 1]

RFC 8237          MPLS LSP PW Status Refresh Reduction      October 2017


Copyright Notice

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

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





































Martini, et al.              Standards Track                    [Page 2]

RFC 8237          MPLS LSP PW Status Refresh Reduction      October 2017


Table of Contents

  1. Introduction ....................................................3
     1.1. Requirements Language ......................................4
     1.2. Terminology ................................................4
     1.3. Notational Conventions .....................................5
  2. PW Status Refresh Reduction Protocol ............................5
     2.1. Protocol States ............................................5
          2.1.1. INACTIVE ............................................5
          2.1.2. STARTUP .............................................6
          2.1.3. ACTIVE ..............................................6
     2.2. Timer Value Change Transition Procedure ....................6
  3. PW Status Refresh Reduction Procedure ...........................7
  4. PW Status Refresh Reduction Message Encoding ....................8
  5. PW Status Refresh Reduction Control Messages ...................11
     5.1. Notification Message ......................................12
     5.2. PW Configuration Message ..................................12
          5.2.1. MPLS-TP Tunnel ID ..................................13
          5.2.2. PW ID Configured List ..............................14
          5.2.3. PW ID Unconfigured List ............................15
  6. PW Provisioning Verification Procedure .........................15
     6.1. PW ID List Advertising and Processing .....................16
  7. Security Considerations ........................................16
  8. IANA Considerations ............................................17
     8.1. PW Status Refresh Reduction Message Types .................17
     8.2. PW Configuration Message Sub-TLVs .........................17
     8.3. PW Status Refresh Reduction Notification Codes ............18
     8.4. PW Status Refresh Reduction Message Flags .................18
     8.5. G-ACh Registry Allocation .................................19
     8.6. Guidance for Designated Experts ...........................19
  9. References .....................................................19
     9.1. Normative References ......................................19
     9.2. Informative References ....................................20
  Authors' Addresses ................................................20

1.  Introduction

  When PWs use a Multiprotocol Label Switching (MPLS) network as the
  Packet Switched Network (PSN), they are set up using static label
  assignment per Section 4 of [RFC8077], and the PW status information
  is propagated using the method described in [RFC6478].  There are two
  basic modes of operation described in [RFC6478], Section 5.3:
  (1) periodic retransmission of non-zero status messages and (2) a
  simple acknowledgment of PW status (Section 5.3.1 of [RFC6478]).  The
  LSP-level protocol described below applies to the case when






Martini, et al.              Standards Track                    [Page 3]

RFC 8237          MPLS LSP PW Status Refresh Reduction      October 2017


  PW status is acknowledged immediately with a requested refresh value
  of zero (no refresh).  In this case, the PW status refresh reduction
  protocol is necessary for several reasons, such as the following:

    i. The PW status refresh reduction protocol greatly increases the
       scalability of the PW status protocol by reducing the amount of
       messages that a Provider Edge (PE) needs to periodically send to
       its neighbors.

   ii. The PW status refresh reduction protocol will detect a remote PE
       restart.

  iii. If the local state is lost for some reason, the PE needs to be
       able to request a status refresh reduction from the remote PE.

   iv. The PW status refresh reduction protocol can optionally detect a
       remote PE provisioning change.

1.1.  Requirements Language

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

1.2.  Terminology

  FEC: Forwarding Equivalence Class

  LDP: Label Distribution Protocol

  LSP: Label Switched Path

  MS-PW: Multi-Segment Pseudowire

  PE: Provider Edge

  PW: Pseudowire

  S-PE: Switching Provider Edge Node of MS-PW

  SS-PW: Single-Segment Pseudowire

  T-PE: Terminating Provider Edge Node of MS-PW






Martini, et al.              Standards Track                    [Page 4]

RFC 8237          MPLS LSP PW Status Refresh Reduction      October 2017


1.3.  Notational Conventions

  All multiple-word atomic identifiers use underscores ("_") between
  the words to join the words.  Many of the identifiers are composed of
  a concatenation of other identifiers.  These are expressed using
  double-colon ("::") notation.

  Where the same identifier type is used multiple times in a
  concatenation, they are qualified by a prefix joined to the
  identifier by a dash ("-").  For example, Src-Node_ID is the Node_ID
  of a node referred to as "Src" ("Src" is short for "source").

  The notation does not define an implicit ordering of the information
  elements involved in a concatenated identifier.

2.  PW Status Refresh Reduction Protocol

  The PW status refresh reduction protocol consists of a simple message
  that is sent at the LSP level, using the MPLS Generic Associated
  Channel (G-ACh) [RFC5586].

  For a particular LSP where the PW status refresh reduction protocol
  is enabled, a PE using this protocol MUST send the PW status refresh
  reduction Message as soon as a PW is configured on that LSP.  The
  message is then retransmitted at a locally configured interval
  indicated in the Refresh Timer field.  If no acknowledgment is
  received, the protocol does not reach the ACTIVE state
  (Section 2.1.3), and the PE SHOULD NOT send any PW status messages
  with a Refresh Timer of zero as described in [RFC6478],
  Section 5.3.1.

  It is worth noting that no relationship exists between the locally
  configured timer for the PW status refresh reduction protocol and the
  individual PW status Refresh Timers.

2.1.  Protocol States

  The protocol can be in three possible states: INACTIVE, STARTUP, and
  ACTIVE.

2.1.1.  INACTIVE

  This state is entered when the protocol is turned off.  This state is
  also entered if all PWs on a specific LSP are deprovisioned.







Martini, et al.              Standards Track                    [Page 5]

RFC 8237          MPLS LSP PW Status Refresh Reduction      October 2017


2.1.2.  STARTUP

  In this state, the PE transmits periodic PW status refresh reduction
  Messages with the Ack Session ID (Section 4) set to 0.  The PE
  remains in this state until a PW status refresh message is received
  with the correct local Session ID in the Ack Session ID field.  State
  can transition from the STARTUP state to the ACTIVE or INACTIVE
  state.

2.1.3.  ACTIVE

  This state is entered once the PE receives a PW status refresh
  reduction Message with the correct local Session ID in the Ack
  Session ID field within 3.5 times the Refresh Timer field value of
  the last PW status refresh reduction Message transmitted.  This state
  is immediately exited in the following scenarios:

    i. A valid PW status refresh reduction Message is not received
       within 3.5 times the current Refresh Timer field value (assuming
       that a timer transition procedure is not in progress).
       New state: STARTUP.

   ii. A PW status refresh reduction Message is received with the wrong
       Ack Session ID field value or a zero Ack Session ID field value.
       New state: STARTUP.

  iii. All PWs using the particular LSP are deprovisioned, or the
       protocol is disabled.
       New state: INACTIVE.

2.2.  Timer Value Change Transition Procedure

  If a PE needs to change the value of the Refresh Timer field while
  the PW status refresh reduction protocol is in the ACTIVE state, the
  following procedure must be followed:

    i. A PW status refresh reduction Message is transmitted with the
       new timer value.

   ii. If the new value is greater than the original one, the PE will
       operate according to the new timer value immediately.










Martini, et al.              Standards Track                    [Page 6]

RFC 8237          MPLS LSP PW Status Refresh Reduction      October 2017


  iii. If the new value is smaller than the original one, the PE will
       operate according to the original timer value for a period
       3.5 times the original timer value or until the first valid PW
       status refresh reduction Message is received.

       A PE receiving a PW status refresh reduction Message with a new
       timer value will immediately acknowledge the new value via a PW
       status refresh reduction Message and will start operating
       according to the new timer value.

3.  PW Status Refresh Reduction Procedure

  When the PW status refresh reduction protocol on a particular LSP is
  in the ACTIVE state, the PE can send all PW status messages, for PWs
  on that LSP, with a Refresh Timer value of zero.  This greatly
  decreases the amount of messages that the PE needs to transmit to the
  remote PE because once the PW status message for a particular PW is
  acknowledged, further repetitions of that message are no longer
  necessary.

  To further reduce the amount of possible messages when an LSP starts
  forwarding traffic, care should be taken to permit the PW status
  refresh reduction protocol to reach the ACTIVE state quickly, and
  before the first PW status Refresh Timer expires.  This can be
  achieved by using a PW status refresh reduction Message Refresh Timer
  value that is much smaller than the PW status message Refresh Timer
  value in use (Section 5.3.1 of [RFC6478]).

  If the PW status refresh reduction protocol session is terminated by
  entering the INACTIVE state or the STARTUP state, the PE MUST
  immediately resend all the previously sent PW status messages for
  that particular LSP for which the session was terminated.  In this
  case, the Refresh Timer value MUST NOT be set to 0 and MUST be set
  according to the local policy of the PE router.  Implementations MUST
  take care to avoid flooding the remote PE with a large number of PW
  status messages at once.  If the PW status refresh reduction protocol
  session is terminated for administrative reasons and the local PE can
  still communicate with the remote PE, the local PE SHOULD pace the
  transmission of PW status messages to the remote PE.












Martini, et al.              Standards Track                    [Page 7]

RFC 8237          MPLS LSP PW Status Refresh Reduction      October 2017


4.  PW Status Refresh Reduction Message Encoding

  The packet containing the PW status refresh reduction Message is
  encoded as follows (omitting link-layer information):

      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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |               MPLS LSP (tunnel) Label Stack Entry             |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                              GAL                              |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |0 0 0 1|Version|   Reserved    | 0x29 PW OAM Message           |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |          Session ID           |         Ack Session ID        |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |         Refresh Timer         |     Total Message Length      |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |         Checksum              |    Message Sequence Number    |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     | Last Received Sequence Number | Message Type  |U|C|   Flags   |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                                                               |
     ~                     Control Message Body                      ~
     |                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

  This message contains the following fields:

     *  MPLS LSP (tunnel) Label Stack Entry

        The label stack is explained in [RFC3031].

     *  GAL

        The G-ACh Label (GAL) and the next 4 octets (including the PW
        OAM Message field as the Channel Type) are explained in
        Section 2.1 of [RFC5586].

     *  PW OAM Message

        This field indicates the Channel Type in the G-ACh header, as
        described in Section 2.1 of [RFC5586].








Martini, et al.              Standards Track                    [Page 8]

RFC 8237          MPLS LSP PW Status Refresh Reduction      October 2017


     *  Session ID

        A non-zero locally selected session number that is not
        preserved if the local PE restarts.

        In order to get a locally unique Session ID, the recommended
        choice is to perform a CRC-16 ("CRC" stands for "Cyclic
        Redundancy Check"), giving as input the following data:

        |YY|MM|DD|HHMMSSLLL|

        Where:
        YY = the last two decimal digits of the current year
        MM = the two decimal digits of the current month
        DD = the two decimal digits of the current day
        HHMMSSLLL = the decimal digits of the current time,
           expressed in hours (HH), minutes (MM), seconds (SS), and
           milliseconds (LLL)

        If the calculation results in an already-existing Session ID, a
        unique Session ID can be generated by adding 1 to the result
        until the Session ID is unique.  Any other method to generate a
        locally unique Session ID is also acceptable.

     *  Ack Session ID

        The Acknowledgment Session ID received from the remote PE.

     *  Refresh Timer

        A non-zero unsigned 16-bit integer value greater than or equal
        to 10, expressed in milliseconds, that indicates the desired
        refresh interval.  The default value of 30000 is RECOMMENDED.

     *  Total Message Length

        Total length in octets of the Checksum, Message Type, Flags,
        Message Sequence Number, and Control Message Body.  A value of
        zero means that no control message is present and, therefore,
        that no Checksum or subsequent fields are present either.











Martini, et al.              Standards Track                    [Page 9]

RFC 8237          MPLS LSP PW Status Refresh Reduction      October 2017


     *  Checksum

        A 16-bit field containing the one's complement of the one's
        complement sum of the entire message (including the G-ACh
        header), with the Checksum field replaced by zero for the
        purpose of computing the checksum.  An all-zero value means
        that no checksum was transmitted.  Note that when the checksum
        is not computed, the header of the bundle message will not be
        covered by any checksum.

     *  Message Sequence Number

        An unsigned 16-bit integer that is started from 1 when the
        protocol enters the ACTIVE state.  The sequence number wraps
        back to 1 when the maximum value is reached.  The value 0 is
        reserved and MUST NOT be used.

     *  Last Received Message Sequence Number

        The sequence number of the last message received.  If no
        message has yet been received during this session, this field
        is set to 0.

     *  Message Type

        The type of control message that follows.  Control message
        types are allocated in this document and by IANA.

     *  (U) Unknown flag bit

        Upon receipt of an unknown message or TLV, if U is clear (0),
        a notification message with code "Unknown TLV (U-Bit=0)"
        (code 0x4) MUST be sent to the remote PE, and the keepalive
        session MUST be terminated by entering the STARTUP state; if
        U is set (1), the unknown message, or message containing an
        unknown TLV, MUST be acknowledged and silently ignored, and the
        following messages, or TLVs, if any, processed as if the
        unknown message or TLV did not exist.  In this case, the PE MAY
        send back a single notification message per keepalive session
        with code "Unknown TLV (U-Bit=1)".  This last step is OPTIONAL.

     *  (C) Configuration flag bit

        The C-Bit is used to signal the end of PW configuration
        transmission.  If it is set, the sending PE has finished
        sending all of its current configuration information.





Martini, et al.              Standards Track                   [Page 10]

RFC 8237          MPLS LSP PW Status Refresh Reduction      October 2017


     *  Flags

        The remaining 6 bits of PW status refresh reduction Message
        Flags to be allocated by IANA.  These unallocated bits MUST be
        set to 0 on transmission and ignored on reception.

     *  Control Message Body

        The Control Message Body is defined in Section 5 and is
        specific to the type of message.

  It should be noted that the Checksum, Message Sequence Number, Last
  Received Message Sequence Number, Message Type, Flags, and Control
  Message Body are OPTIONAL.  The Total Message Length field is used to
  parse how many optional fields are included.  Hence, all optional
  fields that precede a specific field that needs to be included in a
  specific implementation MUST be included if that optional field is
  also included.

  If any of the above values are outside the specified range, a
  notification message is returned with code "PW configuration not
  supported", and the message is ignored.

5.  PW Status Refresh Reduction Control Messages

  PW status refresh reduction Control Messages consist of the Checksum,
  Message Sequence Number, Last Received Message Sequence Number,
  Message Type, Flags, and Control Message Body.

  When a PW status refresh reduction Control Message needs to be sent,
  the system can attach it to a scheduled PW status refresh reduction
  Message or send one ahead of time.  In any case, PW status refresh
  reduction Control Messages always piggyback on normal messages.

  A PW status refresh reduction Message is also called a PW status
  refresh reduction Control Message if it contains a control message
  construct.

  There can only be one control message construct per PW status refresh
  reduction Message.  If the U-Bit is set and a PE receiving the PW
  status refresh reduction Message does not understand the control
  message, the control message MUST be silently ignored.  However, the
  Message Sequence Number MUST still be acknowledged by sending a Null
  Notification message back with the appropriate value in the Last
  Message Received field.  If a control message is not acknowledged
  after 3.5 times the value of the Refresh Timer, a fatal notification
  -- "Unacknowledged control message" -- MUST be sent, and the PW
  status refresh reduction session MUST be terminated.



Martini, et al.              Standards Track                   [Page 11]

RFC 8237          MPLS LSP PW Status Refresh Reduction      October 2017


  If a PE does not want or need to send a control message, the Checksum
  and all subsequent fields MUST NOT be sent, and the Total Message
  Length field is then set to 0.

5.1.  Notification Message

  The most common use of the notification message is to acknowledge the
  reception of a message by indicating the received Message Sequence
  Number in the Last Received Sequence Number field.  The notification
  message is encoded as follows:

      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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |         Checksum              |    Message Sequence Number    |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     | Last Received Sequence Number |  Type=0x01    |U|C|   Flags   |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                      Notification Code                        |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

  The message type is set to 0x01, and the U-Bit is treated as
  described in Section 4.  The Notification Codes are 32-bit quantities
  assigned by IANA (see the IANA Considerations section).  Notification
  codes are considered either "Error codes" or simple notifications.
  If the Notification Code is an Error code as indicated in the IANA
  allocation registry, the keepalive session MUST be terminated by
  entering the STARTUP state.

  When there is no notification information to be sent, the
  notification code is set to 0 to indicate a "Null Notification".  The
  C-Bit MUST always be set to 0 in this type of message.  The remaining
  6 bits of PW status refresh reduction Message Flags are to be
  allocated by IANA.  These unallocated bits MUST be set to 0 on
  transmission and ignored on reception.

5.2.  PW Configuration Message

  The PW status refresh reduction TLVs are informational TLVs that
  allow the remote PE to verify certain provisioning information.  This
  message contains a series of sub-TLVs, in no particular order, that
  contain PW and LSP configuration information.  The message has no
  preset length limit; however, its total length will be limited by the
  transport network's Maximum Transmission Unit (MTU).  PW status
  refresh reduction Messages MUST NOT be fragmented.  If a sender has
  more configuration information to send than will fit into one PW
  Configuration Message, it may send additional messages carrying
  additional TLVs.



Martini, et al.              Standards Track                   [Page 12]

RFC 8237          MPLS LSP PW Status Refresh Reduction      October 2017


      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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |         Checksum              |    Message Sequence Number    |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     | Last Received Sequence Number |  Type=0x02    |U|C|   Flags   |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     ~                                                               ~
     |                PW Configuration Message Sub-TLVs              |
     ~                                                               ~
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

  The PW Configuration Message type is set to 0x02.  For this message,
  the U-Bit is set to 1, as processing of these messages is OPTIONAL.

  The C-Bit is used to signal the end of PW configuration transmission.
  If it is set, the sending PE has finished sending all of its current
  configuration information.  The PE transmitting the configuration
  MUST set the C-Bit on the last PW Configuration Message when all
  current PW configuration information has been sent.

  PW Configuration Message sub-TLVs have the following generic format:

      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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |   Type        |  Length       |        Value                  |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     ~                                                               ~
     |                      Value (Continued)                        |
     ~                                                               ~
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

5.2.1.  MPLS-TP Tunnel ID

  This TLV contains the MPLS-TP Tunnel ID ("MPLS-TP" stands for "MPLS
  Transport Profile").  When the configuration message is used for a
  particular keepalive session, the MPLS-TP Tunnel ID sub-TLV MUST be
  sent at least once.












Martini, et al.              Standards Track                   [Page 13]

RFC 8237          MPLS LSP PW Status Refresh Reduction      October 2017


  The MPLS-TP Tunnel ID is encoded as follows:

      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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |   Type=0x01   |  Length=20    |      MPLS-TP Tunnel ID        |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     ~                                                               ~
     |           MPLS-TP Tunnel ID (Continued) (20 octets)           |
     ~                                                               ~
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

  The MPLS point-to-point tunnel ID is defined in [RFC6370].  The
  coding used by the node that is the source of a message is:

     Src-Global_Node_ID::Src-Tunnel_Num::Dst-Global_Node_ID::
     Dst-Tunnel_Num

  Note that a single tunnel ID is enough to identify the tunnel and the
  source end of the message.

5.2.2.  PW ID Configured List

  This OPTIONAL sub-TLV contains a list of the provisioned PWs on
  the LSP.

      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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |   Type=0x02   |    Length     |         PW Path ID            |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                                                               |
     |                      PW Path ID (Continued)                   |
     ~                                                               ~
     |                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

  The PW Path ID is a 32-octet PW path identifier [RFC6370].  The
  coding used by the node that is the source of a message is:

     AGI::Src-Global_ID::Src-Node_ID::Src-AC_ID::
     Dst-Global_ID::Dst-Node_ID::Dst-AC_ID

  The number of PW Path IDs in the TLV will be inferred by the length
  of the TLV, up to a maximum of 8.  The procedure for processing this
  TLV will be described in Section 6.





Martini, et al.              Standards Track                   [Page 14]

RFC 8237          MPLS LSP PW Status Refresh Reduction      October 2017


5.2.3.  PW ID Unconfigured List

  This OPTIONAL sub-TLV contains a list of the PWs that have been
  deprovisioned on the LSP.  Note that sending the same PW address in
  both the PW ID Configured List sub-TLV and the PW ID Unconfigured
  List sub-TLV in the same configuration message constitutes a fatal
  session error.  If this error occurs, an error notification message
  is returned with the Error code "PW Configuration TLV conflict", and
  the session is terminated by entering the STARTUP state.

      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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |   Type=0x03   |    Length     |         PW Path ID            |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                                                               |
     |                      PW Path ID (Continued)                   |
     ~                                                               ~
     |                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

  The PW Path ID is a 32-octet PW path identifier as defined in
  Section 5.2.2.

  The number of PW Path IDs in the TLV will be inferred by the length
  of the TLV, up to a maximum of 8.

6.  PW Provisioning Verification Procedure

  The advertisement of the PW Configuration Message is OPTIONAL.

  A PE that desires to use the PW Configuration Message to verify the
  configuration of PWs on a particular LSP should advertise its PW
  configuration to the remote PE on LSPs that have active keepalive
  sessions.  When a PE receives PW configuration information using this
  protocol and it does not support processing the information or is not
  willing to process it, it MUST acknowledge all the PW Configuration
  Messages with the notification code "PW configuration not supported".
  In this case, the information in the PW Configuration Message is
  silently ignored.  If a PE receives such a notification, it SHOULD
  stop sending PW Configuration Messages for the duration of the PW
  status refresh reduction keepalive session.









Martini, et al.              Standards Track                   [Page 15]

RFC 8237          MPLS LSP PW Status Refresh Reduction      October 2017


  If PW configuration information is received, it is used to verify the
  accuracy of the local configuration information against the remote
  PE's configuration information.  If a configuration mismatch is
  detected, where a particular PW is configured locally but not on the
  remote PE, the following actions SHOULD be taken:

    i. The local PW MUST be considered in "Not Forwarding" state
       (Section 6.3.2 of [RFC8077]).

   ii. The PW Attachment Circuit status is set to reflect the PW fault.

  iii. An alarm SHOULD be raised to a network management system.

   iv. A notification message with the notification code "PW
       configuration mismatch" MUST be sent to the remote PE.  Only one
       such message is REQUIRED per configuration message even if the
       configuration message is split into multiple configuration
       messages due to individual message-size restrictions on a
       particular link.  Upon receipt of such a message, the receiving
       PE MAY raise an alarm to a network management system.  This
       alarm MAY be cleared when the configuration is updated.

6.1.  PW ID List Advertising and Processing

  When configuration messages are advertised on a particular LSP, the
  PE sending the messages needs to checkpoint the configuration
  information sent by setting the C-Bit when all currently known
  configuration information has been sent.  This process allows the
  receiving PE to immediately proceed to verify all the currently
  configured PWs on that LSP, eliminating the need for a long waiting
  period.

  If a new PW is added to a particular LSP, the PE MUST place the
  configuration verification of this PW on hold for a period of at
  least 30 seconds.  This is necessary to minimize false-positive
  events of misconfiguration due to the ends of the PW being slightly
  out of sync.

7.  Security Considerations

  The security considerations discussed in [RFC6478] are adequate for
  the mechanism described in this document, since the operating
  environment is almost identical to the one where this protocol would
  be deployed.  It should also be noted that since this protocol is
  designed to be deployed between two adjacent PEs connected by a
  physical link, it is not possible to misdirect or inject traffic
  without compromising the PW transport link itself.




Martini, et al.              Standards Track                   [Page 16]

RFC 8237          MPLS LSP PW Status Refresh Reduction      October 2017


8.  IANA Considerations

  The registries in this section have been created or updated as
  appropriate in the "Pseudowire Name Spaces (PWE3)" registry or the
  "Generic Associated Channel (G-ACh) Parameters" registry.  For the
  allocation ranges designated as "vendor-proprietary extensions", the
  respective IANA registry contains the vendor name in brackets at the
  end of the Description field.

8.1.  PW Status Refresh Reduction Message Types

  IANA has set up the "PW Status Refresh Reduction Control Messages"
  registry.  This registry contains 8-bit values.  Type values 1 and 2
  are defined in this document.  Type values 3 through 64 and 128
  through 254 are to be assigned by IANA using the "Expert Review"
  policy defined in [RFC8126].  Type values 65 through 127, 0, and 255
  are to be allocated using the "IETF Review" policy defined in
  [RFC8126].

  The Type values are assigned as follows:

     Type   Message Description
     ----   ------------------------
     0x01   Notification message
     0x02   PW Configuration Message

8.2.  PW Configuration Message Sub-TLVs

  IANA has set up the "PW Status Refresh Reduction Configuration
  Message Sub-TLVs" registry.  This registry contains 8-bit values.
  Type values 1 through 3 are defined in this document.  Type values 4
  through 64 and 128 through 254 are to be assigned by IANA using the
  "Expert Review" policy defined in [RFC8126].  Type values 65 through
  127, 0, and 255 are to be allocated using the "IETF Review" policy
  defined in [RFC8126].

  The Type values are assigned as follows:

     Sub-TLV Type    Description
     ------------    -----------------------
     0x01            MPLS-TP Tunnel ID
     0x02            PW ID Configured List
     0x03            PW ID Unconfigured List








Martini, et al.              Standards Track                   [Page 17]

RFC 8237          MPLS LSP PW Status Refresh Reduction      October 2017


8.3.  PW Status Refresh Reduction Notification Codes

  IANA has set up the "PW Status Refresh Reduction Notification Codes"
  registry.  This registry contains 32-bit values.  Type values 0
  through 7 are defined in this document.  Type values 8 through 65536
  and 134,217,729 through 4,294,967,294 are to be assigned by IANA
  using the "Expert Review" policy defined in [RFC8126].  Type values
  65537 through 134,217,728, 0, and 4,294,967,295 are to be allocated
  using the "IETF Review" policy defined in [RFC8126].

  For each value assigned, IANA should also track whether the value
  constitutes an error as described in Section 5.1.  When values are
  assigned by IETF Review, the settings in the "Error?" column must be
  documented in the RFC that requests the allocation.  For
  "Expert Review" assignments, the settings in the "Error?" column must
  be made clear by the requester at the time of assignment.

  The Type values are assigned as follows:

     Code          Error?    Description
     ----------    ------    ------------------------------
     0x00000000    No        Null Notification
     0x00000001    No        PW configuration mismatch
     0x00000002    Yes       PW Configuration TLV conflict
     0x00000003    No        Unknown TLV (U-Bit=1)
     0x00000004    Yes       Unknown TLV (U-Bit=0)
     0x00000005    No        Unknown Message Type
     0x00000006    No        PW configuration not supported
     0x00000007    Yes       Unacknowledged control message

8.4.  PW Status Refresh Reduction Message Flags

  IANA has set up the "PW Status Refresh Reduction Message Flags"
  registry.  This is an 8-bit registry, with the first two most
  significant bits allocated by this document as follows:

     Bit Position  Name    Description
     ------------  ----    ----------------------
          0        U       Unknown flag bit
          1        C       Configuration flag bit

  The remaining bits are to be allocated using the "IETF Review" policy
  defined in [RFC8126].








Martini, et al.              Standards Track                   [Page 18]

RFC 8237          MPLS LSP PW Status Refresh Reduction      October 2017


8.5.  G-ACh Registry Allocation

  IANA maintains a registry called "MPLS Generalized Associated Channel
  (G-ACh) Types (including Pseudowire Associated Channel Types)".  IANA
  has allocated a new value as follows:

     Value     Description                     Reference
     -----     ---------------------------     ---------
     0x29      PW Status Refresh Reduction     RFC 8237

8.6.  Guidance for Designated Experts

  In all cases of review by the Designated Expert (DE) described here,
  the DE is expected to ascertain the existence of suitable
  documentation (a specification) as described in [RFC8126] and to
  verify that the document is permanently and publicly available.  The
  DE is also expected to check that the clarity of purpose and use of
  the requested code points fit the general architecture and intended
  purpose of the respective message or TLV.  Lastly, the DE should
  check that any assignment does not duplicate or conflict with work
  that is active or already published within the IETF.

9.  References

9.1.  Normative References

  [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
             Requirement Levels", BCP 14, RFC 2119,
             DOI 10.17487/RFC2119, March 1997,
             <https://www.rfc-editor.org/info/rfc2119>.

  [RFC3031]  Rosen, E., Viswanathan, A., and R. Callon, "Multiprotocol
             Label Switching Architecture", RFC 3031,
             DOI 10.17487/RFC3031, January 2001,
             <https://www.rfc-editor.org/info/rfc3031>.

  [RFC6370]  Bocci, M., Swallow, G., and E. Gray, "MPLS Transport
             Profile (MPLS-TP) Identifiers", RFC 6370,
             DOI 10.17487/RFC6370, September 2011,
             <https://www.rfc-editor.org/info/rfc6370>.

  [RFC6478]  Martini, L., Swallow, G., Heron, G., and M. Bocci,
             "Pseudowire Status for Static Pseudowires", RFC 6478,
             DOI 10.17487/RFC6478, May 2012,
             <https://www.rfc-editor.org/info/rfc6478>.






Martini, et al.              Standards Track                   [Page 19]

RFC 8237          MPLS LSP PW Status Refresh Reduction      October 2017


  [RFC8077]  Martini, L., Ed., and G. Heron, Ed., "Pseudowire Setup and
             Maintenance Using the Label Distribution Protocol (LDP)",
             STD 84, RFC 8077, DOI 10.17487/RFC8077, February 2017,
             <https://www.rfc-editor.org/info/rfc8077>.

  [RFC8126]  Cotton, M., Leiba, B., and T. Narten, "Guidelines for
             Writing an IANA Considerations Section in RFCs", BCP 26,
             RFC 8126, DOI 10.17487/RFC8126, June 2017,
             <https://www.rfc-editor.org/info/rfc8126>.

  [RFC8174]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in
             RFC 2119 Key Words", BCP 14, RFC 8174,
             DOI 10.17487/RFC8174, May 2017,
             <https://www.rfc-editor.org/info/rfc8174>.

9.2.  Informative References

  [RFC5586]  Bocci, M., Ed., Vigoureux, M., Ed., and S. Bryant, Ed.,
             "MPLS Generic Associated Channel", RFC 5586,
             DOI 10.17487/RFC5586, June 2009,
             <https://www.rfc-editor.org/info/rfc5586>.

Authors' Addresses

  Luca Martini
  Monoski LLC

  Email: [email protected]


  George Swallow
  Southend Technical Center

  Email: [email protected]


  Elisa Bellagamba
  Ericsson EAB
  Torshamnsgatan 48
  16480, Stockholm
  Sweden

  Email: [email protected]








Martini, et al.              Standards Track                   [Page 20]