CCAMP Working Group                                   E. Bellagamba, Ed.
Internet-Draft                                         L. Andersson, Ed.
Intended status: Standards Track                                Ericsson
Expires: January 12, May 3, 2012                                  P. Skoldstrom, Ed.
                                                                Acreo AB
                                                                 D. Ward
                                                                 Juniper
                                                               A. Takacs
                                                                Ericsson
                                                           July 11,
                                                        October 31, 2011

Configuration of Pro-Active Operations,  Administration, and Maintenance
    (OAM) Functions for MPLS-based Transport Networks using RSVP-TE
              draft-ietf-ccamp-rsvp-te-mpls-tp-oam-ext-06
              draft-ietf-ccamp-rsvp-te-mpls-tp-oam-ext-07

Abstract

   This specification describes the configuration of pro-active MPLS-TP
   Operations, Administration, and Maintenance (OAM) Functions for a
   given LSP using a set of TLVs that are carried by the RSVP-TE
   protocol.

   This document is a product of a joint Internet Engineering Task Force
   (IETF) / International Telecommunication Union Telecommunication
   Standardization Sector (ITU-T) effort to include an MPLS Transport
   Profile within the IETF MPLS and PWE3 architectures to support the
   capabilities and functionalities of a packet transport network.

Status of this Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on January 12, May 3, 2012.

Copyright Notice
   Copyright (c) 2011 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
     1.1.  Contributing Authors . . . . . . . . . . . . . . . . . . .  4
     1.2.  Requirements Language  . . . . . . . . . . . . . . . . . .  4
   2.  Overview of MPLS OAM for Transport Applications  . . . . . . .  4
   3.  Theory of Operations . . . . . . . . . . . . . . . . . . . . .  5
     3.1.  MPLS OAM Configuration Operation Overview  . . . . . . . .  5
       3.1.1.  Configuration of BFD sessions  . . . . . . . . . . . .  5
       3.1.2.  Configuration of Performance Monitoring  . . . . . . .  6
       3.1.3.  Configuration of Measurements and FMS  . . Fault Management Signals  . . . . . .  6
     3.2.  OAM Configuration TLV  . . . . . . . . . . . . . . . . . .  6  7
     3.3.  BFD Configuration sub-TLV  . . . . . . . . . . . . . . . .  9
       3.3.1.  Local Discriminator sub-TLV  . . . . . . . . . . . . . 10
       3.3.2.  Negotiation Timer Parameters sub-TLV . . . . . . . . . 11
       3.3.3.  BFD Authentication sub-TLV . . . . . . . . . . . . . . 12
     3.4.  Performance Monitoring sub-TLV . . . . . . . . . . . . . . 12 13
       3.4.1.  MPLS OAM PM Loss sub-TLV . . . . . . . . . . . . . . . 13 14
       3.4.2.  MPLS OAM PM Delay sub-TLV  . . . . . . . . . . . . . . 15
     3.5.  MPLS OAM FMS sub-TLV . . . . . . . . . . . . . . . . . . . 16
   4.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 17
   5.  BFD OAM configuration errors . . . . . . . . . . . . . . . . . 17
   6.  Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 17 18
   7.  Security Considerations  . . . . . . . . . . . . . . . . . . . 17 18
   8.  References . . . . . . . . . . . . . . . . . . . . . . . . . . 18
     8.1.  Normative References . . . . . . . . . . . . . . . . . . . 18
     8.2.  Informative References . . . . . . . . . . . . . . . . . . 19
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 20

