Network Working Group                                   Riza Cetin, Ed.
Internet Draft                                                  Alcatel
Proposed Status: Standards Track
Expires: May Dec 2008                                 Thomas D. Nadeau, Ed.
                                                                     BT

                                                  A S Kiran Koushik, Ed.
                                                     Cisco Systems, Inc.

    Multiprotocol Label Switching (MPLS) Traffic Engineering Management
                     Information Base for Fast Reroute

                  draft-ietf-mpls-fastreroute-mib-08.txt

                  draft-ietf-mpls-fastreroute-mib-09.txt

Status of This Memo

   By submitting this Internet-Draft, each author represents that any
   applicable patent or other IPR claims of which he or she is aware
   have been or will be disclosed, and any of which he or she becomes
   aware will be disclosed, in accordance with Section 6 of BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as Internet-
   Drafts.

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

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/1id-abstracts.html

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html

Copyright Notice

   Copyright (C) The IETF Trust (2007). (2008).

Abstract

    This memo defines a portion of the Management Information Base
    for use with network management protocols in the Internet community.
    In particular, it describes managed objects used to support two
                 MPLS Fast-reroute MIB              November 15, 2007                June 27, 2008 

    fast reroute (FRR) methods for Multiprotocol Label Switching
    (MPLS) based traffic engineering (TE). The two methods are
    one-to-one backup method and facility backup method.

Table of Contents

1.   Introduction...............................................2
1.1.  Conventions Used in This Document.........................2
2.   Terminology................................................2
3.   The Internet-Standard Management Framework.................3
4.   Brief Description of MIB Module Objects....................3
4.1. mplsFrrConstTable..........................................3 mplsFrrConstraintsTable....................................3
4.2. mplsFrrTunARHopTable.......................................3 mplsFrrTunnelARHopTable....................................3
4.3. mplsFrrOne2OnePlrTable.....................................3
4.4. mplsFrrDetourTable.........................................4 mplsFrrOne2OneDetourTable..................................4
4.5. mplsFrrFacilityDBTable.....................................4
5.   Handling IPv6 Tunnels......................................4
6.   MPLS-FRR-STD-MIB MIB Tunnels......................................5
6.1  MPLS-FRR-GENERAL-STD-MIB Module Definitions....................4 Definitions................6
6.2  MPLS-FRR-ONE2ONE-STD-MIB Module Definitions...............19
6.3  MPLS-FRR-FACILITY-STD-MIB Module Definitions..............28
7.   Security Considerations...................................30 Considerations...................................39
8.   IANA Considerations........................................30 Considerations.......................................41
8.1  IANA Considerations for MPLS-FRR-STD-MIB..................41
9.   Acknowledgments...........................................30   Acknowledgments...........................................41
10.  References..................................30  References................................................41
10.1 Normative References......................................37 References......................................42
10.2 Informative References....................................37 References....................................42
11.  Editors' Addresses...................................41 Addresses........................................43
12.  Contributors' Addresses.......................................29 Addresses...................................43

1. Introduction

   This memo defines a portion of the Management Information Base (MIB)
   containing objects used to manage Multiprotocol Label
   Switching (MPLS)-based fast rerouting features on MPLS Label
   Switching Routers as defined in [RFC4090]. This MIB module should
   be used in conjunction with [RFC3811], [RFC3812] and [RFC3813].

   Comments should be made directly to the MPLS mailing list at
   mpls@uu.net.
   mpls@ietf.org.

1.1.  Conventions Used in This Document

   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.  Terminology
                 MPLS Fast-reroute MIB                June 27, 2008 

   This document uses terminology from the document describing the
               MPLS Fast-reroute MIB              November 15, 2007
   Multiprotocol Label Switching Architecture [RFC3031] and from
   the document describing Fast Reroute Extensions to RSVP-TE for
   LSP Tunnels [RFC4090].

3. The Internet-Standard Management Framework

   For a detailed overview of the documents that describe the current
   Internet-Standard Management Framework, please refer to section 7 of
   [RFC3410].

   Managed objects are accessed via a virtual information store, termed
   the Management Information Base or MIB.  MIB module objects are
   generally accessed through the Simple Network Management Protocol
   (SNMP). Objects in the MIB are defined using the mechanisms defined
   in the Structure of Management Information (SMI).  This memo
   specifies a MIB module that is compliant to the SMIv2, which is
   described in STD 58, RFC 2578 [RFC2578], STD 58, RFC 2579 [RFC2579]
   and STD 58, RFC 2580 [RFC2580].

4. Overview of the MIB Module

    The specification [RFC4090] stipulates two different approaches
    to implementing MPLS TE fast reroute: bypass one-to-one and facility
    backup.  As such, the MIB module defined in this document
    is split into

    We define three major MIB modules to represent the respective
    components: general, one-to-one and facility backup.  The first section defines 2 tables
    (mplsFrrConstraintsTable and mplsFrrTunARHopTable) containing

    They are:

    - MPLS-FRR-GENERAL-STD-MIB: Contains objects that apply to any
      MPLS LSR implementing MPLS TE fast reroute functionality. The latter two sections define
    - MPLS-FRR-ONE2ONE-STD-MIB: Contains objects
    specific that apply to one of the two methods.
      one-to-one backup method.
    - MPLS-FRR-FACILITY-STD-MIB: Contains objects that apply to
      facility backup method.

    Although [RFC4090] specifies that a node is able to support both
    fast reroute methods simultaneously, common practice has shown
    that LSRs do not
    implement both operators choose to configure either one-to-one backup method and
    or facility backup method at any given time. So by dividing the same time, thus, the Conformance section specifies
    conformance based on MIB
    modules into three, we allow the two fast reroute methods. This allows a
    developer developers to implement only choose the objects applicable MIB
    modules they want to implement depending on the fast
    reroute method supported. supported
    on that node.

4.1. MPLS-FRR-GENERAL-STD-MIB
                 MPLS Fast-reroute MIB                June 27, 2008 

4.1.1 mplsFrrConstraintsTable

      This table contains objects that apply to all LSRs
      implementing MPLS TE fast reroute functions. In particular,
      this table defines fast reroute constraints such as
      bandwidth for a tunnel instance to be protected by using
      backup LSPs (detour LSPs or bypass tunnels).

      This table is used at the ingress node of the protected TE
      tunnel instance to configure backup LSP setup constraints.

               MPLS Fast-reroute MIB              November 15, 2007 

4.2.

4.1.2 mplsFrrTunnelARHopTable

      This table extends mplsTunnelARHop table mplsTunnelARHopTable (defined in the
      MPLS-TE-STD-MIB [RFC3812]) with fast-reroute objects which
      specify the local protection type or types of availability
      as well as what type or types are actally in-use for each
      tunnel hop traversed by a protected TE tunnel.

      The support of this table is only required when the
      Record Route Object (RRO) is supported by the implementation.

4.3.

4.2. MPLS-FRR-ONE2ONE-STD-MIB

4.2.1 mplsFrrOne2OnePlrTable

      The mplsFrrOne2OnePlrTable contains information about PLRs that
      initiated detour LSPs to protect tunnel instances. This table
      is mandatory for LSRs implementing the one-to-one backup method.
      In these cases, the detour LSPs are reflected in the
      mplsFrrOne2OneDetourTable.

4.4.

4.2.2 mplsFrrOne2OneDetourTable

      The mplsFrrOne2OneDetourTable shows the detour LSPs in each node
      (ingress, transit and egress nodes). An entry of this table
      represents a detour LSP.

      Each detour is identified by the following indexes:

      - mplsTunnelIndex [RFC3812]:
        set to the tunnel-id of an LSP protected by a detour.

      - mplsTunnelInstance [RFC3812]: consists of two parts

        1) the lower 16 bits:  - protected TE tunnel instance
                               - uniquely identifies a protected
                                 LSP within a tunnel.

                 MPLS Fast-reroute MIB                June 27, 2008 

        2) the higher 16 bits: - detour instance
                               - uniquely identifies a detour LSP
                                 of a protected TE tunnel instance.
                                 Multiple detours of the same
                                 protected LSP may go through the
                                 same node. In this case, the
                                 higher 16 bits of the tunnel
                                 instance object is used as a
                                 detour instance.

      - ingress node's LSR ID (mplsFrrOne2OnePlrTunIngrLSRId):
        set to the ingress node of an LSP protected by a detour.

               MPLS Fast-reroute MIB              November 15, 2007

      - egress node's LSR ID (mplsFrrOne2OnePlrTunEgrLSRId):
        set to the egress node of an LSP protected by a detour.

      A detour LSP is also considered as an instance of a protected
      TE tunnel. Therefore, each detour LSP SHOULD have an entry in
      the mplsTunnelTable (defined in the MPLS-TE-STD-MIB[RFC3812]).

      In the mplsTunnelTable, the higher 16 bits of the tunnel instance
      SHOULD be used as a detour instance. Note that for the protected
      TE tunnel instances, the higher 16 bits of the tunnel instance
      MUST all be set to zero.

      This table is mandatory if one-to-one backup method is used.

4.5.

4.3 MPLS-FRR-FACILITY-STD-MIB

4.3.1 mplsFrrFacilityDBTable

      The mplsFrrFacilityDBTable provides information about the fast
      reroute database for facility-based fast reroute.
      An entry is created in this table for each tunnel being
      protected by a backup tunnel. Backup tunnels defined
      to protect the tunnels traversing an interface.
      The protecting tunnel is defined to exist on the PLR in
      the MPLS TE fast reroute specification.  Protected tunnels are
      the LSPs that traverse the protected link.

      Implementation of this table is mandatory when facility backup is
      used.

5. Handling IPv6 Tunnels

    As described in [RFC4990], in order to support IPv6 MPLS
    tunnels in the mplsTunnelTable [RFC3812] all LSRs in the network
    MUST have a 32-bit LSR ID that can be used to identify the LSR
    with the existing mplsTunnelIngressLSRId and mplsTunnelEgressLSRId
                 MPLS Fast-reroute MIB                June 27, 2008 

    objects which are 32-bit long.

    In this MIB, the following objects which refer to ingress/egress
    LSRs will have then the 32-bit LSR ID to support IPv6 tunnels:
    - mplsFrrOne2OnePlrTunIngrLSRId and
    - mplsFrrOne2OnePlrTunEgrLSRId
      objects of the mplsFrrOne2OnePlrTable,
    - mplsFrrOne2OnePlrTunIngrLSRId and
    - mplsFrrOne2OnePlrTunEgrLSRId
      objects of the mplsFrrOne2OneDetourTable
    - mplsFrrFacilityBackupTunnelIngressLSRId and
    - mplsFrrFacilityBackupTunnelEgressLSRId
      objects of the mplsFrrFacilityDBTable
               MPLS Fast-reroute MIB              November 15, 2007

6. MPLS-FRR-STD-MIB MIB Module Definitions

6.1. MPLS-FRR-GENERAL-STD-MIB Module:

-- Start of MPLS-FRR-STD-MIB

MPLS-FRR-STD-MIB MPLS-FRR-GENERAL-STD-MIB

