Network Working Group                                           R. Cetin
Internet Draft                                             S. De Cnodder
Expiration Date: August 2002                                     Alcatel

                                                                  D. Gan
                                                  Juniper Networks, Inc.

                                                           February 2002



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

                draft-cetin-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-cetin-mpls-fastreroute-mib-00.txt  February 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. mplsFrrConstraintTable

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

   The mplsFrrDetourPathTable is used to show the paths of all detours
   established in the network for a particular tunnel instance for
   which fast-reroute is requested.

   Every detour path is uniquely identified by a path index. An entry
   represents 1 hop of a detour path (identified by a hop index),
   therefore there are as many entries for a particular detour as there
   are hops in that particular detour path.

   This table is read-only and is only applicable at the ingress LSR
   that initiated the protected tunnel instance. There may be several
   tunnels established with fast-reroute at the same ingress LSR. In
   this case, all detour paths of each individual such tunnel instances
   appear in this table. Therefore, in addition to the path and hop
   index, a tunnel Id and tunnel instance, which identify uniquely a
   certain LSP, are defined as part of the index. Note that for the
   tunnel instance, the LSP-ID is used.

   This table requires the support of the Backup Record Route Object
   (BRRO). Therefore this table is optional and only required when BRRO
   is supported.







Cetin, et. al.                                                [Page 2]


               draft-cetin-mpls-fastreroute-mib-00.txt  February 2002



        The following illustrates an example of the
        mplsFrrDetourPathTable:

        Network topology

        A======B======C
        |      |      |
        |      |      |
        D------E------F

        Protected LSP (LSP-1 of Tunnel-1) is established through nodes
        A-B-C.
        Node A calculates path A-D-E-F-C for the detour.
        Node B calculates path B-E-F-C for the detour.
        Detour of node A and node B are merged together at node E and
        detour of A is selected as the final detour.

        The following shows the content of the mplsFrrDetourPathTable
        at the ingress node A.

        DetourPathIndex value 1 is assigned to the detour of A.
        DetourPathIndex value 2 is assigned to the detour of B.

        +------+------+------+------+------+------+------+------+
        |Tunnel|Tunnel|Detour|Detour|Detour|Is    |Merged|Merged|
        |Index |Inst. |Path  |Path  |Path  |Merged|Path  |Hop   |
        |      |      |Index |Hop   |Hop IP|      |      |      |
        |      |      |      |Index |Addr. |      |      |      |
        +------+------+------+------+------+------+------+------+
        |  T1  | LSP1 |  1   |  1   |  A   |  0   |  0   |  0   |
        +------+------+------+------+------+------+------+------+
        |  T1  | LSP1 |  1   |  2   |  D   |  0   |  0   |  0   |
        +------+------+------+------+------+------+------+------+
        |  T1  | LSP1 |  1   |  3   |  E   |  0   |  0   |  0   |
        +------+------+------+------+------+------+------+------+
        |  T1  | LSP1 |  1   |  4   |  F   |  0   |  0   |  0   |
        +------+------+------+------+------+------+------+------+
        |  T1  | LSP1 |  1   |  5   |  C   |  1   |  0   |  0   |
        +------+------+------+------+------+------+------+------+
        |  T1  | LSP1 |  2   |  1   |  B   |  0   |  0   |  0   |
        +------+------+------+------+------+------+------+------+
        |  T1  | LSP1 |  2   |  2   |  E   |  1   |  1   |  3   |
        +------+------+------+------+------+------+------+------+










Cetin, et. al.                                                [Page 3]


               draft-cetin-mpls-fastreroute-mib-00.txt  February 2002




4.3. mplsFrrDetourTable

   The mplsFrrDetourTable is an optional table that 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:
   - detour tunnel index (which is set to the tunnel-id of the LSP
     protected by this detour),
   - 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.

   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 LSPs point 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.

4.4. mplsFrrPLRTable

   The mplsFrrPLRTable contains the originating nodes together with the
   avoid nodes of all detour LSPs merged with each other.

   This table is optional and is only required in case
   mplsFrrDetourTable is supported.