1.  Introduction

   This document describes the configuration of pro-active MPLS-TP
   Operations, Administration, and Maintenance (OAM) Functions for a
   given LSP using TLVs carried by RSVP-TE [RFC3209].  In particular it
   specifies the mechanisms necessary to establish MPLS-TP OAM entities
   at and points for monitoring and performing measurements on an LSP,
   as well as defining information elements and procedures to configure
   pro-active MPLS OAM functions. functions runnineg between LERs.  Initialization
   and control of on-demand MPLS OAM functions are expected to be
   carried out by directly accessing network nodes via a management
   interface; hence configuration and control of on-demand OAM functions
   are out-of-scope for this document.

   The Transport Profile of MPLS must, by definition [RFC5654], be
   capable of operating without a control plane.  Therefore there are
   three options for configuring MPLS-TP OAM, without a control plane by
   either using an NMS or LSP Ping, or with a control plane using GMPLS
   (specifically RSVP-TE) .

   Pro-active MPLS OAM is performed by three different protocols,
   Bidirectional Forwarding Detection (BFD) [RFC5880] for Continuity
   Check/Connectivity Verification, the delay measurement protocol (DM)
   [MPLS-PM]
   [RFC6374] for delay and delay variation (jitter) measurements, and
   the loss measurement protocol (LM) [MPLS-PM] [RFC6374] for packet loss and
   throughput measurements.  Additionally there is a number of Fault
   Management Signals that can be configured.

   BFD is a protocol that provides low-overhead, fast detection of
   failures in the path between two forwarding engines, including the
   interfaces, data link(s), and to the extent possible the forwarding
   engines themselves.  BFD can be used to track the liveliness and
   detect data plane failures of MPLS-TP point-to-point and might also
   be extended to support point-to-multipoint connections.

   The delay and loss measurements protocols [MPLS-PM] [RFC6374] use a simple
   query/response model for performing bidirectional measurements that
   allows the originating node to measure packet loss and delay in both
   directions.  By timestamping and/or writing current packet counters
   to the measurement packets at four times (Tx and Rx in both
   directions) current delays and packet losses can be calculated.  By
   performing successive delay measurements the delay variation (jitter)
   can be calculated.  Current throughput can be calculated from the
   packet loss measurements by dividing the number of packets sent/
   received with the time it took to perform the measurement, given by
   the timestamp in LM header.  Combined with a packet generator the
   throughput measurement can be used to measure the maximum capacity of
   a particular LSP.

   MPLS Transport Profile (MPLS-TP) describes a profile of MPLS that
   enables operational models typical in transport networks, while
   providing additional OAM, survivability and other maintenance
   functions not currently supported by MPLS.  [RFC5860] defines the
   requirements for the OAM functionality of MPLS-TP.

   This document is a product of a joint Internet Engineering Task Force
   (IETF) / International Telecommunication Union Telecommunication
   Standardization Sector (ITU-T) effort to include an MPLS Transport
   Profile within the IETF MPLS and PWE3 architectures to support the
   capabilities and functionalities of a packet transport network.

1.1.  Contributing Authors

   This document is the result of a large team of authors and
   contributors.  The following is a list of the co-authors:

      John Drake

      Benoit Tremblay

1.2.  Requirements Language

   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 RFC 2119 [RFC2119].

2.  Overview of MPLS OAM for Transport Applications

   [MPLS-TP-OAM-FWK] describes how MPLS OAM mechanisms are operated to
   meet transport requirements outlined in [RFC5860].

   [BFD-CCCV] specifies two BFD operation modes: 1) "CC mode", which
   uses periodic BFD message exchanges with symmetric timer settings,
   supporting Continuity Check, 2) "CV/CC mode" which sends unique
   maintenance entity identifiers in the periodic BFD messages
   supporting Connectivity Verification as well as Continuity Check.

   [MPLS-PM]

   [RFC6374] specifies mechanisms for performance monitoring of LSPs, in
   particular it specifies loss and delay measurement OAM functions.

   [MPLS-FMS] specifies fault management signals with which a server LSP
   can notify client LSPs about various fault conditions to suppress
   alarms or to be used as triggers for actions in the client LSPs.  The
   following signals are defined: Alarm Indication Signal (AIS), Link
   Down Indication (LDI) and Locked Report (LKR).  To indicate client
   faults associated with the attachment circuits Client Signal Failure
   Indication (CSF) can be used.  CSF is described in [MPLS-TP-OAM-FWK]
   and in the context of this document is for further study.

   [MPLS-TP-OAM-FWK] describes the mapping of fault conditions to
   consequent actions.  Some of these mappings may be configured by the
   operator, depending on the application of the LSP.  The following
   defects are identified: Loss Of Continuity (LOC), Misconnectivity,
   MEP Misconfiguration and Period Misconfiguration.  Out of these
   defect conditions, the following consequent actions may be
   configurable: 1) whether or not the LOC defect should result in
   blocking the outgoing data traffic; 2) whether or not the "Period
   Misconfiguration defect" should result in a signal fail condition.

3.  Theory of Operations

3.1.  MPLS OAM Configuration Operation Overview

   RSVP-TE, or alternatively LSP Ping [LSP-PING CONF], can be used to
   simply enable the different OAM functions, by setting the
   corresponding flags in the "OAM Functions TLV".  Additionally one may
   include sub-TLVs for the different OAM functions in order to specify
   different parameters in detail.

   The presence of OAM configuration TLVs at intermediate nodes is
   justified because the mid-points need to forward the RSVP-TE message
   to the end point.  No TLV processing or modification or following OAM
   actions need to be taken at the intermediate points.

