-- *****************************************************************
-- CISCO-IETF-FRR-MIB.my
--
-- February 2003, Adrien Grise
--
-- Copyright (c) 2003-2006, 2008 by cisco Systems, Inc.
-- All rights reserved.
-- 
-- *****************************************************************

CISCO-IETF-FRR-MIB DEFINITIONS ::= BEGIN
   
   IMPORTS
      MODULE-IDENTITY, OBJECT-TYPE,
      Integer32, Unsigned32, Counter32, Gauge32, TimeTicks,
      NOTIFICATION-TYPE
         FROM SNMPv2-SMI
      MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
         FROM SNMPv2-CONF
      TEXTUAL-CONVENTION, TruthValue, RowStatus, 
      TimeStamp
         FROM SNMPv2-TC
      InterfaceIndex, InterfaceIndexOrZero
         FROM IF-MIB
      MplsTunnelIndex, MplsTunnelInstanceIndex,
      MplsTunnelAffinity, MplsBitRate, MplsLsrIdentifier
         FROM MPLS-TC-STD-MIB
      ciscoExperiment
         FROM CISCO-SMI
      ;
   
   cmplsFrrMIB MODULE-IDENTITY
      LAST-UPDATED
         "200804291200Z" -- 29 April 2008 12:00:00 GMT
      ORGANIZATION
         "Cisco Systems, Inc."
      CONTACT-INFO
           "
                    Adrien Grise
            Postal: 300 Apollo Drive
                    Cisco Systems, Inc.
                    Chelmsford, MA 01824
            Tel:    +1-978-497-3989
            Email:  agrise@cisco.com

                    Thomas D. Nadeau
            Postal: Cisco Systems, Inc.
                    250 Apollo Drive
                    Chelmsford, MA 01924
            Tel:    +1-978-244-3051
            Email:  tnadeau@cisco.com

                    MPLS MIB Development Team
            Postal: Cisco Systems, Inc.
                    250 Apollo Drive
                    Chelmsford, MA 01924
            Tel:    +1-978-497-3989
            Email:  ch-mpls-mib-dev@cisco.com
   
           "
      DESCRIPTION
        "This MIB module contains managed object definitions for MPLS
         Fast Reroute (FRR) as defined in:Pan, P., Gan, D., Swallow, G.,
         Vasseur, J.Ph., Cooper, D., Atlas, A., Jork, M., Fast Reroute
         Techniques in RSVP-TE, draft-ietf-mpls-rsvp-lsp-fastreroute-
         00.txt, January 2002."
   
   -- Revision history.
      REVISION
           "200804291200Z" -- 29 April 2008 12:00:00 GMT
      DESCRIPTION
        "Added support for cmplsFrrUnProtected notification.  It is
        defined in version 2 of the ietf draft.  The notification's
        variable bindings have been modified from the draft form to
        match the previous approved Cisco-ized draft form as defined
        for the cmplsFrrProtected notification."
      REVISION
           "200211051200Z" -- 05 November 2002 12:00:00 GMT
      DESCRIPTION
           "Cisco'ized the MPLS-FRR-MIB.my file"

      REVISION
           "200211011200Z" -- 01 November 2002 12:00:00 GMT
      DESCRIPTION
           "Added support for Facility-based FRR.

            Removed tables that were redundant with
              other MPLS MIBs.

            Assigned experimental.120."
   
      REVISION
           "200203221200Z" -- 18 April 2002 12:00:00 GMT
      DESCRIPTION
           "Initial draft version."
   
      ::= { ciscoExperiment 98 } 
   
   -- MPLS Fast Reroute textual-conventions.
   
   MplsFrrDetourIndex ::= TEXTUAL-CONVENTION
      STATUS        current
      DESCRIPTION
        "Index into mplsFrrDetourTable."
      SYNTAX  Integer32 (1..65535)

   -- End of MPLS Fast Reroute textual-conventions.
   
   -- Top level components of this MIB.
   cmplsFrrNotif         OBJECT IDENTIFIER ::= { cmplsFrrMIB 0 }
   cmplsFrrScalars       OBJECT IDENTIFIER ::= { cmplsFrrMIB 1 }
   cmplsFrrObjects       OBJECT IDENTIFIER ::= { cmplsFrrMIB 2 }
   
   -- objects that work for either method of FRR
   cmplsFrrGeneralObjects OBJECT IDENTIFIER ::= { cmplsFrrObjects 1 }
   
   -- objects defined for 1-to-1 style FRR
   cmplsFrr1to1Objects   OBJECT IDENTIFIER ::= { cmplsFrrObjects 2 }
   
   -- objects defined for Facility Backup style FRR
   cmplsFrrFacObjects    OBJECT IDENTIFIER ::= { cmplsFrrObjects 3 }
   
   --
   -- Ed Note: need to define two conformance statements: one for
   -- one for 1-2-1 and for Facility.  Might need separate ones for
   -- read-only vs. read-write too.  There is currently just a single
   -- conformance statement due to time constraints. 
   --
   cmplsFrrConformance   OBJECT IDENTIFIER ::= { cmplsFrrMIB 3 }
   
   -- MPLS Fast Reroute scalars.
   
   cmplsFrrDetourIncoming OBJECT-TYPE
      SYNTAX        Unsigned32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
        "The number of detour LSPs entering the device if
        mplsFrrConstProtectionMethod is set to oneToOneBackup(0), or
        or 0 if mplsFrrConstProtectionMethod is set to
        facilityBackup(1)."
      DEFVAL { 0 }
      ::= { cmplsFrrScalars 1 }
   
   cmplsFrrDetourOutgoing OBJECT-TYPE
      SYNTAX        Unsigned32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
        "The number of detour LSPs leaving the device if
        mplsFrrConstProtectionMethod is set to oneToOneBackup(0),
        or 0 if mplsFrrConstProtectionMethod is set to 
        to facilityBackup(1)."
      DEFVAL { 0 }
      ::= { cmplsFrrScalars 2 }
   
   cmplsFrrDetourOriginating OBJECT-TYPE
      SYNTAX        Unsigned32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
        "The number of detour LSPs originating at this PLR if
        mplsFrrConstProtectionMethod is set to oneToOneBackup(0).
        This object MUST return 0 if the mplsFrrConstProtectionMethod 
        is set to facilityBackup(1)."
      DEFVAL { 0 }
      ::= { cmplsFrrScalars 3 }
   
   cmplsFrrSwitchover OBJECT-TYPE
      SYNTAX        Unsigned32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
        "The number of tunnel instances that are switched over to their
        corresponding detour LSP if mplsFrrConstProtectionMethod is set
        to oneToOneBackup(0), or tunnels being switched over if
        mplsFrrConstProtectionMethod is set to facilityBackup(1)."
      DEFVAL { 0 }
      ::= { cmplsFrrScalars 4 }
   
   cmplsFrrNumOfConfIfs OBJECT-TYPE
      SYNTAX        Unsigned32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
        "Indicates the number of MPLS interfaces configured for 
         protection by the FRR feature, otherwise this value
         MUST return 0 to indicate that LSPs traversing any 
         interface may be protected."
      DEFVAL { 0 }
      ::= { cmplsFrrScalars 5 }

   cmplsFrrActProtectedIfs OBJECT-TYPE
      SYNTAX        Unsigned32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
        "Indicates the number of interfaces currently being protected 
         by the FRR feature if mplsFrrConstProtectionMethod is set to
         facilityBackup(1), otherwise this value should return 0 to
         indicate that LSPs traversing any interface may be protected.
         This value MUST be less than or equal to mplsFrrConfIfs."
      DEFVAL { 0 }
      ::= { cmplsFrrScalars 6 }
   
   cmplsFrrConfProtectingTuns OBJECT-TYPE
      SYNTAX        Unsigned32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
         "Indicates the number of bypass tunnels configured to 
         protect facilities on this LSR using the FRR feature 
         if mplsFrrConstProtectionMethod is set to 
         facilityBackup(1), otherwise this value MUST return 
         0."
      DEFVAL { 0 }
      ::= { cmplsFrrScalars 7 }

   cmplsFrrActProtectedTuns OBJECT-TYPE
      SYNTAX        Unsigned32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
         "Indicates the number of bypass tunnels indicated in
         mplsFrrConfProtectingTuns whose operStatus
         is up(1) indicating that they are currently protecting
         facilities on this LSR using the FRR feature. This
         object MUST return 0 if mplsFrrConstProtectionMethod 
         is set to facilityBackup(1)."
      DEFVAL { 0 }
      ::= { cmplsFrrScalars 8 }
   
   cmplsFrrActProtectedLSPs OBJECT-TYPE
      SYNTAX        Unsigned32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
         "Indicates the number of LSPs currently protected by 
         the FRR feature. If mplsFrrConstProtectionMethod is set 
         to facilityBackup(1)this object MUST return 0."
      DEFVAL { 0 }
      ::= { cmplsFrrScalars 9 }
   
   cmplsFrrConstProtectionMethod OBJECT-TYPE
      SYNTAX        INTEGER { oneToOneBackup(0),
                              facilityBackup(1)
                            }
      MAX-ACCESS    read-write
      STATUS        current
      DESCRIPTION
        "Indicates which protection method is to be used for fast
         reroute. Some devices may require a reboot of their routing
         processors if this variable is changed. An agent which
         does not wish to reboot or modify its FRR mode 
         MUST return an inconsistentValue error. Please 
         consult the device's agent capability statement 
         for more details."
      ::= { cmplsFrrScalars 10 }
   
   cmplsFrrNotifsEnabled 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."
       DEFVAL { false }
   ::= { cmplsFrrScalars 11 }
      
   cmplsFrrLogTableMaxEntries OBJECT-TYPE
       SYNTAX            Unsigned32
       MAX-ACCESS        read-write
       STATUS            current
       DESCRIPTION
           "Indicates the maximum number of entries allowed in the FRR
            Log table. Agents receiving SETs for values that cannot be
            used must return an inconsistent value error. If a manager
            sets this value to 0, this indicates that no logging should
            take place by the agent.  

            If this value is returned as 0, this indicates
            that no additional log entries will be added to the current
            table either because the table has been completely
            filled or logging has been disabled. However, agents
            may wish to not delete existing entries in the log table
            so that managers may review them in the future. 

            It is implied that when mplsFrrLogTableCurrEntries 
            has reached the value of this variable, that logging 
            entries may not continue to be added to the table, 
            although existing ones may remain.  Furthermore, an
            agent may begin to delete existing (perhaps the
            oldest entries) entries to make room for new ones."
       DEFVAL { 0 }
   ::= { cmplsFrrScalars 12 }
   
   cmplsFrrLogTableCurrEntries OBJECT-TYPE
       SYNTAX            Counter32
       MAX-ACCESS        read-only
       STATUS            current
       DESCRIPTION
           "Indicates the current number of entries in the FRR log
           table."
   ::= { cmplsFrrScalars 13 }
   
   cmplsFrrNotifMaxRate OBJECT-TYPE
      SYNTAX       Unsigned32
      MAX-ACCESS   read-write
      STATUS       current
      DESCRIPTION
          "This variable indicates the number of milliseconds
           that must elapse between notification emissions. 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 the future. A value of 0 means no minimum 
           elapsed period is specified."
      DEFVAL       { 0 }
   ::= { cmplsFrrScalars 14 }

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

   cmplsFrrConstTable OBJECT-TYPE
      SYNTAX        SEQUENCE OF CMplsFrrConstEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
        "This table shows detour setup constraints."
      ::= {  cmplsFrrGeneralObjects 1 }
   
   cmplsFrrConstEntry OBJECT-TYPE
      SYNTAX        CMplsFrrConstEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
        "An entry in this table represents detour LSP or bypass tunnel 
         setup constraints for a tunnel instance to be protected by 
         detour LSPs or a tunnel. Agents must allow entries in this table 
         to be created only for tunnel instances that require fast-reroute.
         Entries indexed with mplsFrrConstIfIndex set to 0 apply to all
         interfaces on this device for which the FRR feature can operate
         on."
      INDEX { cmplsFrrConstIfIndex,
              cmplsFrrConstTunnelIndex,
              cmplsFrrConstTunnelInstance
            }
      ::= { cmplsFrrConstTable 1 }
   
   CMplsFrrConstEntry ::= SEQUENCE {
         cmplsFrrConstIfIndex           InterfaceIndexOrZero,
         cmplsFrrConstTunnelIndex       MplsTunnelIndex,
         cmplsFrrConstTunnelInstance    MplsTunnelInstanceIndex,
         cmplsFrrConstSetupPrio         Unsigned32,
         cmplsFrrConstHoldingPrio       Unsigned32,
         cmplsFrrConstInclAnyAffinity   MplsTunnelAffinity,
         cmplsFrrConstInclAllAffinity   MplsTunnelAffinity,
         cmplsFrrConstExclAllAffinity   MplsTunnelAffinity,
         cmplsFrrConstHopLimit          Unsigned32,
         cmplsFrrConstBandwidth         MplsBitRate,
         cmplsFrrConstRowStatus         RowStatus,
         cmplsFrrConstNumProtectingTunOnIf Gauge32,
         cmplsFrrConstNumProtectedTunOnIf  Gauge32
   }

   cmplsFrrConstIfIndex  OBJECT-TYPE
      SYNTAX        InterfaceIndexOrZero
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
        "Uniquely identifies an interface for which fast reroute is
        configured. Tabular entries indexed with a 0 value apply to all
        interfaces on this device for which the FRR feature can operate
        on."
      ::= { cmplsFrrConstEntry 1 }

   cmplsFrrConstTunnelIndex OBJECT-TYPE
      SYNTAX        MplsTunnelIndex
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
        "Uniquely identifies a tunnel for which fast reroute is
        requested."
      ::= { cmplsFrrConstEntry 2 }
   
   cmplsFrrConstTunnelInstance OBJECT-TYPE
      SYNTAX        MplsTunnelInstanceIndex
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
        "Uniquely identifies an instance of this tunnel for which fast
        reroute is requested."
      ::= { cmplsFrrConstEntry 3 }

   cmplsFrrConstSetupPrio OBJECT-TYPE
      SYNTAX        Unsigned32 (0..7)
      MAX-ACCESS    read-create
      STATUS        current
      DESCRIPTION
        "Indicates the setup priority of detour LSP."
      REFERENCE
        "1. RSVP-TE: Extensions to RSVP for LSP Tunnels, Awduche et al,
        RFC 3209, December 2001"
      DEFVAL { 7 }
      ::= { cmplsFrrConstEntry 4 }
   
   cmplsFrrConstHoldingPrio OBJECT-TYPE
      SYNTAX        Unsigned32 (0..7)
      MAX-ACCESS    read-create
      STATUS        current
      DESCRIPTION
        "Indicates the holding priority for detour LSP."
      REFERENCE
        "1. RSVP-TE: Extensions to RSVP for LSP Tunnels, Awduche et al,
        RFC 3209, December 2001"
      DEFVAL { 0 }
      ::= { cmplsFrrConstEntry 5 }
   
   cmplsFrrConstInclAnyAffinity OBJECT-TYPE
      SYNTAX        MplsTunnelAffinity
      MAX-ACCESS    read-create
      STATUS        current
      DESCRIPTION
        "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
        "1. RSVP-TE: Extensions to RSVP for LSP Tunnels, Awduche et al,
        RFC 3209, December 2001."
      DEFVAL { 0 }
      ::= { cmplsFrrConstEntry 6 }
   
   cmplsFrrConstInclAllAffinity OBJECT-TYPE
      SYNTAX        MplsTunnelAffinity
      MAX-ACCESS    read-create
      STATUS        current
      DESCRIPTION
        "A link satisfies the include-all constraint if and only if the
        link contains all of the administrative groups specified in the
        constraint."
      REFERENCE
        "1. RSVP-TE: Extensions to RSVP for LSP Tunnels, Awduche et al,
        RFC 3209, December 2001."
      DEFVAL { 0 }
      ::= { cmplsFrrConstEntry 7 }
   
   cmplsFrrConstExclAllAffinity OBJECT-TYPE
      SYNTAX        MplsTunnelAffinity
      MAX-ACCESS    read-create
      STATUS        current
      DESCRIPTION
        "A link satisfies the exclude-all constraint if and only if the
        link contains none of the administrative groups specified in the
        constraint."
      REFERENCE
        "1. RSVP-TE: Extensions to RSVP for LSP Tunnels, Awduche et al,
        RFC 3209, December 2001."
      DEFVAL { 0 }
      ::= { cmplsFrrConstEntry 8 }
   
   cmplsFrrConstHopLimit OBJECT-TYPE
      SYNTAX        Unsigned32 (1..65535)
      MAX-ACCESS    read-create
      STATUS        current
      DESCRIPTION
        "The maximum number of hops that the detour LSP may traverse."
      REFERENCE
        "Pan, P., Gan, D., Swallow, G., Vasseur, J.Ph., Cooper, D.,
        Atlas, A., Jork, M., Fast Reroute Techniques in RSVP-TE, draft-
        ietf-mpls-rsvp-lsp-fastreroute-00.txt, January 2002. Work in
        progress."
      DEFVAL { 32 }
   ::= { cmplsFrrConstEntry 9 }
   
   cmplsFrrConstBandwidth OBJECT-TYPE
      SYNTAX        MplsBitRate
      MAX-ACCESS    read-create
      STATUS        current
      DESCRIPTION
        "This variable represents the bandwidth for detour LSPs of this
        tunnel, in units of thousands of bits per second (Kbps)."
      DEFVAL { 1 }
      ::= { cmplsFrrConstEntry 10 }
   
   cmplsFrrConstRowStatus 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."
      ::= { cmplsFrrConstEntry 11 }

   cmplsFrrConstNumProtectingTunOnIf OBJECT-TYPE
       SYNTAX            Gauge32
       MAX-ACCESS        read-only
       STATUS            current
       DESCRIPTION
           "The number of backup tunnels protecting the specified
           interface."
      ::= { cmplsFrrConstEntry 12 }
   
   cmplsFrrConstNumProtectedTunOnIf OBJECT-TYPE
       SYNTAX            Gauge32
       MAX-ACCESS        read-only
       STATUS            current
       DESCRIPTION
           "The number of tunnels protected on this interface."
   ::= { cmplsFrrConstEntry 13 }
   
   -- Fast Reroute Log Table
   
   cmplsFrrLogTable OBJECT-TYPE
       SYNTAX            SEQUENCE OF CMplsFrrLogEntry
       MAX-ACCESS        not-accessible
       STATUS            current
       DESCRIPTION
           "The fast reroute log table records fast reroute events such
            as protected links going up or down or the FRR feature
            kicking in."
   ::= { cmplsFrrGeneralObjects 2 }
   
   cmplsFrrLogEntry OBJECT-TYPE
       SYNTAX            CMplsFrrLogEntry
       MAX-ACCESS        not-accessible
       STATUS            current
       DESCRIPTION
           "An entry in this table is created to describe one fast
            reroute event.  Entries in this table are only created and
            destroyed by the agent implementation. The maximum number 
            of entries in this log is governed by the scalar."
       INDEX { cmplsFrrLogIndex }
   ::= { cmplsFrrLogTable 1 }
   
   CMplsFrrLogEntry ::= SEQUENCE {
       cmplsFrrLogIndex                Unsigned32,
       cmplsFrrLogEventTime            TimeStamp,
       cmplsFrrLogInterface            InterfaceIndexOrZero,
       cmplsFrrLogEventType            INTEGER,
       cmplsFrrLogEventDuration        TimeTicks,
       cmplsFrrLogEventReasonString    OCTET STRING
   }
   
   cmplsFrrLogIndex OBJECT-TYPE
       SYNTAX            Unsigned32
       MAX-ACCESS        not-accessible
       STATUS            current
       DESCRIPTION
           "Uniquely identifies a fast reroute event entry."
   ::= { cmplsFrrLogEntry 1 }
   
   cmplsFrrLogEventTime OBJECT-TYPE
       SYNTAX            TimeStamp
       MAX-ACCESS        read-only
       STATUS            current
       DESCRIPTION
           "This object provides the amount of time ticks since this
           event occured."
   ::= { cmplsFrrLogEntry 2 }
   
   cmplsFrrLogInterface OBJECT-TYPE
       SYNTAX            InterfaceIndexOrZero
       MAX-ACCESS        read-only
       STATUS            current
       DESCRIPTION
           "This object indicates which interface was affected by this
           FRR event. This value may be set to 0 if
           mplsFrrConstProtectionMethod is set to oneToOneBackup(0)."
   ::= { cmplsFrrLogEntry 3 }
   
   cmplsFrrLogEventType OBJECT-TYPE
       SYNTAX            INTEGER {
                             other(1),
                             protected(2)
                         }
       MAX-ACCESS        read-only
       STATUS            current
       DESCRIPTION
           "This object describes what type of fast reroute event
           occured."
   ::= { cmplsFrrLogEntry 4 }
   
   cmplsFrrLogEventDuration OBJECT-TYPE
       SYNTAX            TimeTicks
       MAX-ACCESS        read-only
       STATUS            current
       DESCRIPTION
           "This object describes the duration of this event."
   ::= { cmplsFrrLogEntry 5 }
   
   cmplsFrrLogEventReasonString OBJECT-TYPE
       SYNTAX            OCTET STRING (SIZE(128))
       MAX-ACCESS        read-only
       STATUS            current
       DESCRIPTION
           "This object contains an implementation-specific explanation
           of the event."
   ::= { cmplsFrrLogEntry 6 }
   
   
   --
   -- 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 the lists of PLRs that initiated detour LSPs