Cetin, et. al.                                                [Page 4]


               draft-cetin-mpls-fastreroute-mib-00.txt  February 2002


4.5. 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
   mplsFrrDetourTable is supported.

4.6. 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 mplsFrrDetourTable is not supported.

4.7. mplsFrrOutSegTable

   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 mplsFrrDetourTable is not supported.

5. MPLS Fast Reroute MIB Definitions

   MPLS-FRR-MIB DEFINITIONS ::= BEGIN

   IMPORTS
      MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
      Integer32, Unsigned32, Counter32, Counter64
         FROM SNMPv2-SMI
      MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
         FROM SNMPv2-CONF
      TruthValue, RowPointer, DisplayString, TimeStamp
         FROM SNMPv2-TC
      InterfaceIndex
         FROM IF-MIB
      mplsMIB, MplsTunnelIndex, MplsTunnelInstanceIndex,
      MplsTunnelAffinity, MplsLsrIdentifier, MplsLabel
         FROM MPLS-TC-MIB
      InetAddressIPv4, InetAddressIPv6, InetAddressType
         FROM INET-ADDRESS-MIB
      ;

   mplsFrrMIB MODULE-IDENTITY

Cetin, et. al.                                                [Page 5]


               draft-cetin-mpls-fastreroute-mib-00.txt  February 2002


      LAST-UPDATED
         "200202181200Z" -- 18 February 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
                    Sunnyvale, CA 94089
             Tel:   +1-408-745-20-74
             Email: dhg@juniper.net
           "
      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-pan-rsvp-fastreroute-00.txt, December
               2001"

   -- Revision history.

      REVISION
           "200202181200Z" -- 18 February 2002 12:00:00 GMT
      DESCRIPTION
           "Initial draft version."

      ::= { mplsMIB xxx } û- to be assigned.

   -- Top level components of this MIB.

   -- tables, scalars
   mplsFrrScalars       OBJECT IDENTIFIER ::= { mplsFrrMIB 1 }
   mplsFrrObjects       OBJECT IDENTIFIER ::= { mplsFrrMIB 2 }

   -- MPLS Fast Reroute scalars.

   mplsFrrDetourIncoming OBJECT-TYPE

Cetin, et. al.                                                [Page 6]


               draft-cetin-mpls-fastreroute-mib-00.txt  February 2002


      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 tunnels that are switched over to their
        corresponding detour LSP."
      ::= { mplsFrrScalars 4 }

   -- End of MPLS Fast Reroute scalars.

   -- MPLS Fast Reroute textual-conventions.

   MplsFrrDetourIndex ::= TEXTUAL-CONVENTION
      STATUS        current
      DESCRIPTION
        "Index into mplsFrrDetourTable."
      SYNTAX  Integer32 (1..65535)

   MplsFrrPLRIndex ::= TEXTUAL-CONVENTION
      STATUS        current
      DESCRIPTION
        "Index into mplsFrrPLRTable."
      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."

