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, . [RFC3031] Rosen, E., Viswanathan, A., and R. Callon, "Multiprotocol Label Switching Architecture", RFC 3031, DOI 10.17487/RFC3031, January 2001, . [RFC6370] Bocci, M., Swallow, G., and E. Gray, "MPLS Transport Profile (MPLS-TP) Identifiers", RFC 6370, DOI 10.17487/RFC6370, September 2011, . [RFC6478] Martini, L., Swallow, G., Heron, G., and M. Bocci, "Pseudowire Status for Static Pseudowires", RFC 6478, DOI 10.17487/RFC6478, May 2012, . 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, . [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, . [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, . 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, . Authors' Addresses Luca Martini Monoski LLC Email: lmartini@monoski.com George Swallow Southend Technical Center Email: swallow.ietf@gmail.com Elisa Bellagamba Ericsson EAB Torshamnsgatan 48 16480, Stockholm Sweden Email: elisa.bellagamba@gmail.com Martini, et al. Standards Track [Page 20]