RFC 6310

Pseudowire (PW) Operations, Administration, and Maintenance (OAM) Message Mapping

πŸ“… published July 2011, from ietf

RFC 6310: Pseudowire (PW) Operations, Administration, and Maintenance (OAM) Message Mapping πŸŽ€

Okay bestie, this is RFC 6310 from the Internet Engineering Task Force (IETF) 🌸 It's a Standards Track doc, dated July 2011, with ISSN 2070-1721. The authors are M. Aissaoui, P. Busschbach (Alcatel-Lucent), L. Martini, M. Morrow (Cisco Systems, Inc.), T. Nadeau (CA Technologies), and Y(J). Stein (RAD Data Communications) 🧚 The title block doesn't list anything it obsoletes or updates, so there's zero drama there πŸ’…

Abstract ✨

This doc is all about mapping and notifying defect states between a pseudowire (PW) and the Attachment Circuits (ACs) of the end-to-end emulated service πŸ¦‹ It standardizes how Provider Edges (PEs) behave when there's a PW or AC defect. It covers ATM, Frame Relay, Time Division Multiplexing (TDM), and Synchronous Optical Network / Synchronous Digital Hierarchy (SONET/SDH) PW services, carried over MPLS, MPLS/IP, and Layer 2 Tunneling Protocol version 3/IP (L2TPv3/IP) Packet Switched Networks (PSNs) πŸ’–

Status of This Memo πŸ“œ

This is an Internet Standards Track document πŸ”₯

It's a product of the Internet Engineering Task Force (IETF), and it represents the consensus of the IETF community 🫢 It got public review and was approved for publication by the Internet Engineering Steering Group (IESG). For more on Internet Standards, check Section 2 of RFC 5741 🌈

Info about the current status of this document, any errata, and how to send feedback is at http://www.rfc-editor.org/info/rfc6310 πŸ’œ

Copyright (c) 2011 IETF Trust and the persons identified as the document authors. All rights reserved. πŸŽ€

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) as they stand on the date this document was published. Please read these carefully, because they spell out your rights and restrictions for this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions, and they come without warranty as described in the Simplified BSD License 😭

This document may contain material from IETF Documents or IETF Contributions published or made publicly available before November 10, 2008. The person(s) controlling the copyright in some of that material may not have given the IETF Trust permission to allow modifications outside the IETF Standards Process. Unless you get an adequate license from those copyright holders, this document may not be modified outside the IETF Standards Process, and derivative works of it may not be created outside the IETF Standards Process. The exceptions are formatting it for publication as an RFC or translating it into languages other than English πŸ™ˆ


Table of Contents πŸ—‚οΈ

1. Introduction ....................................................4
2. Abbreviations and Conventions ...................................5
   2.1. Abbreviations ..............................................5
   2.2. Conventions ................................................6
3. Reference Model and Defect Locations ............................7
4. Abstract Defect States ..........................................8
5. OAM Modes .......................................................9
6. PW Defect States and Defect Notifications ......................11
   6.1. PW Defect Notification Mechanisms .........................11
        6.1.1. LDP Status TLV .....................................13
        6.1.2. L2TP Circuit Status AVP ............................14
        6.1.3. BFD Diagnostic Codes ...............................16
   6.2. PW Defect State Entry/Exit ................................18
        6.2.1. PW Receive Defect State Entry/Exit Criteria ........18
        6.2.2. PW Transmit Defect State Entry/Exit Criteria .......19
7. Procedures for ATM PW Service ..................................19
   7.1. AC Receive Defect State Entry/Exit Criteria ...............19
   7.2. AC Transmit Defect State Entry/Exit Criteria ..............20
   7.3. Consequent Actions ........................................21
        7.3.1. PW Receive Defect State Entry/Exit .................21
        7.3.2. PW Transmit Defect State Entry/Exit ................21
        7.3.3. PW Defect State in ATM Port Mode PW Service ........22
        7.3.4. AC Receive Defect State Entry/Exit .................22
        7.3.5. AC Transmit Defect State Entry/Exit ................23
8. Procedures for Frame Relay PW Service ..........................24
   8.1. AC Receive Defect State Entry/Exit Criteria ...............24
   8.2. AC Transmit Defect State Entry/Exit Criteria ..............24
   8.3. Consequent Actions ........................................24
        8.3.1. PW Receive Defect State Entry/Exit .................24
        8.3.2. PW Transmit Defect State Entry/Exit ................25
        8.3.3. PW Defect State in the FR Port Mode PW Service .....25
        8.3.4. AC Receive Defect State Entry/Exit .................25
        8.3.5. AC Transmit Defect State Entry/Exit ................26
9. Procedures for TDM PW Service ..................................26
   9.1. AC Receive Defect State Entry/Exit Criteria ...............27
   9.2. AC Transmit Defect State Entry/Exit Criteria ..............27
   9.3. Consequent Actions ........................................27
        9.3.1. PW Receive Defect State Entry/Exit .................27
        9.3.2. PW Transmit Defect State Entry/Exit ................27
        9.3.3. AC Receive Defect State Entry/Exit .................28
10. Procedures for CEP PW Service .................................28
    10.1. Defect States ............................................29
          10.1.1. PW Receive Defect State Entry/Exit ................29
          10.1.2. PW Transmit Defect State Entry/Exit ...............29
          10.1.3. AC Receive Defect State Entry/Exit ................29
          10.1.4. AC Transmit Defect State Entry/Exit ...............30

    10.2. Consequent Actions .......................................30
          10.2.1. PW Receive Defect State Entry/Exit ................30
          10.2.2. PW Transmit Defect State Entry/Exit ...............30
          10.2.3. AC Receive Defect State Entry/Exit ................30
11. Security Considerations .......................................31
12. Contributors and Acknowledgments ..............................31
13. References ....................................................32
    13.1. Normative References .....................................32
    13.2. Informative References ...................................34
Appendix A. Native Service Management (Informative) ...............36
  A.1. Frame Relay Management .....................................36
  A.2. ATM Management .............................................37
Appendix B. PW Defects and Detection Tools ........................38
  B.1. PW Defects .................................................38
  B.2. Packet Loss ................................................38
  B.3. PW Defect Detection Tools ..................................38
  B.4. PW Specific Defect Detection Mechanisms ....................39

1. Introduction ✨

This document specifies the mapping and notification of defect states between a pseudowire and the Attachment Circuits (AC) of the end-to-end emulated service πŸ’– It covers the case where the ACs and the PWs are of the same type, in accordance with the Pseudowire Emulation Edge-to-Edge (PWE3) architecture [RFC3985], so that a homogeneous PW service can be built 🧚

This document is motivated by the requirements put forth in [RFC4377] and [RFC3916] πŸŽ€ Its goal is to standardize how PEs behave with respect to defects on PWs and ACs, so there's no ambiguity about the alarms generated and the consequent actions PEs take in response to specific failure conditions. No more guessing, periodt πŸ’…

This document addresses PWs over MPLS, MPLS/IP, L2TPv3/IP PSNs, ATM, Frame Relay, TDM, and SONET/SDH PW native services 🌈 Because of its unique characteristics, the Ethernet PW service is covered in a separate document [Eth-OAM-Inter] πŸ¦‹

This document provides procedures for PWs set up using Label Distribution Protocol (LDP) [RFC4447] or L2TPv3 [RFC3931] control protocols 🫢 We do mention fault reporting options for PWs established by other means (e.g., by static configuration or via BGP), but we don't give detailed procedures for those cases πŸ™ˆ

This document is scoped only to single segment PWs πŸ“ The mechanisms described here could also be applied to terminating PEs (T-PEs) for multi-segment PWs (MS-PWs) ([RFC5254]). Section 10 of [RFC6073] details the procedures for generating or relaying PW status by a switching PE (S-PE) ✨

2. Abbreviations and Conventions 🌸

2.1. Abbreviations πŸ’…

AAL5  ATM Adaptation Layer 5
AIS   Alarm Indication Signal
AC    Attachment Circuit
ATM   Asynchronous Transfer Mode
AVP   Attribute Value Pair
BFD   Bidirectional Forwarding Detection
CC    Continuity Check
CDN   Call Disconnect Notify
CE    Customer Edge
CV    Connectivity Verification
DBA   Dynamic Bandwidth Allocation
DLC   Data Link Connection
FDI   Forward Defect Indication
FR    Frame Relay
FRBS  Frame Relay Bearer Service
ICMP  Internet Control Message Protocol
LB    Loopback
LCCE  L2TP Control Connection Endpoint
LDP   Label Distribution Protocol
LSP   Label Switched Path
L2TP  Layer 2 Tunneling Protocol
MPLS  Multiprotocol Label Switching
NE    Network Element
NS    Native Service
OAM   Operations, Administration, and Maintenance
PE    Provider Edge
PSN   Packet Switched Network
PW    Pseudowire
RDI   Reverse Defect Indication
PDU   Protocol Data Unit
SDH   Synchronous Digital Hierarchy
SDU   Service Data Unit
SONET   Synchronous Optical Network
TDM   Time Division Multiplexing
TLV   Type Length Value
VCC   Virtual Channel Connection
VCCV  Virtual Connection Connectivity Verification
VPC   Virtual Path Connection