--        which affect this node."
--      ::= { mplsFrr1to1Objects 1 }
--   
--   mplsFrrOne2OnePlrEntry  OBJECT-TYPE
--      SYNTAX        MplsFrrOne2OnePlrEntry
--      MAX-ACCESS    not-accessible
--      STATUS        current
--      DESCRIPTION
--        "An entry in this table represents a PLR together with its
--        detour instance. An entry in this table is only created by an
--        SNMP agent as instructed by an MPLS signaling protocol."
--      INDEX { mplsFrrOne2OnePlrTunIdIdx,     
--              mplsFrrOne2OnePlrTunInst,      
--              mplsFrrOne2OnePlrTunIngrLSRId, 
--              mplsFrrOne2OnePlrTunEgrLSRId,  
--              mplsFrrOne2OnePlrId,
--              mplsFrrOne2OnePlrDetourInstance }
--      ::= { mplsFrrOne2OnePlrTable 1 }
--  
--   MplsFrrOne2OnePlrEntry ::= SEQUENCE {
--         mplsFrrOne2OnePlrTunIdIdx       MplsTunnelIndex,
--         mplsFrrOne2OnePlrTunInst        MplsTunnelInstanceIndex,
--         mplsFrrOne2OnePlrTunIngrLSRId   MplsLsrIdentifier,
--         mplsFrrOne2OnePlrTunEgrLSRId    MplsLsrIdentifier,
--         mplsFrrOne2OnePlrId             MplsLsrIdentifier,
--         mplsFrrOne2OnePlrDetourInstance MplsTunnelInstanceIndex,
--         mplsFrrOne2OnePlrSenderAddrType InetAddressType,
--         mplsFrrOne2OnePlrSenderAddr     InetAddress,
--         mplsFrrOne2OnePlrAvoidNAddrType InetAddressType,
--         mplsFrrOne2OnePlrAvoidNAddr     InetAddress,
--         mplsFrrOne2OnePlrDetourIndex    MplsFrrDetourIndex
--   }
--
--   mplsFrrOne2OnePlrTunIdIdx OBJECT-TYPE
--      SYNTAX        MplsTunnelIndex
--      MAX-ACCESS    not-accessible
--      STATUS        current
--      DESCRIPTION
--        "Uniquely identifies a row from the mplsTunnelEntry."
--      ::= { mplsFrrOne2OnePlrEntry 1 }
--
--   mplsFrrOne2OnePlrTunInst OBJECT-TYPE
--      SYNTAX        MplsTunnelInstanceIndex
--      MAX-ACCESS    not-accessible
--      STATUS        current
--      DESCRIPTION
--        "Uniquely identifies an instance of a tunnel from
--         the mplsTunnelEntry. "
--      ::= { mplsFrrOne2OnePlrEntry 2 }
--
--   mplsFrrOne2OnePlrTunIngrLSRId OBJECT-TYPE
--      SYNTAX        MplsLsrIdentifier
--      MAX-ACCESS    not-accessible
--      STATUS        current
--      DESCRIPTION
--        "The purpose of this object is to uniquely identity a
--          tunnel within a network. When the MPLS signalling
--          protocol is rsvp(2) this value SHOULD mimic the
--          Extended Tunnel Id field in the SESSION object.
--          When the MPLS signalling protocol is crldp(3) this
--          value SHOULD mimic the Ingress LSR Router ID field
--          in the LSPID TLV object."
--      REFERENCE
--        "1. RSVP-TE: Extensions to RSVP for LSP Tunnels,
--          Awduche et al, RFC 3209, December 2001
--         2. Constraint-Based LSP Setup using LDP, Jamoussi
--          (Editor), RFC 3212, January 2002"
--      ::= { mplsFrrOne2OnePlrEntry 3 }
--
--    mplsFrrOne2OnePlrTunEgrLSRId OBJECT-TYPE
--      SYNTAX        MplsLsrIdentifier
--      MAX-ACCESS    not-accessible
--      STATUS        current
--      DESCRIPTION
--        "Specifies the egress LSR ID."
--      ::= { mplsFrrOne2OnePlrEntry 4 }
--   
--   mplsFrrOne2OnePlrId OBJECT-TYPE
--      SYNTAX        MplsLsrIdentifier
--      MAX-ACCESS    not-accessible
--      STATUS        current
--      DESCRIPTION
--        "This value represents the PLR that has initiated a detour LSP
--        to protect a tunnel instance."
--      ::= { mplsFrrOne2OnePlrEntry 5 }
--
--   mplsFrrOne2OnePlrDetourInstance OBJECT-TYPE
--      SYNTAX        MplsTunnelInstanceIndex
--      MAX-ACCESS    not-accessible
--      STATUS        current
--      DESCRIPTION
--      "This value represents an instance of a detour initiated by this
--        PLR."
--      ::= { mplsFrrOne2OnePlrEntry 6 }
--   
--   mplsFrrOne2OnePlrSenderAddrType OBJECT-TYPE
--      SYNTAX        InetAddressType
--      MAX-ACCESS    read-create
--      STATUS        current
--      DESCRIPTION
--        "Denotes the address type of this detour instance'S sender
--        address."
--      DEFVAL        { ipv4 }
--      ::= { mplsFrrOne2OnePlrEntry 7 }
--   
--   mplsFrrOne2OnePlrSenderAddr OBJECT-TYPE
--      SYNTAX        InetAddress
--      MAX-ACCESS    read-create
--      STATUS        current
--      DESCRIPTION
--"If mplsFrrOne2OnePlrSenderAddrType is set to ipv4(1), then this value
--       will contain the IPv4 address of this detour instance's sender.
--        This object is otherwise insignificant and should contain a
--        value of 0."
--      ::= { mplsFrrOne2OnePlrEntry 8 }
--   
--   mplsFrrOne2OnePlrAvoidNAddrType OBJECT-TYPE
--      SYNTAX        InetAddressType
--      MAX-ACCESS    read-only
--      STATUS        current
--      DESCRIPTION
--        "Denotes the address type of the node that this PLR tries to
--        avoid."
--      DEFVAL        { ipv4 }
--      ::= { mplsFrrOne2OnePlrEntry 9 }
--   
--   mplsFrrOne2OnePlrAvoidNAddr OBJECT-TYPE
--      SYNTAX        InetAddress
--      MAX-ACCESS    read-only
--      STATUS        current
--      DESCRIPTION
--      "If mplsFrrOne2OnePlrAvoidNAddrType is set to ipv4(1), then this
--      value will contain the IPv4 address of the avoid node. This
--      object is otherwise insignificant and should contain a value of
--      0."
--      ::= { mplsFrrOne2OnePlrEntry 10 }
--   
--   mplsFrrOne2OnePlrDetourIndex OBJECT-TYPE
--      SYNTAX        MplsFrrDetourIndex
--      MAX-ACCESS    read-only
--      STATUS        current
--      DESCRIPTION
--        "The index of the corresponding detour LSP in the
--        mplsFrrDetourTable."
--   ::= { mplsFrrOne2OnePlrEntry 11 }
--   
--
--    MPLS One-To-One Fast Reroute Detour table.
--   
--   mplsFrrDetourTable OBJECT-TYPE
--      SYNTAX        SEQUENCE OF MplsFrrDetourEntry
--      MAX-ACCESS    not-accessible
--      STATUS        current
--      DESCRIPTION
--        "This table shows all detour LSPs together with their
--        characteristics."
--      ::= { mplsFrr1to1Objects 2 }
--   
--   mplsFrrDetourEntry OBJECT-TYPE
--      SYNTAX        MplsFrrDetourEntry
--      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 {
--              mplsFrrOne2OnePlrTunIdIdx,     
--              mplsFrrOne2OnePlrTunInst,      
--              mplsFrrOne2OnePlrTunIngrLSRId, 
--              mplsFrrOne2OnePlrTunEgrLSRId,  
--              mplsFrrDetourIndexIndex
--         }
--      ::= { mplsFrrDetourTable 1 }
--   
--   MplsFrrDetourEntry ::= SEQUENCE {
--         mplsFrrDetourIndexIndex         MplsFrrDetourIndex,
--         mplsFrrDetourActive             TruthValue,
--         mplsFrrDetourMerging            INTEGER,
--         mplsFrrDetourMergedDetourIndex  MplsFrrDetourIndex,
--         mplsFrrDetourCreationTime       TimeStamp
--   }
--
--   mplsFrrDetourIndexIndex OBJECT-TYPE
--      SYNTAX        MplsFrrDetourIndex
--      MAX-ACCESS    not-accessible
--      STATUS        current
--      DESCRIPTION
--        "Uniquely identifies this detour."
--      ::= { mplsFrrDetourEntry 1 }
--
--   mplsFrrDetourActive OBJECT-TYPE
--      SYNTAX        TruthValue
--      MAX-ACCESS    read-only
--      STATUS        current
--      DESCRIPTION
--     "Indicates whether or not the main LSP has switched over to this
--      detour LSP. This is only relevant when the mplsFrrDetourRole is
--        head(1)."
--      ::= { mplsFrrDetourEntry 2 }
--   
--   mplsFrrDetourMerging OBJECT-TYPE
--      SYNTAX        INTEGER { none(0),
--                              protectedTunnel(1),
--                              detour(2)
--                            }
--      MAX-ACCESS    read-only
--      STATUS        current
--      DESCRIPTION
--        "This value represents whether or not this detour is merged.
--      This value MUST be set to none(0) if this detour is not merged.
--        This value MUST be set to protectedTunnel(1) if this detour is
--        merged with the protected tunnel. This value MUST be set to
--        detour(2) if this detour is merged with another detour
--        protecting the same tunnel."
--      ::= { mplsFrrDetourEntry 3 }
--   
--   mplsFrrDetourMergedDetourIndex OBJECT-TYPE
--      SYNTAX        MplsFrrDetourIndex
--      MAX-ACCESS    read-only
--      STATUS        current
--      DESCRIPTION
--        "This value represents the detour entry with which this detour
--        is merged. This object is only valid when mplsFrrDetourMerging
--        is set to detour(2)."
--      ::= { mplsFrrDetourEntry 4 }
--
--   mplsFrrDetourCreationTime OBJECT-TYPE
--      SYNTAX        TimeStamp
--      MAX-ACCESS    read-only
--      STATUS        current
--      DESCRIPTION
--        "Specifies the value of SysUpTime when the detour came into
--        existence."
--      ::= { mplsFrrDetourEntry 5 }
   
   --
   -- Facility-based FRR-specific Tables
   --
   
   cmplsFrrFacRouteDBTable OBJECT-TYPE
       SYNTAX            SEQUENCE OF CMplsFrrFacRouteDBEntry
       MAX-ACCESS        not-accessible
       STATUS            current
       DESCRIPTION
           "The mplsFrrFacRouteDBTable provides information about the 
	   fast reroute database.  Each entry belongs to an interface,
           protecting backup tunnel and protected tunnel. MPLS 
           interfaces defined on this node are protected by backup
           tunnels and are indexed by mplsFrrFacRouteProtectedIndex.
	   Backup tunnels defined to protect the tunnels traversing an
           interface, and are indexed by 
	   mplsFrrFacRouteProtectingTunIndex.  Note that the tunnel 
	   instance index is not required, since it is implied to be 0, 
	   which indicates the tunnel head interface for the protecting 
	   tunnel. The protecting tunnel is defined to exist on the PLR 
	   in the FRR specification.  Protected tunnels are the LSPs that 
	   traverse the protected link.  These LSPs are uniquely 
	   identified by mplsFrrFacRouteProtectedTunIndex,
 	   mplsFrrFacRouteProtectedTunInstance, 
	   mplsFrrFacRouteProtectedTunIngressLSRId, and 
	   mplsFrrFacRouteProtectedTunEgressLSRId."
       REFERENCE
           "Srinivansan, C., and A. Viswanathan, T. Nadeau, MPLS Traffic
           Engineering Management Information Base Using SMIv2,
            draft-ietf-mpls-te-mib-06.txt "
   
   ::= { cmplsFrrFacObjects 1 }
   
   
   cmplsFrrFacRouteDBEntry OBJECT-TYPE
       SYNTAX            CMplsFrrFacRouteDBEntry
       MAX-ACCESS        not-accessible
       STATUS            current
       DESCRIPTION
           "An entry in the mplsFrrDBTable represents a single protected
           LSP, protected by a backup tunnel and defined for a specific
           protected interface. Note that for brevity, managers should
           consult the mplsTunnelTable present in the MPLS-TE MIB for
           additional information about the protecting and protected
           tunnels, and the ifEntry in the IF-MIB for the protected
           interface."
       REFERENCE
           "Srinivansan, C., and A. Viswanathan, T. Nadeau, MPLS Label
            Switch Router Management Information Base Using SMIv2,
            draft-ietf-mpls-lsr-mib-07.txt Srinivansan, C., and A.
            Viswanathan, T. Nadeau, MPLS Traffic Engineering Management
            Information Base Using SMIv2, draft-ietf-mpls-te-mib-
            06.txt."
       INDEX { 
               cmplsFrrFacRouteProtectedIfIndex,         -- from MPLS-TE MIB
               cmplsFrrFacRouteProtectingTunIndex,       -- from MPLS-TE MIB
               cmplsFrrFacRouteProtectedTunIndex,        -- from MPLS-TE MIB
               cmplsFrrFacRouteProtectedTunInstance,     -- mplsTunnelTable
               cmplsFrrFacRouteProtectedTunIngressLSRId, -- Tunnels must exist
               cmplsFrrFacRouteProtectedTunEgressLSRId } -- a priori
   ::= { cmplsFrrFacRouteDBTable 1 }
   
   CMplsFrrFacRouteDBEntry ::= SEQUENCE {
       cmplsFrrFacRouteProtectedIfIndex            InterfaceIndex,
       cmplsFrrFacRouteProtectingTunIndex          MplsTunnelIndex,
       cmplsFrrFacRouteProtectedTunIndex           MplsTunnelIndex,
       cmplsFrrFacRouteProtectedTunInstance        MplsTunnelInstanceIndex,
       cmplsFrrFacRouteProtectedTunIngressLSRId    MplsLsrIdentifier,
       cmplsFrrFacRouteProtectedTunEgressLSRId     MplsLsrIdentifier,
       cmplsFrrFacRouteProtectedTunStatus          INTEGER,
       cmplsFrrFacRouteProtectingTunResvBw         MplsBitRate,
       cmplsFrrFacRouteProtectingTunProtectionType INTEGER
   }

   cmplsFrrFacRouteProtectedIfIndex OBJECT-TYPE
      SYNTAX        InterfaceIndex
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
      "Uniquely identifies the interface configured for FRR protection."
     ::= { cmplsFrrFacRouteDBEntry 1 }

   cmplsFrrFacRouteProtectingTunIndex OBJECT-TYPE
      SYNTAX        MplsTunnelIndex
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
        "Uniquely identifies the mplsTunnelEntry primary index for
         the tunnel head interface designated to protect the 
         interface as specified in the mplsFrrFacRouteIfProtectedIndex
         (and all of the tunnels using this interface)."
      ::= { cmplsFrrFacRouteDBEntry 2 }

   cmplsFrrFacRouteProtectedTunIndex OBJECT-TYPE
      SYNTAX        MplsTunnelIndex
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
       "Uniquely identifies an mplsTunnelEntry that is
         being protected by FRR."
      ::= { cmplsFrrFacRouteDBEntry 3 }

   cmplsFrrFacRouteProtectedTunInstance OBJECT-TYPE
      SYNTAX        MplsTunnelInstanceIndex
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
        "Uniquely identifies an mplsTunnelEntry that is
         being protected by FRR."
      ::= { cmplsFrrFacRouteDBEntry 4 }

   cmplsFrrFacRouteProtectedTunIngressLSRId OBJECT-TYPE
      SYNTAX        MplsLsrIdentifier
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
        "Uniquely identifies an mplsTunnelEntry that is
         being protected by FRR."
      REFERENCE
        "1. RSVP-TE: Extensions to RSVP for LSP Tunnels,
          Awduche et al, RFC 3209, December 2001
         2. Constraint-Based LSP Setup using LDP, Jamoussi
          (Editor), RFC 3212, January 2002"
      ::= { cmplsFrrFacRouteDBEntry 5 }

   cmplsFrrFacRouteProtectedTunEgressLSRId  OBJECT-TYPE
      SYNTAX        MplsLsrIdentifier
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
        "Uniquely identifies an mplsTunnelEntry that is
         being protected by FRR."
      ::= { cmplsFrrFacRouteDBEntry 6 }
   
   cmplsFrrFacRouteProtectedTunStatus OBJECT-TYPE
       SYNTAX            INTEGER {
                             active(1),
                             ready(2),
                             partial(3)
                         }
       MAX-ACCESS        read-only
       STATUS            current
       DESCRIPTION
           "Specifies the state of the protected tunnel.
            
            active  This tunnel's label has been placed in the
                     LFIB and is ready to be applied to incoming
                     packets.
                     
            ready -  This tunnel's label entry has been created but is
                     not yet in the LFIB.
                     
            partial - This tunnel's label entry as not been fully
                      created."
   ::= { cmplsFrrFacRouteDBEntry 7 }
   
   cmplsFrrFacRouteProtectingTunResvBw  OBJECT-TYPE
       SYNTAX            MplsBitRate
       MAX-ACCESS        read-only
       STATUS            current
       DESCRIPTION
           "Specifies the amount of bandwidth in megabytes per second
            that is actually reserved by the backup tunnel for
            facility backup. This value is repeated here from the MPLS-
            TE MIB because the tunnel entry will reveal the bandwidth
            reserved by the signaling protocol, which 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."
    ::= { cmplsFrrFacRouteDBEntry 8 }

   cmplsFrrFacRouteProtectingTunProtectionType OBJECT-TYPE
      SYNTAX        INTEGER { linkProtection(0),
                              nodeProtection(1)
                            }
      MAX-ACCESS    read-create
      STATUS        current
      DESCRIPTION
        "Indicates type of the resource protection."
      DEFVAL { nodeProtection }
    ::= { cmplsFrrFacRouteDBEntry 9 }


   -- Notifications

   -- Ed Note: Currently these notifications only apply to 
   --          Facility-based FRR. Do we need to define 
   --          additional notifications for One2One?
   
   cmplsFrrProtected NOTIFICATION-TYPE
       OBJECTS { cmplsFrrConstNumProtectingTunOnIf,
                 cmplsFrrConstNumProtectedTunOnIf,
                 cmplsFrrConstBandwidth
               }
   STATUS      current
   DESCRIPTION
       "This notification is generated when a tunnel running over an
        interface as specified in the mplsFrrConstTable is initially
        protected by the backup tunnel also specified in the
        cmplsFrrConstTable. 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 loading. Note also
        that notifications MUST be generated in accordance with the
        cmplsFrrNotifMaxRate."
       ::= { cmplsFrrNotif 1 }
   
   cmplsFrrUnProtected NOTIFICATION-TYPE
       OBJECTS { cmplsFrrConstNumProtectingTunOnIf,
                 cmplsFrrConstNumProtectedTunOnIf,
                 cmplsFrrConstBandwidth
               }
   STATUS      current
   DESCRIPTION
       "This notification is generated when the final tunnel that is
        being protected by a backup tunnel as specified in the
        cmplsFrrConstTable 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 loading. Note also that
        notifications MUST be generated in accordance with the
        cmplsFrrNotifMaxRate."
       ::= { cmplsFrrNotif 2 }


   -- Module Conformance Statement
   
   cmplsFrrGroups
      OBJECT IDENTIFIER ::= {cmplsFrrConformance 1 }
   
   cmplsFrrCompliances
      OBJECT IDENTIFIER ::= {cmplsFrrConformance 2 }
   
   cmplsFrrModuleCompliance MODULE-COMPLIANCE
      STATUS deprecated
      DESCRIPTION
        "Compliance statements for agents that support the MPLS FRR
        MIB."
      MODULE
          MANDATORY-GROUPS {
                            cmplsFrrScalarGroup,
                            cmplsFrrConstGroup,
                            cmplsFrrLogGroup
                           }
   