3.1.1.  Configuration of BFD sessions

   For this specification, BFD MUST be run in either one of the two
   modes:

      - Asynchronous mode, where both sides should be in active mode. mode

      - Unidirectional mode

   In the simplest scenario LSP Ping, or alternatively RSVP-TE [RSVP-TE
   CONF], is used only to bootstrap a BFD session for an LSP, without
   any timer negotiation.

   Timer negotiation can be performed either in subsequent BFD control
   messages (in this case the operation is similar to LSP Ping based
   bootstrapping described in [RFC5884]) or directly in the LSP ping
   configuration messages.

   When BFD Control packets are transported in the G-ACh they are not
   protected by any end-to-end checksum, only lower-layers are providing
   error detection/correction.  A single bit error, e.g. a flipped bit
   in the BFD State field could cause the receiving end to wrongly
   conclude that the link is down and in turn trigger protection
   switching.  To prevent this from happening the "BFD Configuration
   sub-TLV" has an Integrity flag that when set enables BFD
   Authentication using Keyed SHA1 with an empty key (all 0s) [RFC5880].
   This would make every BFD Control packet carry an SHA1 hash of itself
   that can be used to detect errors.

   If BFD Authentication using a pre-shared key / password is desired
   (i.e. authentication and not only error detection) the "BFD
   Authentication sub-TLV" MUST be included in the "BFD Configuration
   sub-TLV".  The "BFD Authentication sub-TLV" is used to specify which
   authentication method that should be used and which pre-shared key /
   password that should be used for this particular session.  How the
   key exchange is performed is out of scope of this document.

3.1.2.  Configuration of Performance Monitoring

   It is possible to configure Performance Monitoring functionalities
   such as Loss, Delay and Throuhput Throughput as described in [MPLS-PM]. [RFC6374].

   When configuring Performance monitoring functionalities it can be
   choosen
   chosen either the default configuration (by only setting the
   respective flags in the "OAM functions TLV") or a customized
   configuration (by including the respective Loss and/or Delay sub-
   TLVs).

3.1.3.  Configuration of Measurements and FMS Fault Management Signals

   Additional OAM functions may be configured by setting the appropriate
   flags in the "OAM Functions TLV", these include Performance
   Measurements (packet loss, throughput, delay, and delay variation)
   and Fault Management Signal handling.

   By setting the PM Loss flag in the "OAM Functions TLV" and including
   the "MPLS OAM PM Loss sub-TLV" one can configure the measurement
   interval and loss threshold values for triggering protection.

   Delay measurements are configured by setting PM Delay flag in the
   "OAM Functions TLV" and including the "MPLS OAM PM Loss sub-TLV" one
   can configure the measurement interval and the delay threshold values
   for triggering protection.

   To configure Fault Monitoring Signals and their refresh time the FMS
   flag in the "OAM Functions TLV" MUST be set and the "MPLS OAM FMS
   sub-TLV" included.  If an intermediate point is meant to originate
   fault management signal messages this mean that such intermediate
   point is associated to a server MEP through a co-located MPLS-TP
   client/server adaptation function and such server MEP needs to be
   configured by its own RSVP-TE session (or, in alternative, NMS or LSP
   ping).