MPLS-FRR-GENERAL-STD-MIB DEFINITIONS ::= BEGIN

    IMPORTS
       MODULE-IDENTITY, OBJECT-TYPE,
       Integer32, Unsigned32,
       NOTIFICATION-TYPE, Gauge32
          FROM SNMPv2-SMI                            -- [RFC2578]
       MODULE-COMPLIANCE, OBJECT-GROUP,
       NOTIFICATION-GROUP
          FROM SNMPv2-CONF                           -- [RFC2580]
       TruthValue, RowStatus, StorageType
          FROM SNMPv2-TC                             -- [RFC2579]
       InterfaceIndex, InterfaceIndexOrZero,
       ifGeneralInformationGroup,
       ifCounterDiscontinuityGroup

          FROM IF-MIB                                -- [RFC2863]
       MplsTunnelIndex, MplsTunnelInstanceIndex,
       MplsLsrIdentifier,
       MplsBitRate, mplsStdMIB,
       MplsTunnelAffinity
          FROM MPLS-TC-STD-MIB                       -- [RFC3811]
       mplsTunnelGroup, mplsTunnelScalarGroup,
       mplsTunnelARHopListIndex, mplsTunnelARHopIndex
          FROM MPLS-TE-STD-MIB                       -- [RFC3812]
       InetAddressType, InetAddress
          FROM INET-ADDRESS-MIB                      -- [RFC4001]
       ;

    mplsFrrMIB

    mplsFrrGeneralMIB MODULE-IDENTITY
       LAST-UPDATED
          "200711131200Z"
          "200806201200Z" -- 13 November 2007 20 May 2008 12:00:00 GMT
                 MPLS Fast-reroute MIB                June 27, 2008 

       ORGANIZATION
          "Multiprotocol Label Switching (MPLS) Working Group"
       CONTACT-INFO
            "
                     Riza Cetin
              Email: riza.cetin@alcatel.be

                     Thomas D. Nadeau
              Email: tom.nadeau@bt.com thomas.nadeau@bt.com

                     A S Kiran Koushik
              Email: kkoushik@cisco.com

                     Stefaan De Cnodder
               MPLS Fast-reroute MIB              November 15, 2007
              Email: Stefaan.de_cnodder@alcatel.be

                     Der-Hwa Gan
              Email: dhg@juniper.net
            "
       DESCRIPTION
         "Copyright (C) 2007 2008 The IETF Trust.  This
          version of this MIB module is part of RFC 4327; See the RFC
          itself for full legal notices.

          This MIB module contains managed generic object definitions for
          MPLS Traffic Engineering Fast Reroute as defined in
          RFC4090."

    -- Revision history.
       REVISION
          "200806201200Z" -- 20 May 2008 12:00:00 GMT
       DESCRIPTION
          "More Editorial changes as recommended by MIB doctor."
       REVISION
          "200711131200Z" -- 13 November 2007 12:00:00 GMT
       DESCRIPTION
          "Editorial changes as recommended by MIB doctor."
       REVISION
          "200508011200Z" -- 01 August 2005 12:00:00 GMT
       DESCRIPTION
          "Initial version. Published as RFC xxxx."
                          -- RFC-editor pls fill in xxxx
   ::= { mplsStdMIB yyy } -- RFC-editor please fill in
                          -- yyy with value assigned by IANA,
                          -- see section 18.1 for details

    -- Top level components of this MIB module.
    mplsFrrNotifications         OBJECT IDENTIFIER
                                 ::= { mplsFrrMIB mplsFrrGeneralMIB 0 }
    mplsFrrScalars       OBJECT IDENTIFIER ::= { mplsFrrMIB 1 }
                 MPLS Fast-reroute MIB                June 27, 2008 

    mplsFrrObjects               OBJECT IDENTIFIER
                                 ::= { mplsFrrMIB 2 mplsFrrGeneralMIB 1 }

    -- objects that work for either method of FRR
    mplsFrrGeneralObjects OBJECT IDENTIFIER ::= { mplsFrrObjects 1 }

    -- objects defined for 1-to-1 style FRR
    mplsFrrOne2OneObjects OBJECT IDENTIFIER ::= { mplsFrrObjects 2 }

    -- objects defined for Facility Backup style FRR
    mplsFrrFacObjects  OBJECT IDENTIFIER ::= { mplsFrrObjects 3 }

    mplsFrrConformance   OBJECT IDENTIFIER ::= { mplsFrrObjects 4 2 }

    -- MPLS Fast Reroute generic scalars.
   mplsFrrProtectionMethod OBJECT-TYPE
       SYNTAX        INTEGER {
                               unknown(1),
               MPLS Fast-reroute MIB              November 15, 2007
                               oneToOneBackup(2),
                               facilityBackup(3)
                             }
       MAX-ACCESS    read-write
       STATUS        current
       DESCRIPTION
         "Indicates which protection method is to be used for fast
          reroute on this device. Some devices may require a reboot
          if this variable is to take affect after being modified.

          The value of unknown(1) cannot be set to this object via
          SNMP. It is provided to correct any misconfiguration."
       ::= { mplsFrrScalars mplsFrrGeneralObjects 1 }

    mplsFrrSwitchover OBJECT-TYPE
       SYNTAX        Gauge32
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
         "The number of tunnel instances for which this LSR
          is the ingress that are currently using a detour
          or bypass LSP to reach their egress."
       DEFVAL { 0 }
       ::= { mplsFrrScalars mplsFrrGeneralObjects 2 }

    mplsFrrNotificationsEnabled OBJECT-TYPE
        SYNTAX            TruthValue
        MAX-ACCESS        read-write
        STATUS            current
        DESCRIPTION
            "Enables or disables

    --
    --  General FRR notifications defined in this
             MIB module. Notifications are disabled by default."
        DEFVAL { false }
    ::= { mplsFrrScalars 3 }

    mplsFrrNotificationsMaxRate OBJECT-TYPE
       SYNTAX       Unsigned32
       UNITS        "Notifications per Second"
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION
           "This variable indicates the maximum number of
             notifications issued per second. If events occur
             more rapidly, the implementation may simply fail Table Section
    --
    --  These tables apply to
             emit these notifications during that period, or may
             queue them until an appropriate time. A value both types of 0
             means no throttling is applied FRR
    --  and events may should be
             generated at the rate at which they occur." implemented by all LSRs supporting
    --  FRR.
    --

    -- MPLS Fast Reroute Constraints table

    mplsFrrConstraintsTable OBJECT-TYPE
                 MPLS Fast-reroute MIB              November 15, 2007 

       DEFVAL       { 0 }
    ::= { mplsFrrScalars 4 }

    -- Scalar objects defined for 1-to-1 style FRR

    mplsFrrIncomingDetourLSPs OBJECT-TYPE                June 27, 2008 

       SYNTAX        Integer32 (-1|0..2147483647)        SEQUENCE OF MplsFrrConstraintsEntry
       MAX-ACCESS    read-only    not-accessible
       STATUS        current
       DESCRIPTION
         "The number of
         "This table shows detour LSPs entering the device
          (greater than or equal to 0) if mplsFrrProtectionMethod
          is set to oneToOneBackup(1), LSP or -1 if
          mplsFrrProtectionMethod is set to facilityBackup(2)."
       DEFVAL { 0 } bypass tunnel setup
          constraints."
       ::= { mplsFrrOne2OneObjects 1  mplsFrrGeneralObjects 3 }

    mplsFrrOutgoingDetourLSPs

    mplsFrrConstraintsEntry OBJECT-TYPE
       SYNTAX        Integer32 (-1|0..2147483647)        MplsFrrConstraintsEntry
       MAX-ACCESS    read-only    not-accessible
       STATUS        current
       DESCRIPTION
         "The number of
         "An entry in this table represents detour LSPs leaving the device (greater
          than LSP or equal to 0) if mplsFrrProtectionMethod
          is set bypass
          tunnel setup constraints for a tunnel instance to oneToOneBackup(1), be
          protected by detour LSPs or -1 if
          mplsFrrProtectionMethod is set a bypass tunnel.

          Agents must only allow entries in this table to
          facilityBackup(2)."
       DEFVAL { 0 }
      ::= { mplsFrrOne2OneObjects 2 }

    mplsFrrOne2OneDetourOriginating OBJECT-TYPE
       SYNTAX        Integer32(-1|0..2147483647)
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
         "The number of detour LSPs originating at this PLR (greater
          than or equal to 0) if mplsFrrProtectionMethod
          is set to oneToOneBackup(1).  This object MUST
          return -1 if the mplsFrrProtectionMethod is set to
          facilityBackup(2)."
       DEFVAL { 0 }
       ::= { mplsFrrOne2OneObjects 3 }

    -- Scalar objects defined be
          created for Facility Backup style FRR

    mplsFrrConfiguredInterfaces OBJECT-TYPE
       SYNTAX        Integer32(-1|0..2147483647)
       MAX-ACCESS    read-only
       STATUS        current
               MPLS Fast-reroute MIB              November 15, 2007 

       DESCRIPTION
         "Indicates tunnel instances that require fast-reroute
          as indicated by the number presense of MPLS interfaces configured the FAST_REROUTE Object
          in the signaling for
          protection by the FRR feature if
          mplsFrrProtectionMethod
          is LSP in question.

          Entries indexed with mplsFrrConstraintsIfIndexOrZero set to facilityBackup(2), otherwise this value
          MUST return -1 to indicate that LSPs traversing any
          interface are not protected."
       DEFVAL { 0 }
       ::= { mplsFrrFacObjects 1 }

    mplsFrrActiveInterfaces OBJECT-TYPE
       SYNTAX        Unsigned32
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
         "Indicates the number of

          apply to all interfaces currently being
          protected by on this device for which the FRR
          feature if
          mplsFrrProtectionMethod is can operate.

          Note that as per [RFC3812] the mplsTunnelInstance object
          set to
          facilityBackup(2), otherwise this a value should return of 0 to indicate indicates that LSPs traversing any interface may
          not be protected. the mplsTunnelEntry
          contains a tunnel ingress. This value MUST be less than or equal
          to mplsFrrConfiguredInterfaces except when
          mplsFrrConfiguredInterfaces is set to -1, in which case
          the value typically how
          configuration of this object feature is meaningless and SHOULD be
          ignored."
       DEFVAL { 0 }
       ::= { mplsFrrFacObjects 2 }

    mplsFrrConfiguredBypassTunnels OBJECT-TYPE
       SYNTAX        Unsigned32
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
         "Indicates performed on devices
          where the number of bypass tunnels configured actual protection LSP used is left up to
          protect TE tunnels on this LSR using the FRR feature
          if mplsFrrProtectionMethod
          protecting tunnel. However, in cases where static
          configuration is set to
          facilityBackup(2), otherwise this value MUST return
          0 and possible, any valid tunnel
          instance is possible; however, in these cases, it is
          STRONGLY RECOMMENDED that the instance index SHOULD
          use the following convention to identify backup LSPs:

          - lower 16 bits : protected tunnel instance
          - higher 16 bits: must be ignored."
       DEFVAL all zeros
       "
       REFERENCE "Section 4.1 of RFC4090."
       INDEX { 0 mplsFrrConstraintsIfIndexOrZero,
               mplsFrrConstraintsTunnelIndex,
               mplsFrrConstraintsTunnelInstance
             }
       ::= { mplsFrrFacObjects 3 mplsFrrConstraintsTable 1 }

    mplsFrrActiveBypassTunnels

    MplsFrrConstraintsEntry ::= SEQUENCE {
                 MPLS Fast-reroute MIB                June 27, 2008 

          mplsFrrConstraintsIfIndexOrZero   InterfaceIndexOrZero,
          mplsFrrConstraintsTunnelIndex     MplsTunnelIndex,
          mplsFrrConstraintsTunnelInstance  MplsTunnelInstanceIndex,
          mplsFrrConstraintsProtectionType  INTEGER,
          mplsFrrConstraintsSetupPrio       Unsigned32,
          mplsFrrConstraintsHoldingPrio     Unsigned32,
          mplsFrrConstraintsInclAnyAffinity MplsTunnelAffinity,
          mplsFrrConstraintsInclAllAffinity MplsTunnelAffinity,
          mplsFrrConstraintsExclAnyAffinity MplsTunnelAffinity,
          mplsFrrConstraintsHopLimit        Unsigned32,
          mplsFrrConstraintsBandwidth       MplsBitRate,
          mplsFrrConstraintsStorageType     StorageType,
          mplsFrrConstraintsRowStatus       RowStatus
    }

    mplsFrrConstraintsIfIndexOrZero  OBJECT-TYPE
       SYNTAX        Unsigned32        InterfaceIndexOrZero
       MAX-ACCESS    read-only    not-accessible
       STATUS        current
       DESCRIPTION
         "Indicates
         "Uniquely identifies an interface which a fast reroute
          protection tunnel is configured to potentially protect
          in the number event of bypass tunnels indicated in
          mplsFrrConfiguredBypassTunnels whose operStatus
          is up(1) indicating that they are currently protecting
               MPLS Fast-reroute MIB              November 15, 2007 

          TE tunnels on a fault. Entries with this LSR using the FRR feature. This
          object MUST return 0 if mplsFrrProtectionMethod
          is index set to oneToOneBackup(1)."
       DEFVAL {
          0 } indicates that the protection tunnel configured protects

          all interfaces on this device (i.e.: node protection)."
       ::= { mplsFrrFacObjects 4 mplsFrrConstraintsEntry 1 }

    mplsFrrActiveProtectedLSPs

    mplsFrrConstraintsTunnelIndex OBJECT-TYPE
       SYNTAX        Unsigned32        MplsTunnelIndex
       MAX-ACCESS    read-only    not-accessible
       STATUS        current
       DESCRIPTION
         "Indicates
         "Uniquely identifies a tunnel for which is configured
          to possibly protect the number of LSPs currently protected interface(s) specified by
          mplsFrrConstraintsIfIndexOrZero in the FRR feature where this device acts event of a fault as
          must exist in the PLR
          for those LSPs. If mplsFrrProtectionMethod
          is set to facilityBackup(2) this object MUST return
          0."
       DEFVAL { 0 }
       ::= { mplsFrrFacObjects 5 }

    --
    --  General FRR Table Section
    --
    --  These tables apply to both types of FRR
    --  and should be implemented by all LSRs supporting
    --  FRR.
    --

    -- MPLS Fast Reroute Constraints table

    mplsFrrConstraintsTable OBJECT-TYPE
       SYNTAX        SEQUENCE OF MplsFrrConstraintsEntry
       MAX-ACCESS    not-accessible
       STATUS        current
       DESCRIPTION
         "This table shows detour LSP or bypass tunnel setup
          constraints." mplsTunnelTable."
       REFERENCE "mplsTunnelTable from RFC3812."
       ::= {  mplsFrrGeneralObjects 1 } mplsFrrConstraintsEntry 2 }

    mplsFrrConstraintsTunnelInstance OBJECT-TYPE
       SYNTAX        MplsFrrConstraintsEntry        MplsTunnelInstanceIndex
       MAX-ACCESS    not-accessible
       STATUS        current
       DESCRIPTION
         "An entry in this table represents detour LSP or bypass
          tunnel setup constraints for a tunnel
         "Uniquely identifies an existing instance to be
          protected by detour LSPs or a bypass tunnel.

          Agents must only allow entries in this table to be
               MPLS Fast-reroute MIB              November 15, 2007 

          created for tunnel instances that require fast-reroute
          as indicated by the presense of the FAST_REROUTE Object
          in the signaling for the LSP in question.

          Entries indexed with mplsFrrConstraintsIfIndexOrZero set to 0
          apply to all interfaces on this device tunnel
          for which the FRR
          feature can operate. fast reroute is requested. Note that as per [RFC3812] the mplsTunnelInstance object
          set to a value of
          0 indicates that the mplsTunnelEntry
          contains configuration points at a tunnel ingress.
          head (as specified in RFC3812). This is typically how
                 MPLS Fast-reroute MIB                June 27, 2008 

          configuration of this feature is performed on devices
          where the actual protection LSP used is left up to the
          protecting tunnel. However, in cases where static
          configuration is possible, any valid tunnel
          instance is possible; however, in permissible.  In these cases, it is
          STRONGLY RECOMMENDED recommended
          that the instance index SHOULD
          use follow the following convention
          as to identify make identification of backup LSPs: LSPs easier:

          - lower 16 bits : protected tunnel instance
          - higher 16 bits: must be all zeros
       "
       REFERENCE "Section 4.1 of RFC4090."
       INDEX { mplsFrrConstraintsIfIndexOrZero,
               mplsFrrConstraintsTunnelIndex,
               mplsFrrConstraintsTunnelInstance
             } zeros"
       ::= { mplsFrrConstraintsTable 1 mplsFrrConstraintsEntry 3 }

    MplsFrrConstraintsEntry ::= SEQUENCE {
          mplsFrrConstraintsIfIndexOrZero   InterfaceIndexOrZero,
          mplsFrrConstraintsTunnelIndex     MplsTunnelIndex,
          mplsFrrConstraintsTunnelInstance  MplsTunnelInstanceIndex,

    mplsFrrConstraintsProtectionType  INTEGER,
          mplsFrrConstraintsSetupPrio       Unsigned32,
          mplsFrrConstraintsHoldingPrio     Unsigned32,
          mplsFrrConstraintsInclAnyAffinity MplsTunnelAffinity,
          mplsFrrConstraintsInclAllAffinity MplsTunnelAffinity,
          mplsFrrConstraintsExclAnyAffinity MplsTunnelAffinity,
          mplsFrrConstraintsHopLimit        Unsigned32,
          mplsFrrConstraintsBandwidth       MplsBitRate,
          mplsFrrConstraintsStorageType     StorageType,
          mplsFrrConstraintsRowStatus       RowStatus
    }

    mplsFrrConstraintsIfIndexOrZero OBJECT-TYPE
       SYNTAX        InterfaceIndexOrZero        INTEGER { linkProtection(1),
                               nodeProtection(2)
                             }
       MAX-ACCESS    not-accessible    read-create
       STATUS        current
               MPLS Fast-reroute MIB              November 15, 2007
       DESCRIPTION
         "Uniquely identifies an interface which a fast reroute
          protection
         "Indicates type of the resource protection:

          linkProtection(1) indicates that this tunnel is configured
            setup to potentially protect
          in the event of a fault. Entries with this index set to
          0 particular link's resources.

          nodeProtection(2) indicates that the protection tunnel configured protects
          all interfaces on this device (i.e.: tunnel is
            setup to protect an entire node protection)." from failure.
         "
       DEFVAL { nodeProtection }
       ::= { mplsFrrConstraintsEntry 1 4 }

    mplsFrrConstraintsTunnelIndex

    mplsFrrConstraintsSetupPrio OBJECT-TYPE
       SYNTAX        MplsTunnelIndex        Unsigned32 (0..7)
       MAX-ACCESS    not-accessible    read-create
       STATUS        current
       DESCRIPTION
         "Uniquely identifies a tunnel for which is configured
          to possibly protect the interface(s) specified by
          mplsFrrConstraintsIfIndexOrZero in
         "Indicates the event setup priority of a fault as
          must exist in the mplsTunnelTable." detour LSP
          or bypass tunnel."
       REFERENCE "mplsTunnelTable from RFC3812."
         "RFC 3209"
       DEFVAL { 7 }
       ::= { mplsFrrConstraintsEntry 2 5 }

    mplsFrrConstraintsTunnelInstance

    mplsFrrConstraintsHoldingPrio OBJECT-TYPE
       SYNTAX        MplsTunnelInstanceIndex        Unsigned32 (0..7)
       MAX-ACCESS    not-accessible    read-create
       STATUS        current
       DESCRIPTION
         "Uniquely identifies an existing instance of this tunnel
         "Indicates the holding priority for which fast reroute is requested. Note that a value of detour LSP
          or bypass tunnel."
                 MPLS Fast-reroute MIB                June 27, 2008 

       REFERENCE
         "RFC 3209"
       DEFVAL { 0 indicates that }
       ::= { mplsFrrConstraintsEntry 6 }

    mplsFrrConstraintsInclAnyAffinity OBJECT-TYPE
       SYNTAX        MplsTunnelAffinity
       MAX-ACCESS    read-create
       STATUS        current
       DESCRIPTION
         "Indicates the configuration points at a tunnel
          head (as specified in RFC3812). This is typically how
          configuration of this feature is performed on devices
          where include-any link constraint for the actual protection
          detour LSP used is left up to the
          protecting tunnel. However, in cases where static
          configuration is possible, any valid tunnel
          instance is permissible.  In these cases, it is recommended
          that the instance index follow the following convention
          as to make identification of backup LSPs easier:

          - lower 16 bits : protected tunnel instance
          - higher 16 bits: must be all zeros"
       ::= { mplsFrrConstraintsEntry 3 }

    mplsFrrConstraintsProtectionType OBJECT-TYPE
       SYNTAX        INTEGER { linkProtection(1),
                               nodeProtection(2)
                             }
       MAX-ACCESS    read-create
       STATUS        current
       DESCRIPTION
         "Indicates type of the resource protection:

               MPLS Fast-reroute MIB              November 15, 2007 

          linkProtection(1) indicates that this tunnel is
            setup to protect a particular link's resources.

          nodeProtection(2) indicates that this tunnel is
            setup to protect an entire node from failure.
         "
       DEFVAL { nodeProtection }
       ::= { mplsFrrConstraintsEntry 4 }

    mplsFrrConstraintsSetupPrio OBJECT-TYPE
       SYNTAX        Unsigned32 (0..7)
       MAX-ACCESS    read-create
       STATUS        current
       DESCRIPTION
         "Indicates the setup priority of the detour LSP
          or bypass tunnel."
       REFERENCE
         "RFC 3209"
       DEFVAL { 7 }
       ::= { mplsFrrConstraintsEntry 5 }

    mplsFrrConstraintsHoldingPrio OBJECT-TYPE
       SYNTAX        Unsigned32 (0..7)
       MAX-ACCESS    read-create
       STATUS        current
       DESCRIPTION
         "Indicates the holding priority for detour LSP
          or bypass tunnel."
       REFERENCE
         "RFC 3209"
       DEFVAL { 0 }
       ::= { mplsFrrConstraintsEntry 6 }

    mplsFrrConstraintsInclAnyAffinity OBJECT-TYPE
       SYNTAX        MplsTunnelAffinity
       MAX-ACCESS    read-create
       STATUS        current
       DESCRIPTION
         "Indicates the include-any link constraint for the
          detour LSP or bypass or bypass tunnel. A link satisfies the
          include-any constraint if and only if the constraint
          is zero, or the link and the constraint have a
          resource class in common."
       REFERENCE
         "RFC 3209"
       DEFVAL { 0 }
       ::= { mplsFrrConstraintsEntry 7 }
               MPLS Fast-reroute MIB              November 15, 2007

    mplsFrrConstraintsInclAllAffinity OBJECT-TYPE
       SYNTAX        MplsTunnelAffinity
       MAX-ACCESS    read-create
       STATUS        current
       DESCRIPTION
         "Indicates the include-all link constraint for the
          detour LSP or bypass tunnel. A link satisfies the
          include-all constraint if and only if the link contains
          all of the administrative groups specified in the
          constraint."
       REFERENCE
         "RFC 3209"
       DEFVAL { 0 }
       ::= { mplsFrrConstraintsEntry 8 }

    mplsFrrConstraintsExclAnyAffinity OBJECT-TYPE
       SYNTAX        MplsTunnelAffinity
       MAX-ACCESS    read-create
       STATUS        current
       DESCRIPTION
         "Indicates the exclude-any link constraint for the
          detour LSP or bypass tunnel. A link satisfies the
          exclude-any constraint if and only if the link contains
          none of the administrative groups specified in the
          constraint."
       REFERENCE
         "RFC 3209"
       DEFVAL { 0 }
       ::= { mplsFrrConstraintsEntry 9 }
                 MPLS Fast-reroute MIB                June 27, 2008 

    mplsFrrConstraintsHopLimit OBJECT-TYPE
       SYNTAX        Unsigned32
       MAX-ACCESS    read-create
       STATUS        current
       DESCRIPTION
         "The maximum number of hops that the detour LSP or
          bypass tunnel may traverse."
       REFERENCE
         "RFC4090."
       DEFVAL { 32 }
    ::= { mplsFrrConstraintsEntry 10 }

    mplsFrrConstraintsBandwidth OBJECT-TYPE
       SYNTAX        MplsBitRate
       UNITS         "kilobits per second"
       MAX-ACCESS    read-create
       STATUS        current
       DESCRIPTION
         "The maximum bandwidth specifically reserved for a detour
               MPLS Fast-reroute MIB              November 15, 2007
          LSP or bypass tunnel, in units of thousands of bits
          per second (Kbps). Note that setting this value to 0
          indicates best-effort treatment."
       DEFVAL { 0 }
       ::= { mplsFrrConstraintsEntry 11 }

   mplsFrrConstraintsStorageType OBJECT-TYPE
   SYNTAX        StorageType
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
        "The storage type for this configuration entry.
         Conceptual rows having the value 'permanent'
         need not allow write-access to any columnar
         objects in the row."
   REFERENCE
        "RFC2579"
   DEFVAL { volatile }
       ::= { mplsFrrConstraintsEntry 12 }

    mplsFrrConstraintsRowStatus OBJECT-TYPE
       SYNTAX        RowStatus
       MAX-ACCESS    read-create
       STATUS        current
       DESCRIPTION
         "This object is used to create, modify, and/or delete a row in
          this table. When a row in this table is in active(1)
          state, no objects in that row can be modified by the agent
          except mplsFrrConstraintsRowStatus and
                 MPLS Fast-reroute MIB                June 27, 2008 

          mplsFrrConstraintsStorageType."
       ::= { mplsFrrConstraintsEntry 13 }

    -- MPLS Fast Reroute Tunnel Actual Route Hop table

    mplsFrrTunnelARHopTable OBJECT-TYPE
       SYNTAX             SEQUENCE OF MplsFrrTunnelARHopEntry
       MAX-ACCESS         not-accessible
       STATUS             current
       DESCRIPTION
         "This table sparsely extends mplsTunnelARHopTable defined
          in the MPLS-TE-STD-MIB MIB module with fast-reroute objects.
          These objects specify the status of local protection including
          availability and active use, on a per-hop basis, of hops
          traversed by a protected tunnel.  Note that object
          availability in this table is governed by the support of
          the Record Route Object in the RSVP-TE signaling of the
          implementation."
       ::= {  mplsFrrGeneralObjects 2 4 }
               MPLS Fast-reroute MIB              November 15, 2007

    mplsFrrTunnelARHopEntry  OBJECT-TYPE
       SYNTAX             MplsFrrTunnelARHopEntry
       MAX-ACCESS         not-accessible
       STATUS             current
       DESCRIPTION
         "This entry contains fast-reroute protection status of a single
          protected tunnel hop."
     INDEX {
       mplsTunnelARHopListIndex,
       mplsTunnelARHopIndex
     }
       ::= { mplsFrrTunnelARHopTable 1 }

    MplsFrrTunnelARHopEntry    ::= SEQUENCE {
        mplsFrrTunnelARHopProtectType      BITS,
        mplsFrrTunnelARHopProtectTypeInUse BITS
    }

     mplsFrrTunnelARHopProtectType  OBJECT-TYPE
       SYNTAX                       BITS { path(0), node(1), link(2) }
       MAX-ACCESS                   read-only
       STATUS                       current
       DESCRIPTION
         "This object indicates the protection type or types of the
          associated path hop object.  Note that since this object is a
          BITS type, one, none or all of the bits may be set to indicate
          various combinations of protection types."
        REFERENCE
          "See section 4 of RFC4090 where the SESSION_ATTRIBUTE
                 MPLS Fast-reroute MIB                June 27, 2008 

           and RECORD_ROUTE objects are extended to
           support bandwidth and node protection features."
       ::= { mplsFrrTunnelARHopEntry 1 }

     mplsFrrTunnelARHopProtectTypeInUse OBJECT-TYPE
       SYNTAX                       BITS { path(0), node(1),
                                           link(2) }
       MAX-ACCESS                   read-only
       STATUS                       current
       DESCRIPTION
         "This object indicates the protection type or types that are
          currently in use by the associated path hop object.
          Note that since this object is a BITS type, one, none or all
          of the bits may be set to indicate various combinations of
          protection types.  If no bits are set, this indicates that
          no protection types are in use."
        REFERENCE
          "See section 4 of RFC4090 where the SESSION_ATTRIBUTE
           and RECORD_ROUTE objects are extended to
           support bandwidth and node protection features."
               MPLS Fast-reroute MIB              November 15, 2007
       ::= { mplsFrrTunnelARHopEntry 2 }

    -- Notifications

    -- One-to-One Specific Tables
    --
    -- Tables in this section pertain only to the 1-1
    -- style of FRR.
    --

    -- MPLS Fast Reroute Point of Local Repair table

    mplsFrrOne2OnePlrTable  OBJECT-TYPE
       SYNTAX        SEQUENCE OF MplsFrrOne2OnePlrEntry
       MAX-ACCESS    not-accessible
       STATUS        current
       DESCRIPTION
         "This table shows a list of protected TE tunnels with
          the corresponding protecting tunnel, as well as the PLR
          where the protecting tunnel that initiated the detour
          LSPs traverse this node." Module Conformance Statement

    mplsFrrGroups
       OBJECT IDENTIFIER ::= { mplsFrrOne2OneObjects 4 {mplsFrrConformance 1 }

    mplsFrrOne2OnePlrEntry  OBJECT-TYPE
       SYNTAX        MplsFrrOne2OnePlrEntry
       MAX-ACCESS    not-accessible

    mplsFrrCompliances
       OBJECT IDENTIFIER ::= {mplsFrrConformance 2 }

    mplsFrrModuleFullCompliance MODULE-COMPLIANCE
       STATUS current
       DESCRIPTION
         "An entry in this table represents a protected tunnel LSP
          together with its detour tunnel instance. An entry in
          this table is only created by an SNMP agent as instructed
          by an MPLS signaling protocol.

          The entries of this table are present in all LSRs on the path
          of the detour LSP.

          The objects mplsFrrOne2OnePlrSenderAddrType and
          mplsFrrOne2OnePlrSenderAddr can be modified after
         "Compliance statements for agents that support the row
          is created.
          MPLS-FRR-GENERALSTD-MIB MIB module."

      MODULE IF-MIB -- The objects mplsFrrOne2OnePlrTunnelIndex,
          mplsFrrOne2OnePlrTunnelDetourInstance,
          mplsFrrOne2OnePlrTunnelIngressLSRId
          and mplsFrrOne2OnePlrTunnelEgressLSRId have the same values as
          the objects mplsTunnelIndex, mplsTunnelInstance,
          mplsTunnelIngressLSRId and mplsTunnelEgressLSRId of the detour
          tunnel instance created in the mplsTunnelTable
          (MPLS-TE-STD-MIB)."
       INDEX Interfaces Group MIB module, RFC 2863.
         MANDATORY-GROUPS { mplsFrrOne2OnePlrTunnelIndex,     -- from
            ifGeneralInformationGroup,
            ifCounterDiscontinuityGroup
         }

      MODULE MPLS-TE-STD-MIB
               mplsFrrOne2OnePlrTunnelDetourInstance,-- mplsTunnelTable  -- The MPLS Traffic Engineering
                              -- MIB module, RFC 3812
         MANDATORY-GROUPS {
            mplsTunnelGroup,
            mplsTunnelScalarGroup
                 MPLS Fast-reroute MIB              November 15, 2007 

               mplsFrrOne2OnePlrTunnelIngressLSRId,-- Tunnels must exist
               mplsFrrOne2OnePlrTunnelEgressLSRId,                June 27, 2008 

         }

       MODULE -- a priori
               mplsFrrOne2OnePlrId this module
           MANDATORY-GROUPS {
                             mplsFrrScalarGroup,
                             mplsFrrTunnelARHopGroup,
                             mplsFrrConstraintsGroup
                            }
       ::=

       OBJECT       mplsFrrConstraintsRowStatus
       SYNTAX       RowStatus { mplsFrrOne2OnePlrTable 1 active(1), notInService(2) }

    MplsFrrOne2OnePlrEntry ::= SEQUENCE
       WRITE-SYNTAX RowStatus {
        mplsFrrOne2OnePlrTunnelIndex         MplsTunnelIndex,
        mplsFrrOne2OnePlrTunnelDetourInstance  MplsTunnelInstanceIndex,
        mplsFrrOne2OnePlrTunnelIngressLSRId   MplsLsrIdentifier,
        mplsFrrOne2OnePlrTunnelEgressLSRId    MplsLsrIdentifier,
        mplsFrrOne2OnePlrId             MplsLsrIdentifier,
        mplsFrrOne2OnePlrSenderAddrType InetAddressType,
        mplsFrrOne2OnePlrSenderAddr     InetAddress,
        mplsFrrOne2OnePlrAvoidNodeAddrType InetAddressType,
        mplsFrrOne2OnePlrAvoidNodeAddr     InetAddress active(1), notInService(2),
                                createAndGo(4), destroy(6)
                              }

    mplsFrrOne2OnePlrTunnelIndex OBJECT-TYPE
       SYNTAX        MplsTunnelIndex
       MAX-ACCESS    not-accessible
       STATUS        current
       DESCRIPTION
         "Uniquely identifies a tunnel between a pair of LSRs
          from the mplsTunnelEntry." "Support for createAndWait and notReady is
                    not required."

       ::= { mplsFrrOne2OnePlrEntry mplsFrrCompliances 1 }

    mplsFrrOne2OnePlrTunnelDetourInstance OBJECT-TYPE
       SYNTAX        MplsTunnelInstanceIndex
       MAX-ACCESS    not-accessible

    mplsFrrModuleReadOnlyCompliance MODULE-COMPLIANCE
       STATUS current
       DESCRIPTION
         "Uniquely identifies a detour instance of a tunnel from
         "Compliance statements for agents that support the mplsTunnelEntry.

         - lower 16 bits : protected tunnel instance
         - higher 16 bits: detour instance"
       ::= MPLS FRR
         MIB."
       MODULE

           MANDATORY-GROUPS { mplsFrrOne2OnePlrEntry 2
                             mplsFrrScalarGroup,
                             mplsFrrTunnelARHopGroup,
                             mplsFrrConstraintsGroup
                            }

    mplsFrrOne2OnePlrTunnelIngressLSRId OBJECT-TYPE
       SYNTAX        MplsLsrIdentifier
       MAX-ACCESS    not-accessible
       STATUS        current

       -- Scalars

       OBJECT        mplsFrrProtectionMethod
       MIN-ACCESS    read-only
       DESCRIPTION
         "The purpose of this object is to uniquely identify a
           tunnel within a network. When the MPLS signalling
           protocol
         "Write access is rsvp(2) this object SHOULD contain the
           same value as the Extended Tunnel Id field in the
           SESSION object. When the MPLS signalling protocol not required."

       -- mplsFrrConstraintsTable

       OBJECT        mplsFrrConstraintsSetupPrio
       MIN-ACCESS    read-only
       DESCRIPTION
         "Write access is crldp(3) this object SHOULD contain the same not required."

       OBJECT        mplsFrrConstraintsHoldingPrio
       MIN-ACCESS    read-only
                 MPLS Fast-reroute MIB              November 15, 2007 

           value as the Ingress LSR Router ID field in the
           LSPID TLV object.

           This value represents the head-end of the protected
           tunnel instance."
       REFERENCE
         "RFC3209"
       ::= { mplsFrrOne2OnePlrEntry 3 }

     mplsFrrOne2OnePlrTunnelEgressLSRId OBJECT-TYPE
       SYNTAX        MplsLsrIdentifier
       MAX-ACCESS    not-accessible
       STATUS        current                June 27, 2008 

       DESCRIPTION
         "Specifies the egress LSR ID of the protected tunnel instance."
       ::= { mplsFrrOne2OnePlrEntry 4 }

    mplsFrrOne2OnePlrId OBJECT-TYPE
       SYNTAX        MplsLsrIdentifier
       MAX-ACCESS    not-accessible
       STATUS        current
         "Write access is not required."

       OBJECT        mplsFrrConstraintsInclAnyAffinity
       MIN-ACCESS    read-only
       DESCRIPTION
         "This value represents the PLR that has initiated a detour LSP
          to protect a tunnel instance.
          This value
         "Write access is signalled via the DETOUR object defined in MPLS
          RSVP protocol."
       REFERENCE
          "RFC4090"
       ::= { mplsFrrOne2OnePlrEntry 5 }

    mplsFrrOne2OnePlrSenderAddrType OBJECT-TYPE
       SYNTAX        InetAddressType
       MAX-ACCESS    read-create
       STATUS        current not required."

       OBJECT        mplsFrrConstraintsInclAllAffinity
       MIN-ACCESS    read-only
       DESCRIPTION
         "Denotes the address type of this detour instance's sender
          address."
       DEFVAL        { ipv4 }
       ::= { mplsFrrOne2OnePlrEntry 6 }

    mplsFrrOne2OnePlrSenderAddr OBJECT-TYPE
       SYNTAX        InetAddress
       MAX-ACCESS    read-create
       STATUS        current
         "Write access is not required."

       OBJECT        mplsFrrConstraintsExclAnyAffinity
       MIN-ACCESS    read-only
       DESCRIPTION
         "The IP address of the PLR which has initiated the detour LSP.
          The type of this address
         "Write access is determined by the value of the
          mplsFrrOne2OnePlrSenderAddrType object." not required."

       OBJECT        mplsFrrConstraintsBandwidth
       MIN-ACCESS    read-only
       DESCRIPTION
         "Write access is not required."

       OBJECT        mplsFrrConstraintsProtectionType
       MIN-ACCESS    read-only
       DESCRIPTION
         "Write access is not required."

       OBJECT        mplsFrrConstraintsHopLimit
       MIN-ACCESS    read-only
       DESCRIPTION
         "Write access is not required."

       OBJECT        mplsFrrConstraintsStorageType
       MIN-ACCESS    read-only
       DESCRIPTION
         "Write access is not required."

       OBJECT        mplsFrrConstraintsRowStatus
       MIN-ACCESS    read-only
       DESCRIPTION
         "Write access is not required."

       ::= { mplsFrrOne2OnePlrEntry 7 mplsFrrCompliances 2 }

    -- Units of conformance

    mplsFrrScalarGroup OBJECT-GROUP
                 MPLS Fast-reroute MIB              November 15, 2007 

    mplsFrrOne2OnePlrAvoidNodeAddrType OBJECT-TYPE
       SYNTAX        InetAddressType
       MAX-ACCESS    read-only                June 27, 2008 

       OBJECTS {
                mplsFrrSwitchover,
                mplsFrrProtectionMethod
               }
       STATUS        current
       DESCRIPTION
         "Denotes the address type of the node
         "Objects that this PLR tries are required to
          avoid."
       DEFVAL display general fast reroute
          information."
       ::= { ipv4 mplsFrrGroups 1 }
       ::=

    mplsFrrConstraintsGroup OBJECT-GROUP
       OBJECTS { mplsFrrOne2OnePlrEntry 8
          mplsFrrConstraintsProtectionType,
          mplsFrrConstraintsHopLimit,
          mplsFrrConstraintsBandwidth,
          mplsFrrConstraintsStorageType,
          mplsFrrConstraintsRowStatus,
          mplsFrrConstraintsSetupPrio,
          mplsFrrConstraintsHoldingPrio,
          mplsFrrConstraintsInclAnyAffinity,
          mplsFrrConstraintsInclAllAffinity,
          mplsFrrConstraintsExclAnyAffinity
       }

    mplsFrrOne2OnePlrAvoidNodeAddr OBJECT-TYPE
       SYNTAX        InetAddress
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
         "The IP address of the node
         "Objects that this PLR tries are required to avoid.
          The type of this address is determined by configure fast reroute
          constraints at the value ingress LSR of the
          mplsFrrOne2OnePlrAvoidNodeAddrType object.
          This value is signalled via the DETOUR object defined in MPLS
          RSVP protocol."
       REFERENCE
         "RFC4090" tunnel that requires
          fast reroute service."
       ::= { mplsFrrOne2OnePlrEntry 9 mplsFrrGroups 2 }

    -- MPLS One-To-One Fast Reroute Detour table.

    mplsFrrOne2OneDetourTable OBJECT-TYPE
       SYNTAX        SEQUENCE OF MplsFrrOne2OneDetourEntry
       MAX-ACCESS    not-accessible
       STATUS        current
       DESCRIPTION
         "This table shows detour LSPs."
       ::=

    mplsFrrTunnelARHopGroup         OBJECT-GROUP
     OBJECTS { mplsFrrOne2OneObjects 5
               mplsFrrTunnelARHopProtectType,
               mplsFrrTunnelARHopProtectTypeInUse
             }

    mplsFrrOne2OneDetourEntry OBJECT-TYPE
       SYNTAX        MplsFrrOne2OneDetourEntry
       MAX-ACCESS    not-accessible
     STATUS        current
     DESCRIPTION
         "An entry in this table represents a detour. An entry in this
         table is only created by an SNMP agent as instructed by an MPLS
         signaling protocol. "
       INDEX
         "Objects that are required to present per hop fast-reroute
          protection status."
    ::= {
               mplsFrrOne2OnePlrTunnelIndex,     -- from MPLS-TE-STD-MIB
               mplsFrrOne2OnePlrTunnelDetourInstance, mplsFrrGroups 3}

END

-- mplsTunnelTable
               mplsFrrOne2OnePlrTunnelIngressLSRId,-- Tunnels must exist
               mplsFrrOne2OnePlrTunnelEgressLSRId End of MPLS-FRR-GENERAL-STD-MIB

6.1. MPLS-FRR-ONE2ONE-STD-MIB

-- a priori
          } Start of MPLS-FRR-ONE2ONE-STD-MIB
                 MPLS Fast-reroute MIB              November 15, 2007 

       ::= { mplsFrrOne2OneDetourTable 1 }

    MplsFrrOne2OneDetourEntry                June 27, 2008 