--      GROUP mplsFrrOne2OnePLRDetourGroup
--      DESCRIPTION
--          "This group is mandatory for devices which support
--           the one-to-one FRR mechanism, and is optional for
--           those which do not."
--
--      GROUP mplsFrrOne2OnePlrGroup
--      DESCRIPTION
--          "This group is mandatory for devices which support
--           the one-to-one FRR mechanism, and is optional for
--           those which do not."

      GROUP cmplsFrrFacRouteDBGroup
      DESCRIPTION
          "This group is mandatory for devices which support
           the Facility Backup FRR mechanism, and is optional 
           for those which do not."

      GROUP cmplsFrrNotifGroup     
      DESCRIPTION
          "This group is mandatory for devices which support
           the Facility Backup FRR mechanism, and is optional 
           for those which do not."

      -- cmplsFrrConstTable

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

      OBJECT        cmplsFrrConstHoldingPrio
      MIN-ACCESS    read-only
      DESCRIPTION
        "Write access is not required."
   
      OBJECT        cmplsFrrConstInclAnyAffinity
      MIN-ACCESS    read-only
      DESCRIPTION
        "Write access is not required."
   
      OBJECT        cmplsFrrConstInclAllAffinity
      MIN-ACCESS    read-only
      DESCRIPTION
        "Write access is not required."
   
      OBJECT        cmplsFrrConstExclAllAffinity
      MIN-ACCESS    read-only
      DESCRIPTION
        "Write access is not required."
   
      OBJECT        cmplsFrrConstHopLimit
      MIN-ACCESS    read-only
      DESCRIPTION
        "Write access is not required."
   
      OBJECT        cmplsFrrConstBandwidth
      MIN-ACCESS    read-only
      DESCRIPTION
        "Write access is not required."
   
      OBJECT        cmplsFrrConstRowStatus
      MIN-ACCESS    read-only
      DESCRIPTION
        "Write access is not required."

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

      OBJECT        cmplsFrrConstNumProtectedTunOnIf
      MIN-ACCESS    read-only
      DESCRIPTION
        "Write access is not required."
     
      ::= { cmplsFrrCompliances 1 }

   cmplsFrrModuleComplianceRev1 MODULE-COMPLIANCE
      STATUS current
      DESCRIPTION
        "Compliance statements for agents that support the MPLS FRR
        MIB."
      MODULE
          MANDATORY-GROUPS {
                            cmplsFrrScalarGroup,
                            cmplsFrrConstGroup,
                            cmplsFrrLogGroup
                           }