2.2. Conventions πŸ’…βœ¨

okay so first things first, bestie 🫢 "defect" and "fault" mean the exact same thing. both are any condition that negatively impacts forwarding of user traffic between the CE endpoints of the PW service. no cap, it's giving one vibe.

"defect notification" and "defect indication" are also interchangeable πŸ’–. they both mean any OAM message that a PE generates and sends to other nodes in the network to convey the defect state local to that PE.

the PW can be carried over three types of Packet Switched Networks (PSNs) πŸ¦‹:

  • an "MPLS PSN" uses MPLS Label Switched Paths [RFC3031] as the tunneling tech to forward the PW packets.
  • an "MPLS/IP PSN" uses MPLS-in-IP tunneling [RFC4023], with an MPLS shim header used as the PW demultiplexer.
  • an "L2TPv3/IP PSN" uses L2TPv3/IP [RFC3931] as the tunneling tech, with the L2TPv3/IP Session ID as the PW demultiplexer.

if LSP-Ping [RFC4379] is run over a PW as described in [RFC5085], it gets called "VCCV-Ping" 🌸. if BFD is run over a PW as described in [RFC5885], it gets called "VCCV-BFD" πŸ“.

PWs are inherently bidirectional entities, but defects and OAM messaging are tied to a specific traffic direction πŸ’œ. so we use "upstream" and "downstream" to identify PEs in relation to the traffic direction. a PE is upstream for the traffic it's forwarding and downstream for the traffic it's receiving.

we use "local" and "remote" to identify native service networks and ACs in relation to a specific PE. the local AC is attached to the PE in question, while the remote AC is attached to the PE at the other end of the PW.

a "transmit defect" is any defect that uniquely impacts traffic sent or relayed by the observing PE. a "receive defect" is any defect that impacts information transfer to the observing PE. note that a receive defect also impacts traffic meant to be relayed, so it can be considered to incorporate two defect states πŸ™ˆ. so when a PE enters both receive and transmit defect states of a PW service, the receive defect takes precedence over the transmit defect in terms of the consequent actions. the receive one literally wins πŸ‘‘

a "forward defect indication" (FDI) is sent in the same direction as the user traffic impacted by the defect ➑️. a "reverse defect indication" (RDI) is sent in the direction opposite to that of the impacted traffic ⬅️.

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]. πŸŽ€

3. Reference Model and Defect Locations 🧚

Figure 1 illustrates the PWE3 network reference model with the possible defect locations marked. this is the model the rest of the doc uses when it describes the OAM procedures, so keep it in your back pocket πŸ’–

                 ACs             PSN tunnel              ACs
                        +----+                  +----+
        +----+          | PE1|==================| PE2|          +----+
        |    |---(a)---(b)..(c)......PW1..(d)..(e)..(f)---(g)---|    |
        | CE1|   (N1)   |    |                  |    |    (N2)  |CE2 |
        |    |----------|............PW2.............|----------|    |
        +----+          |    |==================|    |          +----+
             ^          +----+                  +----+          ^
             |      Provider Edge 1         Provider Edge 2     |
             |                                                  |
             |<-------------- Emulated Service ---------------->|
       Customer                                                Customer
        Edge 1                                                  Edge 2

Figure 1: PWE3 Network Defect Locations

the procedures are described from the viewpoint of PE1, so N1 is the local native service network and N2 is the remote one πŸ’… PE2 will typically implement the same functionality. also, PE1 is the upstream PE for traffic coming from the local NS network N1, but it's the downstream PE for traffic coming from the remote NS network N2. PE1 is wearing two hats, periodt 🎩

here's a quick rundown of the defect locations:

  • a. Defect in NS network N1. This covers any defect in network N1 (including any CE1 defect) that impacts all or some ACs attached to PE1, so it's a local AC defect. The defect is conveyed to PE1 and to NS network N2 using NS specific OAM defect indications.
  • b. Defect on a PE1 AC interface (another local AC defect).
  • c. Defect on a PE1 PSN interface.
  • d. Defect in the PSN network. This covers any defect in the PSN that impacts all or some PWs between PE1 and PE2. The defect is conveyed to the PE using a PSN and/or a PW specific OAM defect indication. Note that both data plane defects and control plane defects must be taken into consideration 🫠 Although control messages may follow a different path than PW data plane traffic, a control plane defect may affect the PW status.
  • e. Defect on a PE2 PSN interface.
  • f. Defect on a PE2 AC interface (a remote AC defect).
  • g. Defect in NS network N2 (another remote AC defect). This covers any defect in N2 (including any CE2 defect) that impacts all or a subset of ACs attached to PE2. The defect is conveyed to PE2 and to NS network N1 using the NS OAM defect indication.

4. Abstract Defect States ⭐

PE1 must track four defect states that reflect the observed states of both directions of the PW service, on both the AC and the PW sides πŸ”₯ Defects may impact one or both directions of the PW service, so PE1 has to be ready for either.

the observed state is a combination of defects PE1 detects directly and defects it's been made aware of via notifications 🌈

                             +-----+
          ----AC receive---->|     |-----PW transmit---->
     CE1                     | PE1 |                       PE2/CE2
          <---AC transmit----|     |<----PW receive-----
                             +-----+
       (arrows indicate direction of user traffic impacted by a defect)

Figure 2: Receive and Transmit Defect States

PE1 will directly detect or be notified of AC receive or PW receive defects as they occur upstream of PE1 and impact traffic being sent to PE1. as a result, PE1 enters the AC or PW receive defect state πŸ¦‹

in Figure 2, PE1 may be notified of a receive defect in the AC by receiving a forward defect indication (e.g., ATM AIS) from CE1 or an intervening network. this defect notification means user traffic sent by CE1 may not be received by PE1 due to a defect. PE1 can also directly detect an AC receive defect if it resulted from a failure of the receive side in the local port or link over which the AC is configured.

similarly, PE1 may detect or be notified of a receive defect in the PW by receiving a forward defect indication from PE2. if the PW status TLV is used for fault notification, this message will indicate a Local PSN-facing PW (egress) Transmit Fault or a Local AC (ingress) Receive Fault at PE2, as described in Section 6.1.1. this defect notification means user traffic sent by CE2 may not be received by PE1 due to a defect. as a result, PE1 enters the PW receive defect state πŸ’–

Note that a forward defect indication is sent in the same direction as the user traffic impacted by the defect.

generally, a PE cannot detect transmit defects by itself, so it will need to be notified of AC transmit or PW transmit defects by other devices πŸ₯Ί

in Figure 2, PE1 may be notified of a transmit defect in the AC by receiving a reverse defect indication (e.g., ATM RDI) from CE1. this defect relates to the traffic sent by PE1 to CE1 on the AC.

similarly, PE1 may be notified of a transmit defect in the PW by receiving a reverse defect indication from PE2. if PW status is used for fault notification, this message will indicate a Local PSN-facing PW (ingress) Receive Fault or a Local Attachment Circuit (egress) Transmit Fault at PE2, as described in Section 6.1.1. this defect impacts the traffic sent by PE1 to CE2. as a result, PE1 enters the PW transmit defect state πŸ“

Note that a reverse defect indication is sent in the reverse direction to the user traffic impacted by the defect.

the procedures in this document define the entry and exit criteria for each of the four states, for the set of PW services within the document scope, plus the consequent actions that PE1 must perform πŸ“‹

when a PE enters both receive and transmit defect states related to the same PW service, the receive defect takes precedence over the transmit defect in terms of the consequent actions. receive wins, always πŸ‘‘

5. OAM Modes ✨

okay so a homogeneous PW service forwards packets between an AC and a PW of the same type, which means it handles both the NS OAM and the PW OAM mechanisms πŸ’… PW OAM defect notification messages are in Section 6.1, and NS OAM messages are in Appendix A πŸŽ€

This doc defines two OAM modes, and the only difference between them is how the NS and PW OAM defect notification messages get mapped to each other πŸ¦‹

The first one is the "single emulated OAM loop" mode, shown in Figure 3 🧚 Here, one end-to-end NS OAM loop gets emulated by transparently passing NS OAM messages over the PW. Heads up: the PW OAM is drawn outside the PW in Figure 3 because it rides in LDP messages or the associated channel, not inside the PW itself πŸ™ˆ

                   +-----+                 +-----+
  +-----+          |     |=================|     |          +-----+
  | CE1 |-=NS-OAM=>| PE1 |----=NS-OAM=>----| PE2 |-=NS-OAM=>| CE2 |
  +-----+          |     |=================|     |          +-----+
                   +-----+                 +-----+
                      \                       /
                       -------=PW-OAM=>-------

Figure 3: Single Emulated OAM Loop Mode

