Internet Engineering Task Force Luca Martini Internet Draft George Swallow Intended status: Standards Track Giles Heron Updates: 5585 Expires: April 7, 2012 Cisco Matthew Bocci Alcatel-Lucent October 7, 2011 Pseudowire Status for Static Pseudowires draft-ietf-pwe3-static-pw-status-09.txt Status of 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 valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." 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 April 7, 2010 Abstract This document specifies a mechanism to signal Pseudowire (PW) status messages using an PW associated channel (ACh). Such a mechanism is suitable for use where no PW dynamic control plane exits, known as static PWs, or where a Terminating Provider Edge (T-PE) needs to send a PW status message directly to a far end T-PE. The mechanism allows PW OAM message mapping and PW redundancy to operate on static PWs. This document also updates rfc5885 in the case when Bi-directional Martini, et al. [Page 1] Internet Draft draft-ietf-pwe3-static-pw-status-09.txt October 7, 2011 Forwarding Detection (BFD) is used to convey PW status signaling information. Table of Contents 1 Specification of Requirements ........................ 2 2 Introduction ......................................... 3 3 Terminology .......................................... 3 4 Applicability ........................................ 3 5 Pseudowire Status Operation .......................... 4 5.1 PW OAM Message ....................................... 4 5.2 Sending a PW Status Message .......................... 5 5.3 PW OAM status message transmit and receive ........... 5 5.3.1 Acknowledgment of PW status .......................... 6 5.4 MPLS Label Stack ..................................... 7 5.4.1 Label stack for a message destined to the next PE .... 7 5.4.2 Label stack for a message destined to the egress PE .. 7 5.5 S-PE bypass mode ..................................... 8 5.5.1 S-PE bypass mode LDP flag bit ........................ 8 6 S-PE operation ....................................... 9 6.1 Static PW to another Static PW ....................... 10 6.2 Dynamic PW to Static PW or vice versa ................ 10 7 Security Considerations .............................. 10 8 IANA Considerations .................................. 10 9 References ........................................... 11 9.1 Normative References ................................. 11 9.2 Informative References ............................... 11 10 Authors' Addresses ................................... 12 1. Specification of Requirements The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119]. Martini, et al. [Page 2] Internet Draft draft-ietf-pwe3-static-pw-status-09.txt October 7, 2011 2. Introduction The default control plane for Pseudowire (PW) technology, as defined in [RFC4447], is based on Label Distribution Protocol (LDP). However that document also describes a static provisioning mode without a control plane. When a static PW is used, there is no method to transmit the status of the PW, or attachment circuit (AC) between the two Provider Edge (PE) at each end of the PW. This document defines a method to transport the PW status codes defined in [RFC4447], sec 5.4.2, and [REDUNDANCY] in-band with the PW data using a generic associated channel [RFC5586]. 3. Terminology FEC: Forwarding Equivalence Class LDP: Label Distribution Protocol LSP: Label Switching Path MS-PW: Multi-Segment Pseudowire PE: Provider Edge PW: Pseudowire SS-PW: Single-Segment Pseudowire S-PE: Switching Provider Edge Node of MS-PW T-PE: Terminating Provider Edge Node of MS-PW 4. Applicability The procedures described in this draft are intended for the case where PWs are statically configured. These procedures also apply equally to both an Multi Protocol Label Switched Packet Switched Network (MPLS PSN) , and an Multi Protocol Label Switched Transport Profile (MPLS-TP) PSN. Where an LDP control plane exists, LDP MUST be used for signaling all PW status messages. However the OPTIONAL 'S- PE' bypass mode described below MAY be used in the presence of an LDP control plane. This document updates [RFC5885] as follows: When BFD is used, and the Pseudowire Status protocol for Static Martini, et al. [Page 3] Internet Draft draft-ietf-pwe3-static-pw-status-09.txt October 7, 2011 Pseudowires described in this document is used BFD MUST NOT be used to convey PW status signaling information (CV Types 0x08 and 0x20 MUST NOT be used). 5. Pseudowire Status Operation 5.1. PW OAM Message The PW status TLV as defined in [RFC4447] sec 5.4.2 is transported in a PW OAM message using the PW associated channel (ACH). 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |0 0 0 1|Version| Reserved | 0xZZ PW OAM Message | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Refresh Timer | TLV Length |A| Flags | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | ~ TLVs ~ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 1: ACH PW OAM Message Packet Header. The first 32 bits are the standard ACH header construct as defined in [RFC5586]. The first nibble (0001b) indicates the ACH instead of PW data. The version and the reserved values are both set to 0 as specified in [RFC4385]. The refresh timer is an unsigned integer and specifies refresh time in seconds with a range from 1 to 65535. The value 0 means that the refresh timer is set indefinitely, and the PW OAM message will never be refreshed, and will never timeout. The TLV length field indicates the length of all PW OAM TLVs only. The A flag bit is used to indicate an acknowledgment of the PW status TLV included. The rest of the flag bits are reserved and they MUST be set to 0 on transmit, and ignored upon receive. When the A bit is set, the refresh timer value is a requested timer value. The PW OAM Message code point value is 0xZZ. [RFC Editor: 0xZZ to be assigned by IANA from the PW Associated Channel Type registry.] Martini, et al. [Page 4] Internet Draft draft-ietf-pwe3-static-pw-status-09.txt October 7, 2011 5.2. Sending a PW Status Message The PW Status messages are sent in-band using the PW OAM message containing the PW Status TLV, for a particular PW, as defined in [RFC4447]. The PW Status TLV format as defined in [RFC4447], and is repeated here for the reader's convenience: 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Res| PW Status (0x096A) | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Status Code | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 2: PW Status Message Format. The first 2 bits are reserved, and MUST be set to zero on transmit, and ignored on receive. The PW Status TLV is prepended with an PW OAM message header and sent on the ACH of the PW to which the status update applies. To clear a particular status indication, the PE needs to send a new PW OAM message containing a PW Status TLV with the corresponding bit cleared. The procedures described in [RFC6073] that apply to an S-PE and PW using an LDP control plane also apply when sending PW status using the PW OAM channel. The OPTIONAL procedures using the SP-PE TLV described in [RFC6073] can also be applied when sending PW status using the PW OAM channel. The detailed message transmit, and receive procedures are specified in the next section. PW OAM Status Messages MUST NOT be also used as a connectivity verification method. 5.3. PW OAM status message transmit and receive Unlike the PW status procedures defined in [RFC4447] with this method there is no TCP/IP session, or session management. Therefore unlike the TCP/IP case, where each message is sent only once, the PW OAM message containing the PW status TLV needs to be transmitted repeatedly to ensure reliable message delivery. If a malformed TLV, or an unknown TLV is received in an PW OAM status message, the TLV MUST be ignored, and the PE SHOULD report the event to the operator. Martini, et al. [Page 5] Internet Draft draft-ietf-pwe3-static-pw-status-09.txt October 7, 2011 A PW OAM message containing a PW status TLV with a new status bit set or reset, will be transmitted immediately by the PE. The PW OAM message will then be repeated twice more at an initial interval of one second. Subsequently the PW OAM message will be transmitted with an interval specified by the refresh timer value in the packet. Note that this value MAY be updated in the new PW OAM message packet, in which case the new refresh timer value becomes the new packet transmit interval. The suggested default value for the refresh timer is 30 seconds. When a PW OAM message containing a status TLV is received, a timer is started according to the refresh rate specified in the packet. If another non zero PW status message is not received within 3.5 times the specified timer value, the status condition will timeout in 3.5 times the last refresh timer value received, and the default status of zero is assumed on the PW. It is also a good practice to introduce some jitter in the delay between refresh transmissions, as long as the maximum jitter delay is within the prescribed maximum refresh time of 3.5 times the specified timer value for 3 consecutive refresh packets. To clear a particular status fault the PE need only send an updated message with the corresponding bit cleared. If the PW status code is zero, the PW OAM message will be sent like any other PW OAM status message using the procedures described above, however it MUST be acknowledged with a packet with a timer value of zero. This will cause the PE sending the PW status notification message with PW status code equal to zero to stop sending, and to continue normal operation. 5.3.1. Acknowledgment of PW status The PE receiving a PW OAM message containing a PW status message can acknowledge the PW status message by simply building an almost identical reply packet with the A bit set, and transmitting it on the PW ACH back to the source of the PW status message. The timer value set in the reply packet SHOULD then be used by the PE as the new transmit interval. If the transmitting PE Does not want to use the new timer value (for local policy reasons, or because it simply cannot support it) it MUST refresh the PW OAM message with the timer value it desires. The receiving PE will then set its timeout timer according to the timer value that is in the packet received, regardless of what timer value it sent. The receiving PE MUST not retry to set the timer value more then once per timer value. The suggested default value for the refresh timer value in the Martini, et al. [Page 6] Internet Draft draft-ietf-pwe3-static-pw-status-09.txt October 7, 2011 acknowledgment packet is 600 seconds. If the sender PE receives an acknowledgment message that does not match the current active PW status message being sent, it simply ignores the acknowledgment packet. If a PE that has a non zero status code for a particular PW, detects by any means that the peer PE has become unreachable, it will follow the standard procedures [RFC4447] and consider that PW as having an additional status bit set. This would normally trigger sending updates again, and canceling the acknowledgment refresh timer state. 5.4. MPLS Label Stack With one exception, all PW OAM status messages are are sent to the adjacent PE across the PSN tunnel. In many cases the transmitting PE has no way to determine whether the adjacent PE is a S-PE, or a T-PE. This is a necessary behavior to preserve backward compatibility with PEs that do not understand MS-PWs. In the procedures described in this document there are two possible destinations for the PW OAM status messages: the adjacent PE, or the T-PE. Sending a PW status message directly to the T-PE is a enhanced method that is only applicable using PW OAM status messages sent in the PW ACH. 5.4.1. Label stack for a message destined to the next PE A PE that needs to forward a PW OAM status message to the adjacent PE across the PSN tunnel, MUST set the PW label TTL field to 1. Furthermore if the control word is not in use on the particular PW, the PE MUST also place the GAL reserved label [RFC5586], below the PW label also with the TTL field set to 1. 5.4.2. Label stack for a message destined to the egress PE This is also known as "S-PE bypass mode" see below. A T-PE that requires sending a PW OAM status message directly to the corresponding T-PE at the other end of the PW MUST set the TTL of the PW label to a value that is sufficient to reach the corresponding T- PE. This value will be greater then one, but will be set according to the local policy on the transmitting T-PE. Furthermore if the control word is not in use on the particular PW, the PE MUST also place the GAL reserved label [RFC5586], below the PW label with the TTL field set to 1. Martini, et al. [Page 7] Internet Draft draft-ietf-pwe3-static-pw-status-09.txt October 7, 2011 5.5. S-PE bypass mode S-PE bypass mode enables a T-PE that uses LDP as the pw setup and control protocol, to bypass all S-PEs that might be present along the MS-PW and to send a message directly to the remote T-PE. This is used for very fast message transmission in-band with the PW PDUs. This mode is OPTIONAL, and MUST be supported by both T-PEs to be enabled. This mode MUST NOT be used if the first PW segment connected to each T-PE is not using LDP. Note that this method MUST NOT be used to send messages which are permitted to originate at an S-PE, since otherwise race conditions could occur between messages sent via the control plane by S-PEs, and messages sent via the data plane by T-PEs. Currently the only PW status codes which MAY be sent using the S-PE bypass procedure are: 0x00000002 - Local Attachment Circuit (ingress) Receive Fault 0x00000004 - Local Attachment Circuit (egress) Transmit Fault 0x00000020 - PW forwarding standby 0x00000040 - Request switchover to this PW Note that since "clear all failures" may be sent by an S-PE it MUST NOT be sent using the S-PE bypass mode. When S-PE bypass mode is enabled, all PW Status TLVs received using this method have priority over PW Status TLVs sent via control protocols such as LDP [RFC4447]. However the same PW Status TLVs MUST also be sent in LDP to keep the S-PEs state updated. 5.5.1. S-PE bypass mode LDP flag bit When a PW Segment along an MS-PW is using the LDP control protocol, a flag bit MUST be set in the interface parameters sub-TLV to indicate that the T-PE is requesting S-PE bypass status message mode. This flag can only be set by a T-PE using LDP as the PW configuration and management protocol. If the S-PE bypass mode LDP flag bit in the generic protocol flags interface parameter does not mach in the FEC advertisement for directions of a specific PW, that PW MUST NOT be enabled. The interface parameter is defined as follows: Martini, et al. [Page 8] Internet Draft draft-ietf-pwe3-static-pw-status-09.txt October 7, 2011 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=0X16 | Length=4 |R R R R R R R R R R R R R R R B| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Generic Protocol Flags. - TLV Type. Type 0x16 - Generic Protocol Flags. Note: Value 0x16 suggested for assignment pending IANA allocation. - Length TLV length always 4 octets. - Flags Protocol flags, Bit B is set to request the S-PE bypass mode. Bits R are reserved for future use, and MUST be zero on transmission, and ignored on reception of this TLV. If the T-PE receives an LDP label mapping message containing a generic protocol flags interface parameter TLV with the bit "B" set, then the T-PE receiving the label mapping message MAY send S-PE bypass status messages in the G-ACH. If Bit "B" of said TLV, is not set, or the TLV is not present, then the T-PE receiving the label mapping message MUST NOT send S-PE bypass status messages in the G- ACH. 6. S-PE operation The S-PE will operate according to the procedures defined in [RFC6073]. The following additional procedures apply to the case where a static PW segment is switched to a dynamic PW segment that uses LDP, and the case a static PW segment is switched to another static PW segment. Martini, et al. [Page 9] Internet Draft draft-ietf-pwe3-static-pw-status-09.txt October 7, 2011 6.1. Static PW to another Static PW The procedures that are described in [RFC6073] section 10 also apply to the case of a static PW switched to another static PW. The LDP header is simply replaced by the PW OAM header, otherwise the packet format will be identical. The information that is necessary to form a SP-PE TLV MUST be configured in the S-PE, or no SP-PE TLV will be sent. The Document [RFC6073] defines a IANA registry named "Pseudowire Switching Point PE TLV Type". In order to support the static PW configuration and addressing scheme, a new code point is requested as follows: Type Length Description 0x07 24 Static PW/MPLS-TP PW segment ID of last PW segment traversed The format of this TLV is that of the "Static Pseudowire Sub-TLV" defined in [ON DEMAND]. 6.2. Dynamic PW to Static PW or vice versa The procedures that are described in [RFC6073] section 10 also apply to this situation. However if the PW label of the LDP controlled PW segment is withdrawn, by the adjacent PE, the S-PE will set the PW status code "0x00000001 - Pseudowire Not Forwarding" to the adjacent PW on the static PW segment. The S-PE will only withdraw its label for the dynamic, LDP controlled, PW segment if the S-PE is un-provisioned. 7. Security Considerations The security measures described in [RFC4447] and [RFC6073] are adequate for the proposed mechanism. 8. IANA Considerations This document uses a new Associated Channel Type. IANA already maintains a registry of name "Pseudowire Associated Channel Types". A value of 0x0022 is suggested for assignment with TLVs. The description is "PW OAM Message". This document uses a new Pseudowire Switching Point PE TLV Type. IANA already maintains a registry of name "Pseudowire Switching Point PE Martini, et al. [Page 10] Internet Draft draft-ietf-pwe3-static-pw-status-09.txt October 7, 2011 Sub-TLV Type". A value of 0x07 is suggested for assignment. The description is "Static PW/MPLS-TP PW segment ID of last PW segment traversed". This document uses a new interface parameter type. IANA already maintains a registry of name "Pseudowire Interface Parameters Sub-TLV type Registry". A value of 0x16 is suggested for assignment. The description is "Generic Protocol Flags". 9. References 9.1. Normative References [RFC2119] Bradner. S, "Key words for use in RFCs to Indicate Requirement Levels", RFC 2119, March, 1997. [RFC4447] "Transport of Layer 2 Frames Over MPLS", Martini, L., et al., rfc4447 April 2006. [RFC6073] Martini et.al. "Segmented Pseudowire", RFC 6073, January 2011. [RFC4385] " Pseudowire Emulation Edge-to-Edge (PWE3) Control Word for Use over an MPLS PSN", S. Bryant, et al., RFC4385, February 2006. [REDUNDANCY] Muley et.al. "Preferential Forwarding Status bit definition", draft-ietf-pwe3-redundancy-bit-05.txt, IETF Work in Progress, September 2011. [ON DEMAND] Bahadur et.al. "MPLS on-demand Connectivity Verification, Route Tracing and Adjacency Verification", draft-ietf-mpls-tp-on-demand-cv-07.txt, IETF Work in Progress, September 2011 9.2. Informative References [RFC5586] M. Bocci, Ed., M. Vigoureux, Ed., S. Bryant, Ed., "MPLS Generic Associated Channel", rfc5586, June 2009 [RFC5885] T. Nadeau, Ed.,C. Pignataro, Ed., "Bidirectional Forwarding Detection (BFD) for the Pseudowire Virtual Circuit Connectivity Verification (VCCV)", RFC5885, June 2010. Martini, et al. [Page 11] Internet Draft draft-ietf-pwe3-static-pw-status-09.txt October 7, 2011 10. Authors' Addresses Luca Martini Cisco Systems, Inc. 9155 East Nichols Avenue, Suite 400 Englewood, CO, 80112 e-mail: lmartini@cisco.com George Swallow Cisco Systems, Inc. 300 Beaver Brook Road Boxborough, Massachusetts 01719 United States e-mail: swallow@cisco.com Giles Heron Cisco Systems 9-11 New Square Bedfont Lakes Feltham Middlesex TW14 8HA United Kingdom e-mail: giheron@cisco.com Matthew Bocci Alcatel-Lucent Grove House, Waltham Road Rd White Waltham, Berks, UK. SL6 3TN e-mail: matthew.bocci@alcatel-lucent.co.uk Copyright Notice Copyright (c) 2011 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 Martini, et al. [Page 12] Internet Draft draft-ietf-pwe3-static-pw-status-09.txt October 7, 2011 the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Expiration Date: April 2012 Martini, et al. [Page 13]