RFC 5641 PROPOSED STANDARD L2TP · PSEUDOWIRES · FAULT REPORTING

L2TPv3 circuit status: Layer 2 Tunneling Protocol Version 3 (L2TPv3) Extended Circuit Status Values

Seven status bits let an L2TPv3 endpoint say which direction of a link has failed, and whether a pseudowire is on standby.

On rfc-editor.org ↗
PUBLISHED
August 2009
AUTHORS
N. McGill, C. Pignataro
STREAM
IETF
BUILDS ON
RFC 3931 — L2TPv3, RFC 4349 — HDLC over L2TPv3, RFC 4454 — ATM over L2TPv3, RFC 4591 — Frame Relay over L2TPv3, RFC 4719 — Ethernet over L2TPv3
AVP ATTRIBUTE TYPE
71
VALUE FIELD SIZE
16 bits
NEW BITS
Bits 9 through 13 (S, E, I, T, R)
DEPRECATED BIT
N (bit 14)
STANDBY BIT VALUE
0x0040
DOI
10.17487/RFC5641

RFC text

Contents
Original text · RFC Editor View on rfc-editor.org ↗
Network Working Group                                          N. McGill
Request for Comments: 5641                                  C. Pignataro
Updates: 3931, 4349, 4454, 4591, 4719                      Cisco Systems
Category: Standards Track                                    August 2009

             Layer 2 Tunneling Protocol Version 3 (L2TPv3)
                     Extended Circuit Status Values

Abstract

   This document defines additional Layer 2 Tunneling Protocol Version 3
   (L2TPv3) bit values to be used within the "Circuit Status" Attribute
   Value Pair (AVP) to communicate finer-grained error states for
   Attachment Circuits (ACs) and pseudowires (PWs).  It also generalizes
   the Active bit and deprecates the use of the New bit in the Circuit
   Status AVP, updating RFC 3931, RFC 4349, RFC 4454, RFC 4591, and RFC
   4719.

Status of This Memo

   This document specifies an Internet standards track protocol for the
   Internet community, and requests discussion and suggestions for
   improvements.  Please refer to the current edition of the "Internet
   Official Protocol Standards" (STD 1) for the standardization state
   and status of this protocol.  Distribution of this memo is unlimited.