The single emulated OAM loop mode works like this πŸ’–

a. The upstream PE (PE1) MUST transparently relay NS OAM messages over the PW.

b. The upstream PE MUST signal local defects affecting the AC using an NS defect notification message sent over the PW. If it can't generate NS OAM messages (for example, because the defect is messing with NS OAM message generation), then the PE MUST signal local defects affecting the AC using a PW defect notification message instead ✨

c. The upstream PE MUST signal local defects affecting the PW using a PW defect notification message.

d. The downstream PE (PE2) MUST insert NS defect notification messages into its local AC whenever it detects or is notified of a defect in the PW or the remote AC. This includes translating received PW defect notification messages into NS defect notification messages for the defects the upstream PE signaled πŸ”₯

This mode is a great fit for PW services that have a widely deployed NS OAM mechanism πŸ‘‘ This document specifies using this mode for ATM PW, TDM PW, and Circuit Emulation over Packet (CEP) PW services. It's the default mode for all ATM cell mode PW services, and it's the only mode specified for CEP and Structure-Agnostic TDM over Packets / Circuit Emulation Service over Packet Switched Network (SAToP/CESoPSN) TDM PW services. It's optional for AAL5 PDU transport and AAL5 SDU transport modes 🌸

The second OAM mode runs three OAM loops that are joined at the AC/PW boundaries of the PEs. This is called the "coupled OAM loops" mode and it's shown in Figure 4 πŸ¦‹ Notice that, unlike Figure 3, NS OAM messages are never carried over the PW πŸ™…β€β™€οΈ

                   +-----+                 +-----+
  +-----+          |     |=================|     |          +-----+
  | CE1 |-=NS-OAM=>| PE1 |                 | PE2 |-=NS-OAM=>| CE2 |
  +-----+          |     |=================|     |          +-----+
                   +-----+                 +-----+
                      \                       /
                       -------=PW-OAM=>-------

Figure 4: Coupled OAM Loops Mode

The coupled OAM loops mode works like this 🌈

a. The upstream PE (PE1) MUST terminate and translate a received NS defect notification message into a PW defect notification message.

b. The upstream PE MUST signal local failures affecting its local AC using PW defect notification messages to the downstream PE.

c. The upstream PE MUST signal local failures affecting the PW using PW defect notification messages.

d. The downstream PE (PE2) MUST insert NS defect notification messages into the AC whenever it detects or is notified of defects in the PW or the remote AC. This includes translating received PW defect notification messages into NS defect notification messages πŸ’œ

This document specifies the coupled OAM loops mode as the default for the Frame Relay, ATM AAL5 PDU transport, and AAL5 SDU transport services. It's optional for ATM VCC cell mode services. It is not specified for TDM, CEP, or ATM VPC cell mode PW services. RFC 5087 defines a similar but different mode, which will be explained in Section 9 πŸ“š

For ATM VPC cell mode, a pure coupled OAM loops mode isn't possible, because a PE MUST transparently pass VC-level (F5) ATM OAM cells over the PW while it terminates and translates VP-level (F4) OAM cells 😭


6. PW Defect States and Defect Notifications πŸŽ€

6.1. PW Defect Notification Mechanisms

For MPLS and MPLS/IP PSNs, a PE that sets up a PW using the Label Distribution Protocol [RFC5036], and that has negotiated use of the LDP status TLV per Section 5.4.3 of [RFC4447], MUST use the PW status TLV mechanism for AC and PW status and defect notification. On top of that, such a PE MAY use VCCV-BFD Connectivity Verification (CV) for fault detection only (CV types 0x04 and 0x10 [RFC5885]) πŸ’…

A PE that sets up an MPLS PW using means other than LDP, e.g., static configuration or BGP, MUST support some alternative method of status reporting. Designing a suitable mechanism to carry the aforementioned status TLV in the PW associated channel is still work in progress [Static-PW-Status]. Additionally, such a PE MAY use VCCV-BFD CV for both fault detection and status notification (CV types 0x08 and 0x20 [RFC5885]) ✨

For an L2TPv3/IP PSN, a PE SHOULD use the Circuit Status Attribute Value Pair (AVP) as the mechanism for AC and PW status and defect notification. In its most basic form, the Circuit Status AVP [RFC3931] in a Set-Link-Info (SLI) message can signal active/inactive AC status. The Circuit Status AVP as described in [RFC5641] is proposed to be extended to convey status and defects in the AC and the PSN-facing PW in both ingress and egress directions. That's four independent status bits, without needing to tear down the sessions or the control connection πŸ¦‹

When a PE doesn't support the Circuit Status AVP, it MAY use the Stop-Control-Connection-Notification (StopCCN) and the Call-Disconnect-Notify (CDN) messages to tear down L2TP sessions, kind of like how LDP uses Label Withdrawal to tear down a PW 🫢 A PE may use the StopCCN to shut down the L2TP control connection, and implicitly all L2TP sessions tied to that control connection, without any explicit session control messages. This is useful when a failure impacts all L2TP sessions (all PWs) managed by the control connection. It MAY use CDN to disconnect a specific L2TP session when a failure only affects one specific PW 🧚

Additionally, a PE MAY use VCCV-BFD CV types 0x04 and 0x10 for fault detection only, but SHOULD notify the remote PE using the Circuit Status AVP. A PE that sets up a PW using means other than the L2TP control plane, e.g., static configuration or BGP, MAY use VCCV-BFD CV types 0x08 and 0x20 for AC and PW status and defect notification. These CV types SHOULD NOT be used when the PW is set up via the L2TP control plane 🌸

The CV types are defined in Section 6.1.3 of this document πŸ“–

6.1.1. LDP Status TLV

[RFC4446] defines the following PW status code points πŸ’–

0x00000000 -  Pseudowire forwarding (clear all failures)

0x00000001 -  Pseudowire Not Forwarding

0x00000002 -  Local Attachment Circuit (ingress) Receive Fault

0x00000004 -  Local Attachment Circuit (egress) Transmit Fault

0x00000008 -  Local PSN-facing PW (ingress) Receive Fault

0x00000010 -  Local PSN-facing PW (egress) Transmit Fault

[RFC4447] specifies that the "Pseudowire forwarding" code point is used to indicate that all faults are to be cleared. It also specifies that the "Pseudowire Not Forwarding" code point means a defect has been detected that isn't represented by the defined code points πŸ™ˆ

The code points used in the LDP status TLV in a PW status notification message report defects from the viewpoint of the originating PE. The originating PE conveys this state in the form of a forward defect or a reverse defect indication πŸ”₯

The forward and reverse defect indication definitions used in this document map to the LDP Status TLV codes like this πŸ“

      Forward defect indication corresponds to the logical OR of:

        *  Local Attachment Circuit (ingress) Receive Fault,

        *  Local PSN-facing PW (egress) Transmit Fault, and

        *  PW Not Forwarding.

      Reverse defect indication corresponds to the logical OR of:

        *  Local Attachment Circuit (egress) Transmit Fault and

        *  Local PSN-facing PW (ingress) Receive Fault.

A PE MUST use PW status notification messages to report all defects affecting the PW service, including but not restricted to the following πŸ‘‘

  • defects detected through fault detection mechanisms in the MPLS and MPLS/IP PSN,
  • defects detected through VCCV-Ping or VCCV-BFD CV types 0x04 and 0x10 for fault detection only,
  • defects within the PE that result in an inability to forward traffic between the AC and the PW,
  • defects of the AC or in the Layer 2 network affecting the AC, as per the rules detailed in Section 5 for the "single emulated OAM loop" mode and "coupled OAM loops" modes.
Heads up: there are two situations that call for PW label withdrawal instead of a PW status notification from the PE 🚨 The first is when the PW is taken down administratively, in accordance with [RFC4447]. The second is when the Target LDP session between the two PEs is lost. In that second case, the PW labels will need to be re-signaled once the Targeted LDP session is re-established πŸ₯Ή

6.1.2. L2TP Circuit Status AVP ✨

okay so [RFC3931] is where the Circuit Status AVP lives πŸ’… It rides inside the Set-Link-Info (SLI) message and it's how you swap the initial status and any status changes for the circuit the pseudowire is bound to. Then [RFC5641] adds extensions to that AVP that are basically the L2TPv3/IP twin of the PW Status TLV from LDP πŸ¦‹ So for L2TPv3/IP, the Circuit Status AVP gets used the exact same way as the PW Status from the previous section. The extended circuit status for L2TPv3/IP is all in [RFC5641] πŸ’–

If the extended Circuit Status bits aren't supported and you're only working with the "A bit" (Active) from [RFC3931], a PE MAY use CDN messages to clear L2TPv3/IP sessions when there are session-level failures in the L2TPv3/IP PSN 🌸

A PE MUST set the Active bit in the Circuit Status to clear all faults, and it MUST clear the Active bit in the Circuit Status to convey any defect that can't be shown with specific Circuit Status flags from [RFC3931] or [RFC5641] πŸ”₯