Cetin, et. al.                                                [Page 7]


               draft-cetin-mpls-fastreroute-mib-00.txt  February 2002


      SYNTAX  Unsigned32

   MplsFrrHopIndex ::= TEXTUAL-CONVENTION
      STATUS        current
      DESCRIPTION
        "A unique identifier used to identify a specific hop with in a
        path (list of hops) used by a detour LSP."
      SYNTAX  Unsigned32

   -- End of MPLS Fast Reroute textual-conventions.

   -- MPLS Fast Reroute Constraints table

   mplsFrrConstraintTable OBJECT-TYPE
      SYNTAX        SEQUENCE OF MplsFrrConstraintEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
        "This table shows detour setup constraints.ö
      ::= { mplsFrrObjects 1 }

   mplsFrrConstraintEntry OBJECT-TYPE
      SYNTAX        MplsFrrConstraintEntry
      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 {
         mplsFrrConstraintTunnelIndex,
         mplsFrrConstraintTunnelInstance
            }
      ::= { mplsFrrConstraintTable 1 }

   MplsFrrConstraintEntry ::= SEQUENCE {
         mplsFrrConstraintTunnelIndex       MplsTunnelIndex,
         mplsFrrConstraintTunnelInstance    MplsTunnelInstanceIndex,
         mplsFrrConstraintTunnelName        DisplayString,
         mplsFrrConstraintSetupPrio         INTEGER,
         mplsFrrConstraintHoldingPrio       INTEGER,
         mplsFrrConstraintInclAnyAffinity   MplsTunnelAffinity,
         mplsFrrConstraintInclAllAffinity   MplsTunnelAffinity,
         mplsFrrConstraintExclAllAffinity   MplsTunnelAffinity,
         mplsFrrConstraintHopLimit          INTEGER,
         mplsFrrConstraintBandwidth         INTEGER,
         mplsFrrConstraintRowStatus         RowStatus
   }

   mplsFrrConstraintTunnelIndex OBJECT-TYPE
      SYNTAX        MplsTunnelIndex
      MAX-ACCESS    not-accessible