MPLS-FRR-ONE2ONE-STD-MIB DEFINITIONS ::= SEQUENCE {
          mplsFrrOne2OneDetourActive BEGIN

    IMPORTS
       MODULE-IDENTITY, OBJECT-TYPE,
       Integer32, Unsigned32,
       NOTIFICATION-TYPE, Gauge32
          FROM SNMPv2-SMI                            -- [RFC2578]
       MODULE-COMPLIANCE, OBJECT-GROUP,
       NOTIFICATION-GROUP
          FROM SNMPv2-CONF                           -- [RFC2580]
       TruthValue,
          mplsFrrOne2OneDetourMergedStatus            INTEGER,
          mplsFrrOne2OneDetourMergedDetourInst   MplsTunnelInstanceIndex
    }

    mplsFrrOne2OneDetourActive OBJECT-TYPE
       SYNTAX        TruthValue
       MAX-ACCESS    read-only
       STATUS        current RowStatus, StorageType
          FROM SNMPv2-TC                             -- [RFC2579]
       InterfaceIndex, InterfaceIndexOrZero,
       ifGeneralInformationGroup,
       ifCounterDiscontinuityGroup

          FROM IF-MIB                                -- [RFC2863]
       MplsTunnelIndex, MplsTunnelInstanceIndex,
       MplsLsrIdentifier, mplsStdMIB
          FROM MPLS-TC-STD-MIB                       -- [RFC3811]
       mplsTunnelGroup, mplsTunnelScalarGroup,
       mplsTunnelARHopListIndex, mplsTunnelARHopIndex
          FROM MPLS-TE-STD-MIB                       -- [RFC3812]
       InetAddressType, InetAddress
          FROM INET-ADDRESS-MIB                      -- [RFC4001]
       ;

    mplsFrrOne2OneMIB MODULE-IDENTITY
       LAST-UPDATED
          "200806201200Z" -- 20 May 2008 12:00:00 GMT
       ORGANIZATION
          "Multiprotocol Label Switching (MPLS) Working Group"
       CONTACT-INFO
            "
                     Riza Cetin
              Email: riza.cetin@alcatel.be

                     Thomas D. Nadeau
              Email: thomas.nadeau@bt.com

                     A S Kiran Koushik
              Email: kkoushik@cisco.com

                     Stefaan De Cnodder
              Email: Stefaan.de_cnodder@alcatel.be

                     Der-Hwa Gan
              Email: dhg@juniper.net
            "
                 MPLS Fast-reroute MIB                June 27, 2008 

       DESCRIPTION
         "Indicates whether or not the main LSP has switched over to
          this detour LSP.
          If the value
         "Copyright (C) 2008 The IETF Trust.  This
          version of this object MIB module is 'true', then it means that
          the main LSP has switched over to this detour LSP. Otherwise
          it contains a value part of 'false'. RFC 4327; See the RFC
          itself for full legal notices.

          This is only relevant MIB module contains object definitions for detours originated
          MPLS Traffic Engineering one-to-one backup method for
          Fast Reroute as defined in RFC4090."

    -- Revision history.
       REVISION
          "200806201200Z" -- 20 May 2008 12:00:00 GMT
       DESCRIPTION
          "Initial version. Published as RFC xxxx."
                          -- RFC-editor pls fill in xxxx
   ::= { mplsStdMIB yyy } -- RFC-editor please fill in

                          -- yyy with value assigned by IANA,
                          -- see section 18.1 for details

    -- Top level components of this node." MIB module.
    mplsFrrOne2OneScalars       OBJECT IDENTIFIER
                            ::= { mplsFrrOne2OneDetourEntry mplsOne2OneFrrMIB 1 }

    mplsFrrOne2OneDetourMergedStatus OBJECT-TYPE
       SYNTAX        INTEGER
    mplsFrrOne2One              OBJECT IDENTIFIER
                            ::= { notMerged(1),
                               mergedWithProtectedTunnel(2),
                               mergedWithDetour(3) mplsFrrOne2OneMIB 2 }

    -- objects defined for 1-to-1 style FRR
    mplsFrrOne2OneObjects OBJECT IDENTIFIER
                            ::= { mplsFrrOne2One 1 }

    mplsFrrOne2OneConformance   OBJECT IDENTIFIER
                            ::= { mplsFrrOne2One 2 }

    -- Scalar objects defined for 1-to-1 style FRR

    mplsFrrIncomingDetourLSPs OBJECT-TYPE
       SYNTAX        Integer32 (-1|0..2147483647)
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
         "This value represents whether or not this
         "The number of detour is merged.
          This value is set LSPs entering the device
          (greater than or equal to notMerged(1) 0) if this detour is not
          merged.

          This value mplsFrrProtectionMethod
          is set to mergedWithProtectedTunnel(2) oneToOneBackup(1), or -1 if
          this detour is merged with the protected tunnel. This value
          mplsFrrProtectionMethod is set to mergedWithDetour(3) if this detour is merged
          with another detour protecting the same tunnel." facilityBackup(2)."
       DEFVAL { 0 }
       ::= { mplsFrrOne2OneDetourEntry 2 mplsFrrOne2OneScalars 1 }

    mplsFrrOne2OneDetourMergedDetourInst

    mplsFrrOutgoingDetourLSPs OBJECT-TYPE
       SYNTAX        MplsTunnelInstanceIndex
       MAX-ACCESS    read-only
       STATUS        Integer32 (-1|0..2147483647)
                 MPLS Fast-reroute MIB                June 27, 2008 

       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
         "This value represents the instance
         "The number of detour LSPs leaving the device (greater
          than or equal to 0) if mplsFrrProtectionMethod
          is set to oneToOneBackup(1), or -1 if
          mplsFrrProtectionMethod is set to
          facilityBackup(2)."
       DEFVAL { 0 }
      ::= { mplsFrrOne2OneScalars 2 }

    mplsFrrOne2OneDetourOriginating OBJECT-TYPE
       SYNTAX        Integer32(-1|0..2147483647)
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
         "The number of detour with which LSPs originating at this detour PLR (greater
          than or equal to 0) if mplsFrrProtectionMethod
          is merged. set to oneToOneBackup(1).  This object is only valid when
          mplsFrrOne2OneDetourMergedStatus MUST
          return -1 if the mplsFrrProtectionMethod is set to detour(3).

          - lower 16 bits : protected tunnel instance
               MPLS Fast-reroute MIB              November 15, 2007 

          - higher 16 bits: detour instance"
          facilityBackup(2)."
       DEFVAL { 0 }
       ::= { mplsFrrOne2OneDetourEntry mplsFrrOne2OneScalars 3 }

    --
    -- Facility-based FRR-specific One-to-One Specific Tables
    --
    -- Tables in this section pertain only to the facility- 1-1
    -- based style of FRR.
    --

    mplsFrrFacilityDBTable

    -- MPLS Fast Reroute Point of Local Repair table

    mplsFrrOne2OnePlrTable  OBJECT-TYPE
       SYNTAX        SEQUENCE OF MplsFrrFacilityDBEntry MplsFrrOne2OnePlrEntry
       MAX-ACCESS    not-accessible
       STATUS        current
       DESCRIPTION
            "The mplsFrrFacilityDBTable provides information about the
             fast reroute database.  Each entry belongs to
         "This table shows a list of protected
             interface, protecting backup tunnel and protected tunnel.
             MPLS interfaces defined on this node are protected by
             backup TE tunnels and are indicated by with
          the index
             mplsFrrFacilityProtIfIdx. If corresponding protecting tunnel, as well as the interface index is set
             to 0, this indicates that PLR
          where the remaining indexes apply
             to all configured protected interfaces.
             The protecting tunnel is indicated by that initiated the
             index mplsFrrFacilityProtectingTunnelIndex and detour
          LSPs traverse this node."
       ::= { mplsFrrOne2OneObjects 1 }

    mplsFrrOne2OnePlrEntry  OBJECT-TYPE
       SYNTAX        MplsFrrOne2OnePlrEntry
       MAX-ACCESS    not-accessible
       STATUS        current
       DESCRIPTION
                 MPLS Fast-reroute MIB                June 27, 2008 

         "An entry in this table represents a valid mplsTunnelEntry. Note that the tunnel
             instance index of the protecting protected tunnel may LSP
          together with its detour tunnel instance. An entry in
          this table is only created by an SNMP agent as instructed
          by an MPLS signaling protocol.

          The entries of this table are present in all LSRs on the path
          of the detour LSP.

          The objects mplsFrrOne2OnePlrSenderAddrType and
          mplsFrrOne2OnePlrSenderAddr can be set to 0
             which indicates modified after the tunnel head interface for row
          is created.

          The objects mplsFrrOne2OnePlrTunnelIndex,
          mplsFrrOne2OnePlrTunnelDetourInstance,
          mplsFrrOne2OnePlrTunnelIngressLSRId
          and mplsFrrOne2OnePlrTunnelEgressLSRId have the
             protecting tunnel, same values as per RFC3812, but it may also be
             defined using
          the following semantics: objects mplsTunnelIndex, mplsTunnelInstance,
          mplsTunnelIngressLSRId and mplsTunnelEgressLSRId of the detour
          tunnel instance created in the mplsTunnelTable
          (MPLS-TE-STD-MIB)."
       INDEX { mplsFrrOne2OnePlrTunnelIndex,     -- from MPLS-TE-STD-MIB
               mplsFrrOne2OnePlrTunnelDetourInstance,-- mplsTunnelTable
               mplsFrrOne2OnePlrTunnelIngressLSRId,-- Tunnels must exist
               mplsFrrOne2OnePlrTunnelEgressLSRId,  -- a priori
               mplsFrrOne2OnePlrId    }
       ::= { mplsFrrOne2OnePlrTable 1 }

    MplsFrrOne2OnePlrEntry ::= SEQUENCE {
        mplsFrrOne2OnePlrTunnelIndex         MplsTunnelIndex,
        mplsFrrOne2OnePlrTunnelDetourInstance  MplsTunnelInstanceIndex,
        mplsFrrOne2OnePlrTunnelIngressLSRId   MplsLsrIdentifier,
        mplsFrrOne2OnePlrTunnelEgressLSRId    MplsLsrIdentifier,
        mplsFrrOne2OnePlrId             MplsLsrIdentifier,
        mplsFrrOne2OnePlrSenderAddrType InetAddressType,
        mplsFrrOne2OnePlrSenderAddr     InetAddress,
        mplsFrrOne2OnePlrAvoidNodeAddrType InetAddressType,
        mplsFrrOne2OnePlrAvoidNodeAddr     InetAddress
    }

    mplsFrrOne2OnePlrTunnelIndex OBJECT-TYPE
       SYNTAX        MplsTunnelIndex
       MAX-ACCESS    not-accessible
       STATUS        current
       DESCRIPTION
         "Uniquely identifies a tunnel between a pair of LSRs
          from the mplsTunnelEntry."
       ::= { mplsFrrOne2OnePlrEntry 1 }

    mplsFrrOne2OnePlrTunnelDetourInstance OBJECT-TYPE
                 MPLS Fast-reroute MIB                June 27, 2008 

       SYNTAX        MplsTunnelInstanceIndex
       MAX-ACCESS    not-accessible
       STATUS        current
       DESCRIPTION
         "Uniquely identifies a detour instance of a tunnel from
          the mplsTunnelEntry.

         - lower 16 bits : protected tunnel instance
         - higher 16 bits: must be all zeros
           " detour instance"
       ::= { mplsFrrFacObjects 6 mplsFrrOne2OnePlrEntry 2 }

    mplsFrrFacilityDBEntry

    mplsFrrOne2OnePlrTunnelIngressLSRId OBJECT-TYPE
       SYNTAX        MplsFrrFacilityDBEntry        MplsLsrIdentifier
       MAX-ACCESS    not-accessible
       STATUS        current
       DESCRIPTION
            "An entry in the mplsFrrFacilityDBTable represents a single
             protected LSP, protected by
         "The purpose of this object is to uniquely identify a backup
           tunnel on within a
             specific protected interface, or if network. When the interface
             index MPLS signalling
           protocol is set to 0, on all interfaces. Note that for
             brevity, managers should consult rsvp(2) this object SHOULD contain the mplsTunnelTable
             present
           same value as the Extended Tunnel Id field in the MPLS-TE-STD-MIB MIB module for
             additional information about
           SESSION object. When the protecting and protected
             tunnels, and MPLS signalling protocol
           is crldp(3) this object SHOULD contain the ifEntry same
           value as the Ingress LSR Router ID field in the IF-MIB MIB module
               MPLS Fast-reroute MIB              November 15, 2007 

             for
           LSPID TLV object.

           This value represents the head-end of the protected interface."
        INDEX {
               mplsFrrFacilityProtectedIfIndex,   -- protected ifIndex
               mplsFrrFacilityProtectingTunnelIndex,-- protecting TE tun
               mplsFrrFacilityBackupTunnelIndex,    -- protected TE tun
               mplsFrrFacilityBackupTunnelInstance, -- LSP
               mplsFrrFacilityBackupTunnelIngressLSRId,
               mplsFrrFacilityBackupTunnelEgressLSRId }
    ::= { mplsFrrFacilityDBTable 1 }

    MplsFrrFacilityDBEntry
           tunnel instance."
       REFERENCE
         "RFC3209"
       ::= SEQUENCE {
       mplsFrrFacilityProtectedIfIndex          InterfaceIndex,
       mplsFrrFacilityProtectingTunnelIndex     MplsTunnelIndex,
       mplsFrrFacilityBackupTunnelIndex         MplsTunnelIndex,
       mplsFrrFacilityBackupTunnelInstance      MplsTunnelInstanceIndex,
       mplsFrrFacilityBackupTunnelIngressLSRId  MplsLsrIdentifier,
       mplsFrrFacilityBackupTunnelEgressLSRId   MplsLsrIdentifier,
       mplsFrrFacilityDBNumProtectingTunnelOnIf Gauge32,
       mplsFrrFacilityDBNumProtectedLspOnIf     Gauge32,
       mplsFrrFacilityDBNumProtectedTunnels     Gauge32,
       mplsFrrFacilityDBProtectingTunnelStatus  INTEGER,
       mplsFrrFacilityDBProtectingTunnelResvBw  MplsBitRate mplsFrrOne2OnePlrEntry 3 }

    mplsFrrFacilityProtectedIfIndex

     mplsFrrOne2OnePlrTunnelEgressLSRId OBJECT-TYPE
       SYNTAX        InterfaceIndex        MplsLsrIdentifier
       MAX-ACCESS    not-accessible
       STATUS        current
       DESCRIPTION
         "Uniquely identifies the interface configured for FRR
          protection. If this object is set to 0, this indicates
          that
         "Specifies the remaining indexing combinations for this row
          apply to all interfaces on this device for which egress LSR ID of the FRR feature can operate." protected tunnel instance."
       ::= { mplsFrrFacilityDBEntry 1 mplsFrrOne2OnePlrEntry 4 }

    mplsFrrFacilityProtectingTunnelIndex

    mplsFrrOne2OnePlrId OBJECT-TYPE
       SYNTAX        MplsTunnelIndex        MplsLsrIdentifier
       MAX-ACCESS    not-accessible
       STATUS        current
       DESCRIPTION
         "Uniquely identifies the mplsTunnelEntry primary index for
         "This value represents the tunnel head interface designated PLR that has initiated a detour LSP
          to protect a tunnel instance.
          This value is signalled via the
          interface as specified DETOUR object defined in the mplsFrrFacilityProtectedIfIndex
          (and all of the tunnels using this interface). Note
          that the corresponding mplsTunnelInstance MUST BE
          0 as per the indexing convention stipulated." MPLS
          RSVP protocol."
       REFERENCE
          "RFC3812"
                 MPLS Fast-reroute MIB              November 15, 2007                June 27, 2008 

          "RFC4090"
       ::= { mplsFrrFacilityDBEntry 2 mplsFrrOne2OnePlrEntry 5 }

    mplsFrrFacilityBackupTunnelIndex

    mplsFrrOne2OnePlrSenderAddrType OBJECT-TYPE
       SYNTAX        MplsTunnelIndex        InetAddressType
       MAX-ACCESS    not-accessible    read-create
       STATUS        current
       DESCRIPTION
        "Uniquely identifies the mplsTunnelEntry primary index for
          the TE tunnel LSP being protected on
         "Denotes the
          interface as specified by mplsFrrFacilityProtectedIfIndex." address type of this detour instance's sender
          address."
       DEFVAL        { ipv4 }
       ::= { mplsFrrFacilityDBEntry 3 mplsFrrOne2OnePlrEntry 6 }

    mplsFrrFacilityBackupTunnelInstance

    mplsFrrOne2OnePlrSenderAddr OBJECT-TYPE
       SYNTAX        MplsTunnelInstanceIndex        InetAddress
       MAX-ACCESS    not-accessible    read-create
       STATUS        current
       DESCRIPTION
        "Uniquely identifies the mplsTunnelEntry secondary index
         for
         "The IP address of the TE tunnel LSP being protected on PLR which has initiated the
         interface as specified detour LSP.
          The type of this address is determined by mplsFrrFacilityProtectedIfIndex." the value of the
          mplsFrrOne2OnePlrSenderAddrType object."
       ::= { mplsFrrFacilityDBEntry 4 mplsFrrOne2OnePlrEntry 7 }

    mplsFrrFacilityBackupTunnelIngressLSRId

    mplsFrrOne2OnePlrAvoidNodeAddrType OBJECT-TYPE
       SYNTAX        MplsLsrIdentifier        InetAddressType
       MAX-ACCESS    not-accessible    read-only
       STATUS        current
       DESCRIPTION
        "Uniquely identifies the mplsTunnelEntry third index
         for
         "Denotes the TE tunnel LSP being protected on address type of the
         interface as specified by mplsFrrFacilityProtectedIfIndex."
       REFERENCE
         "RFC3209, RFC3212" node that this PLR tries to
          avoid."
       DEFVAL        { ipv4 }
       ::= { mplsFrrFacilityDBEntry 5 mplsFrrOne2OnePlrEntry 8 }

    mplsFrrFacilityBackupTunnelEgressLSRId

    mplsFrrOne2OnePlrAvoidNodeAddr OBJECT-TYPE
       SYNTAX        MplsLsrIdentifier        InetAddress
       MAX-ACCESS    not-accessible    read-only
       STATUS        current
       DESCRIPTION
        "Uniquely identifies
         "The IP address of the mplsTunnelEntry fourth index
         for node that this PLR tries to avoid.
          The type of this address is determined by the TE tunnel LSP being protected on value of the
         interface as specified by mplsFrrFacilityProtectedIfIndex."
          mplsFrrOne2OnePlrAvoidNodeAddrType object.
          This value is signalled via the DETOUR object defined in MPLS
          RSVP protocol."
       REFERENCE
         "RFC4090"
       ::= { mplsFrrFacilityDBEntry 6 mplsFrrOne2OnePlrEntry 9 }

    mplsFrrFacilityDBNumProtectingTunnelOnIf

    -- MPLS One-To-One Fast Reroute Detour table.

                 MPLS Fast-reroute MIB                June 27, 2008 

    mplsFrrOne2OneDetourTable OBJECT-TYPE
       SYNTAX            Gauge32        SEQUENCE OF MplsFrrOne2OneDetourEntry
       MAX-ACCESS        read-only    not-accessible
       STATUS        current
       DESCRIPTION
               MPLS Fast-reroute MIB              November 15, 2007 

            "The number of backup tunnels protecting the
             interface speficied by mplsFrrFacilityProtectedIfIndex."
         "This table shows detour LSPs."
       ::= { mplsFrrFacilityDBEntry 7 mplsFrrOne2OneObjects 2 }

    mplsFrrFacilityDBNumProtectedLspOnIf

    mplsFrrOne2OneDetourEntry OBJECT-TYPE
       SYNTAX            Gauge32        MplsFrrOne2OneDetourEntry
       MAX-ACCESS        read-only    not-accessible
       STATUS        current
       DESCRIPTION
            "The number of LSPs currently being protected on
             the interface specified
         "An entry in this table represents a detour. An entry in this
         table is only created by
             mplsFrrFacilityProtectedIfIndex." an SNMP agent as instructed by an MPLS
         signaling protocol. "
       INDEX {
               mplsFrrOne2OnePlrTunnelIndex,     -- from MPLS-TE-STD-MIB
               mplsFrrOne2OnePlrTunnelDetourInstance, -- mplsTunnelTable
               mplsFrrOne2OnePlrTunnelIngressLSRId,-- Tunnels must exist
               mplsFrrOne2OnePlrTunnelEgressLSRId    -- a priori
          }
       ::= { mplsFrrFacilityDBEntry 8 mplsFrrOne2OneDetourTable 1 }

    mplsFrrFacilityDBNumProtectedTunnels

    MplsFrrOne2OneDetourEntry ::= SEQUENCE {
          mplsFrrOne2OneDetourActive             TruthValue,
          mplsFrrOne2OneDetourMergedStatus            INTEGER,
          mplsFrrOne2OneDetourMergedDetourInst   MplsTunnelInstanceIndex
    }

    mplsFrrOne2OneDetourActive OBJECT-TYPE
       SYNTAX            Gauge32        TruthValue
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
            "The number
         "Indicates whether or not the main LSP has switched over to
          this detour LSP.
          If the value of tunnels protected on this object is 'true', then it means that
          the interface
             specified main LSP has switched over to this detour LSP. Otherwise
          it contains a value of 'false'.
          This is only relevant for detours originated by mplsFrrFacilityProtectedIfIndex." this node."
       ::= { mplsFrrFacilityDBEntry 9 mplsFrrOne2OneDetourEntry 1 }

    mplsFrrFacilityDBProtectingTunnelStatus

    mplsFrrOne2OneDetourMergedStatus OBJECT-TYPE
       SYNTAX        INTEGER {
                              active(1),
                              ready(2),
                              partial(3) notMerged(1),
                               mergedWithProtectedTunnel(2),
                               mergedWithDetour(3)
                             }
       MAX-ACCESS    read-only
                 MPLS Fast-reroute MIB                June 27, 2008 

       STATUS        current
       DESCRIPTION
            "Specifies the state of the protecting tunnel as
             specified by mplsFrrFacilityProtectingTunnelIndex.

             active
         "This value represents whether or not this detour is merged.
          This tunnel's label has been placed in the
                      LFIB and value is ready to be applied set to incoming
                      packets.

             ready -  This tunnel's label entry has been created but notMerged(1) if this detour is not yet in
          merged.

          This value is set to mergedWithProtectedTunnel(2) if
          this detour is merged with the LFIB.

             partial - protected tunnel. This tunnel's label entry as not been fully
                       created." value
          is mergedWithDetour(3) if this detour is merged
          with another detour protecting the same tunnel."
       ::= { mplsFrrFacilityDBEntry 10 mplsFrrOne2OneDetourEntry 2 }

    mplsFrrFacilityDBProtectingTunnelResvBw

    mplsFrrOne2OneDetourMergedDetourInst OBJECT-TYPE
       SYNTAX            MplsBitRate
        UNITS             "kilobits per second"
               MPLS Fast-reroute MIB              November 15, 2007        MplsTunnelInstanceIndex
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
            "Specifies
         "This value represents the amount of bandwidth in units instance of '1,000 bits per second', actually reserved by the protecting tunnel for facility backup purposes. detour with which
          this detour is merged. This value object is repeated here from only valid when
          mplsFrrOne2OneDetourMergedStatus is set to detour(3).

          - lower 16 bits : protected tunnel instance
          - higher 16 bits: detour instance"
       ::= { mplsFrrOne2OneDetourEntry 3 }

    -- Module Conformance Statement

    mplsFrrOne2OneGroups
       OBJECT IDENTIFIER ::= {mplsFrrOne2OneConformance 1 }

    mplsFrrOne2OneCompliances
       OBJECT IDENTIFIER ::= {mplsFrrOne2OneConformance 2 }

    mplsFrrOne2OneModuleFullCompliance MODULE-COMPLIANCE
       STATUS current
       DESCRIPTION
         "Compliance statements for agents that support the
             MPLS-TE-STD-MIB
          MPLS-FRR-ONE2ONE-STD-MIB MIB module."

      MODULE MPLS-FRR-GENERAL-STD-MIB -- MPLS FRR Generic MIB
         MANDATORY-GROUPS {
                             mplsFrrScalarGroup,
                             mplsFrrTunnelARHopGroup,
                             mplsFrrConstraintsGroup
         }

       MODULE -- this module because the tunnel entry will
             reveal the bandwidth reserved by
           MANDATORY-GROUPS {
                             mplsFrrOne2OneScalarsGroup,
                 MPLS Fast-reroute MIB                June 27, 2008 

                             mplsFrrOne2OnePLRDetourGroup,
                             mplsFrrOne2OnePlrGroup
                            }

       ::= { mplsFrrOne2OneCompliances 1 }

    mplsFrrOne2OneModuleReadOnlyCompliance MODULE-COMPLIANCE
       STATUS current
       DESCRIPTION
         "Compliance statements for agents that support the signaling protocol,
             which MPLS FRR
         ONE2ONE MIB."
       MODULE
           MANDATORY-GROUPS {
                             mplsFrrOne2OneScalarsGroup,
                             mplsFrrOne2OnePLRDetourGroup,
                             mplsFrrOne2OnePlrGroup
                            }
       -- mplsFrrOne2OnePlrTable

       OBJECT        mplsFrrOne2OnePlrSenderAddrType
       MIN-ACCESS    read-only
       DESCRIPTION
         "Write access is typically 0 for backup tunnels so as to not
             over-book bandwidth. However, internal reservations are
             typically made on the PLR, thus this value should be
             revealed here as it required."

       OBJECT        mplsFrrOne2OnePlrSenderAddr
       MIN-ACCESS    read-only
       DESCRIPTION
         "Write access is often different from
             mplsTunnelResourceMeanRate found in the MPLS-TE-STD-MIB
             MIB module." not required."

       ::= { mplsFrrFacilityDBEntry 11 mplsFrrOne2OneCompliances 2 }

    -- Notifications

    mplsFrrFacilityInitialBkupTunnelInvoked  NOTIFICATION-TYPE Units of conformance

    mplsFrrOne2OneScalarsGroup OBJECT-GROUP
     OBJECTS { mplsFrrFacilityDBNumProtectingTunnelOnIf,
                  mplsFrrFacilityDBNumProtectedLspOnIf,
                  mplsFrrFacilityDBNumProtectedTunnels,
                  mplsFrrFacilityDBProtectingTunnelStatus,
                  mplsFrrFacilityDBProtectingTunnelResvBw
              mplsFrrIncomingDetourLSPs,
              mplsFrrOutgoingDetourLSPs,
              mplsFrrOne2OneDetourOriginating
             }
     STATUS        current
     DESCRIPTION
        "This notification is generated when a tunnel running over an
         interface as specified in the mplsFrrConstraintsTable is
         initially protected by the backup tunnel also specified in the
         mplsFrrConstraintsTable. In some implementations there may be
         a difference between when the control plane triggers
         this notification and when the hardware is programmed to
         utilize the protection path. Due to the urgency of this
         operation, it is acceptable for the control plane to
         either issue this notification before or after it programs
         the hardware. In cases where it is the latter approach,
         the notification MUST be sent immediately after the
         data plane has been altered.

         This notification should not be generated
         for each subsequent tunnel that is backed up by the FRR feature
         on this LSR, as this may result in potential scaling issues
         with regard to LSR performance and network load. Note also
         "Objects that notifications MUST be generated in accordance with the
         mplsFrrNotificationsMaxRate.

         Note this notification is only applicable to the facility based are required general One-2-One PLR information."
     ::= { mplsFrrOne2OneGroups 1 }

    mplsFrrOne2OnePLRDetourGroup OBJECT-GROUP
     OBJECTS {
              mplsFrrOne2OneDetourActive,
              mplsFrrOne2OneDetourMergedStatus,
                 MPLS Fast-reroute MIB              November 15, 2007 

         fastreroute protection method, and should be ignored by
         implementations                June 27, 2008 

              mplsFrrOne2OneDetourMergedDetourInst
             }
     STATUS        current
     DESCRIPTION
         "Objects that do not support this method." are required to present the detour LSP
          information at the detour ingress, transit and egress LSRs."
     ::= { mplsFrrNotifications 1 mplsFrrOne2OneGroups 2 }

    mplsFrrFacilityFinalTunnelRestored NOTIFICATION-TYPE

    mplsFrrOne2OnePlrGroup OBJECT-GROUP
      OBJECTS { mplsFrrFacilityDBNumProtectingTunnelOnIf,
                  mplsFrrFacilityDBNumProtectedLspOnIf,
                  mplsFrrFacilityDBNumProtectedTunnels,
                  mplsFrrFacilityDBProtectingTunnelStatus,
                  mplsFrrFacilityDBProtectingTunnelResvBw
          mplsFrrOne2OnePlrSenderAddrType,
          mplsFrrOne2OnePlrSenderAddr,
          mplsFrrOne2OnePlrAvoidNodeAddrType,
          mplsFrrOne2OnePlrAvoidNodeAddr
         }
    STATUS        current
    DESCRIPTION
        "This notification is generated when the final tunnel
       "Objects that is
         being protected by a backup tunnel as specified in the
         mplsFrrConstraintsTable is restored to normal operation. This
         notification should not be generated for each restored tunnel,
         as this may result in potential scaling issues with regard to
         LSR performance and network load. Note also that
         notifications MUST be generated in accordance with the
         mplsFrrNotificationsMaxRate.

         Note this notification is only applicable are required to represent the facility based
         fastreroute protection method, and should be ignored by
         implementations that do not support this method." FRR
        One-2-One PLR information."
    ::= { mplsFrrNotifications 2 mplsFrrOne2OneGroups 3 }

