Network Working Group                                         Riza Cetin
               Internet Draft                                        Stefaan De Cnodder
               Expiration Date: December 2002                                   Alcatel
               
                                                                            Der-Hwa Gan
                                                                 Juniper Networks, Inc.
               
                                                                       Thomas D. Nadeau
                                                                    Cisco Systems, Inc.
               
                                                                              June 2002
               
               
               
                  Multiprotocol Label Switching (MPLS) Traffic Engineering Management
                                   Information Base for Fast Reroute
               
                                draft-ietf-mpls-fastreroute-mib-00.txt
               
               
               
               Status of this Memo
               
                  This document is an Internet-Draft and is in full conformance with
                  all provisions of Section 10 of RFC2026 [1].
               
                  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/ietf/1id-abstracts.txt
                  The list of Internet-Draft Shadow Directories can be accessed at
                  http://www.ietf.org/shadow.html.
               
               
               1. Abstract
               
                  This memo defines a portion of the Management Information Base (MIB)
                  for use with network management protocols in the Internet community.
                  In particular, it describes managed objects for Multiprotocol Label
                  Switching (MPLS) based fast rerouting.
               
               2. 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 [2].
               
               Cetin, et. al.                                                [Page 1]


                               draft-ietf-mpls-fastreroute-mib-00.txt   December 2002
               
               
               
               3. Introduction
               
                  This memo defines a portion of the Management Information Base (MIB)
                  for use with network management protocols in the Internet community.
                  In particular, it describes managed objects for Multiprotocol Label
                  Switching (MPLS) based fast rerouting. This MIB should be used in
                  conjunction with [3] and [4].
               
               4. Brief Description of MIB Objects.
               
                  The objects described in this section support the detour
                  functionality described in Section 3 of [5]. Bypass tunnels are for
                  further study.
               
               4.1. mplsFrrConstTable
               
                  This table contains fast-reroute constraints such as setup and
                  holding priorities and bandwidth for a tunnel instance to be
                  protected by using detour LSPs.
               
                  This table is used at the ingress node of the protected tunnel
                  instance to configure detour LSP setup constraints.
               
               4.2. mplsFrrPLRTable
               
                  The mplsFrrPLRTable is an optional table that contains lists of PLRs
                  that initiated detour LSPs to protect tunnel instances.
               
                  When detour LSPs initiated by different PLRs to protect the same
                  tunnel instance, are merged together before entering an LSR then at
                  this LSR, entries of those PLRs point to the same detour LSP entry
                  in the mplsFrrDetourTable.
               
               4.3. mplsFrrDetourTable
               
                  The mplsFrrDetourTable shows the detour LSPs in each node (ingress,
                  transit and egress LSRs). An entry of this table represents a detour
                  LSP. Each detour is identified by:
                  - tunnel index (which is set to the tunnel-id of the LSP protected
                     by this detour),
                  - tunnel instance (which is set to the LSP-id of the LSP protected
                     by this detour),
                  - ingress node (which is set to the ingress node of the LSP
                     protected by this detour),
                  - egress node (which is set to the egress node of the LSP protected
                     by this detour), and
                  - detour index.
                  Multiple detours of the same protected LSP may go through the same
                  node. In this case, the first four identifiers are not sufficient to
                  uniquely identify each detour LSP. Therefore, an additional detour
                  index is introduced.
               
               
               Cetin, et. al.                                                [Page 2]


                               draft-ietf-mpls-fastreroute-mib-00.txt   December 2002
               
               
                  Each entry describes the properties of the detour LSP like
                  bandwidth, setup and holding priority,... and also whether or not
                  the detour LSP is merged with another detour LSP or with the
                  protected LSP.
               
                  mplsFrrDetourTable does not define the in and out segments forming
                  the detour. Instead, these are defined by creating rows in the in-
                  segment and out-segment tables, defining relationships in the cross-
                  connect table and referring to these rows in the mplsFrrDetourTable
                  using a cross-connect row pointer (mplsFrrDetourXCPointer). These
                  segment and cross-connect related objects are defined in [4].
               
                  When detour LSPs are merged, then for each individual detour LSP, an
                  entry is created in this table. Each such detour LSP points to a
                  different cross-connect entry. These cross-connect entries have the
                  same mplsXCIndex and mplsOutSegmentIndex. mplsOutSegmentIndex will
                  point to the entry of the out segment table created for the final
                  detour LSP selected as a result of the merging rules. This final
                  detour LSP is given by mplsFrrDetourMergedDetourIndex object in each
                  entry of the merged detour LSPs. In case detour LSPs are merged with
                  the protected LSP, mplsOutSegmentIndex will point to the entry of
                  the out segment table created for the protected LSP. In this case
                  the mplsFrrDetourMergedDetourIndex object is not relevant.
               
                  This table is optional and is only required in case mplsFrrPLRTable
                  is supported.
               
               4.4. mplsFrrHopTable
               
                  The mplsFrrHopTable contains the list of hops for explicit path
                  (e.g., the content of the ERO of RSVP) and record path (e.g., the
                  content of the RRO of RSVP) of a detour LSP. Each detour has two
                  different sets of hops in this table: a set for the explicit path
                  hops and another set for the record path hops, pointed by
                  mplsFrrDetourExplicitPathIndex and the mplsFrrDetourRecordPathIndex,
                  respectively, from the mplsFrrDetourTable.
               
                  This table is optional and is only required in case mplsFrrPLRTable
                  is supported.
               
               4.5. mplsFrrInSegTable
               
                  The mplsFrrInSegTable contains a description of the incoming MPLS
                  segment for a particular detour LSP and their associated parameters.
                  The table also includes objects to measure the performance.
               
                  This table is optional and not required when LSR-MIB [4] is
                  supported or mplsFrrPLRTable is not supported.
               
               4.6. mplsFrrOutSegTable
               
               
               Cetin, et. al.                                                [Page 3]


                               draft-ietf-mpls-fastreroute-mib-00.txt   December 2002
               
               
                  The mplsFrrOutSegTable contains a description of the outgoing MPLS
                  segment for a particular detour LSP and their associated parameters.
                  The table also includes objects to measure the performance.
               
                  This table is optional and not required when LSR-MIB [4] is
                  supported or mplsFrrPLRTable is not supported.
               
               5. MPLS Fast Reroute MIB Definitions
               
                  MPLS-FRR-MIB DEFINITIONS ::= BEGIN
               
                  IMPORTS
                     MODULE-IDENTITY, OBJECT-TYPE,
                     Integer32, Unsigned32, Counter32, Counter64
                        FROM SNMPv2-SMI
                     MODULE-COMPLIANCE, OBJECT-GROUP
                        FROM SNMPv2-CONF
                     TEXTUAL-CONVENTION, TruthValue, RowStatus, RowPointer,
                     DisplayString, TimeStamp
                        FROM SNMPv2-TC
                     InterfaceIndex
                        FROM IF-MIB
                     mplsMIB, MplsTunnelIndex, MplsTunnelInstanceIndex,
                     MplsTunnelAffinity, MplsLsrIdentifier, MplsLabel
                        FROM MPLS-TC-MIB
                     InetAddressIPv4, InetAddressIPv6
                        FROM INET-ADDRESS-MIB
                     ;
               
                  mplsFrrMIB MODULE-IDENTITY
                     LAST-UPDATED
                        "200203221200Z" -- 22 March 2002 12:00:00 GMT
                     ORGANIZATION
                        "Multiprotocol Label Switching (MPLS) Working Group"
                     CONTACT-INFO
                          "
                                   Riza Cetin
                           Postal: Alcatel
                                   Francis Wellesplein 1
                                   B-2018 Antwerp, Belgium
                           Tel:    +32-3-2404735
                           Email:  riza.cetin@alcatel.be
               
                                   Stefaan De Cnodder
                           Postal: Alcatel
                                   Francis Wellesplein 1
                                   B-2018 Antwerp, Belgium
                           Tel:    +32-3-2408515
                           Email:  Stefaan.de_cnodder@alcatel.be
               
                                   Der-Hwa Gan
                           Postal: Juniper Networks, Inc.
                                   1194 N. Mathilda Avenue
               
               Cetin, et. al.                                                [Page 4]


                               draft-ietf-mpls-fastreroute-mib-00.txt   December 2002
               
               
                                   Sunnyvale, CA 94089
                           Tel:    +1-408-745-20-74
                           Email:  dhg@juniper.net
               
                                   Thomas D. Nadeau
                           Postal: Cisco Systems, Inc.
                                   250 Apollo Drive
                                   Chelmsford, MA 01924
                           Tel:    +1-978-244-3051
                           Email:  tnadeau@cisco.com
               
                          "
                     DESCRIPTION
                          "This MIB module contains managed object definitions
                           for MPLS Fast Reroute (FRR) as defined in:
                            1. 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
                          "200203221200Z" -- 18 April 2002 12:00:00 GMT
                     DESCRIPTION
                          "Initial draft version."
               
                     ::= { mplsMIB xxx } รป- to be assigned.
               
                  -- MPLS Fast Reroute textual-conventions.
               
                  MplsFrrDetourIndex ::= TEXTUAL-CONVENTION
                     STATUS        current
                     DESCRIPTION
                       "Index into mplsFrrDetourTable."
                     SYNTAX  Integer32 (1..65535)
               
                  MplsFrrPathIndex ::= TEXTUAL-CONVENTION
                     STATUS        current
                     DESCRIPTION
                       "A unique identifier used to identify a specific path (list of
                       hops) used by a detour LSP."
                     SYNTAX  Unsigned32
               
                  MplsFrrPathIndexorZero ::= TEXTUAL-CONVENTION
                     STATUS        current
                     DESCRIPTION
                       "A unique identifier used to identify a specific path (list of
                       hops) used by a detour LSP. If it is set to zero, then there is
                       no path available."
                     SYNTAX  Unsigned32
               
                  MplsFrrHopIndex ::= TEXTUAL-CONVENTION
               
               Cetin, et. al.                                                [Page 5]


                               draft-ietf-mpls-fastreroute-mib-00.txt   December 2002
               
               
                     STATUS        current
                     DESCRIPTION
                       "A unique identifier used to identify a specific hop within a
                       path (list of hops) used by a detour LSP."
                     SYNTAX  Unsigned32
               
                  -- End of MPLS Fast Reroute textual-conventions.
               
                  -- Top level components of this MIB.
               
                  -- tables, scalars
                  mplsFrrScalars       OBJECT IDENTIFIER ::= { mplsFrrMIB 1 }
                  mplsFrrObjects       OBJECT IDENTIFIER ::= { mplsFrrMIB 2 }
                  mplsFrrConformance   OBJECT IDENTIFIER ::= { mplsFrrMIB 3 }
               
                  -- MPLS Fast Reroute scalars.
               
                  mplsFrrDetourIncoming OBJECT-TYPE
                     SYNTAX        Unsigned32
                     MAX-ACCESS    read-only
                     STATUS        current
                     DESCRIPTION
                       "The number of detour LSPs entering the device."
                     ::= { mplsFrrScalars 1 }
               
                  mplsFrrDetourOutgoing OBJECT-TYPE
                     SYNTAX        Unsigned32
                     MAX-ACCESS    read-only
                     STATUS        current
                     DESCRIPTION
                       "The number of detour LSPs leaving the device."
                     ::= { mplsFrrScalars 2 }
               
                  mplsFrrDetourOriginating OBJECT-TYPE
                     SYNTAX        Unsigned32
                     MAX-ACCESS    read-only
                     STATUS        current
                     DESCRIPTION
                       "The number of detour LSPs originated by the device."
                     ::= { mplsFrrScalars 3 }
               
                  mplsFrrSwitchover OBJECT-TYPE
                     SYNTAX        Unsigned32
                     MAX-ACCESS    read-only
                     STATUS        current
                     DESCRIPTION
                       "The number of main tunnel instances that are switched over to
                       their corresponding detour LSP.
               
                       This object is only meaningful when this router behaves as
                       PLR."
                     ::= { mplsFrrScalars 4 }
               
               
               Cetin, et. al.                                                [Page 6]


                               draft-ietf-mpls-fastreroute-mib-00.txt   December 2002
               
               
                  -- End of MPLS Fast Reroute scalars.
               
                  -- MPLS Fast Reroute Constraints table
               
                  mplsFrrConstTable OBJECT-TYPE
                     SYNTAX        SEQUENCE OF MplsFrrConstEntry
                     MAX-ACCESS    not-accessible
                     STATUS        current
                     DESCRIPTION
                       "This table shows detour setup constraints."
                     ::= { mplsFrrObjects 1 }
               
                  mplsFrrConstEntry OBJECT-TYPE
                     SYNTAX        MplsFrrConstEntry
                     MAX-ACCESS    not-accessible
                     STATUS        current
                     DESCRIPTION
                       "An entry in this table represents detour LSP setup constraints
                       for a tunnel instance to be protected by detour LSPs. An entry
                       in this table can only be created by a network administrator
                       for tunnel instances that require fast-reroute."
                     INDEX {
                        mplsFrrConstTunnelIndex,
                        mplsFrrConstTunnelInstance
                           }
                     ::= { mplsFrrConstTable 1 }
               
                  MplsFrrConstEntry ::= SEQUENCE {
                        mplsFrrConstTunnelIndex       MplsTunnelIndex,
                        mplsFrrConstTunnelInstance    MplsTunnelInstanceIndex,
                        mplsFrrConstProtectionMethod  INTEGER,
                        mplsFrrConstProtectionType    INTEGER,
                        mplsFrrConstSetupPrio         INTEGER,
                        mplsFrrConstHoldingPrio       INTEGER,
                        mplsFrrConstInclAnyAffinity   MplsTunnelAffinity,
                        mplsFrrConstInclAllAffinity   MplsTunnelAffinity,
                        mplsFrrConstExclAllAffinity   MplsTunnelAffinity,
                        mplsFrrConstHopLimit          INTEGER,
                        mplsFrrConstBandwidth         Integer32,
                        mplsFrrConstRowStatus         RowStatus
                  }
               
                  mplsFrrConstTunnelIndex OBJECT-TYPE
                     SYNTAX        MplsTunnelIndex
                     MAX-ACCESS    not-accessible
                     STATUS        current
                     DESCRIPTION
                       "Uniquely identifies a tunnel for which fast reroute is
                       requested."
                     ::= { mplsFrrConstEntry 1 }
               
                  mplsFrrConstTunnelInstance OBJECT-TYPE
                     SYNTAX        MplsTunnelInstanceIndex
               
               Cetin, et. al.                                                [Page 7]


                               draft-ietf-mpls-fastreroute-mib-00.txt   December 2002
               
               
                     MAX-ACCESS    not-accessible
                     STATUS        current
                     DESCRIPTION
                       "Uniquely identifies an instance of this tunnel for which fast
                       reroute is requested."
                     ::= { mplsFrrConstEntry 2 }
               
                  mplsFrrConstProtectionMethod OBJECT-TYPE
                     SYNTAX        INTEGER { oneToOneBackup(0),
                                             facilityBackup(1),
                                             oneToOneAndFacilityBackup(2)
                                           }
                     MAX-ACCESS    read-create
                     STATUS        current
                     DESCRIPTION
                       "Indicates which protection method is to be used for fast-
                       reroute."
                     DEFVAL { oneToOneAndFacilityBackup }
                     ::= { mplsFrrConstEntry 3 }
               
                  mplsFrrConstProtectionType OBJECT-TYPE
                     SYNTAX        INTEGER { linkProtection(0),
                                             nodeProtection(1)
                                           }
                     MAX-ACCESS    read-create
                     STATUS        current
                     DESCRIPTION
                       "Indicates type of the resource protection."
                     DEFVAL { nodeProtection }
                     ::= { mplsFrrConstEntry 4 }
               
                  mplsFrrConstSetupPrio OBJECT-TYPE
                     SYNTAX        INTEGER (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 }
                     ::= { mplsFrrConstEntry 5 }
               
                  mplsFrrConstHoldingPrio OBJECT-TYPE
                     SYNTAX        INTEGER (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 }
               
               Cetin, et. al.                                                [Page 8]


                               draft-ietf-mpls-fastreroute-mib-00.txt   December 2002
               
               
                     ::= { mplsFrrConstEntry 6 }
               
                  mplsFrrConstInclAnyAffinity 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 }
                     ::= { mplsFrrConstEntry 7 }
               
                  mplsFrrConstInclAllAffinity 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 }
                     ::= { mplsFrrConstEntry 8 }
               
                  mplsFrrConstExclAllAffinity 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 }
                     ::= { mplsFrrConstEntry 9 }
               
                  mplsFrrConstHopLimit OBJECT-TYPE
                     SYNTAX        INTEGER (1..255)
                     MAX-ACCESS    read-create
                     STATUS        current
                     DESCRIPTION
                       "The maximum number of hops that the detour LSP may traverse."
                     DEFVAL { 32 }
                  ::= { mplsFrrConstEntry 10 }
               
               
               Cetin, et. al.                                                [Page 9]


                               draft-ietf-mpls-fastreroute-mib-00.txt   December 2002
               
               
                  mplsFrrConstBandwidth OBJECT-TYPE
                     SYNTAX        Integer32
                     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 { 0 }
                     ::= { mplsFrrConstEntry 11 }
               
                  mplsFrrConstRowStatus 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."
                     ::= { mplsFrrConstEntry 12 }
               
                  -- End of Fast Reroute Constraints table
               
                  -- MPLS Fast Reroute Point of Local Repair table
               
                  mplsFrrPLRTable  OBJECT-TYPE
                     SYNTAX        SEQUENCE OF MplsFrrPLREntry
                     MAX-ACCESS    not-accessible
                     STATUS        current
                     DESCRIPTION
                       "This table shows the lists of PLRs that initiated detour LSPs
                       which affect this node."
                     ::= { mplsFrrObjects 2 }
               
                  mplsFrrPLREntry  OBJECT-TYPE
                     SYNTAX        MplsFrrPLREntry
                     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 {
                        mplsFrrPLRTunnelIndex,
                        mplsFrrPLRTunnelInstance,
                        mplsFrrPLRTunnelIngressLSRId,
                        mplsFrrPLRTunnelEgressLSRId,
                        mplsFrrPLRId,
                        mplsFrrPLRDetourInstance }
                     ::= { mplsFrrPLRTable 1 }
               
                  MplsFrrPLREntry ::= SEQUENCE {
                        mplsFrrPLRTunnelIndex            MplsTunnelIndex,
                        mplsFrrPLRTunnelInstance         MplsTunnelInstanceIndex,
                        mplsFrrPLRTunnelIngressLSRId     MplsLsrIdentifier,
               
               Cetin, et. al.                                               [Page 10]


                               draft-ietf-mpls-fastreroute-mib-00.txt   December 2002
               
               
                        mplsFrrPLRTunnelEgressLSRId      MplsLsrIdentifier,
                        mplsFrrPLRId                     MplsLsrIdentifier,
                        mplsFrrPLRDetourInstance         Integer32,
                        mplsFrrPLRSenderAddrType         INTEGER,
                        mplsFrrPLRSenderIpv4Addr         InetAddressIPv4,
                        mplsFrrPLRSenderIpv6Addr         InetAddressIPv6,
                        mplsFrrPLRAvoidNodeAddrType      INTEGER,
                        mplsFrrPLRAvoidNodeIpv4Addr      InetAddressIPv4,
                        mplsFrrPLRAvoidNodeIpv6Addr      InetAddressIPv6,
                        mplsFrrPLRDetourIndex            MplsFrrDetourIndex
                  }
               
                  mplsFrrPLRTunnelIndex OBJECT-TYPE
                     SYNTAX        MplsTunnelIndex
                     MAX-ACCESS    not-accessible
                     STATUS        current
                     DESCRIPTION
                       "This value represents an identifier of a tunnel that is
                       protected by this PLR."
                     ::= { mplsFrrPLREntry 1 }
               
                  mplsFrrPLRTunnelInstance OBJECT-TYPE
                     SYNTAX        MplsTunnelInstanceIndex
                     MAX-ACCESS    not-accessible
                     STATUS        current
                     DESCRIPTION
                       "Uniquely identifies an instance of a tunnel that is protected
                       by this PLR."
                     ::= { mplsFrrPLREntry 2 }
               
                  mplsFrrPLRTunnelIngressLSRId OBJECT-TYPE
                     SYNTAX        MplsLsrIdentifier
                     MAX-ACCESS    not-accessible
                     STATUS        current
                     DESCRIPTION
                       "This value represents the LSR initiating the tunnel that is
                       protected by this PLR."
                     ::= { mplsFrrPLREntry 3 }
               
                  mplsFrrPLRTunnelEgressLSRId OBJECT-TYPE
                     SYNTAX        MplsLsrIdentifier
                     MAX-ACCESS    not-accessible
                     STATUS        current
                     DESCRIPTION
                       "This value represents the egress LSR of the tunnel that is
                       protected by this PLR."
                     ::= { mplsFrrPLREntry 4 }
               
                  mplsFrrPLRId OBJECT-TYPE
                     SYNTAX        MplsLsrIdentifier
                     MAX-ACCESS    not-accessible
                     STATUS        current
                     DESCRIPTION
               
               Cetin, et. al.                                               [Page 11]


                               draft-ietf-mpls-fastreroute-mib-00.txt   December 2002
               
               
                       "This value represents the PLR that has initiated a detour LSP
                       to protect a tunnel instance."
                     ::= { mplsFrrPLREntry 5 }
               
                  mplsFrrPLRDetourInstance OBJECT-TYPE
                     SYNTAX        Integer32
                     MAX-ACCESS    not-accessible
                     STATUS        current
                     DESCRIPTION
                       "This value represents an instance of a detour initiated by
                       this PLR."
                     ::= { mplsFrrPLREntry 6 }
               
                  mplsFrrPLRSenderAddrType OBJECT-TYPE
                     SYNTAX        INTEGER {
                                        ipV4(1),
                                        ipV6(2)
                                   }
                     MAX-ACCESS    read-only
                     STATUS        current
                     DESCRIPTION
                       "Denotes the address type of this detour instance's sender
                       address."
                     DEFVAL        { ipV4 }
                     ::= { mplsFrrPLREntry 7 }
               
                  mplsFrrPLRSenderIpv4Addr OBJECT-TYPE
                     SYNTAX        InetAddressIPv4
                     MAX-ACCESS    read-only
                     STATUS        current
                     DESCRIPTION
                       "If mplsFrrPLRSenderAddrType 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."
                     ::= { mplsFrrPLREntry 8 }
               
                  mplsFrrPLRSenderIpv6Addr OBJECT-TYPE
                     SYNTAX        InetAddressIPv6
                     MAX-ACCESS    read-only
                     STATUS        current
                     DESCRIPTION
                       "If the mplsFrrPLRSenderAddrType is set to ipV6(2), then this
                       variable contains the IPv6 address of this detour instance's
                       sender.  This object is otherwise insignificant and should
                       contain a value of 0."
                     ::= { mplsFrrPLREntry 9 }
               
                  mplsFrrPLRAvoidNodeAddrType OBJECT-TYPE
                     SYNTAX        INTEGER {
                                        ipV4(1),
                                        ipV6(2)
                                   }
               
               Cetin, et. al.                                               [Page 12]


                               draft-ietf-mpls-fastreroute-mib-00.txt   December 2002
               
               
                     MAX-ACCESS    read-only
                     STATUS        current
                     DESCRIPTION
                       "Denotes the address type of the node that this PLR tries to
                       avoid."
                     DEFVAL        { ipV4 }
                     ::= { mplsFrrPLREntry 10 }
               
                  mplsFrrPLRAvoidNodeIpv4Addr OBJECT-TYPE
                     SYNTAX        InetAddressIPv4
                     MAX-ACCESS    read-only
                     STATUS        current
                     DESCRIPTION
                       "If mplsFrrPLRAvoidNodeAddrType 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."
                     ::= { mplsFrrPLREntry 11 }
               
                  mplsFrrPLRAvoidNodeIpv6Addr OBJECT-TYPE
                     SYNTAX        InetAddressIPv6
                     MAX-ACCESS    read-only
                     STATUS        current
                     DESCRIPTION
                       "If the mplsFrrPLRAvoidNodeAddrType is set to ipV6(2), then
                       this variable contains the IPv6 address of the avoid node.
                       This object is otherwise insignificant and should contain a
                       value of 0."
                     ::= { mplsFrrPLREntry 12 }
               
                  mplsFrrPLRDetourIndex OBJECT-TYPE
                     SYNTAX        MplsFrrDetourIndex
                     MAX-ACCESS    read-only
                     STATUS        current
                     DESCRIPTION
                       "The index of the corresponding detour LSP in the
                       mplsFrrDetourTable."
                  ::= { mplsFrrPLREntry 13 }
               
                  -- End of MPLS Fast Reroute Point of Local Repair table
               
                  -- MPLS 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."
                     ::= { mplsFrrObjects 3 }
               
                  mplsFrrDetourEntry OBJECT-TYPE
               
               Cetin, et. al.                                               [Page 13]


                               draft-ietf-mpls-fastreroute-mib-00.txt   December 2002
               
               
                     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 {
                        mplsFrrPLRTunnelIndex,
                        mplsFrrPLRTunnelInstance,
                        mplsFrrPLRTunnelIngressLSRId,
                        mplsFrrPLRTunnelEgressLSRId,
                        mplsFrrDetourIndex
                        }
                     ::= { mplsFrrDetourTable 1 }
               
                  MplsFrrDetourEntry ::= SEQUENCE {
                        mplsFrrDetourIndex              MplsFrrDetourIndex,
                        mplsFrrDetourTunnelName         DisplayString,
                        mplsFrrDetourRole               INTEGER,
                        mplsFrrDetourOperStatus         INTEGER,
                        mplsFrrDetourActive             TruthValue,
                        mplsFrrDetourMerging            INTEGER,
                        mplsFrrDetourMergedDetourIndex  MplsFrrDetourIndex,
                        mplsFrrDetourSetupPrio          INTEGER,
                        mplsFrrDetourHoldingPrio        INTEGER,
                        mplsFrrDetourInclAnyAffinity    MplsTunnelAffinity,
                        mplsFrrDetourInclAllAffinity    MplsTunnelAffinity,
                        mplsFrrDetourExclAllAffinity    MplsTunnelAffinity,
                        mplsFrrDetourHopLimit           INTEGER,
                        mplsFrrDetourSignallingProto    INTEGER,
                        mplsFrrDetourBandwidth          Integer32,
                        mplsFrrDetourExplicitPathIndex  MplsFrrPathIndex,
                        mplsFrrDetourRecordPathIndex    MplsFrrPathIndexorZero,
                        mplsFrrDetourRecordResvIndex    MplsFrrPathIndexorZero,
                        mplsFrrDetourXCPointer          RowPointer,
                        mplsFrrDetourPathChanges        Counter32,
                        mplsFrrDetourLastPathChange     TimeStamp,
                        mplsFrrDetourCreationTime       TimeStamp
                  }
               
                  mplsFrrDetourIndex OBJECT-TYPE
                     SYNTAX        MplsFrrDetourIndex
                     MAX-ACCESS    not-accessible
                     STATUS        current
                     DESCRIPTION
                       "Uniquely identifies this detour."
                     ::= { mplsFrrDetourEntry 1 }
               
                  mplsFrrDetourTunnelName OBJECT-TYPE
                     SYNTAX        DisplayString
                     MAX-ACCESS    read-only
                     STATUS        current
               
               Cetin, et. al.                                               [Page 14]


                               draft-ietf-mpls-fastreroute-mib-00.txt   December 2002
               
               
                     DESCRIPTION
                       "The canonical name assigned to the tunnel that this detour is
                       protecting."
                     ::= { mplsFrrDetourEntry 2 }
               
                  mplsFrrDetourRole OBJECT-TYPE
                     SYNTAX        INTEGER { head(1), transit(2), tail(3) }
                     MAX-ACCESS    read-only
                     STATUS        current
                     DESCRIPTION
                       "This value signifies the role that this detour entry
                       represents. This value MUST be set to head(1) at the PLR
                       originating the detour. This value MUST be set to transit(2) at
                       transit points along the detour. This value MUST be set to
                       tail(3) at the terminating point of the detour.
               
                       If detour is merged with another detour or with the protected
                       tunnel, then the Role is still considered as transit."
                     ::= { mplsFrrDetourEntry 3 }
               
                  mplsFrrDetourOperStatus OBJECT-TYPE
                     SYNTAX        INTEGER {
                                            -- ready to pass packets
                                               up(1),
                                               down(2),
                                            -- status cannot be determined
                                               unknown(3)
                                           }
                     MAX-ACCESS    read-only
                     STATUS        current
                     DESCRIPTION
                       "Indicates the actual operational status of this detour. This
                       is only relevant when the mplsFrrDetourRole is head(1)."
                     ::= { mplsFrrDetourEntry 4 }
               
                  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 5 }
               
                  mplsFrrDetourMerging OBJECT-TYPE
                     SYNTAX        INTEGER { none(0),
                                             protectedTunnel(1),
                                             detour(2)
                                           }
                     MAX-ACCESS    read-only
                     STATUS        current
                     DESCRIPTION
               
               Cetin, et. al.                                               [Page 15]


                               draft-ietf-mpls-fastreroute-mib-00.txt   December 2002
               
               
                       "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 6 }
               
                  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 7 }
               
                  mplsFrrDetourSetupPrio OBJECT-TYPE
                     SYNTAX        INTEGER (0..7)
                     MAX-ACCESS    read-only
                     STATUS        current
                     DESCRIPTION
                       "Indicates the setup priority of this detour."
                     REFERENCE
                       "1. RSVP-TE: Extensions to RSVP for LSP Tunnels, Awduche et al,
                       RFC 3209, December 2001"
                     ::= { mplsFrrDetourEntry 8 }
               
                  mplsFrrDetourHoldingPrio OBJECT-TYPE
                     SYNTAX        INTEGER (0..7)
                     MAX-ACCESS    read-only
                     STATUS        current
                     DESCRIPTION
                       "Indicates the holding priority for this detour."
                     REFERENCE
                       "1. RSVP-TE: Extensions to RSVP for LSP Tunnels, Awduche et al,
                       RFC 3209, December 2001"
                     ::= { mplsFrrDetourEntry 9 }
               
                  mplsFrrDetourInclAnyAffinity OBJECT-TYPE
                     SYNTAX        MplsTunnelAffinity
                     MAX-ACCESS    read-only
                     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."
                     ::= { mplsFrrDetourEntry 10 }
               
               
               Cetin, et. al.                                               [Page 16]


                               draft-ietf-mpls-fastreroute-mib-00.txt   December 2002
               
               
                  mplsFrrDetourInclAllAffinity OBJECT-TYPE
                     SYNTAX        MplsTunnelAffinity
                     MAX-ACCESS    read-only
                     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."
                     ::= { mplsFrrDetourEntry 11 }
               
                  mplsFrrDetourExclAllAffinity OBJECT-TYPE
                     SYNTAX        MplsTunnelAffinity
                     MAX-ACCESS    read-only
                     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."
                     ::= { mplsFrrDetourEntry 12 }
               
                  mplsFrrDetourHopLimit OBJECT-TYPE
                     SYNTAX        INTEGER(1..255)
                     MAX-ACCESS    read-only
                     STATUS        current
                     DESCRIPTION
                       "The maximum number of hops that this detour may traverse. This
                       is only relevant when the mplsFrrDetourRole is head(1)."
                  ::= { mplsFrrDetourEntry 13 }
               
                  mplsFrrDetourSignallingProto OBJECT-TYPE
                     SYNTAX       INTEGER {
                                       rsvp(1),
                                       other(2)
                                       }
                     MAX-ACCESS    read-only
                     STATUS        current
                     DESCRIPTION
                       "The signaling protocol, which was used to setup this detour."
                     DEFVAL        { rsvp }
                     ::= { mplsFrrDetourEntry 14 }
               
                  mplsFrrDetourBandwidth OBJECT-TYPE
                     SYNTAX        Integer32
                     MAX-ACCESS    read-only
                     STATUS        current
                     DESCRIPTION
               
               Cetin, et. al.                                               [Page 17]


                               draft-ietf-mpls-fastreroute-mib-00.txt   December 2002
               
               
                       "This variable represents the bandwidth for this detour, in
                       units of thousands of bits per second (Kbps)."
                     ::= { mplsFrrDetourEntry 15 }
               
                  mplsFrrDetourExplicitPathIndex OBJECT-TYPE
                     SYNTAX        MplsFrrPathIndex
                     MAX-ACCESS    read-only
                     STATUS        current
                     DESCRIPTION
                       "Index into the mplsFrrHopTable entry that specifies the
                       explicit path hops for this detour."
                     ::= { mplsFrrDetourEntry 16 }
               
                  mplsFrrDetourRecordPathIndex OBJECT-TYPE
                     SYNTAX        MplsFrrPathIndexorZero
                     MAX-ACCESS    read-only
                     STATUS        current
                     DESCRIPTION
                       "Index into the mplsFrrHopTable entry that specifies the actual
                       hops traversed by the packets going over this detour before
                       this node.
               
                       For a detour LSP originated by the ingress node of the
                       protected LSP, this object is set to zero."
                     ::= { mplsFrrDetourEntry 17 }
               
                  mplsFrrDetourRecordResvIndex OBJECT-TYPE
                     SYNTAX        MplsFrrPathIndexorZero
                     MAX-ACCESS    read-only
                     STATUS        current
                     DESCRIPTION
                       "Index into the mplsFrrHopTable entry that specifies the actual
                       hops that will be traversed by the packets going over this
                       detour after this node.
               
                       For a detour LSP terminated at the egress node of the protected
                       LSP, i.e. the mplsFrrDetourRole is set to tail(3), this object
                       is set to zero."
                     ::= { mplsFrrDetourEntry 18 }
               
                  mplsFrrDetourXCPointer OBJECT-TYPE
                     SYNTAX        RowPointer
                     MAX-ACCESS    read-only
                     STATUS        current
                     DESCRIPTION
                       "This variable points to a row in the mplsXCTable. This table
                       identifies the segments that compose this detour, their
                       characteristics, and relationships to each other.
               
                       In case multiple detours are merged with each other, then they
                       form a multi-point to point cross connection and each detour
                       points to a branch of it.
               
               
               Cetin, et. al.                                               [Page 18]


                               draft-ietf-mpls-fastreroute-mib-00.txt   December 2002
               
               
                       This object is optional and it is not required when
                       mplsFrrInSegTable and mplsFrrOutSegTable are supported."
                     REFERENCE
                       "Srinivasan, C., Viswanathan, A., and T. Nadeau, MPLS Label
                       Switch Router Management Information Base, Internet Draft
                       <draft-ietf-mpls-lsr-mib-08.txt>, December 2001."
                     ::= { mplsFrrDetourEntry 19 }
               
                  mplsFrrDetourPathChanges OBJECT-TYPE
                     SYNTAX        Counter32
                     MAX-ACCESS    read-only
                     STATUS        current
                     DESCRIPTION
                       "Specifies the number of times the path has changed for this
                       detour."
                     ::= { mplsFrrDetourEntry 20 }
               
                  mplsFrrDetourLastPathChange OBJECT-TYPE
                     SYNTAX        TimeStamp
                     MAX-ACCESS    read-only
                     STATUS        current
                     DESCRIPTION
                       "Specifies the value of SysUpTime when the last path change for
                       this detour occurred."
                     ::= { mplsFrrDetourEntry 21 }
               
                  mplsFrrDetourCreationTime OBJECT-TYPE
                     SYNTAX        TimeStamp
                     MAX-ACCESS    read-only
                     STATUS        current
                     DESCRIPTION
                       "Specifies the value of SysUpTime when the detour came into
                       existence."
                     ::= { mplsFrrDetourEntry 22 }
               
                  -- End of Fast Reroute Detour table
               
                  -- MPLS Fast Reroute Hop table
               
                  mplsFrrHopTable  OBJECT-TYPE
                     SYNTAX        SEQUENCE OF MplsFrrHopEntry
                     MAX-ACCESS    not-accessible
                     STATUS        current
                     DESCRIPTION
                       "The mplsFrrHopTable is used to indicate the hops of a detour
                       route (explicit and record). Each detour has three different
                       sets of hops in this table: a set for the explicit route path
                       and another two sets for the record path hops, pointed by
                       mplsFrrDetourExplicitPathIndex, mplsFrrDetourRecordPathIndex
                       and mplsFrrDetourRecordResvIndex, respectively, from the
                       mplsFrrDetourTable."
                     ::= { mplsFrrObjects 4 }
               
               
               Cetin, et. al.                                               [Page 19]


                               draft-ietf-mpls-fastreroute-mib-00.txt   December 2002
               
               
                  mplsFrrHopEntry  OBJECT-TYPE
                     SYNTAX        MplsFrrHopEntry
                     MAX-ACCESS    not-accessible
                     STATUS        current
                     DESCRIPTION
                       "An entry in this table represents a detour explicit or record
                       path hop. An entry in this table is only created by an SNMP
                       agent as instructed by an MPLS signaling protocol."
                     INDEX { mplsFrrHopListIndex, mplsFrrHopIndex }
                     ::= { mplsFrrHopTable 1 }
               
                  MplsFrrHopEntry ::= SEQUENCE {
                        mplsFrrHopListIndex          MplsFrrPathIndex,
                        mplsFrrHopIndex              MplsFrrHopIndex,
                        mplsFrrHopAddrType           INTEGER,
                        mplsFrrHopIpv4Addr           InetAddressIPv4,
                        mplsFrrHopIpv4PrefixLen      Unsigned32,
                        mplsFrrHopIpv6Addr           InetAddressIPv6,
                        mplsFrrHopIpv6PrefixLen      Unsigned32,
                        mplsFrrHopType               INTEGER
                     }
               
                  mplsFrrHopListIndex OBJECT-TYPE
                     SYNTAX        MplsFrrPathIndex
                     MAX-ACCESS    not-accessible
                     STATUS        current
                     DESCRIPTION
                       "Primary index into this table identifying a particular
                       explicit or record path hop list."
                     ::= { mplsFrrHopEntry 1 }
               
                  mplsFrrHopIndex OBJECT-TYPE
                     SYNTAX        MplsFrrHopIndex
                     MAX-ACCESS    not-accessible
                     STATUS        current
                     DESCRIPTION
                       "Secondary index into this table identifying the particular
                       hop."
                     ::= { mplsFrrHopEntry 2 }
               
                  mplsFrrHopAddrType OBJECT-TYPE
                     SYNTAX        INTEGER {
                                        ipV4(1),
                                        ipV6(2)
                                   }
                     MAX-ACCESS    read-only
                     STATUS        current
                     DESCRIPTION
                       "Denotes the address type of this hop."
                     DEFVAL        { ipV4 }
                     ::= { mplsFrrHopEntry 3 }
               
                  mplsFrrHopIpv4Addr OBJECT-TYPE
               
               Cetin, et. al.                                               [Page 20]


                               draft-ietf-mpls-fastreroute-mib-00.txt   December 2002
               
               
                     SYNTAX        InetAddressIPv4
                     MAX-ACCESS    read-only
                     STATUS        current
                     DESCRIPTION
                       "If mplsFrrHopAddrType is set to ipV4(1), then this value will
                       contain the IPv4 address of this hop. This object is otherwise
                       insignificant and should contain a value of 0."
                     ::= { mplsFrrHopEntry 4 }
               
                  mplsFrrHopIpv4PrefixLen OBJECT-TYPE
                     SYNTAX        Unsigned32 (0..32)
                     MAX-ACCESS    read-only
                     STATUS        current
                     DESCRIPTION
                       "If mplsFrrHopAddrType is set to ipV4(1), this value will
                       contain the prefix length for this hop's IPv4 address. This
                       object is otherwise insignificant and should contain a value of
                       0."
                     ::= { mplsFrrHopEntry 5 }
               
                  mplsFrrHopIpv6Addr OBJECT-TYPE
                     SYNTAX        InetAddressIPv6
                     MAX-ACCESS    read-only
                     STATUS        current
                     DESCRIPTION
                       "If the mplsFrrHopAddrType is set to ipV6(2), then this
                       variable contains the IPv6 address of this hop.  This object is
                       otherwise insignificant and should contain a value of 0."
                     ::= { mplsFrrHopEntry 6 }
               
                  mplsFrrHopIpv6PrefixLen OBJECT-TYPE
                     SYNTAX        Unsigned32 (0..128)
                     MAX-ACCESS    read-only
                     STATUS        current
                     DESCRIPTION
                       "If mplsFrrHopAddrType is set to ipV6(2), this value will
                       contain the prefix length for this hop's IPv6 address. This
                       object is otherwise insignificant and should contain a value of
                       0."
                     ::= { mplsFrrHopEntry 7 }
               
                  mplsFrrHopType OBJECT-TYPE
                     SYNTAX        INTEGER {
                            strict(1),
                            loose(2)
                        }
                     MAX-ACCESS    read-only
                     STATUS        current
                     DESCRIPTION
                       "Denotes whether this detour hop is routed in a strict or loose
                       fashion."
                     ::= { mplsFrrHopEntry 8 }
               
               
               Cetin, et. al.                                               [Page 21]


                               draft-ietf-mpls-fastreroute-mib-00.txt   December 2002
               
               
                  -- End of MPLS Fast Reroute Hop table
               
                  -- MPLS Fast Reroute in-segment table
               
                  mplsFrrInSegTable OBJECT-TYPE
                     SYNTAX        SEQUENCE OF MplsFrrInSegEntry
                     MAX-ACCESS    not-accessible
                     STATUS        current
                     DESCRIPTION
                       "This table shows all detour LSPs together with the in-segment
                       data."
                     ::= { mplsFrrObjects 5 }
               
                  mplsFrrInSegEntry OBJECT-TYPE
                     SYNTAX        MplsFrrInSegEntry
                     MAX-ACCESS    not-accessible
                     STATUS        current
                     DESCRIPTION
                       "An entry in this table represents an in-segment of a detour
                       LSP. There will be one entry in this table for each entry in
                       the mplsFrrDetourTable where the mplsFrrDetourRole is either
                       transit(2) or tail(3). An entry in this table is only created
                       by an SNMP agent as instructed by an MPLS signaling protocol."
                     INDEX {
                        mplsFrrPLRTunnelIndex,
                        mplsFrrPLRTunnelInstance,
                        mplsFrrPLRTunnelIngressLSRId,
                        mplsFrrPLRTunnelEgressLSRId,
                        mplsFrrDetourIndex
                        }
                     ::= { mplsFrrInSegTable 1 }
               
                  MplsFrrInSegEntry ::= SEQUENCE {
                        mplsFrrInSegIfIndex          InterfaceIndex,
                        mplsFrrInSegLabel            MplsLabel,
                        mplsFrrInSegOctets           Counter32,
                        mplsFrrInSegPackets          Counter32,
                        mplsFrrInSegErrors           Counter32,
                        mplsFrrInSegDiscards         Counter32,
                        mplsFrrInSegHCOctets         Counter64,
                        mplsFrrInSegCounterDiscTime  TimeStamp
                        }
               
                  mplsFrrInSegIfIndex OBJECT-TYPE
                     SYNTAX        InterfaceIndex
                     MAX-ACCESS    read-only
                     STATUS        current
                     DESCRIPTION
                       "This value represents the index of the interface where this
                       detour came in."
                     ::= { mplsFrrInSegEntry 1 }
               
                  mplsFrrInSegLabel OBJECT-TYPE
               
               Cetin, et. al.                                               [Page 22]


                               draft-ietf-mpls-fastreroute-mib-00.txt   December 2002
               
               
                     SYNTAX        MplsLabel
                     MAX-ACCESS    read-only
                     STATUS        current
                     DESCRIPTION
                       "The incoming label for this detour LSP."
                     ::= { mplsFrrInSegEntry 2 }
               
                  mplsFrrInSegOctets OBJECT-TYPE
                     SYNTAX        Counter32
                     MAX-ACCESS    read-only
                     STATUS        current
                     DESCRIPTION
                       "Total number of octets received by this detour LSP."
                     ::= { mplsFrrInSegEntry 3 }
               
                  mplsFrrInSegPackets OBJECT-TYPE
                     SYNTAX        Counter32
                     MAX-ACCESS    read-only
                     STATUS        current
                     DESCRIPTION
                       "Total number of packets received by this detour LSP."
                     ::= { mplsFrrInSegEntry 4 }
               
                  mplsFrrInSegErrors OBJECT-TYPE
                     SYNTAX        Counter32
                     MAX-ACCESS    read-only
                     STATUS        current
                     DESCRIPTION
                       "Total number of errored packets received by this detour LSP."
                     ::= { mplsFrrInSegEntry 5 }
               
                  mplsFrrInSegDiscards OBJECT-TYPE
                     SYNTAX        Counter32
                     MAX-ACCESS    read-only
                     STATUS        current
                     DESCRIPTION
                       "The number of labeled packets received on this in-segment,
                       which were chosen to be discarded even though no errors had
                       been detected to prevent them from being transmitted. One
                       possible reason for discarding such a labeled packet could be
                       to free up buffer space."
                     ::= { mplsFrrInSegEntry 6 }
               
                  mplsFrrInSegHCOctets OBJECT-TYPE
                     SYNTAX        Counter64
                     MAX-ACCESS    read-only
                     STATUS        current
                     DESCRIPTION
                       " Total number of octets received by this detour LSP. This is
                       the 64 bit version of mplsFrrInSegOctets."
                     ::= { mplsFrrInSegEntry 7 }
               
                  mplsFrrInSegCounterDiscTime OBJECT-TYPE
               
               Cetin, et. al.                                               [Page 23]


                               draft-ietf-mpls-fastreroute-mib-00.txt   December 2002
               
               
                     SYNTAX        TimeStamp
                     MAX-ACCESS    read-only
                     STATUS        current
                     DESCRIPTION
                       "The value of sysUpTime on the most recent occasion at which
                       any one or more of this segment's Counter32 or Counter64
                       suffered a discontinuity. If no such discontinuities have
                       occurred since the last re-initialization of the local
                       management subsystem, then this object contains a zero value."
                     ::= { mplsFrrInSegEntry 8 }
               
                  -- End of MPLS Fast Reroute in-segment table
               
                  -- MPLS Fast Reroute out-segment table
               
                  mplsFrrOutSegTable OBJECT-TYPE
                     SYNTAX        SEQUENCE OF MplsFrrOutSegEntry
                     MAX-ACCESS    not-accessible
                     STATUS        current
                     DESCRIPTION
                       "This table shows all detour LSPs together with the out-segment
                       data."
                     ::= { mplsFrrObjects 6 }
               
                  mplsFrrOutSegEntry OBJECT-TYPE
                     SYNTAX        MplsFrrOutSegEntry
                     MAX-ACCESS    not-accessible
                     STATUS        current
                     DESCRIPTION
                       "An entry in this table represents an out-segment of a detour
                       LSP. There will be one entry in this table for each entry in
                       the mplsFrrDetourTable where the mplsFrrDetourRole is either
                       head(1) or transit(2) and the mplsFrrDetourMerging is none(0).
                       An entry in this table is only created by an SNMP agent as
                       instructed by an MPLS signaling protocol. "
                     INDEX {
                        mplsFrrPLRTunnelIndex,
                        mplsFrrPLRTunnelInstance,
                        mplsFrrPLRTunnelIngressLSRId,
                        mplsFrrPLRTunnelEgressLSRId,
                        mplsFrrDetourIndex
                        }
                     ::= { mplsFrrOutSegTable 1 }
               
                  MplsFrrOutSegEntry ::= SEQUENCE {
                        mplsFrrOutSegIfIndex           InterfaceIndex,
                        mplsFrrOutSegTopLabel          MplsLabel,
                        mplsFrrOutSegNHIpAddrType      INTEGER,
                        mplsFrrOutSegNHIpv4Addr        InetAddressIPv4,
                        mplsFrrOutSegNHIpv6Addr        InetAddressIPv6,
                        mplsFrrOutSegOctets            Counter32,
                        mplsFrrOutSegPackets           Counter32,
                        mplsFrrOutSegErrors            Counter32,
               
               Cetin, et. al.                                               [Page 24]


                               draft-ietf-mpls-fastreroute-mib-00.txt   December 2002
               
               
                        mplsFrrOutSegDiscards          Counter32,
                        mplsFrrOutSegHCOctets          Counter64,
                        mplsFrrOutSegCounterDiscTime   TimeStamp
                        }
               
                  mplsFrrOutSegIfIndex OBJECT-TYPE
                     SYNTAX        InterfaceIndex
                     MAX-ACCESS    read-only
                     STATUS        current
                     DESCRIPTION
                       "This value represents the index of interface where this detour
                       is leaving the device."
                     ::= { mplsFrrOutSegEntry 1 }
               
                  mplsFrrOutSegTopLabel OBJECT-TYPE
                     SYNTAX        MplsLabel
                     MAX-ACCESS    read-only
                     STATUS        current
                     DESCRIPTION
                       "This represents the label that should be pushed onto the top
                       of the outgoing packet's label stack."
                     ::= { mplsFrrOutSegEntry 2 }
               
                  mplsFrrOutSegNHIpAddrType OBJECT-TYPE
                     SYNTAX        INTEGER {
                                        unknown(0),
                                        ipV4(1),
                                        ipV6(2)
                                   }
                     MAX-ACCESS    read-only
                     STATUS        current
                     DESCRIPTION
                       "Indicates whether the next hop address is IPv4 or IPv6.  Note
                       that a value of unknown (0) is valid only when the outgoing
                       interface is of type point-to-point."
                     ::= { mplsFrrOutSegEntry 3 }
               
                  mplsFrrOutSegNHIpv4Addr OBJECT-TYPE
                     SYNTAX        InetAddressIPv4
                     MAX-ACCESS    read-only
                     STATUS        current
                     DESCRIPTION
                       "IPv4 Address of the next hop.  Its value is significant only
                       when mplsOutSegNHIpAddrType is ipV4 (1), otherwise it SHOULD
                       return a value of 0."
                     ::= { mplsFrrOutSegEntry 4 }
               
                  mplsFrrOutSegNHIpv6Addr OBJECT-TYPE
                     SYNTAX        InetAddressIPv6
                     MAX-ACCESS    read-only
                     STATUS        current
                     DESCRIPTION
               
               Cetin, et. al.                                               [Page 25]


                               draft-ietf-mpls-fastreroute-mib-00.txt   December 2002
               
               
                       "IPv6 address of the next hop.  Its value is significant only
                       when mplsOutSegNHIpAddrType is ipV6 (2), otherwise it SHOULD
                       return a value of 0."
                     ::= { mplsFrrOutSegEntry 5 }
               
                  mplsFrrOutSegOctets OBJECT-TYPE
                     SYNTAX        Counter32
                     MAX-ACCESS    read-only
                     STATUS        current
                     DESCRIPTION
                       "Total number of octets sent on this detour LSP."
                     ::= { mplsFrrOutSegEntry 6 }
               
                  mplsFrrOutSegPackets OBJECT-TYPE
                     SYNTAX        Counter32
                     MAX-ACCESS    read-only
                     STATUS        current
                     DESCRIPTION
                       "Total number of packets sent on this detour LSP."
                     ::= { mplsFrrOutSegEntry 7 }
               
                  mplsFrrOutSegErrors OBJECT-TYPE
                     SYNTAX        Counter32
                     MAX-ACCESS    read-only
                     STATUS        current
                     DESCRIPTION
                       "Total number of errored packets that could not be sent due to
                       errors on the out-segment of this detour LSP."
                     ::= { mplsFrrOutSegEntry 8 }
               
                  mplsFrrOutSegDiscards OBJECT-TYPE
                     SYNTAX        Counter32
                     MAX-ACCESS    read-only
                     STATUS        current
                     DESCRIPTION
                       "The number of labeled packets received on this out-segment,
                       which were chosen to be discarded even though no errors had
                       been detected to prevent them from being transmitted. One
                       possible reason for discarding such a labeled packet could be
                       to free up buffer space."
                     ::= { mplsFrrOutSegEntry 9 }
               
                  mplsFrrOutSegHCOctets OBJECT-TYPE
                     SYNTAX        Counter64
                     MAX-ACCESS    read-only
                     STATUS        current
                     DESCRIPTION
                       "Total number of octets sent on this detour LSP. This is the 64
                       bit version of mplsFrrOutSegOctets."
                     ::= { mplsFrrOutSegEntry 10 }
               
                  mplsFrrOutSegCounterDiscTime OBJECT-TYPE
                     SYNTAX        TimeStamp
               
               Cetin, et. al.                                               [Page 26]


                               draft-ietf-mpls-fastreroute-mib-00.txt   December 2002
               
               
                     MAX-ACCESS    read-only
                     STATUS        current
                     DESCRIPTION
                       "The value of sysUpTime on the most recent occasion at which
                       any one or more of this segment's Counter32 or Counter64
                       suffered a discontinuity. If no such discontinuities have
                       occurred since the last re-initialization of the local
                       management subsystem, then this object contains a zero value."
                     ::= { mplsFrrOutSegEntry 11 }
               
                  -- End of MPLS fast reroute out-segment table
               
                  -- Module Conformance Statement
               
                  mplsFrrGroups
                     OBJECT IDENTIFIER ::= {mplsFrrConformance 1 }
               
                  mplsFrrCompliances
                     OBJECT IDENTIFIER ::= {mplsFrrConformance 2 }
               
                  mplsFrrModuleCompliance MODULE-COMPLIANCE
                     STATUS current
                     DESCRIPTION
                       "Compliance statements for agents that support the MPLS FRR
                       MIB."
                     MODULE
                         MANDATORY-GROUPS {
                                           mplsFrrConstGroup
                                          }
               
                     GROUP mplsFrrScalarGroup
                     DESCRIPTION
                       "This group is required to gather node level fast reroute
                       statistics."
               
                     GROUP mplsFrrConstGroup
                     DESCRIPTION
                       "This group is required to configure fast reroute constraints
                       at the ingress LSR of the tunnel that requires fast reroute
                       service."
               
                     GROUP mplsFrrDetourGroup
                     DESCRIPTION
                       "This group is required to present the detour LSP information
                       at the detour ingress, transit and egress LSRs."
               
                     GROUP mplsFrrXCGroup
                     DESCRIPTION
                       "This group is required when MPLS-LSR-MIB [4] is supported."
               
                     GROUP mplsFrrSegmentGroup
                     DESCRIPTION
               
               Cetin, et. al.                                               [Page 27]


                               draft-ietf-mpls-fastreroute-mib-00.txt   December 2002
               
               
                       "This group is required when MPLS-LSR-MIB [4] is not
                       supported."
               
                  -- mplsFrrConstTable
               
                     OBJECT        mplsFrrConstProtectionMethod
                     MIN-ACCESS    read-only
                     DESCRIPTION
                       "Write access is not required."
               
                     OBJECT        mplsFrrConstProtectionType
                     MIN-ACCESS    read-only
                     DESCRIPTION
                       "Write access is not required."
               
                     OBJECT        mplsFrrConstSetupPrio
                     MIN-ACCESS    read-only
                     DESCRIPTION
                       "Write access is not required."
               
                     OBJECT        mplsFrrConstHoldingPrio
                     MIN-ACCESS    read-only
                     DESCRIPTION
                       "Write access is not required."
               
                     OBJECT        mplsFrrConstInclAnyAffinity
                     MIN-ACCESS    read-only
                     DESCRIPTION
                       "Write access is not required."
               
                     OBJECT        mplsFrrConstInclAllAffinity
                     MIN-ACCESS    read-only
                     DESCRIPTION
                       "Write access is not required."
               
                     OBJECT        mplsFrrConstExclAllAffinity
                     MIN-ACCESS    read-only
                     DESCRIPTION
                       "Write access is not required."
               
                     OBJECT        mplsFrrConstHopLimit
                     MIN-ACCESS    read-only
                     DESCRIPTION
                       "Write access is not required."
               
                     OBJECT        mplsFrrConstBandwidth
                     MIN-ACCESS    read-only
                     DESCRIPTION
                       "Write access is not required."
               
                     OBJECT        mplsFrrConstRowStatus
                     MIN-ACCESS    read-only
                     DESCRIPTION
               
               Cetin, et. al.                                               [Page 28]


                               draft-ietf-mpls-fastreroute-mib-00.txt   December 2002
               
               
                       "Write access is not required."
               
                     ::= { mplsFrrCompliances 1 }
               
                  -- Units of conformance
               
                  mplsFrrScalarGroup OBJECT-GROUP
                     OBJECTS {
                        mplsFrrDetourIncoming,
                        mplsFrrDetourOutgoing,
                        mplsFrrDetourOriginating,
                        mplsFrrSwitchover
                     }
                     STATUS        current
                     DESCRIPTION
                       "Objects that are required to gather node level fast reroute
                       statistics."
                     ::= { mplsFrrGroups 1 }
               
                  mplsFrrConstGroup OBJECT-GROUP
                     OBJECTS {
                        -- mplsFrrConstTable
                        mplsFrrConstProtectionMethod,
                        mplsFrrConstProtectionType,
                        mplsFrrConstSetupPrio,
                        mplsFrrConstHoldingPrio,
                        mplsFrrConstInclAnyAffinity,
                        mplsFrrConstInclAllAffinity,
                        mplsFrrConstExclAllAffinity,
                        mplsFrrConstHopLimit,
                        mplsFrrConstBandwidth,
                        mplsFrrConstRowStatus
                     }
                     STATUS        current
                     DESCRIPTION
                       "Objects that are required to configure fast reroute
                       constraints at the ingress LSR of the tunnel that requires fast
                       reroute service."
                     ::= { mplsFrrGroups 2 }
               
                  mplsFrrDetourGroup OBJECT-GROUP
                     OBJECTS {
                        -- mplsFrrPLRTable
                        mplsFrrPLRSenderAddrType,
                        mplsFrrPLRSenderIpv4Addr,
                        mplsFrrPLRSenderIpv6Addr,
                        mplsFrrPLRAvoidNodeAddrType,
                        mplsFrrPLRAvoidNodeIpv4Addr,
                        mplsFrrPLRAvoidNodeIpv6Addr,
                        mplsFrrPLRDetourIndex,
                        -- mplsFrrDetourTable
                        mplsFrrDetourTunnelName,
                        mplsFrrDetourRole,
               
               Cetin, et. al.                                               [Page 29]


                               draft-ietf-mpls-fastreroute-mib-00.txt   December 2002
               
               
                        mplsFrrDetourOperStatus,
                        mplsFrrDetourActive,
                        mplsFrrDetourMerging,
                        mplsFrrDetourMergedDetourIndex,
                        mplsFrrDetourSetupPrio,
                        mplsFrrDetourHoldingPrio,
                        mplsFrrDetourInclAnyAffinity,
                        mplsFrrDetourInclAllAffinity,
                        mplsFrrDetourExclAllAffinity,
                        mplsFrrDetourHopLimit,
                        mplsFrrDetourSignallingProto,
                        mplsFrrDetourBandwidth,
                        mplsFrrDetourExplicitPathIndex,
                        mplsFrrDetourRecordPathIndex,
                        mplsFrrDetourRecordResvIndex,
                        mplsFrrDetourPathChanges,
                        mplsFrrDetourLastPathChange,
                        mplsFrrDetourCreationTime,
                        -- mplsFrrHopTable
                        mplsFrrHopAddrType,
                        mplsFrrHopIpv4Addr,
                        mplsFrrHopIpv4PrefixLen,
                        mplsFrrHopIpv6Addr,
                        mplsFrrHopIpv6PrefixLen,
                        mplsFrrHopType
                     }
                     STATUS        current
                     DESCRIPTION
                       "Objects that are required to present the detour LSP
                       information at the detour ingress, transit and egress LSRs."
                     ::= { mplsFrrGroups 3 }
               
                  mplsFrrXCGroup OBJECT-GROUP
                     OBJECTS {
                        mplsFrrDetourXCPointer
                     }
                     STATUS        current
                     DESCRIPTION
                       "Object required when MPLS-LSR-MIB [4] is supported."
                     ::= { mplsFrrGroups 4 }
               
                  mplsFrrSegmentGroup OBJECT-GROUP
                     OBJECTS {
                        -- mplsFrrInSegTable
                        mplsFrrInSegIfIndex,
                        mplsFrrInSegLabel,
                        mplsFrrInSegOctets,
                        mplsFrrInSegPackets,
                        mplsFrrInSegErrors,
                        mplsFrrInSegDiscards,
                        mplsFrrInSegHCOctets,
                        mplsFrrInSegCounterDiscTime,
                        -- mplsFrrOutSegTable
               
               Cetin, et. al.                                               [Page 30]


                               draft-ietf-mpls-fastreroute-mib-00.txt   December 2002
               
               
                        mplsFrrOutSegIfIndex,
                        mplsFrrOutSegTopLabel,
                        mplsFrrOutSegNHIpAddrType,
                        mplsFrrOutSegNHIpv4Addr,
                        mplsFrrOutSegNHIpv6Addr,
                        mplsFrrOutSegOctets,
                        mplsFrrOutSegPackets,
                        mplsFrrOutSegErrors,
                        mplsFrrOutSegDiscards,
                        mplsFrrOutSegHCOctets,
                        mplsFrrOutSegCounterDiscTime
                     }
                     STATUS        current
                     DESCRIPTION
                       "Object required when MPLS-LSR-MIB [4] is not supported."
                     ::= { mplsFrrGroups 5 }
               
                  END
               
               
               7. Security Considerations
               
                  This MIB does not pose any additional security issues compared with
                  [3] and [4].
               
               8. Reference
               
                  [1]Bradner, S., "The Internet Standards Process -- Revision 3", BCP
                      9, RFC 2026, October 1996.
               
                  [2]Bradner, S., "Key words for use in RFCs to Indicate Requirement
                      Levels", BCP 14, RFC 2119, March 1997.
               
                  [3]Srinivasan, C., Viswanathan, A. and T. Nadeau, "Multiprotocol
                     Label Switching (MPLS) Traffic Engineering Management Information
                     Base", Internet Draft <draft-ietf-mpls-te-mib-08.txt>, January
                     2002. Work in progress.
               
                  [4]Srinivasan, C., Viswanathan, A. and T. Nadeau, "MPLS Label Switch
                     Router Management Information Base ", Internet Draft <draft-ietf-
                     mpls-lsr-mib-08.txt>, January 2002. Work in progress.
               
                  [5]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.
               
               9. Acknowledgments
               
                  We would like to thank Alia Atlas, Yeong Tai and Walter Vanhimbeeck
                  for the helpful discussions.
               
               
               Cetin, et. al.                                               [Page 31]


                              draft-cetin-mpls-fastreroute-mib-00.txt  February 2002
               
               
               10. Author's Addresses
               
                  Riza Cetin
                  Alcatel
                  Francis Wellesplein 1
                  B-2018 Antwerp, Belgium
                  Email: riza.cetin@alcatel.be
               
                  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
               
                  Thomas D. Nadeau
                  Cisco Systems, Inc.
                  300 Apollo Drive
                  Chelmsford, MA 01824
                  Email: tnadeau@cisco.com
               
               Full Copyright Statement
               
                  Copyright (C) The Internet Society (2001). All Rights Reserved.
               
                  This document and translations of it may be copied and furnished to
                  others, and derivative works that comment on or otherwise explain it
                  or assist in its implementation may be prepared, copied, published
                  and distributed, in whole or in part, without restriction of any
                  kind, provided that the above copyright notice and this paragraph
                  are included on all such copies and derivative works. However, this
                  document itself may not be modified in any way, such as by removing
                  the copyright notice or references to the Internet Society or other
                  Internet organizations, except as needed for the purpose of
                  developing Internet standards in which case the procedures for
                  copyrights defined in the Internet Standards process must be
                  followed, or as required to translate it into languages other than
                  English.
               
                  The limited permissions granted above are perpetual and will not be
                  revoked by the Internet Society or its successors or assigns.
               
                  This document and the information contained herein is provided on an
                  "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
                  TASK FORCE DISCLAIMS 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.
               
               Cetin, et. al.                                               [Page 32]