--      GROUP mplsFrrOne2OnePLRDetourGroup
--      DESCRIPTION
--          "This group is mandatory for devices which support
--           the one-to-one FRR mechanism, and is optional for
--           those which do not."
--
--      GROUP mplsFrrOne2OnePlrGroup
--      DESCRIPTION
--          "This group is mandatory for devices which support
--           the one-to-one FRR mechanism, and is optional for
--           those which do not."

      GROUP cmplsFrrFacRouteDBGroup
      DESCRIPTION
          "This group is mandatory for devices which support
           the Facility Backup FRR mechanism, and is optional
           for those which do not."

      GROUP cmplsFrrNotifGroupRev1
      DESCRIPTION
          "This group is mandatory for devices which support
           the Facility Backup FRR mechanism, and is optional
           for those which do not."

      -- cmplsFrrConstTable

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

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

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

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

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

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

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

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

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

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

      ::= { cmplsFrrCompliances 2 }

   -- Units of conformance
   
   cmplsFrrScalarGroup OBJECT-GROUP
      OBJECTS {
               cmplsFrrDetourIncoming,
               cmplsFrrDetourOutgoing,
               cmplsFrrDetourOriginating,
               cmplsFrrSwitchover,
               cmplsFrrNumOfConfIfs,
               cmplsFrrActProtectedIfs,
               cmplsFrrConfProtectingTuns,
               cmplsFrrActProtectedTuns,
               cmplsFrrActProtectedLSPs,
               cmplsFrrConstProtectionMethod,
               cmplsFrrNotifsEnabled,
               cmplsFrrLogTableMaxEntries,
               cmplsFrrLogTableCurrEntries,
               cmplsFrrNotifMaxRate
              }
      STATUS        current
      DESCRIPTION
        "Objects that are required to gather fast reroute statistics."
      ::= { cmplsFrrGroups 1 }
   
   cmplsFrrConstGroup OBJECT-GROUP
      OBJECTS {
         cmplsFrrConstProtectionMethod,
         cmplsFrrConstSetupPrio,
         cmplsFrrConstHoldingPrio,
         cmplsFrrConstInclAnyAffinity,
         cmplsFrrConstInclAllAffinity,
         cmplsFrrConstExclAllAffinity,
         cmplsFrrConstHopLimit,
         cmplsFrrConstBandwidth,
         cmplsFrrConstRowStatus,
         cmplsFrrConstNumProtectingTunOnIf,
         cmplsFrrConstNumProtectedTunOnIf
      }
      STATUS        current
      DESCRIPTION
        "Objects that are required to configure fast reroute constraints
        at the ingress LSR of the tunnel that requires fast reroute
        service."
      ::= { cmplsFrrGroups 2 }