END

-- Module Conformance Statement

    mplsFrrGroups
       OBJECT IDENTIFIER ::= {mplsFrrConformance 1 }

    mplsFrrCompliances
       OBJECT IDENTIFIER End of MPLS-FRR-ONE2ONE-STD-MIB

6.3. MPLS-FRR-FACILITY-STD-MIB

-- Start of MPLS-FRR-FACILITY-STD-MIB

MPLS-FRR-FACILITY-STD-MIB DEFINITIONS ::= {mplsFrrConformance 2 }

    mplsFrrModuleFullCompliance MODULE-COMPLIANCE
       STATUS current
       DESCRIPTION
         "Compliance statements for agents that support the
          MPLS-FRR-STD-MIB MIB module."

      MODULE IF-MIB BEGIN

    IMPORTS
       MODULE-IDENTITY, OBJECT-TYPE,
       Integer32, Unsigned32,
       NOTIFICATION-TYPE, Gauge32
          FROM SNMPv2-SMI                            -- The Interfaces Group MIB module, RFC 2863.
         MANDATORY-GROUPS { [RFC2578]
       MODULE-COMPLIANCE, OBJECT-GROUP,
       NOTIFICATION-GROUP
          FROM SNMPv2-CONF                           -- [RFC2580]
       TruthValue, RowStatus, StorageType
          FROM SNMPv2-TC                             -- [RFC2579]
       InterfaceIndex, InterfaceIndexOrZero,
       ifGeneralInformationGroup,
       ifCounterDiscontinuityGroup
         }

      MODULE MPLS-TE-STD-MIB  -- The MPLS Traffic Engineering

          FROM IF-MIB                                -- MIB module, RFC 3812 [RFC2863]
       MplsTunnelIndex, MplsTunnelInstanceIndex,
       MplsLsrIdentifier, MplsBitRate, mplsStdMIB,
                 MPLS Fast-reroute MIB              November 15, 2007 

         MANDATORY-GROUPS {                June 27, 2008 

       MplsTunnelAffinity
          FROM MPLS-TC-STD-MIB                       -- [RFC3811]
       mplsTunnelGroup,
            mplsTunnelScalarGroup
         }

       MODULE mplsTunnelScalarGroup,
       mplsTunnelARHopListIndex, mplsTunnelARHopIndex
          FROM MPLS-TE-STD-MIB                       -- this module
           MANDATORY-GROUPS {
                             mplsFrrScalarGroup,
                             mplsFrrTunnelARHopGroup,
                             mplsFrrConstraintsGroup
                            }

       OBJECT       mplsFrrConstraintsRowStatus
       SYNTAX       RowStatus { active(1), notInService(2) }
       WRITE-SYNTAX RowStatus { active(1), notInService(2),
                                createAndGo(4), destroy(6)
                              } [RFC3812]
       InetAddressType, InetAddress
          FROM INET-ADDRESS-MIB                      -- [RFC4001]
       ;

    mplsFrrFacilityMIB MODULE-IDENTITY
       LAST-UPDATED
          "200806201200Z" -- 20 May 2008 12:00:00 GMT
       ORGANIZATION
          "Multiprotocol Label Switching (MPLS) Working Group"
       CONTACT-INFO
            "
                     Riza Cetin
              Email: riza.cetin@alcatel.be

                     Thomas D. Nadeau
              Email: thomas.nadeau@bt.com

                     A S Kiran Koushik
              Email: kkoushik@cisco.com

                     Stefaan De Cnodder
              Email: Stefaan.de_cnodder@alcatel.be

                     Der-Hwa Gan
              Email: dhg@juniper.net
            "
       DESCRIPTION "Support for createAndWait and notReady
         "Copyright (C) 2008 The IETF Trust.  This
          version of MIB module is
                    not required."

       GROUP mplsFrrOne2OnePLRDetourGroup
       DESCRIPTION
           "This group is mandatory for devices which support part of RFC 4327; See the one-to-one FRR mechanism, and is optional RFC
          itself for
            those which do not."

       GROUP mplsFrrOne2OnePlrGroup
       DESCRIPTION
           "This group is mandatory full legal notices.

          This MIB module contains object definitions for devices which support
            the one-to-one FRR mechanism, and is optional
          MPLS Traffic Engineering facility backup method for
            those which do not."

       GROUP mplsFrrFacilityDBGroup
          Fast Reroute as defined in RFC4090."

    -- Revision history.
       REVISION
          "200806201200Z" -- 20 May 2008 12:00:00 GMT
       DESCRIPTION
           "This group is mandatory for devices which support
            the Facility Backup FRR mechanism, and is optional
          "Initial version. Published as RFC xxxx."
                          -- RFC-editor pls fill in xxxx
   ::= { mplsStdMIB yyy } -- RFC-editor please fill in
                          -- yyy with value assigned by IANA,
                          -- see section 18.1 for those which do not."

       GROUP mplsFrrNotificationsGroup
       DESCRIPTION
           "This group is mandatory details
                 MPLS Fast-reroute MIB                June 27, 2008 

    -- Top level components of this MIB module.
    mplsFrrFacilityNotifications         OBJECT IDENTIFIER
                                    ::= { mplsFrrFacilityMIB 0 }
    mplsFrrFacility                      OBJECT IDENTIFIER
                                    ::= { mplsFrrFacilityMIB 1 }

    -- objects defined for devices which support
            the Facility Backup style FRR mechanism, and is optional
            for those which do not."
    mplsFrrFacilityObjects  OBJECT IDENTIFIER
                                 ::= { mplsFrrCompliances mplsFrrFacility 1 }

    mplsFrrModuleReadOnlyCompliance MODULE-COMPLIANCE

    mplsFrrFacilityConformance   OBJECT IDENTIFIER
                                 ::= { mplsFrrFacility 2 }

    -- Scalar objects defined for Facility Backup style FRR

    mplsFrrConfiguredInterfaces OBJECT-TYPE
       SYNTAX        Integer32(-1|0..2147483647)
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
         "Indicates the number of MPLS Fast-reroute MIB              November 15, 2007 

         "Compliance statements interfaces configured for agents that support
          protection by the MPLS FRR
         MIB."
       MODULE
           MANDATORY-GROUPS feature if
          mplsFrrProtectionMethod
          is set to facilityBackup(2), otherwise this value
          MUST return -1 to indicate that LSPs traversing any
          interface are not protected."
       DEFVAL {
                             mplsFrrScalarGroup,
                             mplsFrrTunnelARHopGroup,
                             mplsFrrConstraintsGroup 0 }

       GROUP mplsFrrOne2OnePLRDetourGroup
       ::= { mplsFrrFacilityObjects 1 }

    mplsFrrActiveInterfaces OBJECT-TYPE
       SYNTAX        Unsigned32
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
           "This group is mandatory for devices which support
         "Indicates the number of interfaces currently being
          protected by the one-to-one FRR mechanism, and feature if
          mplsFrrProtectionMethod is optional for
            those which do not."

       GROUP mplsFrrOne2OnePlrGroup
       DESCRIPTION
           "This group set to
          facilityBackup(2), otherwise this value should return
          0 to indicate that LSPs traversing any interface may
          not be protected. This value MUST be less than or equal
          to mplsFrrConfiguredInterfaces except when
          mplsFrrConfiguredInterfaces is mandatory for devices set to -1, in which support case
          the one-to-one FRR mechanism, and value of this object is optional for
            those which do not."

       GROUP mplsFrrFacilityDBGroup meaningless and SHOULD be
          ignored."
       DEFVAL { 0 }
       ::= { mplsFrrFacilityObjects 2 }
                 MPLS Fast-reroute MIB                June 27, 2008 

    mplsFrrConfiguredBypassTunnels OBJECT-TYPE
       SYNTAX        Unsigned32
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
           "This group is mandatory for devices which support
         "Indicates the number of bypass tunnels configured to
          protect TE tunnels on this LSR using the Facility Backup FRR mechanism, and feature
          if mplsFrrProtectionMethod is optional
            for those which do not."

       GROUP mplsFrrNotificationsGroup set to
          facilityBackup(2), otherwise this value MUST return
          0 and SHOULD be ignored."
       DEFVAL { 0 }
       ::= { mplsFrrFacilityObjects 3 }

    mplsFrrActiveBypassTunnels OBJECT-TYPE
       SYNTAX        Unsigned32

       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
           "This group
         "Indicates the number of bypass tunnels indicated in
          mplsFrrConfiguredBypassTunnels whose operStatus
          is mandatory for devices which support up(1) indicating that they are currently protecting
          TE tunnels on this LSR using the Facility Backup FRR mechanism, and feature. This
          object MUST return 0 if mplsFrrProtectionMethod
          is optional set to oneToOneBackup(1)."
       DEFVAL { 0 }
       ::= { mplsFrrFacilityObjects 4 }

    mplsFrrActiveProtectedLSPs OBJECT-TYPE
       SYNTAX        Unsigned32
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
         "Indicates the number of LSPs currently protected by
          the FRR feature where this device acts as the PLR
          for those which do not."

       -- Scalars

       OBJECT LSPs. If mplsFrrProtectionMethod
       MIN-ACCESS    read-only
       DESCRIPTION
         "Write access
          is not required."

       OBJECT        mplsFrrNotificationsEnabled
       MIN-ACCESS    read-only set to facilityBackup(2) this object MUST be
          0 and should be ignored."
       DEFVAL { 0 }
       ::= { mplsFrrFacilityObjects 5 }

    mplsFrrFacilityNotificationsEnabled OBJECT-TYPE
        SYNTAX            TruthValue
        MAX-ACCESS        read-write
        STATUS            current
        DESCRIPTION
            "Enables or disables FRR notifications defined in this
             MIB module. Notifications are disabled by default.

                 MPLS Fast-reroute MIB                June 27, 2008 

             This object is needed to control the notifications
             emitted by this implementation."
        DEFVAL { false }
    ::= { mplsFrrFacilityObjects 6 }

    mplsFrrFacilityNotificationsMaxRate OBJECT-TYPE
       SYNTAX       Unsigned32
       UNITS        "Notifications per Second"
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION
           "This variable indicates the maximum number of
             notifications issued per second. If events occur
             more rapidly, the implementation may simply fail to
             emit these notifications during that period, or may
             queue them until an appropriate time. In case the
             implementation chooses to drop the events during
             throttling instead of queuing them to be sent at a later
             time, it is assumed that there will be no indication
             that events are being thrown away.

             A value of 0 means no throttling is applied and
             events may be generated at the rate at which they occur."
       DEFVAL       { 0 }
    ::= { mplsFrrFacilityObjects 7 }

    --
    -- Facility-based FRR-specific Tables
    --
    -- Tables in this section pertain only to the facility-
    -- based style of FRR.
    --

    mplsFrrFacilityDBTable OBJECT-TYPE
        SYNTAX            SEQUENCE OF MplsFrrFacilityDBEntry
        MAX-ACCESS        not-accessible
        STATUS            current
        DESCRIPTION
            "The mplsFrrFacilityDBTable provides information about the
             fast reroute database.  Each entry belongs to a protected
             interface, protecting backup tunnel and protected tunnel.
             MPLS interfaces defined on this node are protected by
             backup tunnels and are indicated by the index
             mplsFrrFacilityProtIfIdx. If the interface index is set
             to 0, this indicates that the remaining indexes apply
             to all configured protected interfaces.
             The protecting tunnel is indicated by the
             index mplsFrrFacilityProtectingTunnelIndex and
             represents a valid mplsTunnelEntry. Note that the tunnel
                 MPLS Fast-reroute MIB                June 27, 2008 

             instance index of the protecting tunnel may be set to 0

             which indicates the tunnel head interface for the
             protecting tunnel, as per RFC3812, but it may also be
             defined using the following semantics:

             - lower 16 bits : protected tunnel instance
             - higher 16 bits: must be all zeros
           "
    ::= { mplsFrrFacilityObjects 8 }

    mplsFrrFacilityDBEntry OBJECT-TYPE
       SYNTAX        MplsFrrFacilityDBEntry
       MAX-ACCESS    not-accessible
       STATUS        current
       DESCRIPTION
            "An entry in the mplsFrrFacilityDBTable represents a single
             protected LSP, protected by a backup tunnel on a
             specific protected interface, or if the interface
             index is set to 0, on all interfaces. Note that for
             brevity, managers should consult the mplsTunnelTable
             present in the MPLS-TE-STD-MIB MIB module for
             additional information about the protecting and protected
             tunnels, and the ifEntry in the IF-MIB MIB module
             for the protected interface."
        INDEX {
               mplsFrrFacilityProtectedIfIndex,   -- protected ifIndex
               mplsFrrFacilityProtectingTunnelIndex,-- protecting TE tun
               mplsFrrFacilityBackupTunnelIndex,    -- protected TE tun
               mplsFrrFacilityBackupTunnelInstance, -- LSP
               mplsFrrFacilityBackupTunnelIngressLSRId,
               mplsFrrFacilityBackupTunnelEgressLSRId }
    ::= { mplsFrrFacilityDBTable 1 }

    MplsFrrFacilityDBEntry ::= SEQUENCE {
       mplsFrrFacilityProtectedIfIndex          InterfaceIndex,
       mplsFrrFacilityProtectingTunnelIndex     MplsTunnelIndex,
       mplsFrrFacilityBackupTunnelIndex         MplsTunnelIndex,
       mplsFrrFacilityBackupTunnelInstance      MplsTunnelInstanceIndex,
       mplsFrrFacilityBackupTunnelIngressLSRId  MplsLsrIdentifier,
       mplsFrrFacilityBackupTunnelEgressLSRId   MplsLsrIdentifier,
       mplsFrrFacilityDBNumProtectingTunnelOnIf Gauge32,
       mplsFrrFacilityDBNumProtectedLspOnIf     Gauge32,
       mplsFrrFacilityDBNumProtectedTunnels     Gauge32,
       mplsFrrFacilityDBProtectingTunnelStatus  INTEGER,
       mplsFrrFacilityDBProtectingTunnelResvBw  MplsBitRate
    }

    mplsFrrFacilityProtectedIfIndex OBJECT-TYPE
                 MPLS Fast-reroute MIB                June 27, 2008 

       SYNTAX        InterfaceIndex
       MAX-ACCESS    not-accessible

       STATUS        current
       DESCRIPTION
         "Write access
         "Uniquely identifies the interface configured for FRR
          protection. If this object is not required."

       OBJECT        mplsFrrNotificationsMaxRate
       MIN-ACCESS    read-only set to 0, this indicates
          that the remaining indexing combinations for this row
          apply to all interfaces on this device for which
          the FRR feature can operate."
      ::= { mplsFrrFacilityDBEntry 1 }

    mplsFrrFacilityProtectingTunnelIndex OBJECT-TYPE
       SYNTAX        MplsTunnelIndex
       MAX-ACCESS    not-accessible
       STATUS        current
       DESCRIPTION
         "Write access is not required."
         "Uniquely identifies the mplsTunnelEntry primary index for
          the tunnel head interface designated to protect the
          interface as specified in the mplsFrrFacilityProtectedIfIndex
          (and all of the tunnels using this interface). Note
          that the corresponding mplsTunnelInstance MUST BE
          0 as per the indexing convention stipulated."
       REFERENCE
          "RFC3812"
       ::= { mplsFrrFacilityDBEntry 2 }

    mplsFrrFacilityBackupTunnelIndex OBJECT-TYPE
       SYNTAX        MplsTunnelIndex
       MAX-ACCESS    not-accessible
       STATUS        current
       DESCRIPTION
        "Uniquely identifies the mplsTunnelEntry primary index for
          the TE tunnel LSP being protected on the
          interface as specified by mplsFrrFacilityProtectedIfIndex."
       ::= { mplsFrrFacilityDBEntry 3 }

    mplsFrrFacilityBackupTunnelInstance OBJECT-TYPE
       SYNTAX        MplsTunnelInstanceIndex
       MAX-ACCESS    not-accessible
       STATUS        current
       DESCRIPTION
        "Uniquely identifies the mplsTunnelEntry secondary index
         for the TE tunnel LSP being protected on the
         interface as specified by mplsFrrFacilityProtectedIfIndex."
       ::= { mplsFrrFacilityDBEntry 4 }

    mplsFrrFacilityBackupTunnelIngressLSRId OBJECT-TYPE
       SYNTAX        MplsLsrIdentifier
                 MPLS Fast-reroute MIB              November 15, 2007 

       -- mplsFrrConstraintsTable

       OBJECT        mplsFrrConstraintsSetupPrio
       MIN-ACCESS    read-only
       DESCRIPTION
         "Write access is not required."

       OBJECT        mplsFrrConstraintsHoldingPrio
       MIN-ACCESS    read-only                June 27, 2008 

       MAX-ACCESS    not-accessible
       STATUS        current
       DESCRIPTION
         "Write access is not required."

       OBJECT        mplsFrrConstraintsInclAnyAffinity
       MIN-ACCESS    read-only
        "Uniquely identifies the mplsTunnelEntry third index
         for the TE tunnel LSP being protected on the
         interface as specified by mplsFrrFacilityProtectedIfIndex."
       REFERENCE
         "RFC3209, RFC3212"
       ::= { mplsFrrFacilityDBEntry 5 }

    mplsFrrFacilityBackupTunnelEgressLSRId  OBJECT-TYPE
       SYNTAX        MplsLsrIdentifier
       MAX-ACCESS    not-accessible
       STATUS        current
       DESCRIPTION
         "Write access is not required."

       OBJECT        mplsFrrConstraintsInclAllAffinity
       MIN-ACCESS
        "Uniquely identifies the mplsTunnelEntry fourth index
         for the TE tunnel LSP being protected on the
         interface as specified by mplsFrrFacilityProtectedIfIndex."
       ::= { mplsFrrFacilityDBEntry 6 }

    mplsFrrFacilityDBNumProtectingTunnelOnIf OBJECT-TYPE
        SYNTAX            Gauge32
        MAX-ACCESS        read-only
        STATUS            current
        DESCRIPTION
         "Write access is not required."

       OBJECT        mplsFrrConstraintsExclAnyAffinity
       MIN-ACCESS
            "The number of backup tunnels protecting the
             interface speficied by mplsFrrFacilityProtectedIfIndex."
       ::= { mplsFrrFacilityDBEntry 7 }

    mplsFrrFacilityDBNumProtectedLspOnIf OBJECT-TYPE
        SYNTAX            Gauge32
        MAX-ACCESS        read-only
        STATUS            current
        DESCRIPTION
         "Write access is not required."

       OBJECT        mplsFrrConstraintsBandwidth
       MIN-ACCESS
            "The number of LSPs currently being protected on
             the interface specified by
             mplsFrrFacilityProtectedIfIndex."
       ::= { mplsFrrFacilityDBEntry 8 }

    mplsFrrFacilityDBNumProtectedTunnels OBJECT-TYPE
        SYNTAX            Gauge32
        MAX-ACCESS        read-only
        STATUS            current
        DESCRIPTION
         "Write access is not required."

       OBJECT        mplsFrrConstraintsProtectionType
       MIN-ACCESS
            "The number of tunnels protected on the interface
             specified by mplsFrrFacilityProtectedIfIndex."
    ::= { mplsFrrFacilityDBEntry 9 }

    mplsFrrFacilityDBProtectingTunnelStatus OBJECT-TYPE
                 MPLS Fast-reroute MIB                June 27, 2008 

        SYNTAX            INTEGER {
                              active(1),
                              ready(2),
                              partial(3)
                          }
        MAX-ACCESS        read-only
        STATUS            current
        DESCRIPTION
         "Write access
            "Specifies the state of the protecting tunnel as
             specified by mplsFrrFacilityProtectingTunnelIndex.

             active  This tunnel's label has been placed in the
                      LFIB and is not required."

       OBJECT        mplsFrrConstraintsHopLimit
       MIN-ACCESS    read-only
       DESCRIPTION
         "Write access ready to be applied to incoming
                      packets.

             ready -  This tunnel's label entry has been created but is
                      not required."

       OBJECT        mplsFrrConstraintsStorageType
       MIN-ACCESS    read-only
       DESCRIPTION
         "Write access is yet in the LFIB.

             partial - This tunnel's label entry as not required."
               MPLS Fast-reroute MIB              November 15, 2007 

       OBJECT        mplsFrrConstraintsRowStatus
       MIN-ACCESS been fully
                       created."
    ::= { mplsFrrFacilityDBEntry 10 }

    mplsFrrFacilityDBProtectingTunnelResvBw  OBJECT-TYPE
        SYNTAX            MplsBitRate
        UNITS             "kilobits per second"
        MAX-ACCESS        read-only
        STATUS            current
        DESCRIPTION
         "Write access
            "Specifies the amount of bandwidth in units
             of '1,000 bits per second', actually reserved by
             the protecting tunnel for facility backup purposes.
             This value is not required."

       -- mplsFrrOne2OnePlrTable

       OBJECT        mplsFrrOne2OnePlrSenderAddrType
       MIN-ACCESS    read-only
       DESCRIPTION
         "Write access repeated here from the
             MPLS-TE-STD-MIB MIB module because the tunnel entry will
             reveal the bandwidth reserved by the signaling protocol,
             which is typically 0 for backup tunnels so as to not required."

       OBJECT        mplsFrrOne2OnePlrSenderAddr
       MIN-ACCESS    read-only
       DESCRIPTION
         "Write access
             over-book bandwidth. However, internal reservations are
             typically made on the PLR, thus this value should be
             revealed here as it is not required." often different from
             mplsTunnelResourceMeanRate found in the MPLS-TE-STD-MIB
             MIB module."
     ::= { mplsFrrCompliances 2 mplsFrrFacilityDBEntry 11 }

    -- Units of conformance

    mplsFrrScalarGroup OBJECT-GROUP Notifications

    mplsFrrFacilityInitialBkupTunnelInvoked  NOTIFICATION-TYPE
        OBJECTS {
                mplsFrrIncomingDetourLSPs,
                mplsFrrOutgoingDetourLSPs,
                mplsFrrOne2OneDetourOriginating,
                mplsFrrSwitchover,
                mplsFrrConfiguredInterfaces,
                mplsFrrActiveInterfaces,
                mplsFrrConfiguredBypassTunnels,
                mplsFrrActiveBypassTunnels,
                mplsFrrActiveProtectedLSPs,
                mplsFrrProtectionMethod,
                mplsFrrNotificationsEnabled,
                mplsFrrNotificationsMaxRate mplsFrrFacilityDBNumProtectingTunnelOnIf,
                  mplsFrrFacilityDBNumProtectedLspOnIf,
                  mplsFrrFacilityDBNumProtectedTunnels,
                  mplsFrrFacilityDBProtectingTunnelStatus,
                 MPLS Fast-reroute MIB                June 27, 2008 

                  mplsFrrFacilityDBProtectingTunnelResvBw
                }
    STATUS      current

    DESCRIPTION
         "Objects
        "This notification is generated when a tunnel running over an
         interface as specified in the mplsFrrConstraintsTable is
         initially protected by the backup tunnel also specified in the
         mplsFrrConstraintsTable. In some implementations there may be
         a difference between when the control plane triggers
         this notification and when the hardware is programmed to
         utilize the protection path. Due to the urgency of this
         operation, it is acceptable for the control plane to
         either issue this notification before or after it programs
         the hardware. In cases where it is the latter approach,
         the notification MUST be sent immediately after the
         data plane has been altered.

         This notification should not be generated
         for each subsequent tunnel that are required is backed up by the FRR feature
         on this LSR, as this may result in potential scaling issues
         with regard to gather fast reroute statistics." LSR performance and network load. Note also
         that notifications MUST be generated in accordance with the
         mplsFrrNotificationsMaxRate.

         Note this notification is only applicable to the facility based
         fastreroute protection method, and should be ignored by
         implementations that do not support this method."
        ::= { mplsFrrGroups mplsFrrFacilityNotifications 1 }

    mplsFrrConstraintsGroup OBJECT-GROUP

    mplsFrrFacilityFinalTunnelRestored NOTIFICATION-TYPE
        OBJECTS {
          mplsFrrConstraintsProtectionType,
          mplsFrrConstraintsHopLimit,
               MPLS Fast-reroute MIB              November 15, 2007 

          mplsFrrConstraintsBandwidth,
          mplsFrrConstraintsStorageType,
          mplsFrrConstraintsRowStatus,
          mplsFrrConstraintsSetupPrio,
          mplsFrrConstraintsHoldingPrio,
          mplsFrrConstraintsInclAnyAffinity,
          mplsFrrConstraintsInclAllAffinity,
          mplsFrrConstraintsExclAnyAffinity mplsFrrFacilityDBNumProtectingTunnelOnIf,
                  mplsFrrFacilityDBNumProtectedLspOnIf,
                  mplsFrrFacilityDBNumProtectedTunnels,
                  mplsFrrFacilityDBProtectingTunnelStatus,
                  mplsFrrFacilityDBProtectingTunnelResvBw
                }
    STATUS      current
    DESCRIPTION
         "Objects
        "This notification is generated when the final tunnel that are required to configure fast reroute
          constraints at is
         being protected by a backup tunnel as specified in the ingress
         mplsFrrConstraintsTable is restored to normal operation. This
         notification should not be generated for each restored tunnel,
         as this may result in potential scaling issues with regard to
         LSR of performance and network load. Note also that
         notifications MUST be generated in accordance with the tunnel
         mplsFrrNotificationsMaxRate.

         Note this notification is only applicable to the facility based
                 MPLS Fast-reroute MIB                June 27, 2008 

         fastreroute protection method, and should be ignored by
         implementations that requires
          fast reroute service." do not support this method."
        ::= { mplsFrrGroups mplsFrrFacilityNotifications 2 }

    mplsFrrTunnelARHopGroup         OBJECT-GROUP
     OBJECTS {
               mplsFrrTunnelARHopProtectType,
               mplsFrrTunnelARHopProtectTypeInUse

    -- Module Conformance Statement

    mplsFrrFacilityGroups
       OBJECT IDENTIFIER ::= {mplsFrrFacilityConformance 1 }

    mplsFrrFacilityCompliances
       OBJECT IDENTIFIER ::= {mplsFrrFacilityConformance 2 }

    mplsFrrFacilityModuleFullCompliance MODULE-COMPLIANCE
       STATUS current
       DESCRIPTION
         "Objects
         "Compliance statements for agents that are required to present per hop fast-reroute
          protection status."
    ::= support the
          MPLS-FRR-FACILITY-STD-MIB MIB module."

      MODULE MPLS-FRR-GENERAL-STD-MIB  -- MPLS FRR Generic MIB
         MANDATORY-GROUPS { mplsFrrGroups 3}

    mplsFrrOne2OnePLRDetourGroup OBJECT-GROUP
     OBJECTS
                             mplsFrrScalarGroup,
                             mplsFrrTunnelARHopGroup,
                             mplsFrrConstraintsGroup
         }

       MODULE -- this module
           MANDATORY-GROUPS {
              mplsFrrOne2OneDetourActive,
              mplsFrrOne2OneDetourMergedStatus,
              mplsFrrOne2OneDetourMergedDetourInst
                             mplsFrrFacilityDBGroup,
                             mplsFrrFacilityNotificationsGroup
                            }

       ::= { mplsFrrFacilityCompliances 1 }

    mplsFrrFacilityModuleReadOnlyCompliance MODULE-COMPLIANCE
       STATUS current
       DESCRIPTION
         "Objects
         "Compliance statements for agents that are required to present the detour LSP
          information at support the detour ingress, transit and egress LSRs." MPLS FRR
         MIB."
       MODULE
           MANDATORY-GROUPS {
                             mplsFrrFacilityDBGroup,
                             mplsFrrFacilityNotificationsGroup
                            }

       ::= { mplsFrrGroups 4 mplsFrrFacilityCompliances 2 }

    mplsFrrOne2OnePlrGroup

    -- Units of conformance
                 MPLS Fast-reroute MIB                June 27, 2008 

    mplsFrrFacilityScalarGroup OBJECT-GROUP
      OBJECTS {
          mplsFrrOne2OnePlrSenderAddrType,
          mplsFrrOne2OnePlrSenderAddr,
          mplsFrrOne2OnePlrAvoidNodeAddrType,
          mplsFrrOne2OnePlrAvoidNodeAddr mplsFrrConfiguredInterfaces,
                mplsFrrActiveInterfaces,
                mplsFrrConfiguredBypassTunnels,
                mplsFrrActiveBypassTunnels,
                mplsFrrActiveProtectedLSPs,
                mplsFrrFacilityNotificationsEnabled,
                mplsFrrFacilityNotificationsMaxRate
        }
    STATUS        current
    DESCRIPTION
       "Objects that are required to represent the FRR
               MPLS Fast-reroute MIB              November 15, 2007 

        One-2-One PLR
        Facility Route Database information."
    ::= { mplsFrrGroups 5 mplsFrrFacilityGroups 1 }

    mplsFrrFacilityDBGroup OBJECT-GROUP
      OBJECTS { mplsFrrFacilityDBNumProtectingTunnelOnIf,
                mplsFrrFacilityDBNumProtectedLspOnIf,
                mplsFrrFacilityDBNumProtectedTunnels,
                mplsFrrFacilityDBProtectingTunnelStatus,
                mplsFrrFacilityDBProtectingTunnelResvBw
        }
    STATUS        current
    DESCRIPTION
       "Objects that are required to represent the FRR
        Facility Route Database information."
    ::= { mplsFrrGroups 6 mplsFrrFacilityGroups 2 }

    mplsFrrNotificationsGroup

    mplsFrrFacilityNotificationsGroup NOTIFICATION-GROUP
    NOTIFICATIONS { mplsFrrFacilityInitialBkupTunnelInvoked,
                    mplsFrrFacilityFinalTunnelRestored
                  }
    STATUS        current
    DESCRIPTION
         "Objects that are required to represent FRR notifications."
    ::= { mplsFrrGroups 7 mplsFrrFacilityGroups 3 }