3.2.  OAM Configuration TLV

   The "OAM Configuration TLV" is depicted in the following figure.  It
   specifies the OAM functions that are to be used for the LSP and it is
   defined in [OAM-CONF-FWK].  The "OAM Configuration TLV" is carried in
   the LSP_ATTRIBUTES object in Path and Resv messages.

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |           Type (2) (IANA)     |           Length              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    OAM Type   |                Reserved                       |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   ~                           sub-TLVs                            ~
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Type: indicates the "OAM Configuration TLV" (2) (IANA to assign).

   OAM Type: one octet that specifies the technology specific OAM Type.
   If the requested OAM Type is not supported, an error must be
   generated: "OAM Problem/Unsupported OAM Type".

   This document defines a new OAM Type: "MPLS OAM" (suggested value 2,
   IANA to assign) from the "RSVP-TE OAM Configuration Registry".  The
   "MPLS OAM" type is set to request the establishment of OAM functions
   for MPLS-TP LSPs.  The specific OAM functions are specified in the
   "Function Flags" sub-TLV as depicted in [OAM-CONF-FWK].

   The receiving edge LSR when the MPLS-TP OAM Type is requested should
   check which OAM Function Flags are set in the "Function Flags TLV"
   (also defined in [OAM-CONF-FWK]) and look for the corresponding
   technology specific configuration TLVs.

   Additional corresponding sub-TLVs are as follows:

      - "BFD Configuration sub-TLV", which MUST be included if the CC
      and/or the CV OAM Function flag is set.  This sub-TLV MUST carry a
      "BFD Local Discriminator sub-TLV" and a "Timer Negotiation
      Parameters sub-TLV" if the N flag is cleared.  If the I flag is
      set, the "BFD Authentication sub-TLV" may be included.

      - "MPLS OAM PM Loss sub-TLV" within the "Performance Monitoring
      sub-TLV", which MAY be included if the PM/Loss OAM Function flag
      is set.  If the "MPLS OAM PM Loss sub-TLV" is not included,
      default configuration values are used.  Such sub-TLV MAY also be
      included in case the Throughput function flag is set and there is
      the need to specify measurement interval different from the
      default ones.  In fact the throughput measurement make use of the
      same tool as the loss measurement, hence the same TLV is used.

      - "MPLS OAM PM Delay sub-TLV" within the "Performance Monitoring
      sub-TLV", which MAY be included if the PM/Delay OAM Function flag
      is set.  If the "MPLS OAM PM Delay sub-TLV" is not included,
      default configuration values are used.

      - "MPLS OAM FMS sub-TLV", which MAY be included if the FMS OAM
      Function flag is set.  If the "MPLS OAM FMS sub-TLV" is not
      included, default configuration values are used.

   Moreover, if the CV or CC flag is set, the CC flag MUST be set at the
   same time.  The format of an MPLS-TP CV/CC message is shown in [BFD-
   CCCV] and it requires, together with the BFD control packet
   information, the "Unique MEP-ID of source of BFD packet".  [MPLS-TP-
   IDENTIF] defines the composition of such identifier as:

   <"Unique MEP-ID of source of BFD packet"> ::=
   <src_node_id><src_tunnel_num><lsp_num>

   GMPLS signaling [RFC3473] uses a 5-tuple to uniquely identify an LSP
   within an operator's network.  This tuple is composed of a Tunnel
   Endpoint Address, Tunnel_ID, Extended Tunnel ID, and Tunnel Sender
   Address and (GMPLS) LSP_ID.

   Hence, the following mapping is used without the need of redefining a
   new TLV for MPLS-TP proactive CV purpose.

      - Tunnel ID = src_tunnel_num

      - Tunnel Sender Address = src_node_id

      - LSP ID = LSP_Num

   "Tunnel ID" and "Tunnel Sender Address" are included in the "SESSION"
   object [RFC3209], which is mandatory in both Path and Resv messages.

   "LSP ID" will be the same on both directions and it is included in
   the "SENDER_TEMPLATE" object [RFC3209] which is mandatory in Path
   messages.

   [Author's note: the same "Unique MEP-ID of source" will be likely
   required for Performance monitoring purposes.  This need to be agreed
   with [MPLS-PM] [RFC6374] authors.]

3.3.  BFD Configuration sub-TLV

   The "BFD Configuration sub-TLV" (depicted below) is defined for BFD
   OAM specific configuration parameters.  The "BFD Configuration sub-
   TLV" is carried as a sub-TLV of the "OAM Configuration TLV".

   This TLV accommodates generic BFD OAM information and carries sub-
   TLVs.

       0                   1                   2                   3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |           Type (3) (IANA)     |           Length              |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |Vers.| PHB |N|S|I|    Reserved (set to all 0s)                 |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      ~                           sub-TLVs                            ~
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Type: indicates a new type, the "BFD Configuration sub-TLV" (IANA to
   define).

   Length: indicates the total length including sub-TLVs.

   Version: identifies the BFD protocol version.  If a node does not
   support a specific BFD version an error must be generated: "OAM
   Problem/Unsupported OAM Version".

   PHB: Identifies the Per-Hop Behavior (PHB) to be used for periodic
   continuity monitoring messages.

   BFD Negotiation (N): If set timer negotiation/re-negotiation via BFD
   Control Messages is enabled, when cleared it is disabled.

   Symmetric session (S): If set the BFD session MUST use symmetric
   timing values.

   Integrity (I): If set BFD Authentication MUST be enabled.  If the
   "BFD Configuration sub-TLV" does not include a "BFD Authentication
   sub-TLV" the authentication MUST use Keyed SHA1 with an empty pre-
   shared key (all 0s).

   Encapsulation Capability (G): if set, it shows the capability of
   encapsulating BFD messages into G-Ach channel.  If both the G bit and
   U bit are set, configuration gives precedence to the G bit.

   Encapsulation Capability (U): if set, it shows the capability of
   encapsulating BFD messages into UDP packets.  If both the G bit and U
   bit are set, configuration gives precedence to the G bit.

   Bidirectional (B): if set, it configures BFD in the Bidirectional
   mode.  If it is not set it configures BFD in unidirectional mode.  In
   the second case, the source node does not expect any Discriminator
   values back from the destination node.

   The "BFD Configuration sub-TLV" MUST include the following sub-TLVs
   in the Path message:

      - "Local Discriminator sub-TLV";

      - "Negotiation Timer Parameters sub-TLV" if the N flag is cleared.

   The "BFD Configuration sub-TLV" MUST include the following sub-TLVs
   in the Resv message:

      - "Local Discriminator sub-TLV;"

      - "Negotiation Timer Parameters sub-TLV" if:

         - the N and S flags are cleared

         - the N flag is cleared and the S flag is set and a timing
         interval larger than the one received needs to be used

   Reserved: Reserved for future specification and set to 0.