--    mplsFrrOne2OnePLRDetourGroup OBJECT-GROUP
--    OBJECTS {
--             mplsFrrDetourActive,
--             mplsFrrDetourMerging,
--             mplsFrrDetourMergedDetourIndex,
--             mplsFrrDetourCreationTime
--            }
--    STATUS        current
--    DESCRIPTION
--    "Objects that are required to present the detour LSP information
--        at the detour ingress, transit and egress LSRs."
--    ::= { mplsFrrGroups 3 }
   
   cmplsFrrLogGroup OBJECT-GROUP
   OBJECTS { cmplsFrrLogEventTime,
             cmplsFrrLogInterface,
             cmplsFrrLogEventType,
             cmplsFrrLogEventDuration,
             cmplsFrrLogEventReasonString
           }
   STATUS        current
   DESCRIPTION
      "Objects that are required to represent FRR logging information
      at the detour ingress, transit and egress LSRs."
   ::= { cmplsFrrGroups 4 }

--   mplsFrrOne2OnePlrGroup OBJECT-GROUP
--     OBJECTS { 
--         mplsFrrOne2OnePlrSenderAddrType, 
--         mplsFrrOne2OnePlrSenderAddr,     
--         mplsFrrOne2OnePlrAvoidNAddrType, 
--         mplsFrrOne2OnePlrAvoidNAddr,     
--         mplsFrrOne2OnePlrDetourIndex    
--        }
--   STATUS        current
--   DESCRIPTION
--      "Objects that are required to represent the FRR 
--       One-2-One PLR information."
--   ::= { mplsFrrGroups 5 }

   cmplsFrrFacRouteDBGroup OBJECT-GROUP
     OBJECTS { cmplsFrrFacRouteProtectedTunStatus,
               cmplsFrrFacRouteProtectingTunResvBw,
	       cmplsFrrFacRouteProtectingTunProtectionType
       }
   STATUS        current
   DESCRIPTION
      "Objects that are required to represent the FRR 
       Facility Route Database information."
   ::= { cmplsFrrGroups 6 }

   cmplsFrrNotifGroup NOTIFICATION-GROUP
   NOTIFICATIONS {
                   cmplsFrrProtected
                 }
   STATUS        deprecated
   DESCRIPTION
        "Objects that are required to represent FRR notifications."
   ::= { cmplsFrrGroups 7 }

   cmplsFrrNotifGroupRev1 NOTIFICATION-GROUP
   NOTIFICATIONS {
                   cmplsFrrProtected,
                   cmplsFrrUnProtected
                 }
   STATUS        current
   DESCRIPTION
        "Objects that are required to represent FRR notifications."
   ::= { cmplsFrrGroups 8 }

   END