END

-- End of MPLS-FRR-STD-MIB MPLS-FRR-FACILITY-STD-MIB

7. Security Considerations

   It is clear that these MIB modules are potentially useful for
   monitoring of MPLS LSRs supporting fast reroute.  This
   MIB module can also be used for configuration of certain objects,
                 MPLS Fast-reroute MIB                June 27, 2008 

   and anything that can be configured can be incorrectly configured,
   with potentially disastrous results.

   There are a number of management objects defined in this MIB
   module with a MAX-ACCESS clause of read-write and/or read-create.
   Such objects may be considered sensitive or vulnerable in some
   network environments.  The support for SET operations in a

   non-secure environment without proper protection can have a
   negative effect on network operations.  These are the tables and
   objects and their sensitivity/vulnerability:

   o    the mplsFrrConstraintsTable and some objects in the
               MPLS Fast-reroute MIB              November 15, 2007
        mplsFrrScalarGroup contain objects which may be used
        to provision MPLS fast reroute features.  Unauthorized
        access to these objects could result in disruption of
        traffic on the network.  This is especially true if the
        objects in question refer to previously provisioned protection
        tunnels and configuration. The use of stronger
        mechanisms such as SNMPv3 security should be considered where
        possible.  Specifically, SNMPv3 VACM and USM MUST be used with
        any v3 agent which implements this MIB module.  Administrators
        should consider whether read access to these objects should
        be allowed, since read access may be undesirable under certain
        circumstances.

   Some of the readable objects in this MIB module (i.e., objects with a
   MAX-ACCESS other than not-accessible) may be considered sensitive or
   vulnerable in some network environments.  It is thus important to
   control even GET and/or NOTIFY access to these objects and possibly
   to even encrypt the values of these objects when sending them over
   the network via SNMP.  These are the tables and objects and their
   sensitivity/vulnerability:

   o    the mplsFrrOne2OnePlrTable, mplsFrrOne2OneDetourTable, and
        mplsFrrTunnelARHopTable tables and some objects
        contained in the mplsFrrScalarGroup
        collectively show the MPLS fast reroute interfaces, tunnels,
        and other associated fast reroute feature configurations
        as well as their linkages to other MPLS-related
        configuration and/or performance statistics.
        Administrators not wishing to reveal this information should
        consider these objects sensitive/vulnerable and take
        precautions so they are not revealed.

   SNMP versions prior to SNMPv3 did not include adequate security.
   Even if the network itself is secure (for example by using IPSec),
   even then, there is no control as to who on the secure network is
   allowed to access and GET/SET (read/change/create/delete) the objects
                 MPLS Fast-reroute MIB                June 27, 2008 

   in this MIB module.

   It is RECOMMENDED that implementers consider the security features as
   provided by the SNMPv3 framework (see [RFC3410], section 8),
   including full support for the SNMPv3 cryptographic mechanisms (for
   authentication and privacy).

   Further, deployment of SNMP versions prior to SNMPv3 is NOT

   RECOMMENDED. Instead, it is RECOMMENDED to deploy SNMPv3 and to
   enable cryptographic security.  It is then a customer/operator
   responsibility to ensure that the SNMP entity giving access to an
   instance of this MIB module, is properly configured to give access
   to the objects only to those principals (users) that have legitimate
               MPLS Fast-reroute MIB              November 15, 2007
   rights to indeed GET or SET (change/create/delete) them.