3.3.1.  Local Discriminator sub-TLV

   The "Local Discriminator sub-TLV" is carried as a sub-TLV of the "BFD
   Configuration sub-TLV" and is depicted below.

       0                   1                   2                   3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |           Type (1) (IANA)     |         Length = 8            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                      Local Discriminator                      |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Type: indicates a new type, the Local Discriminator sub-TLV (1) (IANA
   to define).

   Length: indicates the TLV total length in octets.

   Local Discriminator: A unique, nonzero discriminator value generated
   by the transmitting system and referring to itself, used to
   demultiplex multiple BFD sessions between the same pair of systems.

3.3.2.  Negotiation Timer Parameters sub-TLV

   The "Negotiation Timer Parameters sub-TLV" is carried as a sub-TLV of
   the "BFD Configuration sub-TLV" and is depicted below.

        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |  Timer Neg. Type (2) (IANA)   |          Length = 20          |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |         Acceptable Min. Asynchronous TX interval              |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |         Acceptable Min. Asynchronous RX interval              |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |               Required Echo TX Interval                       |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Type: indicates a new type, the "Negotiation Timer Parameters sub-
   TLV" (IANA to define).

   Length: indicates the TLV total length in octets. (20)

   Acceptable Min. Asynchronous TX interval: in case of S (symmetric)
   flag set in the "BFD Configuration sub-TLV", it expresses the desired
   time interval (in microseconds) at which the ingress LER intends to
   both transmit and receive BFD periodic control packets.  If the
   receiving edge LSR can not support such value, it can reply with an
   interval greater than the one proposed.

   In case of S (symmetric) flag cleared in the "BFD Configuration sub-
   TLV", this field expresses the desired time interval (in
   microseconds) at which a edge LSR intends to transmit BFD periodic
   control packets in its transmitting direction.

   Acceptable Min. Asynchronous RX interval: in case of S (symmetric)
   flag set in the "BFD Configuration sub-TLV", this field MUST be equal
   to "Acceptable Min. Asynchronous TX interval" and has no additional
   meaning respect to the one described for "Acceptable Min.
   Asynchronous TX interval".

   In case of S (symmetric) flag cleared in the "BFD Configuration sub-
   TLV", it expresses the minimum time interval (in microseconds) at
   which edge LSRs can receive BFD periodic control packets.  In case
   this value is greater than the "Acceptable Min. Asynchronous TX
   interval" received from the other edge LSR, such edge LSR MUST adopt
   the interval expressed in this "Acceptable Min. Asynchronous RX
   interval".

   Required Echo TX Interval: the minimum interval (in microseconds)
   between received BFD Echo packets that this system is capable of
   supporting, less any jitter applied by the sender as described in
   [RFC5880] sect. 6.8.9.  This value is also an indication for the
   receiving system of the minimum interval between transmitted BFD Echo
   packets.  If this value is zero, the transmitting system does not
   support the receipt of BFD Echo packets.  If the receiving system can
   not support this value an error MUST be generated "Unsupported BFD TX
   rate interval".

3.3.3.  BFD Authentication sub-TLV

   The "BFD Authentication sub-TLV" is carried as a sub-TLV of the "BFD
   Configuration sub-TLV" and is depicted below.

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    BFD Auth. Type (3) (IANA)  |          Length = 8           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   Auth Type   |  Auth Key ID  |         Reserved (0s)         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Type: indicates a new type, the "BFD Authentication sub-TLV" (IANA to
   define).

   Length: indicates the TLV total length in octets. (8)

   Auth Type: indicates which type of authentication to use.  The same
   values as are defined in section 4.1 of [RFC5880] are used.

   Auth Key ID: indicates which authentication key or password
   (depending on Auth Type) should be used.  How the key exchange is
   performed is out of scope of this document.

   Reserved: Reserved for future specification and set to 0.

