Internet Engineering Task ForceLuca(IETF) L. MartiniInternet DraftRequest for Comments: 8237 Monoski LLCIntended status:Category: Standards TrackGeorgeG. SwallowExpires: November 2017 Cisco ElisaISSN: 2070-1721 SETC E. Bellagamba EricssonMayOctober 2017 MPLSLSP PW status refresh reduction for Static Pseudowires draft-ietf-pals-status-reduction-05.txtLabel Switched Path (LSP) Pseudowire (PW) Statusof this Memo This Internet-Draft is submitted to IETF in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. Internet-Drafts are draft documents validRefresh Reduction fora 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." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt. The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. This Internet-Draft will expire on November 10, 2010Static PWs Abstract This document describes a method for generating an aggregated pseudowire (PW) status message transmitted for a statically configuredpseudowirePW on aMulti-ProtocolMultiprotocol Label Switching (MPLS) Label Switched Path (LSP) to indicate the status of one or morepseudowiresPWs carried on the LSP. The method for transmitting thepseudowire (PW)PW status information is notnew, howevernew; 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. 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. Table of Contents11. Introduction......................................... 3 1.1....................................................3 1.1. Requirements Language................................ 3 1.2......................................4 1.2. Terminology.......................................... 3 1.3................................................4 1.3. Notational Conventionsin Backus-Naur Form ........... 4 2.....................................5 2. PWstatus refresh reduction protocol ................. 4 2.1Status Refresh Reduction Protocolstates ...................................... 4 2.1.1............................5 2.1. Protocol States ............................................5 2.1.1. INACTIVE............................................. 5 2.1.2............................................5 2.1.2. STARTUP.............................................. 5 2.1.3.............................................6 2.1.3. ACTIVE............................................... 5 2.2..............................................6 2.2. Timervalue change transition procedure .............. 5 3Value Change Transition Procedure ....................6 3. PWstatus refresh reduction procedure ................ 6 4Status Refresh Reduction Procedure ...........................7 4. PWstatus refresh reductionStatus Refresh Reduction Message Encoding......... 6 5....................8 5. PWstatus refresh reductionStatus Refresh Reduction Control Messages......... 10 5.1...................11 5.1. Notificationmessage ................................. 10 5.2Message ......................................12 5.2. PW Configuration Message............................. 11 5.2.1..................................12 5.2.1. MPLS-TP Tunnel ID.................................... 12 5.2.2..................................13 5.2.2. PW IDconfiguredConfigured List................................ 13 5.2.3..............................14 5.2.3. PW IDunconfiguredUnconfigured List.............................. 13 6............................15 6. PWprovisioning verification procedure ............... 14 6.0.4Provisioning Verification Procedure .........................15 6.1. PW ID ListadvertisingAdvertising andprocessing ................ 15 7Processing .....................16 7. Security Considerations.............................. 15 8........................................16 8. IANA Considerations.................................. 15 8.1............................................17 8.1. PW Status Refresh Reduction Message Types............ 15 8.2.................17 8.2. PW Configuration Message Sub-TLVs.................... 16 8.3.........................17 8.3. PW Status Refresh Reduction Notification Codes....... 16 8.4............18 8.4. PWstatus refresh reductionStatus Refresh Reduction Message Flags............ 17 8.5 G-ACH.................18 8.5. G-ACh Registry Allocation............................ 17 8.6.................................19 8.6. Guidance for Designated Experts...................... 17 9...........................19 9. References........................................... 18 9.1.....................................................19 9.1. Normative References................................. 18 9.2......................................19 9.2. Informative References............................... 18 10....................................20 Authors' Addresses................................... 18................................................20 1. Introduction When PWs use aMulti ProtocolMultiprotocol LabelSwitchedSwitching (MPLS) network as the Packet Switched Network (PSN), they aresetup according to [RFC8077]set up using staticconfiguration modelabel assignment per Section 4 of [RFC8077], and the PW status information is propagated using the method described in [RFC6478]. There are2two basic modes of operation described in[RFC6478] section[RFC6478], Section 5.3:Periodic(1) periodic retransmission of non-zero statusmessages,messages and (2) a simpleacknowledgementacknowledgment of PW status(sec(Section 5.3.1 of [RFC6478]). TheLSP levelLSP-level protocol described below applies to the case when PW status is acknowledged immediately with a requested refresh value of zero (no refresh). In thiscasecase, the PW status refresh reduction protocol is necessary for several reasons, suchas: -i. Greatly increaseas 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 aPEProvider Edge (PE) needs to periodically send toit'sits neighbors.-ii. Detectii. The PW status refresh reduction protocol will detect a remote PE restart.-iii.iii. If the local state is lost for some reason, the PE needs to be able to request a status refresh reduction from the remotePE -iv. OptionallyPE. 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[RFC2119].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: LabelSwitchingSwitched Path MS-PW: Multi-Segment Pseudowire PE: Provider Edge PW: PseudowireSS-PW: Single-Segment PseudowireS-PE: Switching Provider Edge Node of MS-PW SS-PW: Single-Segment Pseudowire T-PE: Terminating Provider Edge Node of MS-PW 1.3. Notational Conventionsin Backus-Naur FormAll 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 usingBackus-Naur Form (usingdouble-colon- "::" - notation).("::") 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(-).("-"). Forexampleexample, Src-Node_ID is the Node_ID of a node referred to asSrc (where"Src" ("Src" is short for"source" in this example)."source"). The notation does not define an implicit ordering of the information elements involved in a concatenated identifier. 2. PWstatus refresh reduction protocolStatus Refresh Reduction Protocol The PW status refresh reduction protocol consists of a simple message that is sent at the LSPlevellevel, using the MPLS Generic AssociatedChannel.[RFC5586] A PE usingChannel (G-ACh) [RFC5586]. For a particular LSP where the PW status refresh reductionprotocol, for a particular LSP where thisprotocol 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 thenre-transmittedretransmitted at a locally configured interval indicated in therefresh timerRefresh Timer field. If no acknowledgment is received, the protocol does not reachactive state,the ACTIVE state (Section 2.1.3), and the PE SHOULD NOT send any PW status messages with arefresh timerRefresh Timer of zero as described in[RFC6478] section[RFC6478], Section 5.3.1. It is worth noting that no relationshipis existingexists between the locally configured timer for the PW status refresh reduction protocol and thePWindividual PW statusrefresh timers.Refresh Timers. 2.1. ProtocolstatesStates The protocol can be in3three 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 allPWPWs on a specific LSP aredeprovisioned, or the feature isdeprovisioned. 2.1.2. STARTUP In thisstatestate, the PE transmits periodic PW status refresh reductionmessages,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 localsessionSession ID in the Ack Session IDField. This statefield. State canbe exitedtransition 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 reductionmessageMessage with the correct localsessionSession ID in the Ack Session IDFieldfield within 3.5 times therefresh timerRefresh Timer field value of the last PW status refresh reductionmessageMessage transmitted. This state is immediately exitedas follows: -i.in the following scenarios: i. A valid PW status refresh reductionmessageMessage is not received within 3.5 times the currentrefresh timerRefresh Timer fieldvalue.value (assuming that a timer transition procedure is not inprogress)progress). New state:STARTUP -ii.STARTUP. ii. A PW status refresh reductionmessageMessage is received with thewrong,wrong Ack Session ID field value or azero,zero Ack Session ID field value. New state:STARTUP -iii.STARTUP. iii. All PWs using the particular LSP are deprovisioned, or the protocol is disabled. New state:INACTIVEINACTIVE. 2.2. Timervalue change transition procedureValue Change Transition Procedure If a PE needs to change therefresh timervalue of the Refresh Timer field while the PW status refresh reduction protocol is in the ACTIVE state, the following procedure must be followed:-i.i. A PW status refresh reductionmessageMessage is transmitted with the new timer value.-ii.ii. If the new value is greaterthenthan the originaloneone, the PE will operateonaccording to the new timer value immediately.-iii.iii. If the new value is smallerthenthan the original one, the PE will operate according to the original timer value for a period 3.5 times the original timervalue,value or until the first valid PW status refresh reductionmessageMessage is received. A PE receiving a PW status refresh reductionmessageMessage with a new timervalue,value will immediatelytransmit anacknowledge the new value via a PW status refresh reductionmessage,Message and will start operating according to the new timer value. 3. PWstatus refresh reduction procedureStatus Refresh Reduction Procedure When the PW status refresh reductionprotocol,protocol on a particularLSP,LSP is in the ACTIVE state, the PE can send all PW status messages, for PWs on that LSP, with arefresh timerRefresh 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 furthermitigatereduce 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 statusrefresh timerRefresh Timer expires. This can be achieved by using a PW status refresh reduction Messagerefresh timerRefresh Timer value that is much smallerthenthan the PW status messagerefresh timerRefresh Timer value inuse. (secuse (Section 5.3.1 of[RFC6478])[RFC6478]). If the PW status refresh reduction protocol session is terminated by entering the INACTIVE state or the STARTUPstates,state, the PE MUST immediatelyre-sendresend all the previously sent PW status messages for that particular LSP for which the session was terminated. In thiscasecase, therefresh timerRefresh Timer value MUST NOT be set tozero,0 and MUST be set according to the local policy of the PE router.CareImplementations MUSTbe considered by implementationstake care to avoid flooding the remote PE with a large number of PW status messages at once.ifIf the PW status refresh reduction protocol session is terminated for administrativereasons,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. 4. PWstatus refresh reductionStatus Refresh Reduction Message Encoding The packet containing the PW status refresh reductionmessageMessage is encoded asfollows:follows (omittinglink layer information)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 |0xZZ0x29 PW OAM Message | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Session ID | Ack Session ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Refresh Timer | Total Message Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Checksum | Message Sequence Number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Last ReceivedSeqSequence Number | Message Type |U|C| Flags | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | ~ Control Message Body ~ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ This message contains the following fields: * MPLS LSP (tunnel) Label Stack EntryThisThe label stack is explained in [RFC3031]. * GAL TheGALG-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 OAMMessage.Message This field indicates theGeneric AssociatedChanneltypeType in theGACH headerG-ACh header, asdefineddescribed in Section 2.1 of [RFC5586].Note: Channel type 0xZZ pending IANA allocation.* Session ID Anon-zero,non-zero locally selected session number that is not preserved if the local PE restarts. In order to get a locally uniquesessionSession ID, the recommended choice is to perform a CRC-16 ("CRC" stands for "Cyclic Redundancy Check"), giving as input the followingdatadata: |YY|MM|DD|HHMMSSLLL| Where:YY: areYY = thedecimal twolastdigittwo decimal digits of the current yearMM: areMM = thedecimaltwodigitdecimal digits of the current monthDD: areDD = thedecimaltwodigitdecimal digits of the current dayHHMMSSLLL: areHHMMSSLLL = the decimal digits of the currenttimetime, expressed in(hour, minutes, seconds, milliseconds)hours (HH), minutes (MM), seconds (SS), and milliseconds (LLL) If the calculation results in analready existingalready-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 uniquesessionSession ID is also acceptable. * Ack Session ID The Acknowledgment Session ID received from the remote PE. * RefreshTimer.Timer Anon zeronon-zero unsigned16 bit16-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, andcontrol message body.Control Message Body. A value of zero means that no control message ispresent, and thereforepresent and, therefore, that noChecksum, and followingChecksum or subsequent fields are present either. * Checksum A16 bit16-bit field containing the one's complement of the one's complement sum of the entire message (including theGACHG-ACh header), with thechecksumChecksum 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 unsigned16 bit16-bit integernumberthat is started from 1 when the protocol enters the ACTIVE state. The sequencenumbersnumber wraps back to 1 when the maximum value is reached. The valueof zero0 is reserved and MUST NOT be used. * Last Received Message Sequence Number The sequence number of the last message received.InIf no message has yet been received during this session, this field is set tozero.0. * Message Type TheTypetype ofthecontrol message that follows. Control message types are allocated in thisdocument,document and by IANA. * (U) Unknown flagbit.bit Upon receipt of an unknown message or TLV, if U is clear(=0),(0), a notification messageofwith code "Unknown TLV(U-bit=0)" code 0x4(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),(1), the unknown message, or messagecontining acontaining an unknown TLV, MUST be acknowledged and silentlyignoredignored, and the following messages, or TLVs, if any, processed as if the unknownmessage,message or TLV did not exist. In thiscasecase, the PE MAY send back a single notification message per keepalive session with code "Unknown TLV(U-bit=1)".(U-Bit=1)". This lastStepstep is OPTIONAL. * (C) Configuration flagbit.bit TheC BitC-Bit is used to signal the end of PW configuration transmission. If it is set, the sending PE has finished sending allit'sof its current configuration information. * 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 ontransmission,transmission and ignored on reception. * Control Message Body The Control MessagebodyBody is defined ina section below,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, andcontrol message bodyControl Message Body are OPTIONAL. ThelengthTotal Message Length field is used to parse how many optional fields are included.HenceHence, 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 withacode "PW configuration notsupported.",supported", and the message is ignored. 5. PWstatus refresh reductionStatus Refresh Reduction Control Messages PW status refresh reduction ControlmessagesMessages consist of the Checksum, Message Sequence Number, Last Received Message Sequence Number, Message Type, Flags, andcontrol message body.Control Message Body. Whenthere is the need to senda PW status refresh reduction ControlMessages,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 anycasecase, PW status refresh reduction Control Messages alwayspiggy backpiggyback on normal messages. A PW status refresh reductionmessageMessage 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 theU bitU-Bit isset,set and a PE receiving the PW status refresh reduction Message does not understand the control message, the control message MUST be silently ignored.HoweverHowever, themessage sequence numberMessage Sequence Number MUST still be acknowledged by sending anullNull Notification message back with the appropriate value in the Last Message ReceivedField.field. If a control message is notacknowledged,acknowledged after 3.5 times the value of the Refresh Timer, a fatal notification"unacknowledged-- "Unacknowledged control message" -- MUST be sent, and the PW status refresh reduction session MUST be terminated. If a PE does not want or need to send a control message, theChecksum,Checksum and allfollowingsubsequent fields MUST NOT be sent, and the Total Message Length field is then set tozero.0. 5.1. NotificationmessageMessage The most common use of theNotification Messagenotification message is to acknowledge the reception of a message by indicating the receivedmessage sequence numberMessage Sequence Number in the"LastLast Received SequenceNumber"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 ReceivedSeqSequence Number | Type=0x01 |U|C| Flags | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Notification Code | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ The message type is set to 0x01, and theU bitU-Bit is treated as described inthe above section.Section 4. The Notification Codes area 32 bit quantity32-bit quantities assigned byIANA.IANA (see the IANAconsideration section)Considerations section). Notification codes areeitherconsidered either "Error codes" or simple notifications. If the NotificationcodeCode 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". TheC BitC-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 ontransmission,transmission and ignored on reception. 5.2. PW Configuration Message The PW status refresh reduction TLVs are informationalTLVs,TLVs that allow the remote PE to verify certain provisioning information. This messagecontaincontains a series ofsub-TLVssub-TLVs, in no particular order, that contain PW and LSP configuration information. The message has no preset lengthlimit, howeverlimit; however, its total length will be limited by the transportnetworknetwork's MaximumTransmitTransmission Unit (MTU). PW status refresh reductionmessagesMessages MUST NOT be fragmented. If a sender has more configuration information to send than will fit into one PW ConfigurationMessageMessage, it may sendfurtheradditional messages carryingfurtheradditional TLVs. 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 ReceivedSeqSequence Number | Type=0x02 |U|C| Flags | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ~ ~ | PW Configuration Message Sub-TLVs | ~ ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ The PW Configuration Message type is set to 0x02. For thismessagemessage, theU-bitU-Bit is set to11, as processing of these messages is OPTIONAL. TheC BitC-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 theC bitC-Bit on the last PWconfiguration messageConfiguration Message when all current PW configuration information has been sent. PW Configuration MessageSub-TLVssub-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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ~ ~ | ValueContinued(Continued) | ~ ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5.2.1. MPLS-TP Tunnel ID This TLV contains the MPLS-TPtunnel ID.Tunnel ID ("MPLS-TP" stands for "MPLS Transport Profile"). When the configuration message is used for a particular keepalivesessionsession, the MPLS-TP Tunnel ID sub-TLV MUST be sent at least once. TheMPLSMPLS-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) (20Octets)octets) | ~ ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ The MPLSpoint to pointpoint-to-point tunnel ID is defined in[RFC6370] as follows: Src-Global_Node_ID::Src-Tunnel_Num::Dst-Global_Node_ID::Dst- Tunnel_Num[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 singleTunneltunnel ID is enough to identify thetunnel,tunnel and the source end of the message. 5.2.2. PW IDconfiguredConfigured List This OPTIONALTLVsub-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) | ~ ~ |Continued| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ The PW Path ID is a32 octet pseudowire32-octet PW path identifierspecified in [RFC6370] as follows:[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 theTLVTLV, up to a maximum of 8. The procedure for processing this TLV will be described ina section below.Section 6. 5.2.3. PW IDunconfiguredUnconfigured List This OPTIONALTLVsub-TLV contains a list of the PWs that have been deprovisioned on the LSP. Note thatit is a fatal session error to sendsending the same PW address in both theconfigured list TLV ,PW ID Configured List sub-TLV and theunconfigured list TLVPW ID Unconfigured List sub-TLV in the same configurationmessage.message constitutes a fatal session error. Ifthethis error occurs, an error notification message is returned with theerrorError codeof"PW Configuration TLVconflict"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) | ~ ~ |Continued| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ The PW Path ID is a32 octet pseudowire32-octet PW path identifierspecified in [RFC6370]asfollows: AGI::Src-Global_ID::Src-Node_ID::Src-AC_ID:: Dst-Global_ID::Dst-Node_ID::Dst-AC_IDdefined in Section 5.2.2. The number of PW Path IDs in the TLV will be inferred by the length of theTLVTLV, up to a maximum of 8. 6. PWprovisioning verification procedureProvisioning Verification Procedure The advertisement of the PWconfiguration messageConfiguration Message is OPTIONAL. A PE that desires to use the PWconfiguration messageConfiguration Message to verify the configuration of PWs on a particularLSP,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 itisdoes notsupportingsupport processing the information or is not willing touse the information,process it, it MUST acknowledge all the PWconfiguration messagesConfiguration Messages withathe notificationofcode "PW configuration not supported". In this case, the information in thecontrol messagesPW Configuration Message is silently ignored. If a PE receives such anotificationnotification, it SHOULD stop sending PWconfiguration control messagesConfiguration Messages for the duration of the PW status refresh reduction keepalive session. 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 followingactionactions SHOULD be taken:-i.i. The local PW MUST be considered in "Not Forwarding"State. -ii.state (Section 6.3.2 of [RFC8077]). ii. The PW Attachment Circuit status is set to reflect the PW fault.-iii.iii. AnAlarmalarm SHOULD be raised to a network management system.-iv.iv. ANotificationnotification message with the notification codeof"PW configurationmismatch."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 individualmessage size restrictionmessage-size restrictions on a particular link. Upon receipt of such amessagemessage, the receiving PE MAY raise an alarm to a network management system. This alarm MAY be cleared when the configuration is updated.6.0.4.6.1. PW ID ListadvertisingAdvertising andprocessingProcessing When configuration messages are advertisedalongon a particular LSP, the PE sending the messages needs tocheck pointcheckpoint the configuration information sent by setting theC bitC-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 minimizefalse positivefalse-positive events ofmis-configurationmisconfiguration due to the ends of the PW being slightly out of sync. 7. Security Considerations The security considerationsofdiscussed in [RFC6478] are adequate for theproposedmechanism 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.All these situations are covered in the security considerations of [RFC6478].8. IANA ConsiderationsAll theThe registries in this sectionare to behave been created or updated as appropriate in thePseudowire"Pseudowire Name Spaces(PWE3).(PWE3)" registry or the "Generic Associated Channel (G-ACh) Parameters" registry. For the allocation ranges designated as"vendor proprietary"vendor-proprietary extensions", the respective IANAregistry, will containregistry contains the vendor name in brackets at the end of thedescriptionDescription field. 8.1. PW Status Refresh Reduction Message Types IANAneeds tohas set upa registry ofthe "PWstatus refresh reductionStatus Refresh Reduction ControlMessages". These areMessages" registry. This registry contains 8-bit values. Typevaluevalues 1throughand 2 are defined in this document. Type values 3 through64,64 and 128 through 254 are to be assigned by IANA using the "Expert Review" policy defined inRFC5226.[RFC8126]. Type values 65 through 127,00, and 255 are to be allocated using theIETF review"IETF Review" policy defined in[RFC5226].[RFC8126]. The TypeValuesvalues are assigned as follows: Type Message Description ----------------------------------------------- 0x01 Notification message 0x02 PW Configuration Message 8.2. PW Configuration Message Sub-TLVs IANAneeds tohas set upa registry ofthe "PWstatus refresh reductionStatus Refresh Reduction Configuration MessageSub-TLVs". These areSub-TLVs" registry. This registry contains 8-bit values. Typevaluevalues 1 through 3 are defined in this document. Type values34 through64,64 and 128 through 254 are to be assigned by IANA using the "Expert Review" policy defined inRFC5226.[RFC8126]. Type values 65 through 127,00, and 255 are to be allocated using theIETF review"IETF Review" policy defined in[RFC5226].[RFC8126]. The TypeValuesvalues are assigned as follows:sub-TLV typeSub-TLV Type Description ---------------------------------------------- 0x01 MPLS-TP TunnelID.ID 0x02 PW IDconfigured List.Configured List 0x03 PW IDunconfigured List.Unconfigured List 8.3. PW Status Refresh Reduction Notification Codes IANAneeds tohas set upa registry ofthe "PWstatus refresh reductionStatus Refresh Reduction NotificationCodes". These areCodes" registry. This registry contains 32-bit values. Typevaluevalues 0 through 7 are defined in this document. Type values 8 through65536,65536 and 134,217,729 through 4,294,967,294 are to be assigned by IANA using the "Expert Review" policy defined inRFC5226.[RFC8126]. Type values6553665537 through 134,217,728,00, and 4,294,967,295 are to be allocated using theIETF review"IETF Review" policy defined in[RFC5226].[RFC8126]. For each valueassignedassigned, IANA should also track whether the value constitutes an error as described in Section 5.1. When values are assigned by IETFreview,Review, thesetting of thissettings in the "Error?" column must be documented in the RFC that requests the allocation. ForExpert Review"Expert Review" assignments, thesetting of thissettings in the "Error?" column must be made clear by the requester at the time of assignment. The TypeValuesvalues are assigned as follows: Code Error? Description-------------- ----------------------------------------------- 0x00000000 No NullNotification.Notification 0x00000001 No PW configurationmismatch.mismatch 0x00000002 Yes PW Configuration TLVconflict.conflict 0x00000003 No Unknown TLV(U-bit=1)(U-Bit=1) 0x00000004 Yes Unknown TLV(U-bit=0)(U-Bit=0) 0x00000005 No Unknown Message Type 0x00000006 No PW configuration notsupported.supported 0x00000007 Yes Unacknowledged controlmessage.message 8.4. PWstatus refresh reductionStatus Refresh Reduction Message Flags IANAneeds tohas set upa registry ofthe "PWstatus refresh reductionStatus Refresh Reduction MessageFlags".Flags" registry. This isa 8 bit registryan 8-bit registry, with the first2two most significant bits allocated by this document as follows: Bit Position Name Description ------------ ------------------------------------- 0 U Unknown flagbit.bit 1 C Configuration flagbit.bit The remaining bits are to be allocatedbyusing the "IETF Review" policy defined in[RFC5226].[RFC8126]. 8.5.G-ACHG-ACh Registry Allocation IANA maintains a registry called "MPLS Generalized Associated Channel (G-ACh)Types".Types (including Pseudowire Associated Channel Types)". IANAneeds, to allocatehas allocated a new value as follows: Value Description Reference ------------------------------------------- ---------0xZZ0x29 PW Status Refresh ReductionRFCXXXXRFC 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[RFC5226][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 pointsfitsfit the general architecture and intended purpose of the respective message or TLV.LastlyLastly, 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,Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119,March, 1997. [RFC8077] "Pseudowire Setup and Maintenance Using theDOI 10.17487/RFC2119, March 1997, <https://www.rfc-editor.org/info/rfc2119>. [RFC3031] Rosen, E., Viswanathan, A., and R. Callon, "Multiprotocol LabelDistribution Protocol (LDP)", L. Martini, G. Heron, RFC8077, february 2017.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]L.Martini,G.L., Swallow,G.G., Heron, G., and M.BocciBocci, "Pseudowire Status for Static Pseudowires",RFC6478,RFC 6478, DOI 10.17487/RFC6478, May2012 [RFC6370] M. Bocci,2012, <https://www.rfc-editor.org/info/rfc6478>. [RFC8077] Martini, L., Ed., and G.Swallow, E. Gray "MPLS-TP Identifiers", RFC6370, September 2011 [RFC5226] Narten, T.Heron, Ed., "Pseudowire Setup andH. Alvestrand,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 ConsiderationssectionSection in RFCs", BCP 26, RFC5226, May 2008 [RFC3031] E. Rosen, et al.,8126, DOI 10.17487/RFC8126, June 2017, <https://www.rfc-editor.org/info/rfc8126>. [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC3031, MPLS Architecture, January 2001.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]M.Bocci, M., Ed.,M.Vigoureux, M., Ed., and S. Bryant, Ed., "MPLS Generic Associated Channel",rfc5586,RFC 5586, DOI 10.17487/RFC5586, June2009 10.2009, <https://www.rfc-editor.org/info/rfc5586>. Authors' Addresses Luca Martini MonoskiLLC. e-mail:LLC Email: lmartini@monoski.com George SwallowCisco Systems, Inc. 300 Beaver Brook Road Boxborough, Massachusetts 01719 United States e-mail: swallow@cisco.comSouthend Technical Center Email: swallow.ietf@gmail.com Elisa Bellagamba Ericsson EAB Torshamnsgatan 48 16480, Stockholm Swedene-mail:Email: elisa.bellagamba@gmail.comCopyright 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 (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Expiration Date: November 2017