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 <draft-ietf-bfd-mpls-02.txt>, 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]