3.4.  Performance Monitoring sub-TLV

   If the "OAM functions TLV" has either the L (Loss), D (Delay) or T
   (Throughput) flag set, the "Performance Monitoring sub-TLV" MUST be
   present.

   In case the vlues needs values need to be different than the default ones the
   "Performance Monitoring sub-TLV", "MPLS OAM PM Loss sub-TLV" MAY
   include the following sub-TLVs:

      - "MPLS OAM PM Loss sub-TLV" if the L flag is set in the "OAM
      functions TLV";

      - "MPLS OAM PM Delay sub-TLV" if the D flag is set in the "OAM
      functions TLV";

   The "Performance Monitoring sub-TLV" depicted below is carried as a
   sub-TLV of the "OAM Functions TLV".

   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    Perf Monitoring Type (IANA)|          Length               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |D|L|J|Y|K|C|            Reserved (set to all 0s)               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   ~                           sub-TLVs                            ~
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Configuration Flags, for the specific function description please
   refer to [MPLS-PM]: [RFC6374]:

      - D: Delay inferred/direct (0=INFERRED, 1=DIRECT)

      - L: Loss inferred/direct (0=INFERRED, 1=DIRECT)
      - J: Delay variation/jitter (1=ACTIVE, 0=NOT ACTIVE)

      - Y: Dyadic (1=ACTIVE, 0=NOT ACTIVE)

      - K: Loopback (1=ACTIVE, 0=NOT ACTIVE)

      - C: Combined (1=ACTIVE, 0=NOT ACTIVE)

3.4.1.  MPLS OAM PM Loss sub-TLV

   The "MPLS OAM PM Loss sub-TLV" depicted below is carried as a sub-TLV
   of the "Performance Monitoring sub-TLV".

   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  PM Loss Type (1) (IANA)      |          Length               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | OTF |T|B|                    RESERVED                         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                    Measurement Interval                       |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                       Test Interval                           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                      Loss Threshold                           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Type: indicates a new type, the "MPLS OAM PM Loss sub-TLV" (IANA to
   define, suggested value 1).

   Length: indicates the length of the parameters in octets (12).

   OTF: Origin Timestamp Format of the Origin Timestamp field described
   in [MPLS-PM]. [RFC6374].  By default it is set to IEEE 1588 version 1.

   Configuration Flags, please refer to [MPLS-PM] [RFC6374] for further details:

      - T: Traffic-class-specific measurement indicator.  Set to 1 when
      the measurement operation is scoped to packets of a particular
      traffic class (DSCP value), and 0 otherwise.  When set to 1, the
      DS field of the message indicates the measured traffic class.  By
      default it is set to 1.

      - B: Octet (byte) count.  When set to 1, indicates that the
      Counter 1-4 fields represent octet counts.  When set to 0,
      indicates that the Counter 1-4 fields represent packet counts.  By
      default it is set to 0.

   Measurement Interval: the time interval (in microseconds) at which
   Loss Measurement query messages MUST be sent on both directions.  If
   the edge LSR receiving the Path message can not support such value,
   it can reply back with a higher interval.  By default it is set to
   (TBD).

   Test Interval: test messages interval as described in [MPLS-PM]. [RFC6374].  By
   default it is set to (TBD).

   Loss Threshold: the threshold value of lost packets over which
   protections MUST be triggered.  By default it is set to (TBD).

3.4.2.  MPLS OAM PM Delay sub-TLV

   The "MPLS OAM PM Delay sub-TLV" depicted below is carried as a sub-
   TLV of the "OAM Functions TLV".

   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  PM Delay Type (2) (IANA)     |          Length               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | OTF |T|B|                    RESERVED                         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                    Measurement Interval                       |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                       Test Interval                           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                      Delay Threshold                          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Type: indicates a new type, the "MPLS OAM PM Loss sub-TLV" (IANA to
   define, suggested value 1).

   Length: indicates the length of the parameters in octets (12).

   OTF: Origin Timestamp Format of the Origin Timestamp field described
   in [MPLS-PM]. [RFC6374].  By default it is set to IEEE 1588 version 1.

   Configuration Flags, please refer to [MPLS-PM] [RFC6374] for further details:

      - T: Traffic-class-specific measurement indicator.  Set to 1 when
      the measurement operation is scoped to packets of a particular
      traffic class (DSCP value), and 0 otherwise.  When set to 1, the
      DS field of the message indicates the measured traffic class.  By
      default it is set to 1.

      - B: Octet (byte) count.  When set to 1, indicates that the
      Counter 1-4 fields represent octet counts.  When set to 0,
      indicates that the Counter 1-4 fields represent packet counts.  By
      default it is set to 0.

   Measurement Interval: the time interval (in microseconds) at which
   Delay Measurement query messages MUST be sent on both directions.  If
   the edge LSR receiving the Path message can not support such value,
   it can reply back with a higher interval.  By default it is set to
   (TBD).

   Test Interval: test messages interval as described in [MPLS-PM]. [RFC6374].  By
   default it is set to (TBD).

   Delay Threshold: the threshold value of measured delay (in
   microseconds) over which protections MUST be triggered.  By default
   it is set to (TBD).