The forward and reverse defect indication definitions in this document map to the L2TP Circuit Status AVP like this 🌈

      Forward defect indication corresponds to the logical OR of:

        *  Local Attachment Circuit (ingress) Receive Fault,

        *  Local PSN-facing PW (egress) Transmit Fault, and

        *  PW Not Forwarding.

      Reverse defect indication corresponds to the logical OR of:

        *  Local Attachment Circuit (egress) Transmit Fault and

        *  Local PSN-facing PW (ingress) Receive Fault.

The status notification conveys defects from the viewpoint of the originating LCCE (PE) πŸ‘‘

When the extended Circuit Status definition of [RFC5641] is supported, a PE SHALL use the Circuit Status to report all failures affecting the PW service, including but not restricted to, the following 🫢

  • defects detected through defect detection mechanisms in the L2TPv3/IP PSN,
  • defects detected through VCCV-Ping or VCCV-BFD CV types 0x04 (BFD IP/UDP-encapsulated, for PW Fault Detection only) and 0x10 (BFD PW-ACH-encapsulated (without IP/UDP headers), for PW. Fault Detection and AC/PW Fault Status Signaling) for fault detection only, which are described in Section 6.1.3 of this document,
  • defects within the PE that result in an inability to forward traffic between the AC and the PW,
  • defects of the AC or in the L2 network affecting the AC as per the rules detailed in Section 5 for the "single emulated OAM loop" mode and the "coupled OAM loops" modes.

When the extended Circuit Status definition of [RFC5641] is not supported, a PE SHALL use the A bit in the Circuit Status AVP in the SLI to report πŸ™ˆ

  • defects of the AC or in the L2 network affecting the AC as per the rules detailed in Section 5 for the "single emulated OAM loop" mode and the "coupled OAM loops" modes.

When the extended Circuit Status definition of [RFC5641] is not supported, a PE MAY use the CDN and StopCCN messages in a similar way to an MPLS PW label withdrawal to report 🧚

  • defects detected through defect detection mechanisms in the L2TPv3/IP PSN (using StopCCN),
  • defects detected through VCCV (pseudowire level) (using CDN),
  • defects within the PE that result in an inability to forward traffic between ACs and PW (using CDN).

For ATM L2TPv3/IP pseudowires, in addition to the Circuit Status AVP, a PE MAY use the ATM Alarm Status AVP [RFC4454] to indicate the reason for the ATM circuit status and the specific alarm type, if any. This AVP is sent in the SLI message to add extra info about the ATM circuit status πŸ“

L2TP control connections use Hello messages as a keep-alive facility. It's important to note that if PSN failure is detected by keep-alive timeout, the control connection is cleared. L2TP Hello messages are sent in-band so they follow the data plane with respect to the source and destination addresses, IP protocol number, and UDP port (when UDP is used) πŸ’œ


6.1.3. BFD Diagnostic Codes

BFD [RFC5880] defines a set of diagnostic codes that partially overlap with the defects that can be communicated through the LDP Status TLV or the L2TP Circuit Status AVP. This section describes how PEs behave when they use one or both of these methods to detect and propagate defect state πŸ¦‹

For an MPLS PW set up via LDP signaling, the PEs negotiate VCCV capabilities during the label mapping message exchange used to establish the two directions of the PW. This happens by including a capability TLV in the PW Forward Error Correction (FEC) interface parameters TLV. In the L2TPv3/IP case, the PEs negotiate the use of VCCV during the pseudowire session initialization using the VCCV AVP [RFC5085] 🌸

The CV Type Indicators field in the OAM capability TLV or VCCV AVP defines a bitmask used to indicate the specific OAM capabilities the PE can use over the PW being established πŸ’–

A CV type of 0x04 or 0x10 [RFC5885] indicates that BFD is used for PW fault detection only. These CV types MAY be used any time the PW is established using LDP or L2TP control planes. In this mode, only the following diagnostic (Diag) codes specified in [RFC5880] will be used πŸŽ€

  0 -  No diagnostic

  1 -  Control detection time expired

  3 -  Neighbor signaled session down

  7 -  Administratively Down

A PE using VCCV-BFD MUST use diagnostic code 0 to tell its peer PE that it's correctly receiving BFD control messages. It MUST use diagnostic code 1 to tell its peer that it has stopped receiving BFD control messages and will therefore declare the PW down in the receive direction. It MUST use diagnostic code 3 to confirm to its peer that the BFD session is going down after receiving diagnostic code 1 from that peer. In this case, it will declare the PW down in the transmit direction. A PE MUST use diagnostic code 7 to bring down the BFD session when the PW is brought down administratively. All other defects, such as AC/PW defects and PE internal failures that stop it forwarding traffic, MUST be communicated through the LDP Status TLV in the case of MPLS or MPLS/IP PSN, or through the appropriate L2TP codes in the Circuit Status AVP in the case of L2TPv3/IP PSN 😭

A CV type of 0x08 or 0x20 in the OAM capabilities TLV indicates that BFD is used for both PW fault detection and Fault Notification. On top of the diagnostic codes above, a PE uses the following codes to signal AC defects and other defects impacting forwarding over the PW service πŸ”₯

  6 -  Concatenated Path Down

  8 -  Reverse Concatenated Path Down

As specified in [RFC5085], the PEs negotiate the use of VCCV during PW setup. When a PW transported over an MPLS-PSN is established using LDP, the PEs negotiate VCCV capabilities using the optional VCCV Capability Advertisement Sub-TLV parameter in the Interface Parameter Sub-TLV field of the LDP PW ID FEC, or using an Interface Parameters TLV of the LDP Generalized PW ID FEC. For L2TPv3/IP PSNs, the PEs negotiate the use of VCCV during the pseudowire session initialization using the VCCV AVP πŸ“

Note that a defect causing the "PW not forwarding code" (diagnostic code 6 or 8) doesn't necessarily bring the BFD session down. However, if the BFD session times out, then diagnostic code 1 MUST be used, since it signals a state change of the BFD session itself. In general, when a BFD session changes state, the PEs MUST use the state change diagnostic codes 0, 1, 3, and 7 in accordance with [RFC5880], and they MUST override any AC/PW status diagnostic codes (codes 6 or 8) that may have been signaled before the BFD session changed state πŸ’€

The forward and reverse defect indications used in this document map to the following BFD codes 🌈

      Forward defect indication corresponds to the logical OR of:

        *  Concatenated Path Down (BFD diagnostic code 06)

        *  Pseudowire Not Forwarding (PW status code 0x00000001).

      Reverse defect indication corresponds to:

        *  Reverse Concatenated Path Down (BFD diagnostic code 08).

These diagnostic codes signal forward and reverse defect states, respectively, when the PEs have negotiated BFD as the mechanism for AC and PW fault detection and status signaling notification. As stated in Section 6.1, these CV types SHOULD NOT be used when the PW is established with the LDP or L2TP control plane πŸ™ˆ


6.2. PW Defect State Entry/Exit

6.2.1. PW Receive Defect State Entry/Exit Criteria

PE1, as downstream PE, will enter the PW receive defect state if one or more of the following happens 🫢

  • It receives a forward defect indication (FDI) from PE2 indicating either a receive defect on the remote AC, or that PE2 detected or was notified of a downstream PW fault.
  • It detects loss of connectivity on the PSN tunnel upstream of PE1, which affects the traffic it receives from PE2.
  • It detects a loss of PW connectivity through VCCV-BFD or VCCV-PING, which affects the traffic it receives from PE2.

Note that if the PW control session (LDP session, the L2TP session, or the L2TP control connection) between the PEs fails, the PW is torn down and needs to be re-established. However, the consequent actions towards the ACs are the same as if the PW had entered the receive defect state ✨

PE1 will exit the PW receive defect state when the following conditions are met. Note that this may result in a transition to the PW operational state or the PW transmit defect state πŸ¦‹

  • All previously detected defects have disappeared, and
  • PE2 cleared the FDI, if applicable.

6.2.2. PW Transmit Defect State Entry/Exit Criteria

PE1, as upstream PE, will enter the PW transmit defect state if the following conditions occur πŸ‘‘

  • It receives a Reverse Defect Indication (RDI) from PE2 indicating either a transmit fault on the remote AC, or that PE2 detected or was notified of an upstream PW fault, and
  • it is not already in the PW receive defect state.

PE1 will exit the transmit defect state if it receives an OAM message from PE2 clearing the RDI, or if it has entered the PW receive defect state πŸ’–

For a PW over L2TPv3/IP using the basic Circuit Status AVP [RFC3931], the PW transmit defect state isn't valid, and a PE can only enter the PW receive defect state 🌸

7. Procedures for ATM PW Service πŸŽ€

The following procedures apply to Asynchronous Transfer Mode (ATM) pseudowires [RFC4717]. ATM terminology is explained in Appendix A.2 of this document 🧚

7.1. AC Receive Defect State Entry/Exit Criteria ✨