8.  IANA Considerations

   As described in the MPLS-TC-STD-MIB [RFC3811] MIB module, MPLS
   related standards track MIB modules should be rooted under the
   mplsStdMIB subtree. There is one MPLS-related
   MIB module contained in this document. The following "IANA
   Considerations" subsection requests IANA for a new assignment under
   the mplsStdMIB subtree.  New assignments can only be made via a
   Standards Action as specified in [RFC2434]. [RFC5226].

8.1.  IANA Considerations for MPLS-FRR-STD-MIB

   The IANA is requested to assign { mplsStdMIB 12 } to the
   MPLS-FRR-STD-MIB MIB module specified in this document.

9. Acknowledgments

    This document is a product of the MPLS Working Group.
    We would like to thank Alia Atlas, Yeong Tai, Walter Vanhimbeeck,
    Mike Piecuch, Adrien Grise, Kiran Koushik, and Adrian Farrel for
    the helpful and colorful discussions about, editorial comments on
    and contributions to this document.

10. References

10.1 Normative References

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

   [RFC2434]  Narten, T. and H. Alvestrand.,  "Guidelines for Writing an
              IANA Considerations Section in RFCs", BCP 26, RFC 2434,
              October 1998.

   [RFC2578] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case,
             J., Rose, M., and S. Waldbusser, "Structure of
                 MPLS Fast-reroute MIB                June 27, 2008 

             Management Information Version 2 (SMIv2)", STD 58, RFC
             2578, April 1999.

   [RFC2579] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case,
             J., Rose, M., and S. Waldbusser, "Textual Conventions
             for SMIv2", STD 58, RFC 2579, April 1999.

   [RFC2580] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case,
             J., Rose, M., and S. Waldbusser, "Conformance
             Statements for SMIv2", STD 58, RFC 2580, April 1999.

               MPLS Fast-reroute MIB              November 15, 2007

   [RFC2863]  McCloghrie, K. and F. Kastenholtz, "The Interfaces Group
              MIB", RFC 2863, June 2000.

   [RFC3031]  Rosen, E., Viswanathan, A., and R. Callon, "Multiprotocol
              Label Switching Architecture", RFC 3031, January 2001.

   [RFC3209]  Awduche, D. et.al., "RSVP-TE: Extensions to RSVP for
              LSP Tunnels", RFC3209, December 2001.

   [RFC4001]  Daniele, M., Haberman, B., Routhier, S., and J.
              Schoenwaelder, "Textual Conventions for Internet Network
              Addresses", RFC 4001, Feb 2005.

   [RFC3811]  Nadeau, T. and J. Cucchiara, "Definition of Textual
              Conventions and for Multiprotocol Label Switching (MPLS)
              Management", RFC 3811, June 2004.

   [RFC3812] Srinivasan, C., Viswanathan, A. and T. Nadeau,
             "Multiprotocol Label Switching (MPLS) Traffic
              Engineering Management Information
   [RFC3813] Srinivasan, C., Viswanathan, A. and Nadeau, T.,
             "Multiprotocol Label Switching (MPLS) Label Switching
              Router (LSR) Management Information Base",
   [RFC4001]  Daniele, M., Haberman, B., Routhier, S., and J.
              Schoenwaelder, "Textual Conventions for Internet Network
              Addresses", RFC 4001, Feb 2005.

   [RFC4090]  Pan, P., Swallow, G., Atlas, A., "Fast Reroute
              Extensions to RSVP-TE for LSP Tunnels", RFC 4090,
              May 2005.

   [RFC4990]  Shiomoto K., Papneja R., Rabbat R.," Use of Addresses

   [RFC5226]  Narten, T. and H. Alvestrand.,  "Guidelines for Writing an
              IANA Considerations Section in Generalized Multi-Protocol Label Switching (GMPLS)
              Networks", RFCs", BCP 26, RFC 4990, Sep 2007. 5226,
              May 2008.

