Network Working Group T. D. Nadeau (Editor) Internet Draft C. Pignataro (Editor) Expiration Date: December 2006 Cisco Systems, Inc. R. Aggarwal (Editor) Juniper Networks June 2006 Pseudo Wire Virtual Circuit Connectivity Verification (VCCV) draft-ietf-pwe3-vccv-09.txt NOTE: This document is a partial update based on some of the comments from the working group last call. A follow-up is expected in the near future containing %100 of the changes. Status of this Memo By submitting this Internet-Draft, each author represents that any applicable patent or other IPR claims of which he or she is aware have been or will be disclosed, and any of which he or she becomes aware will be disclosed, in accordance with Section 6 of 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. Abstract This document describes Virtual Circuit Connection Verification (VCCV) procedures for use with pseudo wire (PW) connections. VCCV supports connection verification applications for PWs regardless of PWE3 Working Group Expires December 2006 [Page 1] draft-ietf-pwe3-vccv-09 VCCV June 1, 2006 the underlying public service network technology. VCCV makes use of IP-based protocols to perform operations and maintenance functions. This is accomplished by providing a control channel associated with each PW. A network operator may use the VCCV procedures to test the network's forwarding plane liveliness. Table of Contents 1 Specification of requirements .......................... 4 2 Introduction ........................................... 4 3 Overview of VCCV ....................................... 5 3.1 LSP Ping ............................................... 6 3.2 L2TPV3 ................................................. 6 3.3 Bidirectional Forwarding Detection ..................... 6 4 VCCV Control Channels for PWs Demultiplexed using MPLS .. 7 4.1 Inband VCCV (Type 1) .................................... 7 4.2 Out-of-Band VCCV (Type 2) ............................... 8 4.3 TTL Expiry VCCV (Type 3) ................................ 8 5 VCCV Types ............................................. 8 5.1 MPLS LSP Ping Packet ................................... 9 5.2 Bidirectional Forwarding Detection ..................... 9 6 OAM Capability Indication for PWs Demultiplexed using MPLS 10 6.1 Optional VCCV Parameter ................................ 11 7 VCCV Control Channel for L2TPv3/IP PSN ................. 12 7.1 L2TPv3 VCCV Message .................................... 13 7.1.1 L2TPv3 VCCV ICMP Ping AVP .............................. 13 7.1.2 L2TPv3 VCCV BFD AVP .................................... 13 7.2 L2TPv3 VCCV Capability Indication ...................... 13 7.2.1 L2TPv3 VCCV Capability AVP ............................. 13 7.3 L2TPv3 VCCV Operation .................................. 14 8 IANA Considerations .................................... 14 8.1 VCCV Parameter ID ...................................... 14 8.1.1 CC Types ............................................... 15 8.1.2 CV Types ............................................... 15 8.2 L2TPv3 Assignments ..................................... 15 8.2.1 CV Types ............................................... 15 9 Security Considerations ................................ 15 10 Acknowledgements ....................................... 17 11 References ............................................. 17 11.1 Normative References ................................... 17 11.2 Informative References ................................. 18 12 Editor Information ...................................... 18 13 Contributor Information ................................ 19 14 Intellectual Property Statement ........................ 20 15 Full Copyright Statement ............................... 20 1. Specification of requirements PWE3 Working Group Expires December 2006 [Page 2] draft-ietf-pwe3-vccv-09 VCCV June 1, 2006 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]. 2. Introduction As network operators deploy pseudo wire (PW) services, fault detec- tion and diagnostic mechanisms particularly for the PSN portion of the network are pivotal. Specifically, the ability to provide end-to- end fault detection and diagnostics for an emulated PW service is critical for the network operator. Operators have indicated in [MPLSOAMREQS][PWREQ] that such a tool is required for PW deployments. This document describes procedures for PSN-agnostic fault detection and diagnostics called Virtual Circuit Connection Verification (VCCV). |<----- Pseudo Wire ---->| | | Attachment | |<-- PSN Tunnel -->| | Attachment Circuit V V V V Circuit | +----+ +----+ | +----+ | | PE1|==================| PE2| | +----+ | |----------|............PW1.............|----------| | | CE1| | | | | | | |CE2 | | |----------|............PW2.............|----------| | +----+ | | |==================| | | +----+ ^ +----+ +----+ | ^ | Provider Edge 1 Provider Edge 2 | | | |<--------------- Emulated Service --------------->| |<---------- VCCV ------>| Customer Customer Edge 1 Edge 2 Figure 1: PWE3 VCCV Operation Reference Model Figure 1 depicts the basic functionality of VCCV. VCCV provides sev- eral means of creating a control channel between PEs that attaches the PW under test. +-------------+ +-------------+ | Layer2 | | Layer2 | | Emulated | < Emulated Service > | Emulated | | Services | | Services | PWE3 Working Group Expires December 2006 [Page 3] draft-ietf-pwe3-vccv-09 VCCV June 1, 2006 +-------------+ +-------------+ | | VCCV/PW | | |Demultiplexer| < Control Channel > |Demultiplexer| +-------------+ +-------------+ | PSN | < PSN Tunnel > | PSN | +-------------+ +-------------+ | Physical | | Physical | +-----+-------+ +-----+-------+ | | | ____ ___ ____ | | _/ ___/ \ _/ __ | | / \__/ _ | | / \ | ---------| MPLS or IP Network |----- | / | ___ ___ __ ___/ \_/ ____/ ___/ ____/ Figure 2: PWE3 Protocol Stack Reference Model including the VCCV control channel. Figure 2 depicts how the VCCV control channel is associated with the pseudo wire. Ping and other IP messages are encapsulated using the PWE3 encapsulation as described below in sections 5 and 6. These mes- sages, referred to as VCCV messages, are exchanged only after the desire to exchange such traffic has been negotiated between the PEs (see section 8). 3. Overview of VCCV VCCV defines a set of messages that are exchanged between PEs to ver- ify connectivity of the pseudo wire. To make sure that VCCV packets follow the same path as the PW data flow, they are encapsulated in the PW demultiplexer and trasported over the PSN tunnel. VCCV can operate in two modes: 1) as a diagnostic tool 2) as a fault detection tool In the diagnostic mode, the operator triggers LSP-Ping, L2TPV3, or ICMP Ping [ICMP] modes depending on the underlying PSN. Since a PW service is bi-directional, the reply MAY be sent over the PW in the reverse direction, that makes up the other half of the PW service under test. For example, if the PSN is MPLS, the reply should be sent over the reverse PW, which is transported over the PSN LSP in the reverse direction. If this fails, the operator MAY use other reply modes such as Reply Mode 4 from [LSP-PING] (Reply via application PWE3 Working Group Expires December 2006 [Page 4] draft-ietf-pwe3-vccv-09 VCCV June 1, 2006 level control channel) to determine the fault. The fault detection mode provides a way to emulate fault detection mechanisms in other technologies, such as ATM for example. For exam- ple, in the fault detection mode, the BFD Bidirectional Forwarding Detection (BFD) mechanism can be used as following: the upstream PE sends BFD control messages periodically. When the downstream PE doesn't receive these message for a defined period of time, it declares that direction of the PW down and it notifies the upstream PE. Based on the emulated service, the PEs may send native indica- tions over the related attachment circuits to notify the end points of the fault condition. The specific details of the handling of these conditions is out of the scope of this document, and are only noted here to illustrate the utility of VCCV for these purposes. More complete details can be found in [OAM-MAP]. 3.1. LSP Ping When PWs are demultiplexed using MPLS, LSP Ping is used as described in [LSP-PING] as a connectivity verification and diagnostic tool for PWs. The PSN may be MPLS or IP. 3.2. L2TPV3 When IP is used as the PSN, various protocols can be deployed for PW Demultiplexing [PWEARCH]. If L2TP or UDP is used, ICMP ECHO packets [ICMP] can be used as the means by which connectivity verification is achieved. 3.3. Bidirectional Forwarding Detection When fault detection indication is necessary for one or more PWs, the Bidirectional Forwarding Detection (BFD) [BFD] provides a light- weight means of continuous monitoring and propagation of forward and reverse defect indications. BFD can be used regardless of the under- lying PSN technology. 4. VCCV Control Channels for PWs Demultiplexed using MPLS In order to apply IP monitoring tools to PWE3 circuits, VCCV creates a control channel between PWE3 PEs [PWEARCH]. Packets sent across this channel are IP packets, allowing maximum flexibility. Ideally such a control channel would be completely in band. When a control word is present on virtual circuit, it is possible to indi- cate the control channel by setting a bit in the control header. PWE3 Working Group Expires December 2006 [Page 5] draft-ietf-pwe3-vccv-09 VCCV June 1, 2006 This method is described in section 4.1 and is referred to as PWE3 inband VCCV. 4.1. Inband VCCV (Type 1) The PW set-up protocol [PWSIG] determines whether a PW uses a control word. When a control word is used, it SHOULD have the following form for the purpose of indicating VCCV control channel messages. (Note that for data, one uses the control word defined just above the MPLS payload [PWEARCH].) The PW Associated Channel for VCCV control channel traffic is defined as follows in [PW-CW]: 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 | Channel Type | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 3: PW Associated Channel Header The first nibble is set to 0x0001 to indicate a channel associated with a pseudowire [PW-CW, PWE3IANA]. The Format ID and the reserved fields are set to 0, the Version is 0, and the Channel Type is set to 0. For example, the following is an example of how the ethernet control word would be received [ENETENCAP]: 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| 0 | 0 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 4: PW Associated Channel Header for VCCV It should be noted that although some PW types are not required to carry the control word, this type of VCCV MUST only be used for those PW types that do employ the control word. 4.2. Out-of-Band VCCV (Type 2) When the control word is not used, or the receiving hardware cannot PWE3 Working Group Expires December 2006 [Page 6] draft-ietf-pwe3-vccv-09 VCCV June 1, 2006 divert control traffic based on information in the control word (i.e.: older hardware), a VCCV control channel can alternatively be created by including the MPLS router alert label [RFC3032] immediately above the PW label. If the control word is in use on this PW it is also included in the VCCV control flow. It should be noted that this approach MAY alter equal cost multi-path (ECMP) hashing behavior, and thus result in the VCCV control channel traffic taking a path which differs from that of the data traffic under test. 4.3. TTL Expiry VCCV (Type 3) The TTL of the PW demultiplexor label can be set to 1 to force the packet to be processed within the destination router's control plane. This is an inband control channel identification mechanism that is an alternate to section 4.1. When the PSN is MPLS it should be noted that this mode may not work in cases where the penultimate hop overwrites the TTL values of labels underneath the top-most label. Some older implementations do this, and the result would be a false positive. Therefore, we recom- mend that operators investigate the TTL handling behavior of the routers in their networks to determine if this situation can occur. If it is discovered that it can, than this mode should not be used for the reasons explained above. It should be noted that although some PW types are not required to carry the control word, this type of VCCV MUST only be used for those PW types that do employ the control word. 5. VCCV Types VCCV can support several types of connectivity verification protocols within its control channel, but only one MUST be used. The specific one chosen is based on the preferred order specified below. If another is desired to be used once one has begun to be transmitted, the pseudowire MUST be re-signaled. The specific type or types of VCCV packets accepted by a router are indicated during capability advertisement as described in section 6. The various VCCV types supported SHOULD be used only when they apply to the PW demultiplexor in use. For example, the LSP Ping type should only be used when MPLS is utilized as the PW demultiplexor. 5.1. MPLS LSP Ping The LSP Ping header must be used as described [LSP-PING] and MUST also contain the target FEC Stack in turn containing the sub-TLV of 8 for the L2 VPN endpoint or 9 or 10 PWE3 Working Group Expires December 2006 [Page 7] draft-ietf-pwe3-vccv-09 VCCV June 1, 2006 for "FEC 128 Pseudowire" or 11 for the FEC 128 Pseudowire". The sub-TLV indicates the PW to be verified. 5.2. Bidirectional Forwarding Detection When heart-beat indication is necessary for one or more PWs, the Bidirectional Forwarding Detection (BFD) [BFD] provides a means of continuous monitoring of the PW data path and propagation of forward and reverse defect indications. In order to use BFD, both ends of the PW connection must have sig- naled the existence of a control channel and the ability to run BFD. Once a node has both signaled and received signaling from its peer of these capabilities, it MUST begin sending BFD control packets. The packets MUST be sent on the control channel. The use of the control channel provides the context required to bind the BFD session to a particular PW (FEC). Thus normal single-hop BFD initialization procedures are followed. BFD MUST be run in asynchronous mode. In addition, it may also be desirable to use LSP-Ping for periodic diagnostics, in addition to BFD, for fault detection on the same PW. The procedures for this are described in [BFDMPLS]. When one of the PEs (PE2) doesn't receive control messages from PE1 during the specified amount of time it declares that the PW in the direction from PE2 to PE1 is down. It stores the cause (e.g., Diagnostic code 1 - control detection time expired) and sends a message to PE1 containing this diagnostic code. This causes PE1 to declare the PW in the direction from PE1 to PE2 is down and it stores as cause: neighbor signaled session down. Depending on the emulated services, PE2 may send a forward direction indication (FDI) on its attachment circuits and PE1 may send an RDI indication on its attachment circuits [OAM-MAP]. BFD defines the following diagnostics: 0 - No Diagnostic 1 - Control Detection Time Expired 2 - Echo Function Failed 3 - Neighbor Signaled Session Down 4 - Forwarding Plane Reset (Local equipment failure) 5 - Path Down (Alarm Suppression) 6 - Concatenated Path Down (Propagating access link alarm) 7 - Administratively Down 8 - Reverse Concatenated Path Down Note that the value, 0 is used when the PW is up and 2 is not appli- cable to asynchronous mode. PWE3 Working Group Expires December 2006 [Page 8] draft-ietf-pwe3-vccv-09 VCCV June 1, 2006 6. OAM Capability Indication for PWs Demultiplexed using MPLS To permit the indication of the type or types of PW control chan- nel(s), and connectivity verification mode or modes over a particular PW, a VCCV parameter is defined below that is used as part of the PW establishment signaling. When a PE signals a PW and desires PW OAM for that PW, it MUST indicate this during PW establishment using the messages defined below. Specifically, for LDP the PE MUST include the VCCV parameter in the PW setup message. The decision of the type of VCCV control channel is left completely to the receiving control entity, although the set of choices is given by the sender in that it indicates the type or types of control channels that it can understand. The receiver SHOULD chose a single control channel type from the choices indicated based on the order of preference rules specified below in the section entitled, "Preferred Capability Order" and it MUST continue to use this type for the duration of the life of the control channel. Changing control channel types after one has been established to be in use could potentially cause problems at the receiving end, and could also lead to interoperability issues, thus it is strongly discouraged. When a PE sends a label for a PW, it uses the VCCV parameter to indicate the type of OAM control channels and connectivity verification type or types it is willing to receive on that PW. The capablity of supporting a control channel or channels, and connectivity type or types used over that control channel or channels MUST be signaled before the remote PE may send VCCV messages, and then only on the control channel or channels, and using the connectivity verification type or types indicated. If a PE receives VCCV messages prior to advertising capability for this message, it MUST discard these messages and not reply to them. In this case, the PE SHOULD increment an error counter and optionally issue a system and/or SNMP notification to indicate to the system administrator that this condition exists. When LDP is used as the PW signaling protocol the requesting PE indicates its configured VCCV capability or capabilities to the remote PE by including the VCCV parameter with appropriate options indicating which control channel types it supports in the interface parameter field of the PW ID FEC TLV (FEC 128) or in the sub-TLV interface parameter of the Genralized PW ID FEC TLV (FEC 129). The requesting PE MAY indicate that it supports multiple control channel options, and in doing so agrees to support any and all indicated types if transmitted to it. PWE3 Working Group Expires December 2006 [Page 9] draft-ietf-pwe3-vccv-09 VCCV June 1, 2006 Local policy may direct the PE to support certain OAM capability and to indicate it. The absence of the VCCV parameter indicates that no OAM functions are supported by the requesting PE, and thus the receiving PE MUST NOT send any VCCV control channel traffic to it. The reception of a VCCV parameter with no options set MUST be ignored as if one is not transmitted at all. The receiving PE similarly indicates its supported control channel types in the response. These may or may not be the same as the ones that were sent to it. The sender should examine the set that is returned to understand which control channels it may establish with the remote peer. Similarly, it MUST NOT send control channel traffic to the remove PE for which the remote PE has not indicated it supports. The exception to the rules given in the last two paragraphs above is when one side of the PW indicates no support for VCCV while the other indicates support for at least one control channel type. In this case, it is possible for one side of the PW to send VCCV messages (either requests or replies to requests). 6.1. Optional VCCV Parameter [PWE3CONTROL] defines an Interface Parameter field in the LDP PW ID FEC (FEC 128) and an Interface Parameters TLV in the LDP Generalized PW ID FEC (FEC 129) to signal different capabilities for specific PWs. We propose an optional parameter to be used to indicate the desire to use a control channel for VCCV. This is the VCCV parameter field. If FEC 128 is used the VCCV parameter field is carried in the Interface Parameters field. If FEC 129 is used it is carried as an Interface Parameter sub-TLV in the Interface Parameters TLV. The VCCV parameter ID is defined as follows in [PWE3IANA]: Parameter ID Length Description 0x0c 4 VCCV The format of the VCCV parameter field is 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 0 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 0x0c | 0x04 | CC Types | CV Types | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ The Control Channel (CC Types) type field defines a bitmask used to indicate the type of control channel(s) (i.e.: none, one or more) PWE3 Working Group Expires December 2006 [Page 10] draft-ietf-pwe3-vccv-09 VCCV June 1, 2006 that may be used to receive OAM control channel traffic on. If more than one control channel is specified, the router agrees to accept control traffic at any time over either control channel. If none of the types are supported, a CC Type Indicator of 0x00 SHOULD be trans- mitted to indicate this to the peer. However, if no capability is signaled, then the peer MUST assume that the peer is incapable of receiving VCCV and MUST NOT send any OAM control channel traffic to it. 0x00 None. 0x01 PWE3 control word with 0x0001 as first nibble 0x02 MPLS Router Alert Label 0x04 MPLS PW Demultiplexor Label TTL = 1 The CV Type Indicators field is a bitmask used to indicate the spe- cific type or types (i.e.: none, one or more) of control channel packets that may be sent on the specified control channel. The defined values are: 0x00 None. 0x01 ICMP Ping 0x02 LSP Ping 0x04 BFD for PW Fault Detection only 0x08 BFD for PW Fault Detection and AC/PW Fault Status Signaling It should be noted that two different CV Types have been defined when BFD is used. In the first case, type 0x04 indicates that BFD is used exclusively to detect faults on the PW and the status of those faults should be conveyed using some means other than BFD. In the case of type 0x08, the AC and PW status SHOULD be conveyed via BFD status codes as specified in [OAM-MAP]. Implementations SHOULD NOT include both type 0x04 and 0x08 in a capability advertisement due to the complexity of supporting both simultaneously to avoid ambiguity and confusion about how to process and transmit pseudowire status. If none of the types above are supported, a CV Type Indicator of 0x00 SHOULD be transmitted to indicate this to the peer. However, if no capability is signaled, then the peer MUST assume that the peer has no VCCV capability. 7. VCCV Control Channel for L2TPv3/IP PSN When L2TPv3 is used to setup a PW over an IP PSN, VCCV packets are carried over the L2TPv3 session as defined in this section. L2TPv3 provides a "Hello" keepalive mechanism for the L2TPv3 control plane PWE3 Working Group Expires December 2006 [Page 11] draft-ietf-pwe3-vccv-09 VCCV June 1, 2006 that operates in-band over IP or UDP (see Section 4.4 of [L2TPv3]). This built-in Hello facility provides dead peer and path detection only for the group of sessions associated with the L2TP Control Connection. VCCV, however, allows individual L2TP sessions to be tested. This provides a more granular mechanism which can be used to troubleshoot potential problems within the dataplane of L2TP endpoints themselves, or to provide additional connection status of individual Pseudowires. In order to carry VCCV messages within an L2TPv3 session data packet, the PW MUST be established such that an L2-Specific Sublayer (L2SS) that defines the V-bit is present. This document defines the V-bit for the Default L2-Specific Sublayer [L2TPv3] and the ATM-Specific Sublayer [L2TPv3-ATM] using the Bit 0 position (see Section 8.2.2 and Section 8.2.3). The L2-Specific Sublayer presence and type (either the Default or a PW-Specific L2SS) is signaled via the L2-Specific Sublayer AVP, Attribute Type 69, as defined in [L2TPv3]. The V-bit within the L2-Specific Sublayer is used to identify that a VCCV message follows, and when the V-bit is set the L2SS has the following 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |1|0 0 0|Version| Reserved | Channel Type | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ L2-Specific Sublayer Format when the V-bit (bit 0) is set The VCCV messages are distinguished from user data by the V-bit. The V-bit is set to 1, indicating that a VCCV session message follows. The next three bits MUST be set to 0 when sending and ignored upon receipt. The remaining fields comprising 28 bits (i.e., Version, Reserved and Channel Type) follow the same definition, format and values from Section 5 of [RFC4385]. 7.1. L2TPv3 VCCV Message The VCCV message over L2TPv3 directly follows the L2-Specific Sublayer with the V-bit set. It could either contain an ICMP Echo packet as described in Section 7.1.1, or a BFD packet as described in Section 7.1.2. 7.1.1. L2TPv3 VCCV using ICMP Ping When this connectivity verification mode is used, an ICMP Echo packet PWE3 Working Group Expires December 2006 [Page 12] draft-ietf-pwe3-vccv-09 VCCV June 1, 2006 [ICMP] achieves connectivity verification. The ICMP Ping packet directly follows the L2SS with the V-bit set. In the ICMP Echo request, the IP Header fields MUST have the following values: the destination IP address is set to the remote LCCE's IP address for the tunnel endpoint, the source IP address is set to the local LCCE's IP address for the tunnel endpoint, and the TTL is set to 1. 7.1.2. L2TPv3 VCCV using BFD When BFD is used as the connectivity verification mode for L2TPv3 Pseudowires, a BFD packet is used to verify the session. The BFD packet is encapsulated in IP/UDP as specified in [BFDV4V61HOP] and directly follows the L2SS with the V-bit set. When heart-beat indication is necessary for one or more PWs, the Bidirectional Forwarding Detection (BFD) [BFD] provides a means of continuous monitoring of the PW data path and propagation of forward and reverse defect indications. To use BFD, both ends of the Pseudowire MUST have signaled a VCCV control channel capability and the ability to run BFD. Once an LCCE has both signaled and received signaling from its peer of a VCCV control channel and BFD connectivity verification capabilities, it MUST begin sending BFD control packets. The packets MUST be sent on the VCCV control channel. The use of the VCCV control channel provides the context required to bind the BFD session to a particular L2TPv3 session (PW). Thus normal single-hop BFD initialization procedures SHOULD be followed [BFD]. BFD MUST be run in asynchronous mode. The VCCV message comprises a BFD control packet [BFD] encapsulated in IP/UDP as specified in Section 4 of [BFDV4V61HOP]. The L2TPv3 Session ID provides the context to demultiplex the first BFD control packet. 7.2. L2TPv3 VCCV Capability Indication An new optional AVP is defined in Section 7.2.1 to indicate the the VCCV capabilities during session establishment. An LCCE MUST signal its desire to use connectivity verification for a particular L2TPv3 session and its VCCV capabilities using the VCCV Capability AVP. 7.2.1. L2TPv3 VCCV Capability AVP The "VCCV Capability AVP", Attribute type AVP-TBD, specifies the VCCV capabilities as a pair of bitflags for the Control Channel (CC) and Connectifity Verification (CV) Types. This AVP is exchanged during session establishment (in ICRQ, ICRP, OCRQ or OCRP messages). The PWE3 Working Group Expires December 2006 [Page 13] draft-ietf-pwe3-vccv-09 VCCV June 1, 2006 value field has the following format: VCCV Capability AVP (ICRQ, ICRP, OCRQ, OCRP) 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CC Types | CV Types | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ CC Types: The Control Channel (CC) Types field defines a bitmask used to indicate the type of control channel(s) that may be used to receive OAM traffic on for the given Session. The router agrees to accept VCCV traffic at any time over any of the signaled VCCV control channel types. Although there is only one value defined in this document, the CC Types field is included for forward compatibility should further CC Types need to be defined in the future. 0x01 L2-Specific Sublayer with V-bit set. A CC Type of 0x01 may only be requested when there is an L2-Specific Sublayer that defines the V-bit present. If a CC Type of 0x01 is requested without requesting an L2-Specific Sublayer AVP with an L2SS type that defines the V-bit, the session MUST be disconnected with a CDN message. If no CC Type is supported, a CC Type Indicator of 0x00 SHOULD be sent. CV Types: The Connectifity Verification (CV) Types field defines a bitmask used to indicate the specific type or types (i.e.: none, one or more) of IP control packets that may be sent on the specified VCCV control channel. The defined values are: 0x01 ICMP Ping 0x02 BFD for PW Fault Detection only 0x04 BFD for PW Fault Detection and AC/PW Fault Status Signaling For CV Type of 0x02, BFD is used exclusively to detect faults on the Session and the status of those faults should be conveyed using some means other than BFD, such as using the Circuit Status AVP in an L2TPv3 SLI message. For CV Type of 0x04, the AC and PW PWE3 Working Group Expires December 2006 [Page 14] draft-ietf-pwe3-vccv-09 VCCV June 1, 2006 status SHOULD be conveyed via BFD status codes. Implementations SHOULD NOT include both CV types of 0x02 and 0x04 simultaneously in a capability advertisement due to the complexity of supporting both simultaneously to avoid ambiguity and confusion about how to process and transmit Pseudowire status. If none of the types above are supported, a CV Type Indicator of 0x00 SHOULD be transmitted to indicate this to the peer LCCE. If no VCCV Capability AVP is signaled, then the LCCE MUST assume that the peer is incapable of receiving VCCV and MUST NOT send any OAM control channel traffic to it. All L2TP AVPs have an M (Mandatory) bit, H (Hidden) bit, Length, and Vendor ID. The Vendor ID for the VCCV Capability AVP MUST be 0, indicating that this is an IETF-defined AVP. This AVP MAY be hidden (the H bit MAY be 0 or 1). The M bit for this AVP SHOULD be set to 0. The Length (before hiding) of this AVP is 8. 7.3. L2TPv3 VCCV Operation An LCCE sends VCCV echo requests on an L2TPv3 signaled Pseudowire for fault detection and diagnostic of the L2TPv3 session. The VCCV message travels inband with the Session and follows the exact same path as the user data for the session, because the IP header and L2TPv3 Session header are identical. The egress LCCE of the L2TPv3 session intercepts and processes the VCCV message, and verifies the signaling and forwarding state of the Pseudowire on reception of the VCCV message. Any faults detected can be signaled in the VCCV response. It is to be noted that the VCCV mechanism for L2TPv3 is primarily targeted at verifying the Pseudowire forwarding and signaling state at the egress LCCE. It also helps when L2TPv3 Control Connection and Session paths are not identical. An LCCE MUST NOT send VCCV packets on a L2TPv3 session unless it has received VCCV capability by means of the VCCV Capability AVP from the remote end. If an LCCE receives VCCV packets and its not VCCV capable or it has not sent VCCV capability indication to the remote end, it MUST discard these messages. It should also increment an error counter. In this case the LCCE MAY optionally issue a system and/or SNMP notification. Additionally, because BFD is bidirectional in nature, when using BFD as the connectivity verification type, an LCCE must send VCCV packets on a L2TPv3 session only if it has signaled VCCV capability with BFD CV Type to the remote end and received VCCV capability with BFD CV Type from the remote end. PWE3 Working Group Expires December 2006 [Page 15] draft-ietf-pwe3-vccv-09 VCCV June 1, 2006 8. IANA Considerations 8.1. VCCV Parameter ID The VCCC parameter ID codepoint is defined in [PWE3IANA]. IANA is requested to maintain a registry for the CC Types and CV Types, and bitmasks in the VCCV Parameter ID. The allocations must be done using the "First Come First Served" policy defined in RFC2434. IANA is requested to maintain the following registries. 8.1.1. CC Types IANA needs to set up a registry of "VCCV Control Channel Types". These are 8-bit values. CV Type values 0x01, 0x02, and 0x04 are specified in this document, PW Type values 0x08, 0x16 and 0x24 are to be assigned by IANA using the "Expert Review" policy defined in [RFC2434]. A VCCV Control Channel Type description is required for any assignment from this registry. A document reference should also be provided. 0x00 None 0x01 PWE3 control word with 0x0001 as first nibble as defined in [PW-CW] 0x02 MPLS Router Alert Label 0x04 MPLS PW Demultiplexor Label TTL = 1 8.1.2. CV Types IANA needs to set up a registry of "VCCV Control Channel Types". These are 8-bit values. CV Type values 0x00, 0x01, 0x02, and 0x04 are specified in this document, CV Type values 0x16 and 0x24 are to be assigned by IANA using the "Expert Review" policy defined in [RFC2434]. A VCCV CV Type description is required for any assignment from this registry. A document reference should also be provided. 0x00 None 0x01 ICMP Ping 0x02 LSP Ping 0x04 BFD for PW Fault Detection only 0x08 BFD for PW Fault Detection and AC/PW Fault Status Signaling 8.1.3 Channel Type PWE3 Working Group Expires December 2006 [Page 16] draft-ietf-pwe3-vccv-09 VCCV June 1, 2006 The Channel Type codepoint is defined in [PW-CW]. IANA is requested to maintain a registry for the Channel Types from that document. The allocations must be done using the "First Come First Served" policy defined in RFC2434. IANA is requested to maintain the following registries. 0x00 OAM Indication (VCCV) 8.2. L2TPv3 Assignments Sections 8.2.1 through 8.2.3 are registrations of new L2TP values for name spaces already managed by IANA. Section 8.2.4 requests a new registry to be added to the existing L2TP registry, and be maintained by IANA accordingly. 8.2.1. Control Message Attribute Value Pairs (AVPs) An additiona AVP Attribute is specified in Section 7.2.1. It is required to be defined by IANA as described in Section 2.2 of [RFC3438]. Attribute Type Description --------- ---------------------------------- AVP-TBD VCCV Capability AVP 8.2.2. Default L2-Specific Sublayer bits The Default L2-Specific Sublayer contains 8 bits in the low-order portion of the header. This document defines one reserved bits in the Default L2-Specific Sublayer in Section 7, which may be assigned by IETF Consensus [RFC2434]. It is required to be assigned by IANA. Default L2-Specific Sublayer bits - per [L2TPv3] --------------------------------- Bit 0 - V (VCCV) bit 8.2.3. ATM-Specific Sublayer bits The ATM-Specific Sublayer contains 8 bits in the low-order portion of the header. This document defines one reserved bits in the ATM- Specific Sublayer in Section 7, which may be assigned by IETF Consensus [RFC2434]. It is required to be assigned by IANA. ATM-Specific Sublayer bits - per [L2TPv3-ATM] -------------------------- PWE3 Working Group Expires December 2006 [Page 17] draft-ietf-pwe3-vccv-09 VCCV June 1, 2006 Bit 0 - V (VCCV) bit 8.2.4. VCCV Capability AVP Values This is a new registry for IANA to maintain. IANA is requested to maintain a registry for the CC Types and CV Types bitmasks in the VCCV Capability AVP, defined in Section 7.2.1. The allocations must be done using the "Expert Review" policy defined in [RFC2434]. A VCCV CC or CV Type description is required for any assignment from this registry. A document reference should also be provided. IANA is requested to reserve the following bits in this registry: VCCV Capability AVP (Attribute Type AVP-TBD) Values --------------------------------------------------- Control Channel (CC) Types Bit 0 (0x01) - L2-Specific Sublayer with V-bit set. Bit 1 (0x02) - Reserved Bit 2 (0x04) - Reserved Bit 3 (0x08) - Reserved Bit 4 (0x10) - Reserved Bit 5 (0x20) - Reserved Bit 6 (0x40) - Reserved Bit 7 (0x80) - Reserved Connectifity Verification (CV) Types Bit 0 (0x01) - ICMP Ping Bit 1 (0x02) - BFD for PW Fault Detection only Bit 2 (0x04) - BFD for PW Fault Detection and AC/PW Fault Status Signaling Bit 3 (0x08) - Reserved Bit 4 (0x10) - Reserved Bit 5 (0x20) - Reserved Bit 6 (0x40) - Reserved Bit 7 (0x80) - Reserved 9. Security Considerations Routers that implement the mechanism described herein are subject to to additional denial-of-service attacks as follows: An intruder may impersonate an LDP peer in order to PWE3 Working Group Expires December 2006 [Page 18] draft-ietf-pwe3-vccv-09 VCCV June 1, 2006 force a failure and reconnection of the TCP connection. Please see the Security Considerations section of [RFC3036] details. An intruder could intercept or inject VCCV packets effectively providing false positives or false negatives. An intruder could deliberately flood a peer router with VCCV messages to either obtain services without authorization or to deny services to others. A misconfigured or misbehaving device could inadvertantly flood a peer router with VCCV messages which could result in a denial of services. In particular, if a router is either implicitly or explicitly indicated that it cannot support one or all of the types of VCCV, but is sent those messages in sufficient quantity, could result in a denial of service. All of attacks above which concern the L2TPv3 or LDP control planes may be countered by use of a control message authentication scheme between LDP or L2TPv3 peers, such as the MD5-based scheme outlined in [LDP] or [L2TPv3]. Implementation of IP address filters may also aid in deterring these types of attacks. VCCV message throttling mechanisms should be employed, especially in distributed implementations which have a centralized control plane processor with various line cards attached by some data path. In these architectures VCCV messages may be processed on the central processor after being forwarded there by the receiving line card. In this case, the path between the line card and the control processor may become saturated if appropriate VCCV traffic throttling is not employed, which could lead to a denial of service. Such filtering is also useful for preventing the processing of unwanted VCCV messages, such as those which are sent on unwanted (and perhaps unadvertised) control channel types or VCCV types. VCCV spoofing requires MPLS PW label spoofing and spoofing the PSN tunnel header. As far as the PW label is concerned the same consider- ations as specified in [RFC3031] apply. If the PSN is a MPLS tunnel, PSN tunnel label spoofing is also required. 10. Acknowledgements The authors would like to thank Hari Rakotoranto, Michel Khouderchah, Bertrand Duvivier, Vanson Lim, Chris Metz, W. Mark Townsley, Eric Rosen, Dan Tappan,Danny McPherson and Luca Martini for their valuable comments and suggestions. PWE3 Working Group Expires December 2006 [Page 19] draft-ietf-pwe3-vccv-09 VCCV June 1, 2006 11. References 11.1. Normative References [RFC2119] "Key words for use in RFCs to Indicate Requirement Levels.", Bradner, March 1997 [BFD] Katz, D., Ward, D., Bidirectional Forwarding Indication, draft-ietf-bfd-03.txt, July 2005 [PWE3IANA] Martini, L., Townsley, M., "IANA Allocations for pseudo Wire Edge to Edge Emulation (PWE3)", draft-ietf-pwe3-iana-allocation-11.txt, June 2005. [IANAPPP] IANA Point-to-Point Protocol Field Assignments, April 12, 2004, http://www.iana.org/assignments/ppp-numbers [LSPPING] Kompella, K., G. Swallow, " Detecting MPLS Data Plane Failures", Internet Draft draft-ietf-mpls-lsp-ping-09.txt, May 2005. [PWCTRL] Martini, L., et. al., "Pseudo Wire Setup and Maintenance using LDP", draft-ietf-pwe3-control-protocol-17.txt, June 2005 [ENETENCAP] Martini, L., et. al., "Encapsulation Methods for Trans- port of Ethernet Frames Over IP/MPLS Networks", draft-ietf-pwe3-ethernet-encap-10.txt, June 2005. [RFC3032] Rosen, E., Rehter, Y., Tappan, D., Farinacci, D., Fedorkow, G., Li, T. and A. Conta, "MPLS Label Stack Encoding", RFC 3032, January 2001. [L2TPv3] J. Lau, M. Townsley, I. Goyret, "Layer Two Tunneling Protocol version 3", draft-ietf-l2tpext-l2tp-base-12.txt, March 2004. [ICMP] Postel, J. "Internet Control Message Protocol, RFC 792 [LDP] Andersson, L., Doolan, P., Feldman, N., Fredette, A. and B. Thomas, "Label Distribution Protocol", RFC 3036, January 2001. PWE3 Working Group Expires December 2006 [Page 20] draft-ietf-pwe3-vccv-09 VCCV June 1, 2006 [RFC3031] Rosen, E., Viswanathan, A., and R. Callon, "Multiprotocol Label Switching Architecture", RFC 3031, January 2001. [PW-CW] S. Bryant et. al., "PWE3 Control Word for use over an MPLS PSN", draft-ietf-pwe3-cw-05.txt, June 2005. 11.2. Informative References [MPLSOAMREQS] Nadeau, T., et al,"OAM Requirements for MPLS Networks, Internet Draft draft-ietf-oam-requirements-02.txt, June 2003. [PWEARCH] Bryant, S., Pate, P., "PWE3 Architecture", RFC 3985, March 2005 [PWREQ] Xiao, X., McPherson, D., Pate, P., "Requirements for Pseudo Wire Emulation Edge to-Edge (PWE3)", draft-ietf-pwe3-requirements-08.txt, December 2003 [BFDMPLS] R. Aggarwal, et al, "BFD for MPLS LSPs", Internet Draft , June 2005. [RFC2434] Narten, T. and H. Alvestrand., "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 2434, October 1998. [OAM-MAP] T. Nadeau, et. al, "Pseudo Wire (PW) OAM Message Map- ping", draft-ietf-pwe3-oam-msg-map-03.txt, September 2005 [RFC3036] Andersson, L, et al., "LDP Specification", RFC3036, January 2001. [RFC3438] Townsley, W., "Layer Two Tunneling Protocol (L2TP) Internet Assigned Numbers Authority (IANA) Considerations Update", BCP 68, RFC 3438, December 2002. [L2TPv3-ATM] Singh, S., "ATM over L2TPv3", draft-ietf-l2tpext-pwe3-atm-04 (work in progress), January 2006. [BFDV4V61HOP] Katz, D. and D. Ward, "BFD for IPv4 and IPv6 (Single Hop)", draft-ietf-bfd-v4v6-1hop-04 (work in progress), October 2005. PWE3 Working Group Expires December 2006 [Page 21] draft-ietf-pwe3-vccv-09 VCCV June 1, 2006 12. Editor Information Thomas D. Nadeau Cisco Systems, Inc. 300 Beaver Brook Road Boxborough, MA 01719 Email: tnadeau@cisco.com Rahul Aggarwal Juniper Networks 1194 North Mathilda Ave. Sunnyvale, CA 94089 Email: rahul@juniper.net 13. Contributor Information George Swallow Cisco Systems, Inc. 300 Beaver Brook Road Boxborough, MA 01719 Email: swallow@cisco.com Monique Morrow Cisco Systems, Inc. Glatt-com CH-8301 Glattzentrum Switzerland Email: mmorrow@cisco.com Yuichi Ikejiri NTT Communication Corporation 1-1-6, Uchisaiwai-cho, Chiyoda-ku Tokyo 100-8019 Shinjuku-ku, JAPAN Email: y.ikejiri@ntt.com Kenji Kumaki KDDI Corporation KDDI Bldg. 2-3-2, Nishishinjuku, Tokyo 163-8003, JAPAN E-mail: ke-kumaki@kddi.com Peter B. Busschbach Lucent Technologies PWE3 Working Group Expires December 2006 [Page 22] draft-ietf-pwe3-vccv-09 VCCV June 1, 2006 67 Whippany Road Whippany, NJ, 07981 E-mail: busschbach@lucent.com Vasile Radoaca Nortel Networks Billerica, MA, 01803 Email: vasile@nortelnetworks.com Carlos Pignataro Cisco Systems, Inc. 7025 Kit Creek Road PO Box 14987 Research Triangle Park, NC 27709 EMail: cpignata@cisco.com 14. Intellectual Property Statement The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79. Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf- ipr@ietf.org. 15. Full Copyright Statement Copyright (C) The Internet Society (2006). This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights. PWE3 Working Group Expires December 2006 [Page 23] draft-ietf-pwe3-vccv-09 VCCV June 1, 2006 This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. PWE3 Working Group Expires December 2006 [Page 24]