Okay bestie, so when we're in the coupled OAM loops mode, PE1 enters the AC receive defect state when any of these happen πŸ’…:

  1. It detects or gets notified of a physical layer fault on the ATM interface.
  2. It receives an end-to-end Flow 4 OAM (F4) Alarm Indication Signal (AIS) OAM flow on a Virtual Path (VP) AC, or an end-to-end Flow 5 (F5) AIS OAM flow on a Virtual Circuit (VC) as per ITU-T Recommendation I.610 [I.610]. That tells it the ATM VPC or VCC is down in the adjacent Layer 2 ATM network 😭
  3. It receives a segment F4 AIS OAM flow on a VP AC, or a segment F5 AIS OAM flow on a VC AC, as long as the operator has provisioned segment OAM and the PE is not a segment endpoint 🧚
  4. It detects loss of connectivity on the ATM VPC/VCC while terminating segment or end-to-end ATM continuity check (ATM CC) cells with the local ATM network and CE πŸ’”

In the coupled OAM loops mode, PE1 exits the AC receive defect state when all previously detected defects have disappeared ✨

Now, when we're in the single emulated OAM loop mode, PE1 enters the AC receive defect state if either of these is true πŸ¦‹

  1. It detects or gets notified of a physical layer fault on the ATM interface.
  2. It detects loss of connectivity on the ATM VPC/VCC while terminating segment ATM continuity check (ATM CC) cells with the local ATM network and CE.

In this mode, PE1 exits the AC receive defect state when all previously detected defects have disappeared 🌸

The exact conditions for entering and exiting the AIS state, or for declaring that connectivity is restored via ATM CC, are defined in Section 9.2 of [I.610]. Go read that if you want the full tea πŸ“

7.2. AC Transmit Defect State Entry/Exit Criteria

In the coupled OAM loops mode, PE1 enters the AC transmit defect state if either of these happens πŸŽ€

  1. It terminates an end-to-end F4 RDI OAM flow (for a VPC) or an end-to-end F5 RDI OAM flow (for a VCC). That means the ATM VPC or VCC is down in the adjacent L2 ATM πŸ‘‘
  2. It receives a segment F4 RDI OAM flow on a VP AC, or a segment F5 RDI OAM flow on a VC AC, as long as the operator has provisioned segment OAM and the PE is not a segment endpoint 🌈

PE1 exits the AC transmit defect state if the AC state goes back to working or moves into the AC receive defect state. The exact conditions for exiting the RDI state are in Section 9.2 of [I.610] 🫢

Heads up: the AC transmit defect state is NOT valid in the single emulated OAM loop mode. PE1 just transparently forwards the received RDI cells as user cells over the ATM PW to the remote CE, so there's no state to be in πŸ™ˆ

7.3. Consequent Actions

For the rest of this section, we say AIS, RDI, and CC without specifying whether it's an F4 (VP-level) flow or an F5 (VC-level) flow, or whether it's end-to-end or segment. If you need the precise ATM OAM procedures for each flow type, they're in Section 9.2 of [I.610] πŸ“š

7.3.1. PW Receive Defect State Entry/Exit

On entry to the PW receive defect state, here's the tea 🍡

  1. PE1 MUST commence AIS insertion into the corresponding AC.
  2. PE1 MUST cease generation of CC cells on the corresponding AC, if applicable.
  3. If PE1 detected the PW defect without receiving FDI from PE2, PE1 MUST assume PE2 has no knowledge of the defect, and PE1 MUST notify PE2 by sending RDI 🫣

On exit from the PW receive defect state:

  1. PE1 MUST cease AIS insertion into the corresponding AC.
  2. PE1 MUST resume any CC cell generation on the corresponding AC, if applicable.
  3. PE1 MUST clear the RDI to PE2, if applicable πŸ₯°

7.3.2. PW Transmit Defect State Entry/Exit

On entry to the PW Transmit Defect State:

  1. PE1 MUST commence RDI insertion into the corresponding AC.
  2. If PE1 detected the PW failure without receiving RDI from PE2, PE1 MUST assume PE2 has no knowledge of the defect, and PE1 MUST notify PE2 by sending FDI πŸ’…

On exit from the PW Transmit Defect State:

  1. PE1 MUST cease RDI insertion into the corresponding AC.
  2. PE1 MUST clear the FDI to PE2, if applicable ✨

7.3.3. PW Defect State in ATM Port Mode PW Service

Port mode is the transparent cell transport PW service, where the PE doesn't keep track of the status of individual ATM VPCs or VCCs. So a PE cannot relay PW defect state over those VCCs and VPCs πŸ™ƒ If ATM CC runs on the VCCs and VPCs end-to-end (CE1 to CE2), or on a segment that originates and terminates in the ATM network and spans the PSN network, it will time out. That causes the CE or ATM switch to enter the ATM AIS state πŸ’€

7.3.4. AC Receive Defect State Entry/Exit

On entry to the AC receive defect state, when we're in the coupled OAM loops mode:

  1. PE1 MUST send FDI to PE2.
  2. PE1 MUST commence insertion of ATM RDI cells into the AC towards CE1 πŸŽ€

When we're in the single emulated OAM loop mode, PE1 must be able to support two options, depending on the operator's preference. The default option goes like this πŸ¦‹

On entry to the AC receive defect state:

  1. PE1 MUST transparently relay ATM AIS cells or, if the defect is a local AC defect, commence insertion of ATM AIS cells into the corresponding PW towards CE2.
  2. If the defect interferes with NS OAM message generation, PE1 MUST send FDI to PE2.
  3. PE1 MUST cease the generation of CC cells on the corresponding PW, if applicable.

Sometimes, like when the ATM access network is owned by a different provider than the PW, an operator wants to tell apart defects found in the ATM access network from defects detected on the AC directly next to the PE. So the following option MUST also be supported 🌸

  1. PE1 MUST transparently relay ATM AIS cells over the corresponding PW towards CE2.
  2. Upon detecting a defect on the ATM interface on the PE, or in the PE itself, PE1 MUST send FDI to PE2.
  3. PE1 MUST cease generation of CC cells on the corresponding PW, if applicable.

On exit from the AC receive defect state, when we're in the coupled OAM loops mode:

  1. PE1 MUST clear the FDI to PE2.
  2. PE1 MUST cease insertion of ATM RDI cells into the AC.

On exit from the AC receive defect state, when we're in the single emulated OAM loop mode:

  1. PE1 MUST cease insertion of ATM AIS cells into the corresponding PW.
  2. PE1 MUST clear the FDI to PE2, if applicable.
  3. PE1 MUST resume any CC cell generation on the corresponding PW, if applicable. πŸ‘‘

7.3.5. AC Transmit Defect State Entry/Exit

On entry to the AC transmit defect state, when we're in the coupled OAM loops mode:

  • PE1 MUST send RDI to PE2.

On exit from the AC transmit defect state, when we're in the coupled OAM loops mode:

  • PE1 MUST clear the RDI to PE2. 🌈

8. Procedures for Frame Relay PW Service ✨

The following procedures apply to Frame Relay (FR) pseudowires [RFC4619]. If you're confused by any Frame Relay (FR) terms, Appendix A.1 of this document explains them 🧚

8.1. AC Receive Defect State Entry/Exit Criteria

PE1 enters the AC receive defect state if one or more of these conditions are met 🫢

  1. A Permanent Virtual Circuit (PVC) is not deleted from the FR network, and the FR network explicitly indicates in a full status report (and optionally in the asynchronous status message) that this PVC is inactive [Q.933]. In this case, the status maps across the PE to the corresponding PW only πŸ¦‹
  2. The Link Integrity Verification (LIV) indicates that the link from the PE to the Frame Relay network is down [Q.933]. In this case, the link down indication maps across the PE to all corresponding PWs 😭
  3. A physical layer alarm is detected on the FR interface. In this case, the status maps across the PE to all corresponding PWs πŸ”₯

PE1 exits the AC receive defect state when all previously detected defects have disappeared ✨

8.2. AC Transmit Defect State Entry/Exit Criteria

The AC transmit defect state is NOT valid for a FR AC πŸ™ˆ

8.3. Consequent Actions

8.3.1. PW Receive Defect State Entry/Exit

The A (Active) bit tells you whether the FR PVC is ACTIVE (1) or INACTIVE (0), as explained in [RFC4591] πŸ’œ

On entry to the PW receive defect state:

  1. PE1 MUST clear the Active bit for the corresponding FR AC in a full status report, and optionally in an asynchronous status message, as per [Q.933], Annex A.
  2. If PE1 detected the PW failure without receiving FDI from PE2, PE1 MUST assume PE2 has no knowledge of the defect, and PE1 MUST notify PE2 by sending RDI 🫣

On exit from the PW receive defect state:

  1. PE1 MUST set the Active bit for the corresponding FR AC in a full status report, and optionally in an asynchronous status message, as per [Q.933], Annex A. PE1 does not apply this procedure on a transition from the PW receive defect state to the PW transmit defect state 🌸
  2. PE1 MUST clear the RDI to PE2, if applicable. πŸ₯°