Cetin, et. al.                                                [Page 8]


               draft-cetin-mpls-fastreroute-mib-00.txt  February 2002


      STATUS        current
      DESCRIPTION
        "Uniquely identifies a tunnel for which fast reroute is
        requested."
      ::= { mplsFrrConstraintEntry 1 }

   mplsFrrConstraintTunnelInstance OBJECT-TYPE
      SYNTAX        MplsTunnelInstanceIndex
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
        "Uniquely identifies an instance of this tunnel for which fast
        reroute is requested.ö
      ::= { mplsFrrConstraintEntry 2 }

   mplsFrrConstraintTunnelName OBJECT-TYPE
      SYNTAX        DisplayString
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
        "Name of the tunnel for which fast-reroute is requested."
      ::= { mplsFrrConstraintEntry 3 }

   mplsFrrConstraintSetupPrio OBJECT-TYPE
      SYNTAX        Integer32 (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"
      ::= { mplsFrrConstraintEntry 4 }

   mplsFrrConstraintHoldingPrio OBJECT-TYPE
      SYNTAX        Integer32 (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"
      ::= { mplsFrrConstraintEntry 5 }

   mplsFrrConstraintInclAnyAffinity 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."

Cetin, et. al.                                                [Page 9]


               draft-cetin-mpls-fastreroute-mib-00.txt  February 2002


      REFERENCE
        "1. RSVP-TE: Extensions to RSVP for LSP Tunnels, Awduche et al,
        RFC 3209, December 2001."
      ::= { mplsFrrConstraintEntry 6 }

   mplsFrrConstraintInclAllAffinity 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 adminstrative groups specified in the
        constraint."
      REFERENCE
        "1. RSVP-TE: Extensions to RSVP for LSP Tunnels, Awduche et al,
        RFC 3209, December 2001."
      ::= { mplsFrrConstraintEntry 7 }

   mplsFrrConstraintExclAllAffinity 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 adminstrative groups specified in the
        constraint."
      REFERENCE
        "1. RSVP-TE: Extensions to RSVP for LSP Tunnels, Awduche et al,
        RFC 3209, December 2001."
      ::= { mplsFrrConstraintEntry 8 }

   mplsFrrConstraintHopLimit OBJECT-TYPE
      SYNTAX        Integer(1..255)
      MAX-ACCESS    read-create
      STATUS        current
      DESCRIPTION
        "The maximum number of hop that the detour LSP may traverse."
   ::= { mplsFrrConstraintEntry 9 }

   mplsFrrConstraintBandwidth 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)."
      ::= { mplsFrrConstraintEntry 10 }

   mplsFrrConstraintRowStatus OBJECT-TYPE
      SYNTAX        Integer32
      MAX-ACCESS    read-create
      STATUS        current
      DESCRIPTION

Cetin, et. al.                                               [Page 10]


               draft-cetin-mpls-fastreroute-mib-00.txt  February 2002


        "This object is used to create, modify, and/or delete a row in
        this table.ö
      ::= { mplsFrrConstraintEntry 11 }

   -- End of Fast Reroute Constraints table

   -- MPLS Fast Reroute Detour Path table

   mplsFrrDetourPathTable  OBJECT-TYPE
      SYNTAX        SEQUENCE OF MplsFrrDetourPathEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
        "The mplsFrrDetourPathTable is used to show the path of all
        detours established in the network for a particular tunnel
        instance for which fast-reroute is requested."
      ::= { mplsFrrObjects 2 }

   mplsFrrDetourPathEntry  OBJECT-TYPE
      SYNTAX        MplsFrrDetourPathEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
        "An entry in this table represents a detour path hop. An entry
        in this table is only created by an SNMP agent as instructed by
        an MPLS signaling protocol.ö
      INDEX {
          mplsFrrConstraintTunnelIndex,
          mplsFrrConstraintTunnelInstance,
          mplsFrrDetourPathIndex,
          mplsFrrDetourPathHopIndex
            }
      ::= { mplsFrrDetourPathTable 1 }

   MplsFrrDetourPathEntry ::= SEQUENCE {
         mplsFrrDetourPathIndex       MplsFrrPathIndex,
         mplsFrrDetourPathHopIndex    MplsFrrHopIndex,
         mplsFrrDetourPathHopAddrType INTEGER,
         mplsFrrDetourPathHopIpv4Addr InetAddressIPv4,
         mplsFrrDetourPathHopIpv6Addr InetAddressIPv6,
         mplsFrrDetourPathIsMerged    TruthValue,
         mplsFrrDetourPathMergedPath  MplsFrrPathIndex,
         mplsFrrDetourPathMergedHop   MplsFrrHopIndex,
         mplsFrrDetourPathIsAvailable TruthValue
      }

   mplsFrrDetourPathIndex OBJECT-TYPE
      SYNTAX        MplsFrrPathIndex
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
        "Primary index into this table identifying a particular detour
        path hop list."

Cetin, et. al.                                               [Page 11]


               draft-cetin-mpls-fastreroute-mib-00.txt  February 2002


      ::= { mplsFrrDetourPathEntry 1 }

   mplsFrrDetourPathHopIndex OBJECT-TYPE
      SYNTAX        MplsFrrHopIndex
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
        "Secondary index into this table identifying the particular hop
        of this detour path. The first hop of the path (index value
        equal to 1) identifies the PLR that established the detour LSP
        that has this path."
      ::= { mplsFrrDetourPathEntry 2 }

   mplsFrrDetourPathHopAddrType OBJECT-TYPE
      SYNTAX        INTEGER {
                         ipV4(1),
                         ipV6(2)
                    }
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
        "Denotes the address type of this hop."
      DEFVAL        { ipV4 }
      ::= { mplsFrrDetourPathEntry 3 }

   mplsFrrDetourPathHopIpv4Addr OBJECT-TYPE
      SYNTAX        InetAddressIPv4
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
        "If mplsFrrDetourPathHopAddrType 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."
      ::= { mplsFrrDetourPathEntry 4 }

   mplsFrrDetourPathHopIpv6Addr OBJECT-TYPE
      SYNTAX        InetAddressIPv6
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
        "If the mplsFrrDetourPathHopAddrType 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."
      ::= { mplsFrrDetourPathEntry 5 }

   mplsFrrDetourPathIsMerged OBJECT-TYPE
      SYNTAX        TruthValue
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION



Cetin, et. al.                                               [Page 12]


               draft-cetin-mpls-fastreroute-mib-00.txt  February 2002


        "Denotes whether this detour path is merged or not at this hop.
        The detour can be merged with another detour or with the
        protected LSP."
      ::= { mplsFrrDetourPathEntry 6 }

   mplsFrrDetourPathMergedPath OBJECT-TYPE
      SYNTAX        MplsFrrPathIndex
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
        "This object identifies the index of the detour path in this
        table with which this detour path is merged. This object is
        only applicable when mplsFrrDetourPathIsMerged is set to true.
        If this detour path merges with the protected LSP, then this
        object is set to value 0."
      ::= { mplsFrrDetourPathEntry 7 }

   mplsFrrDetourPathMergedHop OBJECT-TYPE
      SYNTAX        MplsFrrHopIndex
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
        " This object identifies the index of the hop within the path
        given by mplsFrrDetourPathMergedPath at which this detour path
        is merged. This object is only applicable when
        mplsFrrDetourPathIsMerged is set to true. If this detour path
        merges with the protected LSP, then this object is set to value
        0."
      ::= { mplsFrrDetourPathEntry 8 }

   mplsFrrDetourPathIsAvailable OBJECT-TYPE
      SYNTAX        TruthValue
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
        "Denotes whether or not the PLR was able to record the route of
        the detour LSP it originates, i.e. whether or not the PLR
        supports BRRO."
      ::= { mplsFrrDetourPathEntry 9 }

   -- End of MPLS Fast Reroute Detour Path 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 like for instance the tunnels they are
        protecting."
      ::= { mplsFrrObjects 3 }

Cetin, et. al.                                               [Page 13]


               draft-cetin-mpls-fastreroute-mib-00.txt  February 2002



   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 {
         mplsFrrDetourTunnelIndex,
         mplsFrrDetourTunnelInstance,
         mplsFrrDetourIngressLSRId,
         mplsFrrDetourEgressLSRId,
         mplsFrrDetourIndex
         }
      ::= { mplsFrrDetourTable 1 }

   MplsFrrDetourEntry ::= SEQUENCE {
         mplsFrrDetourTunnelIndex        MplsTunnelIndex,
         mplsFrrDetourTunnelInstance     MplsTunnelInstanceIndex,
         mplsFrrDetourIngressLSRId       MplsLsrIdentifier,
         mplsFrrDetourEgressLSRId        MplsLsrIdentifier,
         mplsFrrDetourIndex              MplsFrrDetourIndex,
         mplsFrrDetourTunnelName         DisplayString,
         mplsFrrDetourRole               INTEGER,
         mplsFrrDetourActive             TruthValue,
         mplsFrrDetourMerging            INTEGER,
         mplsFrrDetourMergedDetourIndex  MplsFrrDetourIndex,
         mplsFrrDetourSenderAddrType     INTEGER,
         mplsFrrDetourSenderIpv4Addr     InetAddressIPv4,
         mplsFrrDetourSenderIpv6Addr     InetAddressIPv6,
         mplsFrrDetourSetupPrio          INTEGER,
         mplsFrrDetourHoldingPrio        INTEGER,
         mplsFrrDetourInclAnyAffinity    MplsTunnelAffinity,
         mplsFrrDetourInclAllAffinity    MplsTunnelAffinity,
         mplsFrrDetourExclAllAffinity    MplsTunnelAffinity,
         mplsFrrDetourHopLimit           INTEGER,
         mplsFrrDetourSignallingProto    INTEGER,
         mplsFrrDetourBandwidth          Integer32,
         mplsFrrDetourExplicitPathIndex  MplsFrrPathIndex,
         mplsFrrDetourRecordPathIndex    MplsFrrPathIndex,
         mplsFrrDetourXCPointer          RowPointer,
         mplsFrrDetourPathChanges        Counter32,
         mplsFrrDetourLastPathChange     TimeStamp,
         mplsFrrDetourCreationTime       TimeStamp
   }

   mplsFrrDetourTunnelIndex OBJECT-TYPE
      SYNTAX        MplsTunnelIndex
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION

Cetin, et. al.                                               [Page 14]


               draft-cetin-mpls-fastreroute-mib-00.txt  February 2002


        "Uniquely identifies a tunnel that this detour is protecting."
      ::= { mplsFrrDetourEntry 1 }

   mplsFrrDetourTunnelInstance OBJECT-TYPE
      SYNTAX        MplsTunnelInstanceIndex
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
        "Uniquely identifies an instance of a tunnel that this detour
        is protecting."
      ::= { mplsFrrDetourEntry 2 }

   mplsFrrDetourIngressLSRId OBJECT-TYPE
      SYNTAX        MplsLsrIdentifier
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
        "This value represents the LSR initiating the tunnel that this
        detour is protecting."
      ::= { mplsFrrDetourEntry 3 }

   mplsFrrDetourEgressLSRId OBJECT-TYPE
      SYNTAX        MplsLsrIdentifier
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
        "This value represents the egress LSR of the tunnel that this
        detour is protecting."
      ::= { mplsFrrDetourEntry 4 }

   mplsFrrDetourIndex OBJECT-TYPE
      SYNTAX        MplsFrrDetourIndex
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
        "Uniquely identifies this detour."
      ::= { mplsFrrDetourEntry 5 }

   mplsFrrDetourTunnelName OBJECT-TYPE
      SYNTAX        DisplayString
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
        "The canonical name assigned to the tunnel that this detour is
        protecting.ö
      ::= { mplsFrrDetourEntry 6 }

   mplsFrrDetourRole OBJECT-TYPE
      SYNTAX        INTEGER { head(1), transit(2), tail(3) }
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION


Cetin, et. al.                                               [Page 15]


               draft-cetin-mpls-fastreroute-mib-00.txt  February 2002


        "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 protecting
        tunnel, then the Role is still considered as transit."
      ::= { mplsFrrDetourEntry 7 }

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

   mplsFrrDetourMerging OBJECT-TYPE
      SYNTAX        INTEGER { none(0), protectingTunnel(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 protectingTunnel(1) if this detour is
        merged with the protecting tunnel. This value MUST be set to
        detour(2) if this detour is merged with another detour
        protecting the same tunnel.ö
      ::= { mplsFrrDetourEntry 9 }

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

   mplsFrrDetourSenderAddrType OBJECT-TYPE
      SYNTAX        INTEGER {
                         ipV4(1),
                         ipV6(2)
                    }
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
        "Denotes the address type of this detourÆs sender address."
      DEFVAL        { ipV4 }

Cetin, et. al.                                               [Page 16]


               draft-cetin-mpls-fastreroute-mib-00.txt  February 2002


      ::= { mplsFrrDetourEntry 11 }

   mplsFrrDetourSenderIpv4Addr OBJECT-TYPE
      SYNTAX        InetAddressIPv4
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
        "If mplsFrrDetourSenderAddrType is set to ipV4(1), then this
        value will contain the IPv4 address of this detourÆs sender.
        This object is otherwise insignificant and should contain a
        value of 0."
      ::= { mplsFrrDetourEntry 12 }

   mplsFrrDetourSenderIpv6Addr OBJECT-TYPE
      SYNTAX        InetAddressIPv6
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
        "If the mplsFrrDetourSenderAddrType is set to ipV6(2), then
        this variable contains the IPv6 address of this detourÆs
        sender.  This object is otherwise insignificant and should
        contain a value of 0."
      ::= { mplsFrrDetourEntry 13 }

   mplsFrrDetourSetupPrio OBJECT-TYPE
      SYNTAX        Integer32 (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 14 }

   mplsFrrDetourHoldingPrio OBJECT-TYPE
      SYNTAX        Integer32 (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 15 }

   mplsFrrDetourInclAnyAffinity OBJECT-TYPE
      SYNTAX        MplsTunnelAffinity
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION



Cetin, et. al.                                               [Page 17]


               draft-cetin-mpls-fastreroute-mib-00.txt  February 2002


        "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 16 }

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

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

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

   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 }

Cetin, et. al.                                               [Page 18]


               draft-cetin-mpls-fastreroute-mib-00.txt  February 2002


      ::= { mplsFrrDetourEntry 20 }

   mplsFrrDetourBandwidth OBJECT-TYPE
      SYNTAX        Integer32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
        "This variable represents the bandwidth for this detour, in
        units of thousands of bits per second (Kbps)."
      ::= { mplsFrrDetourEntry 21 }

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

   mplsFrrDetourRecordPathIndex OBJECT-TYPE
      SYNTAX        MplsFrrPathIndex
      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."
      ::= { mplsFrrDetourEntry 23 }

   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.

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

   mplsFrrDetourPathChanges OBJECT-TYPE
      SYNTAX        Counter32
      MAX-ACCESS    read-only

Cetin, et. al.                                               [Page 19]


               draft-cetin-mpls-fastreroute-mib-00.txt  February 2002


      STATUS        current
      DESCRIPTION
        "Specifies the number of times the paths has changed for this
        detour."
      ::= { mplsFrrDetourEntry 25 }

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

   mplsFrrDetourCreationTime OBJECT-TYPE
      SYNTAX        TimeStamp
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
        "Specifies the value of SysUpTime when the detour came into
        existence."
      ::= { mplsFrrDetourEntry 27 }

   -- End of Fast Reroute Detour 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 list of PLRs of which detours are merged
        together and also their corresponding avoid node."
      ::= { mplsFrrObjects 4 }

   mplsFrrPLREntry  OBJECT-TYPE
      SYNTAX        MplsFrrPLREntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
        "An entry in this table represents a PLR together with its
        avoid node. An entry in this table is only created by an SNMP
        agent as instructed by an MPLS signaling protocol. "
      INDEX {
         mplsFrrDetourTunnelIndex,
         mplsFrrDetourTunnelInstance,
         mplsFrrDetourIngressLSRId,
         mplsFrrDetourEgressLSRId,
         mplsFrrDetourIndex,
         mplsFrrPLRIndex }
      ::= { mplsFrrPLRTable 1 }

Cetin, et. al.                                               [Page 20]


               draft-cetin-mpls-fastreroute-mib-00.txt  February 2002



   MplsFrrPLREntry ::= SEQUENCE {
         mplsFrrPLRIndex                  MplsFrrPLRIndex,
         mplsFrrPLRAddrType               INTEGER,
         mplsFrrPLRIpv4Addr               InetAddressIPv4,
         mplsFrrPLRIpv6Addr               InetAddressIPv6,
         mplsFrrPLRAvoidNodeAddrType      INTEGER,
         mplsFrrPLRAvoidNodeIpv4Addr      InetAddressIPv4,
         mplsFrrPLRAvoidNodeIpv6Addr      InetAddressIPv6
   }

   mplsFrrPLRIndex OBJECT-TYPE
      SYNTAX        MplsFrrPLRIndex
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
        "Secondary index into this table identifying the particular PLR
        and avoid node."
      ::= { mplsFrrPLREntry 1 }

   mplsFrrPLRAddrType OBJECT-TYPE
      SYNTAX        INTEGER {
                         ipV4(1),
                         ipV6(2)
                    }
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
        "Denotes the address type of this PLR."
      DEFVAL        { ipV4 }
      ::= { mplsFrrPLREntry 2 }

   mplsFrrPLRIpv4Addr OBJECT-TYPE
      SYNTAX        InetAddressIPv4
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
        "If mplsFrrPLRAddrType is set to ipV4(1), then this value will
        contain the IPv4 address of this PLR. This object is otherwise
        insignificant and should contain a value of 0."
      ::= { mplsFrrPLREntry 3 }

   mplsFrrPLRIpv6Addr OBJECT-TYPE
      SYNTAX        InetAddressIPv6
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
        "If the mplsFrrPLRAddrType is set to ipV6(2), then this
        variable contains the IPv6 address of this PLR.  This object is
        otherwise insignificant and should contain a value of 0."
      ::= { mplsFrrPLREntry 4 }

   mplsFrrPLRAvoidNodeAddrType OBJECT-TYPE

Cetin, et. al.                                               [Page 21]


               draft-cetin-mpls-fastreroute-mib-00.txt  February 2002


      SYNTAX        INTEGER {
                         ipV4(1),
                         ipV6(2)
                    }
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
        "Denotes the address type of this avoid node."
      DEFVAL        { ipV4 }
      ::= { mplsFrrPLREntry 5 }

   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 this avoid node. This
        object is otherwise insignificant and should contain a value of
        0."
      ::= { mplsFrrPLREntry 6 }

   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 this avoid node.
        This object is otherwise insignificant and should contain a
        value of 0."
      ::= { mplsFrrPLREntry 7 }

   -- End of MPLS Fast Reroute Point of Local Repair 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 two different sets
        of hops in this table: a set for the explicit route path and
        another set for the record path hops, pointed by
        mplsFrrDetourExplicitPathIndex and the
        mplsFrrDetourRecordPathIndex, respectively, from the
        mplsFrrDetourTable.

        Each row in this table is indexed by mplsFrrHopListIndex.  Each
        row also has a secondary index mplsFrrHopIndex, corresponding
        to the next hop."

Cetin, et. al.                                               [Page 22]


               draft-cetin-mpls-fastreroute-mib-00.txt  February 2002


      ::= { mplsFrrObjects 5 }

   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 }

Cetin, et. al.                                               [Page 23]


               draft-cetin-mpls-fastreroute-mib-00.txt  February 2002



   mplsFrrHopIpv4Addr OBJECT-TYPE
      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 ipV4(1), then the prefix length for
        this hop's IPv4 address is contained herein. 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 is detour hop is routed in a strict or
        loose fashion."
      ::= { mplsFrrHopEntry 8 }

Cetin, et. al.                                               [Page 24]


               draft-cetin-mpls-fastreroute-mib-00.txt  February 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 6 }

   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 {
         mplsFrrDetourTunnelIndex,
         mplsFrrDetourTunnelInstance,
         mplsFrrDetourIngressLSRId,
         mplsFrrDetourEgressLSRId,
         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 }