Copyright Notice

   Copyright (c) 2009 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 in effect on the date of
   publication of this document (http://trustee.ietf.org/license-info).
   Please review these documents carefully, as they describe your rights
   and restrictions with respect to this document.

   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 this
   material may not have granted the IETF Trust the right to allow
   modifications of such material outside the IETF Standards Process.
   Without obtaining an adequate license from the person(s) controlling
   the copyright in such materials, 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, except to format
   it for publication as an RFC or to translate it into languages other
   than English.

Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  2
     1.1.  Specification of Requirements  . . . . . . . . . . . . . .  2
     1.2.  Abbreviations  . . . . . . . . . . . . . . . . . . . . . .  3
   2.  L2TPv3 Extended Circuit Status Values  . . . . . . . . . . . .  3
   3.  Circuit Status Usage and Clarifications  . . . . . . . . . . .  7
   4.  Updates to Existing RFCs . . . . . . . . . . . . . . . . . . .  8
   5.  Security Considerations  . . . . . . . . . . . . . . . . . . .  9
   6.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . .  9
   7.  Acknowledgements . . . . . . . . . . . . . . . . . . . . . . .  9
   8.  References . . . . . . . . . . . . . . . . . . . . . . . . . .  9
     8.1.  Normative References . . . . . . . . . . . . . . . . . . .  9
     8.2.  Informative References . . . . . . . . . . . . . . . . . . 10

1.  Introduction

   Currently, the L2TPv3 Circuit Status AVP [RFC3931] is able to convey
   the UP/DOWN status of an access circuit.  However, a finer
   granularity is often useful to determine the direction of the fault,
   as has been added for MPLS-based pseudowires and is used in the
   pseudowire control protocol using the Label Distribution Protocol
   (LDP); see Section 3.5 of [RFC4446] and Section 5.4.2 of [RFC4447].

   Additionally, it is useful (in session-level redundancy scenarios) to
   be able to indicate if a pseudowire is in a standby state, where it
   is fully established by signaling and allows Operations,
   Administration, and Maintenance, but is not switching data.  Again,
   such functionality is available for MPLS-based pseudowires using LDP,
   see [PREF-FWD].

   This document provides extended circuit status bit values for L2TPv3
   and adds them in a manner such that it is backwards compatible with
   the current Circuit Status AVP.  These new bits are applicable to all
   pseudowire types that use the Circuit Status AVP.

1.1.  Specification of Requirements

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in [RFC2119].

1.2.  Abbreviations

   The following abbreviations are used in this document and in the
   documents that it updates.  L2TPv3 Control Message Types are listed
   in Section 6 of [RFC3931].

     AC    Attachment Circuit
     AVP   Attribute Value Pair
     LCCE  L2TP Control Connection Endpoint
     NNI   Network-Network Interface
     PE    Provider Edge
     PSN   Packet Switched Network
     PW    Pseudowire

2.  L2TPv3 Extended Circuit Status Values

   The Circuit Status AVP (ICRQ, ICRP, ICCN, OCRQ, OCRP, OCCN, SLI),
   Attribute Type 71, indicates the initial status of, or a status
   change in, the circuit to which the session is bound.

   The Attribute Value field for this AVP, currently defined in
   [RFC3931], has the following format:

      0                   1
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |         Reserved          |N|A|
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

     Bit  Bit-Value   Name
     ----------------------------------------------------------------
     (A)  15  0x0001  Active
     (N)  14  0x0002  New

   As currently defined in [RFC3931] and replicated in [RFC4349],
   [RFC4454], [RFC4591], and [RFC4719], the two bits have the following
   meanings:

   o  The A (Active) bit indicates whether the circuit is up/active/
      ready (1) or down/inactive/not-ready (0).

   o  The N (New) bit indicates whether the circuit status indication is
      for a new circuit (1) or an existing circuit (0).

   This document updates the semantics of the A and N bits as follows
   (see also Section 4):

   The A (Active) bit indicates whether the local pseudowire endpoint
   (including the local Attachment Circuit (AC) and local Packet
   Switched Network (PSN)-facing pseudowire termination) has no faults
   present and is up/active/ready (1) or has faults present and is down/
   inactive/not-ready (0).

   The N (New) bit indicates if the notification is for a new circuit
   (1) or an existing circuit (0), and is provided to emulate Network-
   Network Interface (NNI) signaling between Provider Edge (PE) routers,
   e.g., Frame Relay NNI.  It MAY be used to convey that a circuit has
   been re-provisioned or newly provisioned at the PE, which can already
   be inferred from the L2TP control message type.  It is therefore
   uncertain as to what use the receiving PE can make of this bit,
   although it MAY include logging.  This document deprecates this bit
   as it is of little or no use, hence this bit SHOULD be ignored on
   receipt and is OPTIONAL to set on sending.  For reference, see
   Section 3.4 of [RFC4591], which does not specify any additional usage
   beyond the setting of the N bit in the ICRQ, ICRP (and OCRQ, OCRP)
   and the clearing of it in all other control messages.

   This document also extends this bitmap of values to allow for finer
   granularity of local pseudowire (i.e., Attachment Circuit or PSN-
   facing endpoint) status reporting.

   The Attribute Value field for the Circuit Status AVP, including the
   new values, has the following format:

      0                   1
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |     Reserved    |S|E|I|T|R|N|A|
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

     Bit  Bit-Value   Name
     -----------------------------------------------------------------
     (A)  15  0x0001  Active: Pseudowire has no faults
     (N)  14  0x0002  New [use deprecated]
     (R)  13  0x0004  Local Attachment Circuit (ingress) Receive Fault
     (T)  12  0x0008  Local Attachment Circuit (egress) Transmit Fault
     (I)  11  0x0010  Local PSN-facing PW (ingress) Receive Fault
     (E)  10  0x0020  Local PSN-facing PW (egress) Transmit Fault
     (S)   9  0x0040  Pseudowire is in Standby mode

   The new bit values have the following meanings:

   (R), Local Attachment Circuit (ingress) Receive Fault

    Fault Here
         |
         |
         |   +----------------------+         +----------------------+
         | Rx|         LCCE         |Egress   |       Peer LCCE      |
       --X-->|                      |-------->|                      |
             |             L2TPv3   |  [PSN]  |   L2TPv3             |
           Tx| Circuit   Pseudowire |Ingress  | Pseudowire   Circuit |
       <-----|                      |<--------|                      |
             +----------------------+         +----------------------+

      An alarm or fault has occurred at the local Attachment Circuit
      such that it is unable to receive traffic.  It can still transmit
      traffic.

   (T), Local Attachment Circuit (egress) Transmit Fault

             +----------------------+         +----------------------+
           Rx|         LCCE         |Egress   |       Peer LCCE      |
       ----->|                      |-------->|                      |
             |             L2TPv3   |  [PSN]  |   L2TPv3             |
           Tx| Circuit   Pseudowire |Ingress  | Pseudowire   Circuit |
       <--X--|                      |<--------|                      |
          |  +----------------------+         +----------------------+
          |
          |
     Fault Here

      A fault has occurred at the local Attachment Circuit such that it
      is unable to transmit traffic.  It can still receive traffic.

   (I), Local PSN-facing PW (ingress) Receive Fault

             +----------------------+         +----------------------+
           Rx|         LCCE         |Egress   |       Peer LCCE      |
       ----->|                      |-------->|                      |
             |             L2TPv3   |  [PSN]  |   L2TPv3             |
           Tx| Circuit   Pseudowire |Ingress  | Pseudowire   Circuit |
       <-----|                      |<---X----|                      |
             +----------------------+    |    +----------------------+
                                         |
                                         |
                                    Fault Here

      A fault has occurred in the receive direction between the local
      endpoint and the remote L2TP endpoint.

      Note that a fault at the session level would not necessarily
      trigger an L2TP control connection timeout.  The means of
      detecting this fault are outside the scope of this document; as an
      example, detection may be via PW Type-specific means,
      Bidirectional Forwarding Detection (BFD), or other methods.

   (E), Local PSN-facing PW (egress) Transmit Fault

                                      Fault Here
                                           |
                                           |
             +----------------------+      |  +----------------------+
           Rx|         LCCE         |Egress|  |       Peer LCCE      |
       ----->|                      |------X->|                      |
             |             L2TPv3   |  [PSN]  |   L2TPv3             |
           Tx| Circuit   Pseudowire |Ingress  | Pseudowire   Circuit |
       <-----|                      |<--------|                      |
             +----------------------+         +----------------------+

      A fault has occurred in the transmit direction between the local
      endpoint and the remote L2TP endpoint.

      Note that a fault at the session level would not necessarily
      trigger an L2TP control connection timeout.  The means of
      detecting this fault are outside the scope of this document; as an
      example, detection may be via PW Type-specific means, BFD, or
      other methods.

   (S), Pseudowire is in Standby mode

                                      Standby
                                        |
                                        |
             +----------------------+   |     +----------------------+
           Rx|         LCCE         |Egress   |       Peer LCCE      |
       ----->|                      |---X---->|                      |
             |             L2TPv3   |  [PSN]  |   L2TPv3             |
           Tx| Circuit   Pseudowire |Ingress  | Pseudowire   Circuit |
       <-----|                      |<--X-----|                      |
             +----------------------+   |     +----------------------+
                                        |
                                        |
                                      Standby

      The pseudowire has been placed into a Standby mode, which means
      that although it was signaled (during setup of the PW) and is
      operational, it is NOT switching user traffic.  Any received user
      traffic SHOULD be dropped.  User traffic MUST NOT be transmitted.

      A standby pseudowire also allows for means to check its data plane
      liveness in order to ensure its ability to switch data packets
      end-to-end.  This is achieved, for example, as detailed in
      [RFC5085] or [VCCV-BFD].  However, data is not forwarded from an
      Attachment Circuit (AC) into the L2TPv3 session, or from the
      L2TPv3 session out to the AC.

3.  Circuit Status Usage and Clarifications

   In implementations prior to this specification, bits 0-13 MUST be set
   to zero (see Section 5.4.5 of [RFC3931]).  This allows for legacy
   implementations to interwork properly with new implementations.

   The following are clarifications regarding the usage of the Circuit
   Status AVP bits as defined in this specification:

   o  The (R), (T), (I), and (E) bits are collectively referred to as
      "fault status bits".

   o  [RFC3931] defined the (A) bit as pertaining to local access
      circuit state only.  This document redefines it as meaning that
      "no faults are present on the local pseudowire endpoint."

   o  If multiple faults occur, all the fault status bits corresponding
      to each fault MUST be set (i.e., they MUST be bitwise ORed
      together).

   o  The (A) bit MUST NOT be set until all fault status bits are
      cleared.  This behavior allows an endpoint to be backwards
      compatible with a remote endpoint that does not understand these
      new status bits.

   o  If any of the fault status bits are set, then the (A) bit MUST be
      cleared.  That is, the fault status bits (R, T, I, E) are a more
      granular definition of (A), such that ORing the bits provides an
      inverted (A).

   o  If (A) is clear and the fault status bits (R, T, I, E) are clear,
      it means that there is no extended circuit status.  That is, the
      circuit is down/inactive/not-ready (from the (A) bit), without a
      more granular (extended) indication.

   o  The (S) bit can be set in conjunction with any other bit,
      including (A).  A pseudowire endpoint in Standby (S bit set) can
      be up/active/ready (A bit set) or experiencing a fault (A bit
      cleared and one or more of the fault status bits (R, T, I, E) set.

   o  Leaving Standby mode is indicated by the clearing of the (S) bit.

   o  The usage of the (N) bit has been deprecated.

4.  Updates to Existing RFCs

   This document updates existing RFCs that define (either generically
   or in the context of a specific set of PW Types) the Active and New
   bits of the Circuit Status AVP.  The Active and New bits of the
   Circuit Status AVP are specified in Section 5.4.5 of [RFC3931].
   Those definitions are adapted to specific Attachment Circuits and
   replicated in Section 3.4 of [RFC4349] (High-Level Data Link Control
   Frames over L2TPv3), Section 8 of [RFC4454] (Asynchronous Transfer
   Mode over L2TPv3), Section 3.4 of [RFC4591] (Frame Relay over
   L2TPv3), and Section 2.3.3 of [RFC4719] (Ethernet Frames over
   L2TPv3).  This document updates the definitions in all five of these
   references to say:

      The A (Active) bit indicates whether the local pseudowire endpoint
      (including the local Attachment Circuit and local PSN-facing
      pseudowire termination) has no faults present and is up/active/
      ready (1) or has faults present and is down/inactive/not-ready
      (0).

      The N (New) bit usage is deprecated; it SHOULD be ignored on
      receipt and is OPTIONAL to set on sending.

   This document also updates Section 2.2 (bullet c) of [RFC4719],
   removing the following two sentences:

      For ICRQ and ICRP, the Circuit Status AVP MUST indicate that the
      circuit status is for a new circuit (refer to N bit in Section
      2.3.3).

      For ICCN and SLI (refer to Section 2.3.2), the Circuit Status AVP
      MUST indicate that the circuit status is for an existing circuit
      (refer to N bit in Section 2.3.3) and reflect the current status
      of the link (refer to A bit in Section 2.3.3).

   And finally, this document updates Section 3.1 of [RFC4349], Section
   3.1 of [RFC4454], Section 3.1 of [RFC4591], and Section 2.2 of
   [RFC4719] with the following paragraph addition:

      The usage of the N bit in the Circuit Status AVP is deprecated.
      Therefore, for ICRQ and ICRP, the Circuit Status AVP need not
      indicate on sending (nor check on receipt) that the circuit status
      is for a new circuit, and for ICCN and SLI, the Circuit Status AVP
      need not indicate on sending (nor check on receipt) that the
      circuit status is for an existing circuit.

5.  Security Considerations

   Security considerations for the Circuit Status AVP are covered in the
   base L2TPv3 specification (see Section 8 of [RFC3931]).  No
   additional security considerations exist with extending this
   attribute.

6.  IANA Considerations

   The Circuit Status Bits number space [IANA-l2tp] is managed by IANA
   as per Section 10.7 of [RFC3931].  Five new bits (bits 9 through 13)
   and one updated bit (bit 14) have been assigned as follows:

   Circuit Status Bits - per [RFC3931]
   -------------------

   Bit  9 - S (Standby) bit
   Bit 10 - E (Local PSN-facing PW (egress) Tx Fault) bit
   Bit 11 - I (Local PSN-facing PW (ingress) Rx Fault) bit
   Bit 12 - T (Local AC (egress) Tx Fault) bit
   Bit 13 - R (Local AC (ingress) Rx Fault) bit
   Bit 14 - N (New) bit [use deprecated]

7.  Acknowledgements

   The authors wish to thank Muhammad Yousuf, Mark Townsley, George
   Wilkie, Prashant Jhingran, Pawel Sowinski, and Ignacio Goyret for
   useful comments received.

8.  References

8.1.  Normative References

   [RFC2119]    Bradner, S., "Key words for use in RFCs to Indicate
                Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC3931]    Lau, J., Townsley, M., and I. Goyret, "Layer Two
                Tunneling Protocol - Version 3 (L2TPv3)", RFC 3931,
                March 2005.

   [RFC4349]    Pignataro, C. and M. Townsley, "High-Level Data Link
                Control (HDLC) Frames over Layer 2 Tunneling Protocol,
                Version 3 (L2TPv3)", RFC 4349, February 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.

   [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.

   [RFC4719]    Aggarwal, R., Townsley, M., and M. Dos Santos,
                "Transport of Ethernet Frames over Layer 2 Tunneling
                Protocol Version 3 (L2TPv3)", RFC 4719, November 2006.

8.2.  Informative References

   [IANA-l2tp]  Internet Assigned Numbers Authority, "Layer Two
                Tunneling Protocol 'L2TP'", <http://www.iana.org>.

   [PREF-FWD]   Muley, P., Bocci, M., and L. Martini, "Preferential
                Forwarding Status bit definition", Work in Progress,
                September 2008.

   [RFC4446]    Martini, L., "IANA Allocations for Pseudowire Edge to
                Edge Emulation (PWE3)", BCP 116, RFC 4446, April 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.

   [RFC5085]    Nadeau, T. and C. Pignataro, "Pseudowire Virtual Circuit
                Connectivity Verification (VCCV): A Control Channel for
                Pseudowires", RFC 5085, December 2007.

   [VCCV-BFD]   Nadeau, T. and C. Pignataro, "Bidirectional Forwarding
                Detection (BFD) for the Pseudowire Virtual Circuit
                Connectivity Verification (VCCV)", Work in Progress,
                July 2009.

Authors' Addresses

   Neil McGill
   Cisco Systems
   7025-4 Kit Creek Road
   PO Box 14987
   Research Triangle Park, NC 27709
   USA

   EMail: nmcgill@cisco.com


   Carlos Pignataro
   Cisco Systems
   7200-12 Kit Creek Road
   PO Box 14987
   Research Triangle Park, NC  27709
   USA

   EMail: cpignata@cisco.com

AI ELI5

On this page
PROBLEMThe L2TPv3 Circuit Status AVP could only say that a circuit was up or down. That does not show which direction failed, and it cannot show that a pseudowire is held in reserve.
MECHANISMRFC 5641 adds five bit values to the Circuit Status AVP: four fault bits (R, T, I, E) and a Standby bit (S). It also redefines the Active bit as 'no faults on the local pseudowire endpoint' and deprecates the New bit.
WHY IT MATTERSOld and new implementations can still interwork, because the Active bit stays set only when no fault bit is set. The RFC updates RFC 3931, RFC 4349, RFC 4454, RFC 4591 and RFC 4719.

§1Why a Finer Status Is Needed

L2TPv3 carries layer 2 traffic, such as Frame Relay or Ethernet, across a packet network. Each carried circuit is bound to a session, and the Circuit Status AVP from RFC 3931 tells the peer whether that circuit is up or down.

Up or down is often too coarse. A finer granularity helps find the direction of a fault, as was already added for MPLS-based pseudowires that use the Label Distribution Protocol (see RFC 4446 and RFC 4447). It is also useful, in session-level redundancy setups, to mark a pseudowire as standby: fully signaled and open to Operations, Administration, and Maintenance, but not switching data.

The new bits are added in a backwards compatible way and apply to every pseudowire type that uses the Circuit Status AVP.

A plain on/off light cannot tell you what is wrong. This RFC adds more lights so the two ends of a link can say what is broken and which way.

§2The Circuit Status AVP Value

The Circuit Status AVP is Attribute Type 71. It can appear in ICRQ, ICRP, ICCN, OCRQ, OCRP, OCCN and SLI messages, and it gives the initial status of the circuit bound to a session, or a status change.

Its value is a 16-bit field. Before this RFC only two bits were defined: A (Active, bit 15, 0x0001) and N (New, bit 14, 0x0002). RFC 5641 keeps them and adds five more, giving the layout Reserved | S | E | I | T | R | N | A.

Bit numbering counts from the left of the 16-bit field, so the Active bit is bit 15 and the Standby bit is bit 9.

The status is a row of 16 little switches. Two used to mean something. Now seven do, and the rest are saved for later.

CIRCUIT STATUS AVP VALUE (RFC 5641)
Circuit Status AVP value
FieldNameSizeValueDescription
RESERVEDReserved9 bitsBits 0 to 8; unused and set to zero.
SS1 bitsBit 9: pseudowire is in Standby mode.
EE1 bitsBit 10: local PSN-facing PW egress transmit fault.
II1 bitsBit 11: local PSN-facing PW ingress receive fault.
TT1 bitsBit 12: local AC egress transmit fault.
RR1 bitsBit 13: local AC ingress receive fault.
NN1 bitsBit 14: New; use deprecated.
AA1 bitsBit 15: Active; no faults on the local pseudowire endpoint.

§3The New Fault and Standby Bits

The four fault status bits describe the local pseudowire endpoint, which covers the local Attachment Circuit (AC) and the endpoint that faces the packet switched network (PSN).

  • R: the AC cannot receive traffic, but can still transmit.
  • T: the AC cannot transmit traffic, but can still receive.
  • I: a fault in the receive direction between the local endpoint and the remote L2TP endpoint.
  • E: a fault in the transmit direction between the local endpoint and the remote L2TP endpoint.

For I and E, the RFC notes that a session-level fault would not necessarily cause an L2TP control connection timeout. How the fault is detected is out of scope; examples given are PW Type-specific means and Bidirectional Forwarding Detection (BFD).

The S bit means the pseudowire is in Standby mode. It was signaled during setup and is operational, but it is NOT switching user traffic. Received user traffic SHOULD be dropped, and user traffic MUST NOT be transmitted. A standby pseudowire can still have its data plane liveness checked, for example as in RFC 5085.

Four of the switches say 'I can't hear' or 'I can't talk' for two different parts of the path. The fifth says 'I'm on the bench: ready to play, but not playing right now.'

CIRCUIT STATUS BIT VALUES
  • 0x0001A (Active) — Pseudowire has no faults.
  • 0x0002N (New) — Use deprecated.
  • 0x0004R — Local Attachment Circuit (ingress) Receive Fault.
  • 0x0008T — Local Attachment Circuit (egress) Transmit Fault.
  • 0x0010I — Local PSN-facing PW (ingress) Receive Fault.
  • 0x0020E — Local PSN-facing PW (egress) Transmit Fault.
  • 0x0040S — Pseudowire is in Standby mode.

§4Rules for Setting the Bits

Older implementations set bits 0 to 13 to zero, so they can interwork with new ones. The RFC then gives these rules:

  • If several faults occur, every matching fault bit MUST be set (bitwise OR).
  • The A bit MUST NOT be set until all fault bits are cleared, and if any fault bit is set, A MUST be cleared. This lets an endpoint work with a remote endpoint that does not understand the new bits.
  • If A and all fault bits are clear, there is no extended status. The circuit is simply down.
  • S can be set together with any other bit, including A. Leaving standby is shown by clearing S.

The A bit is redefined. RFC 3931 tied it to the local access circuit only. Now it means that no faults are present on the local pseudowire endpoint.

The N bit, which says whether a notification is for a new or an existing circuit, is deprecated. It SHOULD be ignored on receipt and is OPTIONAL to set on sending, because the control message type already tells the receiver most of what it conveys.

If anything is wrong, the 'all good' switch must be off. If nothing is wrong, it must be on. That way, an older device that only knows 'good or bad' still understands.

§5Changes to Existing RFCs

The Active and New bits were first defined in Section 5.4.5 of RFC 3931 and were repeated for specific circuit types. RFC 5641 updates the definitions in five documents: RFC 3931, RFC 4349 (HDLC), RFC 4454 (ATM), RFC 4591 (Frame Relay) and RFC 4719 (Ethernet).

It also removes two sentences from Section 2.2 of RFC 4719 that required the New bit to be set for ICRQ and ICRP and cleared for ICCN and SLI. In four of the documents it adds a paragraph saying that, since the N bit is deprecated, the sender need not indicate it and the receiver need not check it.

When you change a rule in one rulebook, you have to fix the copies in the other rulebooks too. This RFC lists which pages to fix.

§6Security Considerations

The RFC adds nothing new here. Security considerations for the Circuit Status AVP are covered in Section 8 of RFC 3931, and the RFC states that no additional security considerations exist from extending the attribute.

Adding more switches does not add new ways to break in, so the old safety rules still apply.

§7IANA Registrations

The Circuit Status Bits number space is managed by IANA under Section 10.7 of RFC 3931. Five new bits, 9 through 13, and one updated bit, 14, were assigned. Bit 9 is S, 10 is E, 11 is I, 12 is T, 13 is R, and bit 14 is N, marked as use deprecated.

A public list keeps track of what each switch means, so everyone agrees. These new switches were added to it.

§8References