8.3.2. PW Transmit Defect State Entry/Exit

On entry to the PW transmit defect state:

  1. PE1 MUST clear the Active bit for the corresponding FR AC in a full status report, and optionally in an asynchronous status message, as per [Q.933], Annex A.
  2. If PE1 detected the PW failure without RDI from PE2, PE1 MUST assume PE2 has no knowledge of the defect, and PE1 MUST notify PE2 by sending FDI πŸ’…

On exit from the PW transmit defect state:

  1. PE1 MUST set the Active bit for the corresponding FR AC in a full status report, and optionally in an asynchronous status message, as per [Q.933], Annex A. PE1 does not apply this procedure on a transition from the PW transmit defect state to the PW receive defect state πŸŽ€
  2. PE1 MUST clear the FDI to PE2, if applicable. πŸ‘‘

8.3.3. PW Defect State in the FR Port Mode PW Service

In port mode PW service, STATUS ENQUIRY and STATUS messages are transported transparently over the PW. So a PW Failure will time out the Q.933 link and PVC management protocol on the Frame Relay devices at one or both sites of the emulated interface πŸ™ƒ

8.3.4. AC Receive Defect State Entry/Exit

On entry to the AC receive defect state:

  • PE1 MUST send FDI to PE2.

On exit from the AC receive defect state:

  • PE1 MUST clear the FDI to PE2. πŸ¦‹

8.3.5. AC Transmit Defect State Entry/Exit

The AC transmit defect state is NOT valid for an FR AC. Same energy as 8.2, no notes πŸ’…

9. Procedures for TDM PW Service ✨

okay so these procedures apply to SAToP [RFC4553], CESoPSN [RFC5086] and TDMoIP [RFC5087] πŸŽ€. They all use the single emulated OAM loop mode πŸ”. RFC 5087 splits things into trail-extended and trail-terminated scenarios, and trail-extended is basically the single emulated loop model πŸ’…. Trail-terminated is for when the NS networks are run by different operators and defect notifications don't get propagated across the PW πŸ™ˆ.

TDM is literally real-time to its core ⏱️, so a lot of OAM indications have to be generated or forwarded with minimal delay. That rules out messaging protocols like PW status messages 🚫. So for TDM PWs, other mechanisms get used instead 🧚.

TDM PW packets are sent at a known constant rate, and that can be exploited as an OAM mechanism 🧠✨. So a PE enters the PW receive defect state whenever a preconfigured number of TDM PW packets don't arrive on time 😭. It exits that state once packets show up at their proper rate again πŸ’–.

Native TDM carries OAM indications in overhead fields that travel right alongside the data. TDM PWs copy that energy by sending urgent OAM messages in the PWE control word 🫢.

The TDM PWE3 control word has a set of flags for PW and AC defect conditions 🚩. The L bit is an AC forward defect indication, and the upstream PE uses it to signal NS network defects to the downstream PE. The M field may be used to modify the meaning of receive defects. The R bit is a PW reverse defect indication, and the PE uses it to signal PSN failures to the remote PE. When a PE receives packets with the R bit set, it enters the PW transmit defect state. L bits and R bits are described further in [RFC5087] πŸ“–.

9.1. AC Receive Defect State Entry/Exit Criteria

PE1 enters the AC receive defect state if any of these conditions are met πŸ‘€:

a. It detects a physical layer fault on the TDM interface (Loss of Signal, Loss of Alignment, etc., as described in [G.775]).

b. It is notified of a previous physical layer fault by detecting AIS.

The exact conditions under which a PE enters and exits the AIS state are defined in [G.775]. Loss of Signal and AIS detection can be performed by PEs for both structure-agnostic and structure-aware TDM PW types πŸ™Œ. PEs implementing structure-agnostic PWs cannot detect Loss of Alignment πŸ₯².

9.2. AC Transmit Defect State Entry/Exit Criteria

PE1 enters the AC transmit defect state when it detects RDI according to the criteria in [G.775]. PEs implementing structure-agnostic PWs cannot detect RDI πŸ™ˆ.

9.3. Consequent Actions

9.3.1. PW Receive Defect State Entry/Exit

On entry to the PW receive defect state:

a. PE1 MUST commence AIS insertion into the corresponding TDM AC.

b. PE1 MUST set the R bit in all PW packets sent back to PE2.

On exit from the PW receive defect state:

a. PE1 MUST cease AIS insertion into the corresponding TDM AC.

b. PE1 MUST clear the R bit in all PW packets sent back to PE2.

AIS generation can, in general, be performed by both structure-aware and structure-agnostic PEs πŸ’•.

9.3.2. PW Transmit Defect State Entry/Exit

On entry to the PW Transmit Defect State:

  • A structure-aware PE1 MUST commence RDI insertion into the corresponding AC.

On exit from the PW Transmit Defect State:

  • A structure-aware PE1 MUST cease RDI insertion into the corresponding AC.

Structure-agnostic PEs are not capable of injecting RDI into an AC 😀.

9.3.3. AC Receive Defect State Entry/Exit

On entry to the AC receive defect state and when operating in the single emulated OAM loop mode:

a. PE1 SHOULD overwrite the TDM data with AIS in the PW packets sent towards PE2.

b. PE1 MUST set the L bit in these packets.

c. PE1 MAY omit the payload in order to conserve bandwidth.

d. A structure-aware PE1 SHOULD send RDI back towards CE1.

e. A structure-aware PE1 that detects a potentially correctable AC defect MAY use the M field to indicate this.

On exit from the AC receive defect state and when operating in the single emulated OAM loop mode:

a. PE1 MUST cease overwriting PW content with AIS and return to forwarding valid TDM data in PW packets sent towards PE2.

b. PE1 MUST clear the L bit in PW packets sent towards PE2.

c. A structure-aware PE1 MUST cease sending RDI towards CE1.


10. Procedures for CEP PW Service 🌸

The following procedures apply to SONET/SDH Circuit Emulation [RFC4842]. They are based on the single emulated OAM loop mode πŸ¦‹.

SONET and SDH are inherently real-time too, so many OAM indications have to be generated or forwarded with minimal delay. That rules out messaging protocols like PW status messages, so for CEP PWs, alternate mechanisms are used πŸ™…β€β™€οΈ.

The CEP PWE3 control word has a set of flags for PW and AC defect conditions. The L bit is a forward defect indication, and the upstream PE uses it to signal to the downstream PE a defect in its local attachment circuit. The R bit is a PW reverse defect indication, and the PE uses it to signal PSN failures to the remote PE. The combination of N and P bits is used by the local PE to signal loss of pointer to the remote PE πŸ“.

CEP PW packets are sent at a known constant rate, which can be exploited as an OAM mechanism. So a PE enters the PW receive defect state when it loses packet synchronization, and it exits this state when it regains packet synchronization. See [RFC4842] for further details ✨.

10.1. Defect States

10.1.1. PW Receive Defect State Entry/Exit

In addition to the conditions specified in Section 6.2.1, PE1 will enter the PW receive defect state when one of the following becomes true:

  • It receives packets with the L bit set.
  • It receives packets with both the N and P bits set.
  • It loses packet synchronization.

10.1.2. PW Transmit Defect State Entry/Exit

In addition to the conditions specified in Section 6.2.2, PE1 will enter the PW transmit defect state if it receives packets with the R bit set πŸ”.

10.1.3. AC Receive Defect State Entry/Exit

PE1 enters the AC receive defect state when any of the following conditions are met:

a. It detects a physical layer fault on the TDM interface (Loss of Signal, Loss of Alignment, etc.).

b. It is notified of a previous physical layer fault by detecting of AIS.

The exact conditions under which a PE enters and exits the AIS state are defined in [G.707] and [G.783] πŸ“š.

10.1.4. AC Transmit Defect State Entry/Exit

The AC transmit defect state is not valid for CEP PWs. RDI signals are forwarded transparently 🫧.

10.2. Consequent Actions

10.2.1. PW Receive Defect State Entry/Exit

On entry to the PW receive defect state:

a. PE1 MUST commence AIS-P/V insertion into the corresponding AC. See [RFC4842].

b. PE1 MUST set the R bit in all PW packets sent back to PE2.

On exit from the PW receive defect state:

a. PE1 MUST cease AIS-P/V insertion into the corresponding AC.

b. PE1 MUST clear the R bit in all PW packets sent back to PE2.

See [RFC4842] for further details.

10.2.2. PW Transmit Defect State Entry/Exit

On entry to the PW Transmit Defect State:

a. A structure-aware PE1 MUST commence RDI insertion into the corresponding AC.

On exit from the PW Transmit Defect State:

a. A structure-aware PE1 MUST cease RDI insertion into the corresponding AC.

10.2.3. AC Receive Defect State Entry/Exit

On entry to the AC receive defect state:

a. PE1 MUST set the L bit in these packets.

b. If Dynamic Bandwidth Allocation (DBA) has been enabled, PE1 MAY omit the payload in order to conserve bandwidth.

c. If Dynamic Bandwidth Allocation (DBA) is not enabled, PE1 SHOULD insert AIS-V/P in the SDH/SONET client layer in the PW packets sent towards PE2.

On exit from the AC receive defect state:

a. PE1 MUST cease overwriting PW content with AIS-P/V and return to forwarding valid data in PW packets sent towards PE2.

b. PE1 MUST clear the L bit in PW packets sent towards PE2.

See [RFC4842] for further details πŸ’œ.


11. Security Considerations πŸ”

The mapping messages described in this document do not change the security functions inherent in the actual messages. All generic security considerations applicable to PW traffic specified in Section 10 of [RFC3985] are applicable to NS OAM messages transferred inside the PW.

Security considerations in Section 10 of RFC 5085 for VCCV apply to the OAM messages thus transferred. Security considerations applicable to the PWE3 control protocol of RFC 4447 Section 8.2 apply to OAM indications transferred using the LDP status message.

Since the mechanisms of this document enable propagation of OAM messages and fault conditions between native service networks and PSNs, continuity of the end-to-end service depends on a trust relationship between the operators of these networks. Security considerations for such scenarios are discussed in Section 7 of [RFC5254]. This part is serious business, bestie 😭🚨.


12. Contributors and Acknowledgments 🫢

Mustapha Aissaoui, Peter Busschbach, Luca Martini, Monique Morrow, Thomas Nadeau, and Yaakov (J) Stein were each, in turn, editors of one or more revisions of this document πŸ‘‘. All of the above were contributing authors, as was Dave Allan, david.i.allan@ericsson.com.

The following contributed significant ideas or text:

  • Matthew Bocci, matthew.bocci@alcatel-lucent.co.uk
  • Simon Delord, Simon.A.DeLord@team.telstra.com
  • Yuichi Ikejiri, y.ikejiri@ntt.com
  • Kenji Kumaki, kekumaki@kddi.com
  • Satoru Matsushima, satoru.matsushima@tm.softbank.co.jp
  • Teruyuki Oya, teruyuki.oya@tm.softbank.co.jp
  • Carlos Pignataro, cpignata@cisco.com
  • Vasile Radoaca, vasile.radoaca@alcatel-lucent.com
  • Himanshu Shah, hshah@ciena.com
  • David Watkinson, david.watkinson@alcatel-lucent.com

The editors would like to say thank you to Bertrand Duvivier, Adrian Farrel, Tiberiu Grigoriu, Ron Insler, Michel Khouderchah, Vanson Lim, Amir Maleki, Neil McGill, Chris Metz, Hari Rakotoranto, Eric Rosen, Mark Townsley, and Ben Washam πŸ₯ΉπŸ’–.

13. References πŸ“š

13.1. Normative References πŸ“šβœ¨