3.5.  MPLS OAM FMS sub-TLV

   The "MPLS OAM FMS sub-TLV" depicted below is carried as a sub-TLV of
   the "OAM Configuration sub-TLV".

        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |           Type (5)  (IANA)    |        Length = 12            |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |A|D|L|C|             Reserved   (set all to 0s)        |E|          | PHB |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                      Refresh Timer                            |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Type: indicates a new type, the "MPLS OAM FMS sub-TLV" (IANA to
   define).

   Length: indicates the TLV total length in octets.

   Signal Flags: Flags should not be processed at intermediate nodes as they
   only have an end-point significance.  They are used to enable the
   following signals: signals at end points:

      - A: Alarm Indication Signal (AIS) as described in [MPLS-FMS]

      - D: Link Down Indication (LDI) as described in [MPLS-FMS]
      - L: Locked Report (LKR) as described in [MPLS-FMS]

      - C: Client Signal Failure (CSF) as described in [MPLS-CSF]

      - Remaining bits: Reserved for future specification and set to 0.

   Configuration Flags:

      - E: used to enable/disable explicitly clearing faults

      - PHB: identifies the per-hop behavior of packets with fault
      management information information.  It is significant only when C flag is
      set.

   Refresh Timer: indicates the refresh timer (in microseconds) of fault
   indication messages.  If the edge LSR receiving the Path message can
   not support such value, it can reply back with a higher interval.

4.  IANA Considerations

   This document specifies the following new TLV types:

      - "BFD Configuration" type: 2;

      - "MPLS OAM PM Loss" type: 3;

      - "MPLS OAM PM Delay" type: 4;

      - "MPLS OAM FMS" type: 5.

   sub-TLV types to be carried in the "BFD Configuration sub-TLV":

      - "Local Discriminator" sub-TLV type: 1;

      - "Negotiation Timer Parameters" sub-TLV type: 2.

      - "BFD Authentication" sub-TLV type: 3.

5.  BFD OAM configuration errors

   In addition to error values specified in [OAM-CONF-FWK] and [ETH-OAM]
   this document defines the following values for the "OAM Problem"
   Error Code:

      - "MPLS OAM Unsupported Functionality";

      - "OAM Problem/Unsupported TX rate interval".

6.  Acknowledgements

   The authors would like to thank David Allan, Lou Berger, Annamaria
   Fulignoli, Eric Gray, Andras Kern, David Jocha and David Sinicrope
   for their useful comments.

7.  Security Considerations

   The signaling of OAM related parameters and the automatic
   establishment of OAM entities introduces additional security
   considerations to those discussed in [RFC3473].  In particular, a
   network element could be overloaded if an attacker were to request
   high frequency liveliness monitoring of a large number of LSPs,
   targeting a single network element.

   Security aspects will be covered in more detailed in subsequent
   versions of this document.

8.  References