Cetin, et. al.                                               [Page 25]


               draft-cetin-mpls-fastreroute-mib-00.txt  February 2002


   mplsFrrInSegLabel OBJECT-TYPE
      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 }


Cetin, et. al.                                               [Page 26]


               draft-cetin-mpls-fastreroute-mib-00.txt  February 2002


   mplsFrrInSegCounterDiscTime OBJECT-TYPE
      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 7 }

   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 {
         mplsFrrDetourTunnelIndex,
         mplsFrrDetourTunnelInstance,
         mplsFrrDetourIngressLSRId,
         mplsFrrDetourEgressLSRId,
         mplsFrrDetourIndex
         }
      ::= { mplsFrrOutSegTable 1 }

   MplsFrrOutSegEntry ::= SEQUENCE {
         mplsFrrOutSegIfIndex           InterfaceIndex,
         mplsFrrOutSegTopLabel          MplsLabel,
         mplsFrrOutSegNHIpAddrType      INTEGER,
         mplsFrrOutSegNHIpv4Addr        InetAddressIPv4,
         mplsFrrOutSegNHIpv6Addr        InetAddressIPv6,
         mplsFrrOutSegOctets            Counter32,
         mplsFrrOutSegPackets           Counter32,

Cetin, et. al.                                               [Page 27]


               draft-cetin-mpls-fastreroute-mib-00.txt  February 2002


         mplsFrrOutSegErrors            Counter32,
         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 }

   mplsOutSegNHIpAddrType OBJECT-TYPE
      SYNTAX        INTEGER {
                         unknown(0),
                         ipV4(1),
                         ipV6(2)
                    }
      MAX-ACCESS    read-create
      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-create
      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-create
      STATUS        current
      DESCRIPTION

Cetin, et. al.                                               [Page 28]


               draft-cetin-mpls-fastreroute-mib-00.txt  February 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 29]


               draft-cetin-mpls-fastreroute-mib-00.txt  February 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

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., and J., Jork, ôFast Reroute Techniques in RSVP-TEö,
      Internet Draft, <draft-pan-rsvp-fastreroute-00.txt>, November
      2001. Work in progress.

9. Acknowledgments

   We would like to thank Walter Vanhimbeeck and Yeong Tai for the
   helpful discussions.











Cetin, et. al.                                               [Page 30]


               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

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