Okay bestie, these are the docs the spec leans on hardest, so they're the ones you actually have to read 🫢

  • [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.
  • [RFC4379] Kompella, K. and G. Swallow, "Detecting Multi-Protocol Label Switched (MPLS) Data Plane Failures", RFC 4379, February 2006.
  • [RFC4447] Martini, L., Rosen, E., El-Aawar, N., Smith, T., and G. Heron, "Pseudowire Setup and Maintenance Using the Label Distribution Protocol (LDP)", RFC 4447, April 2006.
  • [RFC4553] Vainshtein, A. and YJ. Stein, "Structure-Agnostic Time Division Multiplexing (TDM) over Packet (SAToP)", RFC 4553, June 2006.
  • [RFC4591] Townsley, M., Wilkie, G., Booth, S., Bryant, S., and J. Lau, "Frame Relay over Layer 2 Tunneling Protocol Version 3 (L2TPv3)", RFC 4591, August 2006.
  • [RFC4619] Martini, L., Kawa, C., and A. Malis, "Encapsulation Methods for Transport of Frame Relay over Multiprotocol Label Switching (MPLS) Networks", RFC 4619, September 2006.
  • [RFC4717] Martini, L., Jayakumar, J., Bocci, M., El-Aawar, N., Brayley, J., and G. Koleyni, "Encapsulation Methods for Transport of Asynchronous Transfer Mode (ATM) over MPLS Networks", RFC 4717, December 2006.
  • [RFC4842] Malis, A., Pate, P., Cohen, R., and D. Zelig, "Synchronous Optical Network/Synchronous Digital Hierarchy (SONET/SDH) Circuit Emulation over Packet (CEP)", RFC 4842, April 2007.
  • [RFC5036] Andersson, L., Minei, I., and B. Thomas, "LDP Specification", RFC 5036, October 2007.
  • [RFC5085] Nadeau, T. and C. Pignataro, "Pseudowire Virtual Circuit Connectivity Verification (VCCV): A Control Channel for Pseudowires", RFC 5085, December 2007.
  • [RFC5641] McGill, N. and C. Pignataro, "Layer 2 Tunneling Protocol Version 3 (L2TPv3) Extended Circuit Status Values", RFC 5641, August 2009.
  • [RFC5880] Katz, D. and D. Ward, "Bidirectional Forwarding Detection (BFD)", RFC 5880, June 2010.
  • [RFC5885] Nadeau, T. and C. Pignataro, "Bidirectional Forwarding Detection (BFD) for the Pseudowire Virtual Circuit Connectivity Verification (VCCV)", RFC 5885, June 2010.
  • [G.707] "Network node interface for the synchronous digital hierarchy", ITU-T Recommendation G.707, December 2003.
  • [G.775] "Loss of Signal (LOS), Alarm Indication Signal (AIS) and Remote Defect Indication (RDI) defect detection and clearance criteria for PDH signals", ITU-T Recommendation G.775, October 1998.
  • [G.783] "Characteristics of synchronous digital hierarchy (SDH) equipment functional blocks", ITU-T Recommendation G.783, March 2006.
  • [I.610] "B-ISDN operation and maintenance principles and functions", ITU-T Recommendation I.610, February 1999.
  • [Q.933] "ISDN Digital Subscriber Signalling System No. 1 (DSS1) Signalling specifications for frame mode switched and permanent virtual connection control and status monitoring", ITU-T Recommendation Q.993, February 2003.

13.2. Informative References 🌷

These ones are the background reading. Super helpful for context, but the spec doesn't lean on them the same way πŸ’…

  • [RFC0792] Postel, J., "Internet Control Message Protocol", STD 5, RFC 792, September 1981.
  • [RFC3031] Rosen, E., Viswanathan, A., and R. Callon, "Multiprotocol Label Switching Architecture", RFC 3031, January 2001.
  • [RFC3209] Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V., and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP Tunnels", RFC 3209, December 2001.
  • [RFC3916] Xiao, X., McPherson, D., and P. Pate, "Requirements for Pseudo-Wire Emulation Edge-to-Edge (PWE3)", RFC 3916, September 2004.
  • [RFC3931] Lau, J., Townsley, M., and I. Goyret, "Layer Two Tunneling Protocol - Version 3 (L2TPv3)", RFC 3931, March 2005.
  • [RFC3985] Bryant, S. and P. Pate, "Pseudo Wire Emulation Edge-to-Edge (PWE3) Architecture", RFC 3985, March 2005.
  • [RFC4023] Worster, T., Rekhter, Y., and E. Rosen, "Encapsulating MPLS in IP or Generic Routing Encapsulation (GRE)", RFC 4023, March 2005.
  • [RFC4377] Nadeau, T., Morrow, M., Swallow, G., Allan, D., and S. Matsushima, "Operations and Management (OAM) Requirements for Multi-Protocol Label Switched (MPLS) Networks", RFC 4377, February 2006.
  • [RFC4385] Bryant, S., Swallow, G., Martini, L., and D. McPherson, "Pseudowire Emulation Edge-to-Edge (PWE3) Control Word for Use over an MPLS PSN", RFC 4385, February 2006.
  • [RFC4446] Martini, L., "IANA Allocations for Pseudowire Edge to Edge Emulation (PWE3)", BCP 116, RFC 4446, April 2006.
  • [RFC4454] Singh, S., Townsley, M., and C. Pignataro, "Asynchronous Transfer Mode (ATM) over Layer 2 Tunneling Protocol Version 3 (L2TPv3)", RFC 4454, May 2006.
  • [RFC5086] Vainshtein, A., Sasson, I., Metz, E., Frost, T., and P. Pate, "Structure-Aware Time Division Multiplexed (TDM) Circuit Emulation Service over Packet Switched Network (CESoPSN)", RFC 5086, December 2007.
  • [RFC5087] Stein, Y(J)., Shashoua, R., Insler, R., and M. Anavi, "Time Division Multiplexing over IP (TDMoIP)", RFC 5087, December 2007.
  • [RFC5254] Bitar, N., Bocci, M., and L. Martini, "Requirements for Multi-Segment Pseudowire Emulation Edge-to-Edge (PWE3)", RFC 5254, October 2008.
  • [RFC6073] Martini, L., Metz, C., Nadeau, T., Bocci, M., and M. Aissaoui, "Segmented Pseudowire", RFC 6073, January 2011.
  • [Eth-OAM-Inter] Mohan, D., Bitar, N., DeLord, S., Niger, P., Sajassi, A., and R. Qiu, "MPLS and Ethernet OAM Interworking", Work in Progress, March 2011.
  • [Static-PW-Status] Martini, L., Swallow, G., Heron, G., and M. Bocci, "Pseudowire Status for Static Pseudowires", Work in Progress, June 2011.
  • [I.620] "Frame relay operation and maintenance principles and functions", ITU-T Recommendation I.620, October 1996.

Appendix A. Native Service Management (Informative) 🌸

This appendix is all about how the native service is managed, so it's giving "nice to know" energy 🧚

A.1. Frame Relay Management πŸŽ€

Managing Frame Relay Bearer Service (FRBS) connections can be done in two different ways:

  • a. Based on [Q.933], Annex A, Link Integrity Verification procedure, where STATUS and STATUS ENQUIRY signalling messages are sent using DLCI=0 over a given User-Network Interface (UNI) and Network-Network Interface (NNI) physical link.
  • b. Based on FRBS Local Management Interface (LMI), and similar to ATM Integrated LMI (ILMI), where LMI is common in private Frame Relay networks.

Also, ITU-T I.620 [I.620] covered Frame Relay loopback. That Recommendation was withdrawn in 2004, and it didn't get deployed much, so don't stress about it πŸ™ˆ

You can use either option, or both, to manage Frame Relay interfaces. This document only talks about Q.933 messages, so that's what we're focusing on πŸ’œ

The status of any provisioned Frame Relay PVC can be updated in two ways:

  • a. Frame Relay STATUS messages sent in response to Frame Relay STATUS ENQUIRY messages. These are mandatory, no skipping 😭
  • b. Optional unsolicited STATUS updates that happen independently of STATUS ENQUIRY. Typically, the management system controls these, so they can be sent periodically (continuous monitoring) or only when specific defects show up, depending on configuration ✨

In Frame Relay, a Data Link Connection (DLC) is either up or down, and there's no distinction between directions. Okay, so to line up with other technologies, down gets represented as a receive defect πŸ¦‹

Here's the tea: Frame Relay connection management isn't run over the PW using either of the native FR techniques. So instead, PW mechanisms keep each PE in sync about the remote Native Service/Attachment Circuit (NS/AC). A PE treats a remote NS/AC failure the same way it'd treat a PW or PSN failure. That means it uses AC-facing FR connection management to tell the CE that FR is down. Iconic, honestly πŸ‘‘

A.2. ATM Management πŸ¦‹

okay so ATM management and OAM mechanisms are next level compared to Frame Relay πŸ’… There are five broad management categories: fault management (FT), Performance management (PM), configuration management (CM), Accounting management (AC), and Security management (SM). [I.610] covers the operation and maintenance functions for the physical layer and the ATM layer, so that's management at the bit and cell levels πŸ€“. Since that's a huge scope, this document only focuses on ATM fault management functions 🧚. Those include:

  • a. Alarm Indication Signal (AIS).
  • b. Remote Defect Indication (RDI).
  • c. Continuity Check (CC).
  • d. Loopback (LB).

Quick vibe check on the basic ones πŸ’–. AIS sends a message in the same direction as the signal, basically saying "hey, an error was spotted" 🚨. RDI sends a message back to the transmitting terminal saying an error has been detected πŸ”™. Physical-layer alarms get flagged with path AIS/RDI, and ATM-layer alarms get virtual path AIS/RDI and virtual channel AIS/RDI 🌈.

Then there are the OAM cells! F4 and F5 cells keep an eye on virtual paths and virtual channels, respectively, for performance and availability πŸ“Š. They work for monitoring a segment of the network and for end-to-end monitoring ✨. F4 OAM cells carry the same VPI as the connection they're watching, and F5 OAM cells carry the same VPI and VCI πŸŽ€. AIS and RDI messages from F4 and F5 flows go to other network nodes through the VPC or the VCC they refer to πŸ›€οΈ. The type of error and where it happened can be written into the OAM cells πŸ“. And continuity check? That's another fault management move πŸ’œ. If a VCC has been idle for a while, network elements can send continuity-check cells along it to see if it's still functioning 🫢.


Appendix B. PW Defects and Detection Tools 🌸

B.1. PW Defects πŸ’€

Possible defects that impact PWs are the following:

  • a. Physical layer defect in the PSN interface.
  • b. PSN tunnel failure that results in a loss of connectivity between ingress and egress PE.
  • c. Control session failures between ingress and egress PE.

If it's an MPLS PSN or an MPLS/IP PSN, there are extra defects too πŸ”₯:

  • a. PW labeling error, which is due to a defect in the ingress PE, or to an over-writing of the PW label value somewhere along the LSP path.
  • b. LSP tunnel label swapping errors or LSP tunnel label merging errors in the MPLS network. This could end with a PW terminating at the wrong egress PE 😱.
  • c. Unintended self-replication, e.g., due to loops or denial-of-service attacks.

B.2. Packet Loss πŸ“‰

Persistent congestion in the PSN or in a PE could mess with the emulated service 😩.

A PE can detect packet loss resulting from congestion through several methods. If a PE uses the sequence number field in the PWE3 Control Word for a specific pseudowire [RFC3985] and [RFC4385], it has the ability to detect packet loss. Turning congestion detection into PW defect states is beyond the scope of this document πŸ™….

Congestion alarms get raised in the node and to the management system when congestion happens 🚨. The decision to declare the PW down and select another path is usually at the discretion of the network operator πŸ‘‘.

B.3. PW Defect Detection Tools πŸ”

Service Providers have a variety of options for detecting the defects above 🧰.

Physical layer defect detection and notification mechanisms include SONET/SDH Loss of Signal (LOS), Loss of Alignment (LOA), and AIS/RDI πŸ“‘.

PSN defect detection mechanisms vary according to the PSN type 🧩.

For PWs over L2TPv3/IP PSNs, with L2TP as the encapsulation protocol, the defect detection mechanisms described in [RFC3931] apply. These include the keep-alive mechanism performed with Hello messages for detection of loss of connectivity between a pair of LCCEs (i.e., dead PE peer and path detection) πŸ’“. Also, the tools Ping and Traceroute, based on ICMP Echo Messages [RFC0792], apply and can be used to detect defects on the IP PSN πŸ“. And VCCV-Ping [RFC5085] and VCCV-BFD [RFC5885] can also detect defects at the individual pseudowire level 🎯.

For PWs over MPLS or MPLS/IP PSNs, several tools can be used:

  • a. LSP-Ping and LSP-Traceroute [RFC4379] for LSP tunnel connectivity verification.
  • b. LSP-Ping with Bi-directional Forwarding Detection [RFC5885] for LSP tunnel continuity checking.
  • c. Also, if Resource Reservation Protocol - Traffic Engineering (RSVP-TE) is used to set up the PSN Tunnels between ingress and egress PE, the hello protocol can be used to detect loss of connectivity [RFC3209], but only at the control plane 🧠.

B.4. PW Specific Defect Detection Mechanisms πŸŽ€

[RFC4377] describes how LSP-Ping and BFD can be used over individual PWs for connectivity verification and continuity checking, respectively 🧐.

Also, a fault can show up at different points in the network, and there are several ways the observing PE figures out that a fault exists πŸ‘€:

  • a. Egress PE detection of failure (e.g., BFD).
  • b. Ingress PE detection of failure (e.g., LSP-PING).
  • c. Ingress PE notification of failure (e.g., RSVP Path-err).

Authors' Addresses πŸ’Œ

Mustapha Aissaoui
Alcatel-Lucent
600 March Rd
Kanata, ON  K2K 2E6
Canada
EMail: mustapha.aissaoui@alcatel-lucent.com


Peter Busschbach
Alcatel-Lucent
67 Whippany Rd
Whippany, NJ  07981
USA
EMail: busschbach@alcatel-lucent.com


Luca Martini
Cisco Systems, Inc.
9155 East Nichols Avenue, Suite 400
Englewood, CO  80112
USA
EMail: lmartini@cisco.com


Monique Morrow
Cisco Systems, Inc.
Richtistrase 7
CH-8304 Wallisellen
Switzerland
EMail: mmorrow@cisco.com


Thomas Nadeau
CA Technologies
273 Corporate Dr.
Portsmouth, NH  03801
USA
EMail: Thomas.Nadeau@ca.com


Yaakov (Jonathan) Stein
RAD Data Communications
24 Raoul Wallenberg St., Bldg C
Tel Aviv  69719
Israel
EMail: yaakov_s@rad.com
πŸ“¦ where this page comes from