10.2 Informative Referencse
                 MPLS Fast-reroute MIB                June 27, 2008 

   [RFC3410]  Case, J., Mundy, R., Partain, D. and B. Stewart,
              "Introduction and Applicability Statements for
              Internet-Standard Management Framework", RFC 3410,
              December 2002.

   [RFC4990]  Shiomoto K., Papneja R., Rabbat R.," Use of Addresses
              in Generalized Multi-Protocol Label Switching (GMPLS)
              Networks", RFC 4990, Sep 2007.

11. Editors' Addresses

    Riza Cetin
    Alcatel
    Francis Wellesplein 1
               MPLS Fast-reroute MIB              November 15, 2007
    B-2018 Antwerp, Belgium
    Email: riza.cetin@alcatel.be

    Thomas D. Nadeau
    BT
    BT Centre
    81 Newgate Street
    EC1A 7AJ
    London
    Email: tom.nadeau@bt.com thomas.nadeau@bt.com

    A S Kiran Koushik
    Cisco Systems, Inc.
    12515 Research Blvd, Bldg 4
    Austin, TX 78664
    Phone: +1-512-378-1482
    Email: kkoushik@cisco.com

12. Contributors' Addresses

    Stefaan De Cnodder
    Alcatel
    Francis Wellesplein 1
    B-2018 Antwerp, Belgium
    Email: stefaan.de_cnodder@alcatel.be

    Der-Hwa Gan
    Juniper Networks, Inc.
    1194 N. Mathilda Avenue
    Sunnyvale, CA 94089
    Email: dhg@juniper.net
                 MPLS Fast-reroute MIB                June 27, 2008 