8.1.  Normative References

   [MPLS-FMS]
              Swallow, G., Fulignoli, A., Vigoureux, M., Boutros, S.,
              and D. Ward, "MPLS Fault Management OAM", 2009,
              <draft-ietf-mpls-tp-fault>.

   [MPLS-PM]  Bryant, S. and D. Frost, "Packet Loss and Delay
              Measurement for the MPLS Transport Profile", 2010,
              <draft-ietf-mpls-loss-delay>.

   [MPLS-PM-Profile]
              Bryant, S. and D. Frost, "A Packet Loss and Delay
              Measurement Profile for MPLS-based Transport Networks",
              2010, <draft-ietf-mpls-tp-loss-delay-profile>.

   [MPLS-TP-IDENTIF]
              Bocci, M., Swallow, G., and E. Gray, "MPLS-TP
              Identifiers", 2010, <draft-ietf-mpls-tp-identifiers>.

   [OAM-CONF-FWK]
              Takacs, A., Fedyk, D., and J. van He, "OAM Configuration
              Framework for GMPLS RSVP-TE", 2009,
              <draft-ietf-ccamp-oam-configuration-fwk>.

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

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

   [RFC3471]  Berger, L., "Generalized Multi-Protocol Label Switching
              (GMPLS) Signaling Functional Description", RFC 3471,
              January 2003.

   [RFC3473]  Berger, L., "Generalized Multi-Protocol Label Switching
              (GMPLS) Signaling Resource ReserVation Protocol-Traffic
              Engineering (RSVP-TE) Extensions", RFC 3473, January 2003.

   [RFC5586]  Bocci, M., Vigoureux, M., and S. Bryant, "MPLS Generic
              Associated Channel", RFC 5586, June 2009.

   [RFC5654]  Niven-Jenkins, B., Brungard, D., Betts, M., Sprecher, N.,
              and S. Ueno, "Requirements of an MPLS Transport Profile",
              RFC 5654, September 2009.

   [RFC5860]  Vigoureux, M., Ward, D., and M. Betts, "Requirements for
              Operations, Administration, and Maintenance (OAM) in MPLS
              Transport Networks", RFC 5860, May 2010.

   [RFC5880]  Katz, D. and D. Ward, "Bidirectional Forwarding Detection
              (BFD)", RFC 5880, June 2010.

   [RFC5884]  Aggarwal, R., Kompella, K., Nadeau, T., and G. Swallow,
              "Bidirectional Forwarding Detection (BFD) for MPLS Label
              Switched Paths (LSPs)", RFC 5884, June 2010.

   [RFC6374]  Frost, D. and S. Bryant, "Packet Loss and Delay
              Measurement for MPLS Networks", RFC 6374, September 2011.

   [RFC6375]  Frost, D. and S. Bryant, "A Packet Loss and Delay
              Measurement Profile for MPLS-Based Transport Networks",
              RFC 6375, September 2011.

8.2.  Informative References

   [BFD-CCCV]
              Allan, D., Swallow, G., and J. Drake, "Proactive
              Connectivity Verification, Continuity Check and Remote
              Defect indication for MPLS Transport Profile", 2010,
              <draft-ietf-mpls-tp-bfd-cc-cv-rdi>.

   [BFD-Ping]
              Bahadur, N., Aggarwal, R., Ward, D., Nadeau, T., Sprecher,
              N., and Y. Weingarten, "LSP Ping and BFD encapsulation
              over ACH", 2010,
              <draft-ietf-mpls-tp-lsp-ping-bfd-procedures-02>.

   [ETH-OAM]  Takacs, A., Gero, B., Fedyk, D., Mohan, D., and D. Long,
              "GMPLS RSVP-TE Extensions for Ethernet OAM", 2009,
              <draft-ietf-ccamp-rsvp-te-eth-oam-ext>.

   [LSP Ping]
              Kompella, K. and G. Swallow, "Detecting Multi-Protocol
              Label Switched (MPLS) Data Plane Failures", 2006, <RFC
              3479>.

   [LSP-PING CONF]
              Bellagamba, E., Andersson, L., Ward, D., and P.
              Skoldstrom, "Configuration of pro-active MPLS-TP
              Operations, Administration, and Maintenance (OAM)
              Functions Using LSP Ping", 2010,
              <draft-ietf-mpls-lsp-ping-mpls-tp-oam-conf>.

   [MPLS-TP OAM Analysis]
              Sprecher, N., Weingarten, Y., and E. Bellagamba, "MPLS-TP
              OAM Analysis", 2011, <draft-ietf-mpls-tp-oam-analysis>.

   [MPLS-TP-OAM-FWK]
              Bocci, M. and D. Allan, "Operations, Administration and
              Maintenance Framework for MPLS-based Transport Networks",
              2010, <draft-ietf-mpls-tp-oam-framework>.

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

   [RFC5921]  Bocci, M., Bryant, S., Frost, D., Levrau, L., and L.
              Berger, "A Framework for MPLS in Transport Networks",
              RFC 5921, July 2010.

Authors' Addresses

   Elisa Bellagamba (editor)
   Ericsson
   Torshamnsgatan 48
   Kista,   164 40
   Sweden

   Email: elisa.bellagamba@ericsson.com
   Loa Andersson (editor)
   Ericsson
   Torshamnsgatan 48
   Kista,   164 40
   Sweden

   Phone:
   Email: loa.andersson@ericsson.com

   Pontus Skoldstrom (editor)
   Acreo AB
   Electrum 236
   Kista,   164 40
   Sweden

   Phone: +46 8 6327731
   Email: pontus.skoldstrom@acreo.se

   Dave Ward
   Juniper

   Phone:
   Email: dward@juniper.net

   Attila Takacs
   Ericsson
   1. Laborc u.
   Budapest,
   HUNGARY

   Phone:
   Email: attila.takacs@ericsson.com