Full Copyright Statement

   Copyright (C) The IETF Trust (2007). (2008).

   This document is subject to the rights, licenses and restrictions
   contained in BCP 78, and except as set forth therein, the authors
   retain all their rights.

   This document and the information contained herein are provided on an
   "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
   OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
   THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
   OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
   THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
   WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

               MPLS Fast-reroute MIB              November 15, 2007

Intellectual Property

   The IETF takes no position regarding the validity or scope of any
   Intellectual Property Rights or other rights that might be claimed to
   pertain to the implementation or use of the technology described in
   this document or the extent to which any license under such rights
   might or might not be available; nor does it represent that it has
   made any independent effort to identify any such rights.  Information
   on the procedures with respect to rights in RFC documents can be
   found in BCP 78 and BCP 79.

   Copies of IPR disclosures made to the IETF Secretariat and any
   assurances of licenses to be made available, or the result of an
   attempt made to obtain a general license or permission for the use of
   such proprietary rights by implementers or users of this
   specification can be obtained from the IETF on-line IPR repository at
   http://www.ietf.org/ipr.

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights that may cover technology that may be required to implement
   this standard.  Please address the information to the IETF at
   ietf-ipr@ietf.org.

Acknowledgement

   This document is a product of the MPLS Working Group.
   Funding for the RFC Editor function is provided by the IETF
   Administrative Support Activity (IASA).

                 MPLS Fast-reroute MIB                June 27, 2008