Network Working Group                                  Thomas D. Nadeau
Internet Draft                                      Cisco Systems, Inc.
Expires: July 2002
                                                      Cheenu Srinivasan
                                                  Parama Networks, Inc.

                                                          Adrian Farrel
                                                   Movaz Networks, Inc.

                                                               Tim Hall
                                                        Edward Harrison
                                                   Data Connection Ltd.

                                                           January 2002


  Generalized Multiprotocol Label Switching (GMPLS) Traffic
           Engineering Management Information Base

           draft-nadeau-ccamp-gmpls-te-mib-01.txt

Status of this Memo

   This document is an Internet-Draft and is in full
   conformance with all provisions of Section 10 of RFC2026.

   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.

Abstract

   This memo defines an experimental 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) [RFC3031] and
   Generalized Multiprotocol Label Switching (GMPLS)
   [GMPLSArch] based traffic engineering.



Nadeau et al.                Expires July 2002               [Page 1]


Internet Draft                GMPLS TE MIB               January 2002





Table of Contents

  1. Changes and Pending Work  .................................. 2
   1.1.  Changes Since Last Version  ............................ 2
   1.2.  Pending Work  .......................................... 3
  2. Introduction  .............................................. 4
   2.1.  Migration Strategy  .................................... 4
  3. Terminology  ............................................... 5
  4. The SNMP Management Framework  ............................. 5
  5. Feature List  .............................................. 6
  6. Outline  ................................................... 7
   6.1.  Summary of GMPLS Traffic Engineering MIB  .............. 7
  7. Brief Description of MIB Objects  .......................... 8
   7.1.  gmplsTunnelTable  ...................................... 8
   7.2.  gmplsTunnelResourceTable  .............................. 9
   7.3.  gmplsTunnelHopTable  ................................... 9
    7.3.1 Determining next entries in gmplsTunnelHopTable  ...... 9
   7.4.  gmplsTunnelARHopTable  ................................. 9
   7.5.  gmplsTunnelCHoptable  ................................. 10
   7.6.  gmplsTunnelPerfTable  ................................. 10
   7.7.  gmplsTunnelErrorTable  ................................ 10
  8. Support of Interface Table for MPLS and GMPLS Tunnels  .... 10
   8.1.  Support of the MPLS Tunnel Interface by ifTable  ...... 11
  9. Example of MPLS Tunnel Setup  ............................. 12
  10.   Example of GMPLS Tunnel Setup  ......................... 14
  11.   The Use of RowPointer and Other Cross-References  ...... 16
   11.1. RowPointer  ........................................... 16
   11.2. Cross-referencing to the gmplsLabelTable  ............. 17
  12.   GMPLS Traffic Engineering MIB Definitions  ............. 17
  13.   Security Considerations  ............................... 95
  14.   Acknowledgments  ....................................... 96
  15.   References  ............................................ 97
   15.1. Normative References  ................................. 97
   15.2. Informational References  ............................ 100
  16.    Authors' Addresses  .................................. 101
  17.   Full Copyright Statement  ............................. 102



1. Changes and Pending Work

   This section to be removed before the draft progresses to
   RFC.


1.1.  Changes Since Last Version

   -  Add AS Number and LSP Id to AR Hop Table.



Nadeau et al.                Expires July 2002               [Page 2]


Internet Draft                GMPLS TE MIB               January 2002




   -  Changes for compilation.

   -  Last error {MIB code, timestamp, protocol codes} added
      as new table.

   -  Add gmplsTunnelInstanceNextTable.

   -  Apply bug fixes in line with updates to [TCMIB].

   -  Update examples and provide more detail.


1.2.  Pending Work

   The following work items have been identified for this
   draft.  They will be addressed in a future version.

   -  Clarify which objects can be modified when rowStatus
      and adminStatus are set to active

   -  Expand conformance statements to give one for
      monitoring only, and one for monitoring and control.

   -  Bring references up to date, include all drafts
      referenced from this document, and exclude those that
      are not referenced.

   -  Provide objects or tables to support getNextIndex for
      all arbitrary indexes.

   -  Consider a way to expose tunnel head, tunnel tail, and
      tunnel transit entries through distinct indexing or
      tables.

   -  Provide support for configuring tunnel resources in
      GMPLS systems.  For example, SONET/SDH or G.709.  This
      might be done through an arbitrary RowPointer to an
      external MIB.

   -  Link Ids in EROs and RROs for use of bundled links.

   -  Crankback request and reported information.

   -  Control and reporting of upstream and downstream
      Notify Recipients.

   -  Add support for control and reporting of GMPLS
      Administrative Status object.




Nadeau et al.                Expires July 2002               [Page 3]


Internet Draft                GMPLS TE MIB               January 2002



   -  Update enumerated types in line with latest GMPLS
   drafts.

   -  Resolve ownership of enumerated types that are also
      defined in GMPLS or routing drafts.  (See "Ed Note:"
      in text.)  These could be owned by IANA, imported from
      another MIB, or manually kept in step here.  If they
      are not maintained externally then they are likely to
      diverge and MIB implementations will need to provide
      mappings.


2. Introduction

   This memo defines an experimental 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) [RFC3031] and
   Generalized Multiprotocol Label Switching (GMPLS)
   [GMPLSArch] based traffic engineering.

   Comments should be made directly to the CCAMP mailing
   list at ccamp@ops.ietf.org.

   This memo does not, in its draft form, specify a standard
   for the Internet community.


2.1.  Migration Strategy

   This MIB is built upon the traffic engineering MIB
   defined for use with MPLS [TEMIB]. The only changes made
   are additions for support of GMPLS or changes that are
   necessary to support the increased complexity of a GMPLS
   system.

   In all cases, these changes have been made such that
   migration from [TEMIB] to this MIB will be as simple as
   possible.

   Note that this MIB may be used in systems that support
   MPLS, GMPLS or both.

   This MIB may be seen as a replacement for the MPLS TE MIB
   [TEMIB] in systems which support GMPLS, but it is not a
   requirement that it replace the MPLS TE MIB in systems
   that only support MPLS.

   The companion document modeling and managing GMPLS based



Nadeau et al.                Expires July 2002               [Page 4]


Internet Draft                GMPLS TE MIB               January 2002



   LSRs [GMPLSLSRMIB] is based on the MPLS LSR MIB [LSRMIB]
   with the same intentions.  It is not expected that a
   system would mix MPLS and GMPLS MIBs.

   Textual conventions and OBJECT-IDENTIFIERS are defined in
   [GMPLSTCMIB] which extends the set of textual conventions
   defined in [TCMIB].

   See section 11.1 for a description of how the
   gmplsLabelTable may be omitted in systems that support
   MPLS only.


3. Terminology

   This document uses terminology from the MPLS architecture
   document [RFC3031] and GMPLS Label Switching Router MIB
   [GMPLSLSRMIB].  It imports constructs from the GMPLS
   textual conventions MIB [GMPLSTCMIB] and from the MPLS
   textual conventions MIB [TCMIB].  Some frequently used
   terms are described next.

   An explicitly routed LSP (ERLSP) is referred to as an
   MPLS tunnel.  It consists of one in-segment and/or one
   out-segment at the ingress/egress LSRs, each segment
   being associated with one MPLS interface.  These are also
   referred to as tunnel segments.

   Additionally, at an intermediate LSR, we model a
   connection as consisting of one or more in-segments
   and/or one or more out-segments.  The binding or
   interconnection between in-segments and out-segments in
   performed using a cross-connect.  These objects are
   defined in the GMPLS Label Switching Router MIB
   [GMPLSLSRMIB].


4. The SNMP Management Framework

   The SNMP Management Framework presently consists of five
   major components:

   -  An overall architecture, described in RFC 2571
   [RFC2571].

   -  Mechanisms for describing and naming objects and
      events for the purpose of management.  The first
      version of this Structure of Management Information
      (SMI) is called SMIv1 and described in STD 16, RFC
      1155 [RFC1155], STD 16, RFC 1212 [RFC1212] and RFC



Nadeau et al.                Expires July 2002               [Page 5]


Internet Draft                GMPLS TE MIB               January 2002



      1215 [RFC1215].  The second version, called SMIv2, is
      described in STD 58, RFC 2578 [RFC2578], STD 58, RFC
      2579 [RFC2579] and STD 58, RFC 2580 [RFC2580].

   -  Message protocols for transferring management
      information.  The first version of the SNMP message
      protocol is called SNMPv1 and described in STD 15, RFC
      1157 [RFC1157].  A second version of the SNMP message
      protocol, which is not an Internet standards track
      protocol, is called SNMPv2c and described in RFC 1901
      [RFC1901] and RFC 1906 [RFC1906].  The third version
      of the message protocol is called SNMPv3 and described
      in RFC 1906 [RFC1906], RFC 2572 [RFC2572] and RFC 2574
      [RFC2574].

   -  Protocol operations for accessing management
      information.  The first set of protocol operations and
      associated PDU formats is described in STD 15, RFC
      1157 [RFC1157].  A second set of protocol operations
      and associated PDU formats is described in RFC 1905
      [RFC1905].

   -  A set of fundamental applications described in RFC
      2573 [RFC2573] and the view-based access control
      mechanism described in RFC 2575 [RFC2575].

   A more detailed introduction to the current SNMP
   Management Framework can be found in RFC 2570 [RFC2570].

   Managed objects are accessed via a virtual information
   store, termed the Management Information Base or MIB.

   Objects in the MIB are defined using the mechanisms
   defined in the SMI.

   This memo specifies a MIB module that is compliant to the
   SMIv2.  A MIB conforming to the SMIv1 can be produced
   through the appropriate translations.  The resulting
   translated MIB must be semantically equivalent, except
   where objects or events are omitted because no
   translation is possible (use of Counter64).  Some machine
   readable information in SMIv2 will be converted into
   textual descriptions in SMIv1 during the translation
   process.

   However, this loss of machine readable information is not
   considered to change the semantics of the MIB.


5. Feature List



Nadeau et al.                Expires July 2002               [Page 6]


Internet Draft                GMPLS TE MIB               January 2002




   The GMPLS traffic engineering MIB is designed to satisfy
   the following requirements and constraints.

   -  The MIB supports MPLS and GMPLS tunnels.

   -  The MIB supports configuration of point-to-point
      unidirectional and bidirectional tunnels.

   -  Tunnels need not be interfaces, but it is possible to
      configure a tunnel as an interface.

   -  The MIB supports manually configured tunnels as well as
     those set up via an MPLS or GMPLS signaling protocol.

   -  The MIB supports persistent as well as non-persistent
   tunnels.


6. Outline

   Support for MPLS or GMPLS traffic-engineered tunnels
   requires the following configuration.

   -  Setting up tunnels along with appropriate MPLS or
      GMPLSconfiguration parameters.

   -  Configuring tunnel loose and strict source routed
   hops.

   These actions may need to be accompanied with
   corresponding actions using [GMPLSLSRMIB] to establish
   and configure tunnel segments, if this is done manually.
   Also, the in-segment and out-segment performance tables,
   mplsInSegmentPerfTable and mplsOutSegmentPerfTable
   [GMPLSLSRMIB], should be used to determine performance of
   the tunnels and tunnel segments.


6.1.  Summary of GMPLS Traffic Engineering MIB

   The MIB objects for performing these actions consist of
   the following tables.

   -  Tunnel Table (gmplsTunnelTable) for setting up MPLS or
      GMPLS tunnels.

   -  Resource table (gmplsTunnelResourceTable) for setting
      up the tunnel resources.




Nadeau et al.                Expires July 2002               [Page 7]


Internet Draft                GMPLS TE MIB               January 2002



   -  Tunnel specified, actual, and computed hop tables
      (gmplsTunnelHopTable, gmplsTunnelARHopTable, and
      gmplsTunnelCHopTable) for strict and loose source
      routed tunnel hops.

   -  CRLDP resource table (gmplsTunnelCRLDPResTable) for
      specifying resource objects applicable only to tunnels
      signaled using CRLDP.

   -  Performance and error reporting tables
      (gmplsTunnelPerfTable and gmplsTunnelErrorTable).

   These tables are described in the subsequent sections.


7. Brief Description of MIB Objects

   The objects described in this section support the
   functionality described in documents [RSVPTE] and [CRLDP]
   for MPLS tunnels and the functionality described in
   [GMPLSRSVPTE] and [GMPLSCRLDP] for GMPLS tunnels.

   The tables support both manually configured and signaled
   tunnels.


7.1.  gmplsTunnelTable

   The gmplsTunnelTable allows new MPLS and GMPLS tunnels to
   be created between an LSR and a remote endpoint, and
   existing tunnels to be reconfigured or removed.  Note
   that we only support point-to-point tunnel segments,
   although multi-point-to-point and point-to-multi-point
   connections are supported by an LSR acting as a cross-
   connect.

   Each tunnel can thus have one out-segment originating at
   an LSR and/or one in-segment terminating at that LSR.

   gmplsTunnelTable does not define the in and out segments
   forming the tunnel.  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 gmplsTunnelTable using a
   cross-connect index, gmplsTunnelXCIndex.

   These segment and cross-connect related objects are
   defined in [GMPLSLSRMIB].

   The gmplsTunnelTable is indexed by two arbitrary indexes



Nadeau et al.                Expires July 2002               [Page 8]


Internet Draft                GMPLS TE MIB               January 2002



   (and some other indexes).  The next available value for
   the primary index (gmplsTunnelIndex) can be found by
   reading the gmplsNextIndex object.  For any specific set
   of values of the primary indexes (gmplsTunnelIndex,
   gmplsTunnelIngressLSRId and gmplsTunnelEgressLSRId) the
   next value of the secondary index (gmplsTunnelInstance)
   can be found by reading the gmplsTunnelInstanceNextTable
   entry with the same primary indexes.


7.2.  gmplsTunnelResourceTable

   The gmplsTunnelResourceTable is used to indicate the
   resources required for a tunnel.  Multiple tunnels may
   share the same resources by pointing to the same entry in
   this table.  Tunnels that do not share resources must
   point to separate entries in this table.


7.3.  gmplsTunnelHopTable

   The gmplsTunnelHopTable is used to indicate the hops,
   strict or loose, for an MPLS or GMPLS tunnel defined in
   gmplsTunnelTable, when it is established using signaling.
   Multiple tunnels may share the same hops by pointing to
   the same entry in this table.  Each row also has a
   secondary index, gmplsTunnelHopIndex, corresponding to
   the next hop of this tunnel.  The scalar
   mplsTunnelMaxHops indicates the maximum number of hops
   that can be specified on each tunnel supported by this
   LSR.

7.3.1 Determining next entries in gmplsTunnelHopTable

   Two tables (gmplsTunnelHopPathOptionIndexNextTable and
   gmplsTunnelHopIndexNextTable) can be used in association
   with a scalar (gmplsTunnelHopListIndexNext) to determine
   the next available indexing values in the
   gmplsTunnelHopTable.


7.4.  gmplsTunnelARHopTable

   The gmplsTunnelARHopTable is used to indicate the actual
   hops traversed by a tunnel as reported by the signaling
   protocol after the tunnel is setup.  The support of this
   table is optional since not all MPLS/GMPLS signaling
   protocols support this feature.





Nadeau et al.                Expires July 2002               [Page 9]


Internet Draft                GMPLS TE MIB               January 2002



7.5.  gmplsTunnelCHoptable

   The gmplsTunnelCHopTable lists the actual hops computed
   by a constraint-based routing algorithm based on the
   gmplsTunnelHopTable.

   The support of this table is optional since not all
   implementations support computation of hop list using a
   constraint-based routing protocol.


7.6.  gmplsTunnelPerfTable

   gmplsTunnelPerfTable provides several counters to measure
   the performance of the MPLS and GMPLS tunnels.  This
   table augments gmplsTunnelTable.

   Note that not all counters may be appropriate or
   available for some types of tunnel.


7.7.  gmplsTunnelErrorTable

   The gmplsTunnelErrorTable provides access to information
   about the last error that occurred on each tunnel known
   about by the MIB.  It indicates the nature of the error,
   when and how it was reported and can give recovery advice
   through a display string. gmplsTunnelCRLDPResTable

   The gmplsTunnelCRLDPResTable contains additional resource
   information for those tunnels that are signaled using
   CRLDP [CRLDP].  This is a sparse extension to
   mplsTunnelResourceTable and is also indexed by
   gmplsTunnelResourceIndex.  As with
   gmplsTunnelResourceTable, multiple tunnels may share the
   same resources by pointing to the same entry in this
   table.  Tunnels that do not share resources must point to
   separate entries in this table.


8. Support of Interface Table for MPLS and GMPLS Tunnels

   This memo contains media-specific extensions to the
   Interfaces Group for managing MPLS and GMPLS Tunnels as
   logical interfaces and  assumes the interpretation of the
   Interfaces Group to be in accordance with [RFC2863] which
   states that the interfaces table (ifTable) contains
   information on the managed resource's interfaces and that
   each sub-layer below the internetwork layer of a network
   interface is considered an interface.  Thus, the MPLS



Nadeau et al.               Expires July 2002               [Page 10]


Internet Draft                GMPLS TE MIB               January 2002



   interface is represented as an entry in the ifTable (from
   this perspective, MPLS and GMPLS should be considered to
   operate at the MPLS interface).

   The interrelation of entries in the ifTable is defined by
   the Interfaces Stack Group defined in [RFC2863].

   MPLS and GMPLS tunnels may themselves be used as
   interfaces.  When using tunnels as interfaces, the
   interface stack table might appear as follows:

     +------------------------------------------------+
     | MPLS tunnel interface ifType = mplsTunnel(150) |
     +------------------------------------------------+
     |  MPLS interface ifType = mpls(166)             |
     +------------------------------------------------+

     |   Underlying layer                             |
     +------------------------------------------------+

   In the above diagram, "Underlying Layer" refers to the
   ifIndex of any interface type, which has been defined for
   MPLS interworking.  Examples include ATM, Frame Relay,
   and Ethernet.


8.1.  Support of the MPLS Tunnel Interface by ifTable

   Some specific interpretations of ifTable for those MPLS
   tunnels represented as interfaces follow:

   Object          Use for the MPLS tunnel

   ifIndex         Each MPLS tunnel is represented by an
                   ifEntry.

   ifDescr         Description of the MPLS tunnel..

   ifType          The value that is allocated for MPLS
                   tunnel is 150.

   ifSpeed         The total bandwidth in bits per second
                   for use by the MPLS tunnel.

   ifAdminStatus   See [RFC2863].

   ifOperStatus    Assumes the value down(2) if the MPLS
                   tunnel is down.

   ifLastChange    See [RFC2863].



Nadeau et al.               Expires July 2002               [Page 11]


Internet Draft                GMPLS TE MIB               January 2002




   ifInOctets      The number of octets received over the
                   MPLS tunnel.

   ifOutOctets     The number of octets transmitted over
                   the MPLS tunnel.

   ifInErrors      The number of labeled packets dropped
                   due to uncorrectable errors.

   ifInUnknownProtos   The number of received packets
                   discarded during packet header
                   validation, including packets with
                   unrecognized label values.

   ifOutErrors     See [RFC2863].

   ifName          Textual name (unique on this system) of
                   the MPLS tunnel or an octet string of
                   zero length.

   ifLinkUpDownTrapEnable

                   Default is disabled (2).

   ifConnectorPresent  Set to false (2).

   ifHighSpeed     See [RFC2863].

   ifHCInOctets    The 64-bit version of ifInOctets;
                   supported if required by the compliance
                   statements in [RFC2863].

   ifHCOutOctets   The 64-bit version of ifOutOctets;
                   supported if required by the compliance
                   statements in [RFC2863].

   ifAlias         The non-volatile 'alias' name for the
                   MPLS tunnel as specified by a network
                   manager.


9. Example of MPLS Tunnel Setup

   This section contains an example of which MIB objects
   should be modified to create a best effort, loosely
   routed, unidirectional traffic engineered tunnel, which
   spans two hops of a simple network.

   Note that these objects should be created on the "head-



Nadeau et al.               Expires July 2002               [Page 12]


Internet Draft                GMPLS TE MIB               January 2002



   end" LSR.

   This example is for an MPLS tunnel.  It does not use any
   features of GMPLS.

   In gmplsTunnelTable:
   {
     gmplsTunnelIndex = 1,
     gmplsTunnelInstance = 1,
     gmplsTunnelIngressLSRId = 123.123.125.1,
     gmplsTunnelEgressLSRId = 123.123.126.1,
     gmplsTunnelName = "Tunnel to Bagend",
     gmplsTunnelDescr = "There and back again",
     gmplsTunnelIsIf = true (1),
     gmplsTunnelXCPointer = mplsXCIndex.2.0.0.15,
     gmplsTunnelSignallingProto = none (1),
     gmplsTunnelSetupPrio = 0,
     gmplsTunnelHoldingPrio   = 0,
     gmplsTunnelAttributes = 0,
     gmplsTunnelOwner = snmp (2),
     gmplsTunnelLocalProtectInUse = false (0),
     gmplsTunnelResourcePointer
       = mplsTunnelResourceIndex.5,
     gmplsTunnelInstancePriority = 1,
     gmplsTunnelHopTableIndex = 1,
     gmplsTunnelPrimaryInstance = 0,
     gmplsTunnelIncludeAnyAffinity = 0,
     gmplsTunnelIncludeAllAffinity = 0,
     gmplsTunnelExcludeAnyAffinity = 0,
     gmplsTunnelPathInUse = 1,
     gmplsTunnelRole = head (1),
     gmplsTunnelRowStatus = createAndGo (4)
   }

   In gmplsTunnelResourceTable:
   {
     gmplsTunnelResourceIndex = 5,
     gmplsTunnelResourceMaxRate = 0,
     gmplsTunnelResourceMeanRate = 0,
     gmplsTunnelResourceMaxBurstSize = 0,
     gmplsTunnelResourceRowStatus = createAndGo (4)
   }

   The next two instances of gmplsTunnelHopEntry are used to
   denote the hops this tunnel will take across the network.

   The following denotes the beginning of the network, or
   the first hop. We have used the fictitious LSR identified
   by "123.123.125.1" as our example head-end router.




Nadeau et al.               Expires July 2002               [Page 13]


Internet Draft                GMPLS TE MIB               January 2002



   In gmplsTunnelHopTable:
   {
     gmplsTunnelHopListIndex = 1,
     gmplsTunnelPathOptionIndex = 1,

     gmplsTunnelHopIndex = 1,
     gmplsTunnelHopAddrType = 1,
     gmplsTunnelHopIpv4Addr = 123.123.125.1,
     gmplsTunnelHopIpv4PrefixLen = 9,
     gmplsTunnelHopType = loose (2),
     gmplsTunnelHopRowStatus = createAndGo (4)
   }

   The following denotes the end of the network, or the last
   hop in our example. We have used the fictitious LSR
   identified by "123.123.126.1" as our end router.

   In gmplsTunnelHopTable:
   {
     gmplsTunnelHopListIndex = 1,
     gmplsTunnelPathOptionIndex = 1,
     gmplsTunnelHopIndex = 2,
     gmplsTunnelHopAddrType = 1,
     gmplsTunnelHopIpv4Addr = 123.123.126.1,
     gmplsTunnelHopIpv4PrefixLen = 9,
     gmplsTunnelHopType = loose (2),
     gmplsTunnelHopRowStatus = createAndGo (4)
   }


10.   Example of GMPLS Tunnel Setup

   This section contains an example of which MIB objects
   should be modified to create a GMPLS tunnel.  This
   example shows a best effort, loosely routed,
   bidirectional traffic engineered tunnel, which spans two
   hops of a simple network, uses Generalized Label requests
   with Lambda encoding, has label recording and shared link
   layer protection.  Note that these objects should be
   created on the "head-end" LSR.

   In gmplsTunnelTable:
   {
     gmplsTunnelIndex = 1,
     gmplsTunnelInstance = 1,
     gmplsTunnelIngressLSRId = 123.123.125.1,
     gmplsTunnelEgressLSRId = 123.123.126.1,
     gmplsTunnelName = "A tunnel in the ground",
     gmplsTunnelDescr = "There and back again",
     gmplsTunnelIsIf = true (1),



Nadeau et al.               Expires July 2002               [Page 14]


Internet Draft                GMPLS TE MIB               January 2002



     gmplsTunnelXCPointer = gmplsXCIndex.3.0.0.12,
     gmplsTunnelSignallingProto = none (1),
     gmplsTunnelSetupPrio = 0,
     gmplsTunnelHoldingPrio = 0,
     gmplsTunnelAttributes = labelRecordingRequired (1),
     gmplsTunnelOwner = snmp (2),
     gmplsTunnelLocalProtectInUse = false (0),
     gmplsTunnelResourcePointer =
       gmplsTunnelResourceIndex.6,
     gmplsTunnelInstancePriority = 1,
     gmplsTunnelHopTableIndex = 1,

     gmplsTunnelPrimaryInstance = 0,
     gmplsTunnelIncludeAnyAffinity = 0,
     gmplsTunnelIncludeAllAffinity = 0,
     gmplsTunnelExcludeAnyAffinity = 0,
     gmplsTunnelPathInUse = 1,
     gmplsTunnelRole = head(1),
     gmplsTunnelRowStatus = createAndGo (4),
     gmplsTunnelLSPEncoding = tunnelLspLambda (8),
     gmplsTunnelSwitchingType = lsc (150),
     gmplsTunnelLinkProtection = shared (2),
     gmplsTunnelGPid = lambda (37),
     gmplsTunnelDirection = bidirectional (1)
   }

   Entries in the gmplsTunnelResourceTable and
   gmplsTunnelHopTable are created and activated at this
   time.

   In gmplsTunnelResourceTable:
   {
     gmplsTunnelResourceIndex = 6,
     gmplsTunnelResourceMaxRate  = 0,
     gmplsTunnelResourceMeanRate   = 0,
     gmplsTunnelResourceMaxBurstSize = 0,
     gmplsTunnelResourceRowStatus = createAndGo (4)
   }

   The next two instances of gmplsTunnelHopEntry are used to
   denote the hops this tunnel will take across the network.

   The following denotes the beginning of the network, or
   the first hop. We have used the fictitious LSR identified
   by "123.123.125.1" as our example head-end router.  This
   hop explicitly specifies the labels that will be used for
   the out segment on the forward path and the in segment on
   the reverse path.

   In gmplsTunnelHopTable:



Nadeau et al.               Expires July 2002               [Page 15]


Internet Draft                GMPLS TE MIB               January 2002



   {
     gmplsTunnelHopListIndex = 1,
     gmplsTunnelPathOptionIndex = 1,
     gmplsTunnelHopIndex = 1,
     gmplsTunnelHopAddrType = 1,
     gmplsTunnelHopIpv4Addr = 123.123.125.1,
     gmplsTunnelHopIpv4PrefixLen = 9,
     gmplsTunnelHopType = strict (1),
     gmplsTunnelHopRowStatus = createAndGo (4),
     gmplsTunnelHopLabelStatuses =
       forwardPresent(0)+reversePresent(1),
     gmplsTunnelHopExplicitLabel = gmplsLabelIndex.2756132,
     gmplsTunnelHopExplicitReverseLabel =
       gmplsLabelIndex.65236213
   }

   The following denotes the end of the network, or the last
   hop in our example. We have used the fictitious LSR
   identified by "123.123.126.1" as our end router.

   In gmplsTunnelHopTable:
   {
     gmplsTunnelHopListIndex = 1,

     gmplsTunnelPathOptionIndex = 1,
     gmplsTunnelHopIndex = 2,
     gmplsTunnelHopAddrType = 1,
     gmplsTunnelHopIpv4Addr = 123.123.126.1,
     gmplsTunnelHopIpv4PrefixLen = 9,
     gmplsTunnelHopType = loose (2),
     gmplsTunnelHopRowStatus = createAndGo (4),
     gmplsTunnelHopLabelStatuses = 0
   }


11.   The Use of RowPointer and Other Cross-References


11.1. RowPointer

   RowPointer is a textual convention used to identify a
   conceptual row in an SNMP Table by pointing to one of its
   objects.  In this MIB, in gmplsTunnelTable, the objects
   gmplsTunnelXCPointer and gmplsTunnelResourcePointer are
   of type RowPointer.  The object gmplsTunnelXCPointer
   points to a specific entry in the gmplsXCTable
   [GMPLSLSRMIB].  This entry in the gmplsXCTable is the
   associated LSP for the given tunnel entry.  The object
   gmplsTunnelResourcePointer points to a specific entry in
   a traffic parameter table.  An example of such a traffic



Nadeau et al.               Expires July 2002               [Page 16]


Internet Draft                GMPLS TE MIB               January 2002



   parameter table is gmplsTunnelResourceTable.  It
   indicates a specific instance of a traffic parameter
   entry that is associated with a given tunnel entry.


11.2. Cross-referencing to the gmplsLabelTable

   The gmplsLabelTable [GMPLSLABELMIB] provides a way to
   model labels in a GMPLS system where labels might not be
   simple 32 bit integers.

   The hop tables in this document (gmplsHopTable,
   gmplsCHopTable and gmplsARHopTable) use arbitrary indexes
   to point to entries in the gmplsLabelTable to indicate
   specific label values.

   Since the primary index into gmplsLabelTabel is a simple
   32 bit integer (gmplsLabelIndex),  in systems where the
   nature of a label is well-known, and where the label can
   safely be encoded as a 32 bit integer (for example a
   conventional MPLS system), the gmplsLabelTable does not
   need to be supported and the pointers to the
   gmplsLabelTable (gmplsTunnelHopExplicitLabel,
   gmplsTunnelHopExplicitReverseLabel,
   gmplsTunnelCHopExplicitLabel,
   gmplsTunnelCHopExplicitReverseLabel,
   gmplsTunnelARHopExplicitLabel,
   gmplsTunnelARHopExplicitReverseLabel) may be replaced
   with the direct label values.

   This provides both a good way to support legacy systems
   that implement the previous version of this MIB [TEMIB],
   and a significant simplification in GMPLS systems that
   are limited to a single, simple label type.

   Note that gmplsLabelTable supports concatenated labels
   through the use of a sub-label index
   (gmplsSublabelIndex).


12.   GMPLS Traffic Engineering MIB Definitions

   GMPLS-TE-MIB DEFINITIONS ::= BEGIN

   IMPORTS
   MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
   Integer32, Unsigned32, Counter32, Counter64,
   TimeTicks
      FROM SNMPv2-SMI
   MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP



Nadeau et al.               Expires July 2002               [Page 17]


Internet Draft                GMPLS TE MIB               January 2002



      FROM SNMPv2-CONF
   TruthValue, RowStatus, RowPointer, StorageType,
   DisplayString, TimeStamp
      FROM SNMPv2-TC
   InterfaceIndexOrZero
      FROM IF-MIB
   MplsBitRate, MplsBurstSize, MplsInitialCreationSource,
   MplsLSPID, MplsTunnelIndex, MplsTunnelInstanceIndex,
   MplsTunnelAffinity, MplsLsrIdentifier, MplsPathIndex,
   MplsPathIndexOrZero
      FROM MPLS-TC-MIB
   gmplsMIB, GmplsHopAddrType, GmplsTrapEnable
      FROM GMPLS-TC-MIB
   InetAddressIPv4, InetAddressIPv6
      FROM INET-ADDRESS-MIB
   ;

   gmplsTeMIB MODULE-IDENTITY
   LAST-UPDATED
      "200201251200Z"  -- 25 January 2002 12:00:00 GMT ""
   ORGANIZATION
      "Common Control And Management Protocols (CCAMP)
   Working Group"
   CONTACT-INFO
       "       Thomas D. Nadeau
       Postal: Cisco Systems, Inc.
               250 Apollo Drive
               Chelmsford, MA 01824
          Tel: +1-978-244-3051
        Email: tnadeau@cisco.com

               Cheenu Srinivasan
       Postal: Parama Networks, Inc.
               1030 Broad Street
               Shrewsbury, NJ 07702
          Tel: +1-732-544-9120 x731
        Email: cheenu@paramanet.com

               Adrian Farrel
       Postal: Movaz Networks, Inc.
               7926 Jones Branch Drive
               McLean, VA 22102
          Tel: +1-703-847-1986
        Email: afarrel@movaz.com

               Edward Harrison
       Postal: Data Connection Ltd.
               100 Church Street
               Enfield, Middlesex
               EN2 6BQ, United Kingdom



Nadeau et al.               Expires July 2002               [Page 18]


Internet Draft                GMPLS TE MIB               January 2002



          Tel: +44-20-8366-1177
        Email: eph@dataconnection.com

               Tim Hall
       Postal: Data Connection Ltd.
               100 Church Street
               Enfield, Middlesex
               EN2 6BQ, United Kingdom
          Tel: +44-20-8366-1177
        Email: timhall@dataconnection.com

       Email comments to the CCAMP WG Mailing List
        at ccamp@ops.ietf.org."
   DESCRIPTION
       "This MIB module contains managed object
        definitions for MPLS and GMPLS Traffic
        Engineering (TE)."

   -- Revision history.

   REVISION
       "200111111100Z"  -- 11 Nov 2001 11:00:00 GMT
   DESCRIPTION
       "First revision draft version."
   REVISION
       "200201251200Z"  -- 25 Jan 2002 12:00:00 GMT
   DESCRIPTION
       "Revision for compilation and work in
        progress."
   ::= { gmplsMIB 4 }

   -- Top level components of this MIB.

   -- tables, scalars
   gmplsTeScalars OBJECT IDENTIFIER
     ::= { gmplsTeMIB 1 }
   gmplsTeObjects OBJECT IDENTIFIER
     ::= { gmplsTeMIB 2 }

   -- traps
   gmplsTeNotifications OBJECT IDENTIFIER
     ::= { gmplsTeMIB 3 }
   gmplsTeNotifyPrefix OBJECT IDENTIFIER
     ::= { gmplsTeNotifications 0 }

   -- conformance
   gmplsTeConformance OBJECT IDENTIFIER
     ::= { gmplsTeMIB 4 }

   -- GMPLS Tunnel scalars.



Nadeau et al.               Expires July 2002               [Page 19]


Internet Draft                GMPLS TE MIB               January 2002




   gmplsTunnelsConfigured OBJECT-TYPE
   SYNTAX  Unsigned32
   MAX-ACCESS read-only
   STATUS  current
   DESCRIPTION
       "The number of tunnels configured on this
        device. A tunnel is considered configured
        if the gmplsTunnelRowStatus is active(1)."
   ::= { gmplsTeScalars 1 }

   gmplsTunnelActive OBJECT-TYPE
   SYNTAX  Unsigned32
   MAX-ACCESS read-only
   STATUS  current
   DESCRIPTION
      "The number of tunnels active on this
       device. A tunnel is considered active if
       the gmplsTunnelOperStatus is up(1)."
   ::= { gmplsTeScalars 2 }

   gmplsTunnelTEDistProto OBJECT-TYPE
   SYNTAX  BITS {
      other (0),
      ospf (1),
      isis (2)
   }
   MAX-ACCESS read-only
   STATUS  current
   DESCRIPTION
       "The traffic engineering distribution
        protocol(s) used by this LSR. Note that an
        LSR may support more than one distribution
        protocol simultaneously."
   ::= { gmplsTeScalars 3 }

   gmplsTunnelMaxHops OBJECT-TYPE
   SYNTAX  Unsigned32
   MAX-ACCESS read-only
   STATUS  current
   DESCRIPTION
       "The maximum number of hops that can be
        specified for a tunnel on this device."
   ::= { gmplsTeScalars 4 }

   -- End of GMPLS Tunnel scalars.


   -- GMPLS tunnel next index.




Nadeau et al.               Expires July 2002               [Page 20]


Internet Draft                GMPLS TE MIB               January 2002



   gmplsTunnelIndexNext OBJECT-TYPE
   SYNTAX  Integer32 (0..65535)
   MAX-ACCESS read-only
   STATUS  current
   DESCRIPTION
       "This object contains the next appropriate
        value to be used for mplsTunnelIndex when
        creating entries in  gmplsTunnelTable. If
        the number of unassigned entries is
        exhausted, a retrieval operation will
        return a value of 0.  This object may also
        return a value of 0 when the LSR is unable
        to accept conceptual row creation, for
        example, if the gmplsTunnelTable is
        implemented as read-only. To obtain the
        value of mplsTunnelIndex for a new entry,
        the manager must first issue a management
        protocol retrieval operation to obtain the
        current value of this object. The agent
        should modify the value to reflect the next
        unassigned index after each retrieval
        operation. After a manager retrieves a
        value the agent will determine through its
        local policy when this index value will be
        made available for reuse."
   ::= { gmplsTeObjects 1 }

   -- End GMPLS tunnel next index.

   -- Begin gmplsTunnelInstanceNextTable

   gmplsTunnelInstanceNextTable  OBJECT-TYPE
   SYNTAX  SEQUENCE OF GmplsTunnelInstanceNextEntry
   MAX-ACCESS not-accessible
   STATUS  current
   DESCRIPTION
       "This table contains the next available
        values of gmplsTunnelInstance for all
        values of gmplsTunnelIndex for a given pair
        of gmplsTunnelIngressLSRId and
        gmplsTunnelEgressLSRId."
   ::= { gmplsTeObjects 2 }

   gmplsTunnelInstanceNextEntry  OBJECT-TYPE
   SYNTAX  GmplsTunnelInstanceNextEntry
   MAX-ACCESS not-accessible
   STATUS  current
   DESCRIPTION
       "An entry in this table represents the next
        available gmplsTunnelInstance for a



Nadeau et al.               Expires July 2002               [Page 21]


Internet Draft                GMPLS TE MIB               January 2002



        specific value of gmplsTunnelIndex for a
        given pair of gmplsTunnelIngressLSRId and
        gmplsTunnelEgressLSRId.
        This MIB table is indexed by
        gmplsTunnelHopListIndex,
        gmplsTunnelIngressLSRId and
        gmplsTunnelEgressLSRId."
   INDEX  {
      gmplsTunnelIndex,
      gmplsTunnelIngressLSRId,
      gmplsTunnelEgressLSRId
   }
   ::= { gmplsTunnelInstanceNextTable 1 }

   GmplsTunnelInstanceNextEntry ::= SEQUENCE {
     gmplsTunnelInstanceNextInstance MplsTunnelInstanceIndex
   }

   gmplsTunnelInstanceNextInstance OBJECT-TYPE
   SYNTAX  MplsTunnelInstanceIndex
   MAX-ACCESS not-accessible
   STATUS  current
   DESCRIPTION
       "The next available gmplsTunnelInstance for
        the given values of gmplsTunnelIndex,
        gmplsTunnelIngressLSRId and
        gmplsTunnelEgressLSRId.  A value of zero
        means that no further entries are
        available."
   ::= { gmplsTunnelInstanceNextEntry 1 }

   -- End of gmplsTunnelInstanceNextTable


   -- GMPLS tunnel table.

   gmplsTunnelTable OBJECT-TYPE
   SYNTAX  SEQUENCE OF GmplsTunnelEntry
   MAX-ACCESS not-accessible
   STATUS  current
   DESCRIPTION
       "The gmplsTunnelTable allows new MPLS and
        GMPLS tunnels to be created between an LSR
        and a remote endpoint, and existing tunnels
        to be reconfigured or removed.
        Note that only point-to-point tunnel
        segments are supported, although multi-
        point-to-point and point-to-multi-point
        connections are supported by an LSR acting
        as a cross-connect.  Each tunnel can thus



Nadeau et al.               Expires July 2002               [Page 22]


Internet Draft                GMPLS TE MIB               January 2002



        have one out-segment originating at this
        LSR and/or one in-segment terminating at
        this LSR."
   ::= { gmplsTeObjects 3 }

   gmplsTunnelEntry OBJECT-TYPE
   SYNTAX  GmplsTunnelEntry
   MAX-ACCESS not-accessible
   STATUS  current
   DESCRIPTION
       "An entry in this table represents an MPLS
        or GMPLS tunnel.
        An entry can be created by a network
        administrator or by an SNMP agent as
        instructed by a signaling protocol.
        Whenever a new entry is created with
        gmplsTunnelIsIf set to numbered(1) or
        unnumbered(2), then a corresponding entry
        is created in ifTable as well (see RFC
        2863).
        The ifType of this entry is
        mplsTunnel(150)."
   REFERENCE
       "1. RFC 2863 - The Interfaces Group MIB,
        McCloghrie, K., and F. Kastenholtz, June
        2000
        2. RFC 1700 - Assigned Numbers, Reynolds,
        J. and J. Postel, Oct. 1994"
   INDEX {
      gmplsTunnelIndex,
      gmplsTunnelInstance,
      gmplsTunnelIngressLSRId,
      gmplsTunnelEgressLSRId
   }
   ::= { gmplsTunnelTable 1 }

   GmplsTunnelEntry ::= SEQUENCE {
      gmplsTunnelIndex          MplsTunnelIndex,
      gmplsTunnelInstance       MplsTunnelInstanceIndex,
      gmplsTunnelIngressLSRId   MplsLsrIdentifier,
      gmplsTunnelEgressLSRId    MplsLsrIdentifier,
      gmplsTunnelName           DisplayString,
      gmplsTunnelDescr          DisplayString,
      gmplsTunnelIsIf           INTEGER,
      gmplsTunnelIfIndex        InterfaceIndexOrZero,
      gmplsTunnelXCPointer      RowPointer,
      gmplsTunnelSignallingProto
                                INTEGER,
      gmplsTunnelSetupPrio      Integer32,
      gmplsTunnelHoldingPrio    Integer32,



Nadeau et al.               Expires July 2002               [Page 23]


Internet Draft                GMPLS TE MIB               January 2002



      gmplsTunnelAttributes     BITS,
      gmplsTunnelOwner          MplsInitialCreationSource,
      gmplsTunnelLocalProtectInUse
                                TruthValue,
      gmplsTunnelResourcePointer
                                RowPointer,
      gmplsTunnelInstancePriority
                                Unsigned32,
      gmplsTunnelHopTableIndex
                                MplsPathIndexOrZero,
      gmplsTunnelARHopTableIndex
                                MplsPathIndexOrZero,
      gmplsTunnelCHopTableIndex
                                MplsPathIndexOrZero,
      gmplsTunnelPrimaryInstance
                                MplsTunnelInstanceIndex,
      gmplsTunnelPrimaryTimeUp  TimeTicks,
      gmplsTunnelPathChanges    Counter32,
      gmplsTunnelLastPathChange TimeTicks,
      gmplsTunnelCreationTime   TimeStamp,
      gmplsTunnelStateTransitions
                                Counter32,
      gmplsTunnelIncludeAnyAffinity
                                MplsTunnelAffinity,
      gmplsTunnelIncludeAllAffinity
                                MplsTunnelAffinity,
      gmplsTunnelExcludeAnyAffinity
                                MplsTunnelAffinity,
      gmplsTunnelPathInUse      MplsPathIndexOrZero,
      gmplsTunnelRole           INTEGER,
      gmplsTunnelTotalUpTime    TimeTicks,
      gmplsTunnelInstanceUpTime TimeTicks,
      gmplsTunnelAdminStatus    INTEGER,
      gmplsTunnelOperStatus     INTEGER,
      gmplsTunnelRowStatus      RowStatus,
      gmplsTunnelStorageType    StorageType,
      gmplsTunnelLSPEncoding    INTEGER,
      gmplsTunnelSwitchingType  Integer32,
      gmplsTunnelLinkProtection BITS,
      gmplsTunnelGPid           Unsigned32,
      gmplsTunnelSecondary      TruthValue,
      gmplsTunnelDirection      INTEGER,
      gmplsTunnelPathComp       INTEGER
   }

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



Nadeau et al.               Expires July 2002               [Page 24]


Internet Draft                GMPLS TE MIB               January 2002



       "Uniquely identifies this row."
   ::= { gmplsTunnelEntry 1 }

   gmplsTunnelInstance OBJECT-TYPE
   SYNTAX  MplsTunnelInstanceIndex
   MAX-ACCESS not-accessible
   STATUS  current
   DESCRIPTION
       "Uniquely identifies an instance of a
        tunnel. It is useful to identify multiple
        instances of tunnels for the purposes of
        backup and parallel tunnels."
   ::= { gmplsTunnelEntry 2 }

   gmplsTunnelIngressLSRId OBJECT-TYPE
   SYNTAX  MplsLsrIdentifier
   MAX-ACCESS not-accessible
   STATUS  current
   DESCRIPTION
       "The purpose of this object is to uniquely
        identity a tunnel within a network. When
        the signaling protocol is rsvp(2) this
        value SHOULD mimic the Extended Tunnel Id
        field in the SESSION object.
        When the signaling protocol is crldp(3)
        this value SHOULD mimic the Ingress LSR
        Router ID field in the LSPID TLV object."
   REFERENCE
       "1. RSVP-TE: Extensions to RSVP for LSP
        Tunnels, Awduche et al, Internet Draft
        <draft-ietf-mpls-rsvp- lsp-tunnel-09.txt>,
        August 2001.,
        2. Constraint-Based LSP Setup using LDP,
        Jamoussi, Internet Draft <draft-ietf-mpls-
        cr-ldp-06.txt>, November 2001."
   ::= { gmplsTunnelEntry 3 }

   gmplsTunnelEgressLSRId OBJECT-TYPE
   SYNTAX  MplsLsrIdentifier
   MAX-ACCESS  not-accessible
   STATUS  current
   DESCRIPTION
       "Specifies the egress LSR ID."
   ::= { gmplsTunnelEntry 4 }

   gmplsTunnelName OBJECT-TYPE
   SYNTAX  DisplayString
   MAX-ACCESS read-create
   STATUS  current
   DESCRIPTION



Nadeau et al.               Expires July 2002               [Page 25]


Internet Draft                GMPLS TE MIB               January 2002



       "The canonical name assigned to the tunnel.
        This name can be used to refer to the
        tunnel on the LSRs console port.  If
        gmplsTunnelIsIf is set to numbered(1) or
        unnumbered(2) then the ifName of the
        interface corresponding to this tunnel
        should have a value equal to
        gmplsTunnelName.  Also see the description
        of ifName in RFC 2863."
   REFERENCE
       "RFC 2863 - The Interfaces Group MIB,
        McCloghrie, K., and F. Kastenholtz, June
        2000"
   ::= { gmplsTunnelEntry 5 }

   gmplsTunnelDescr OBJECT-TYPE
   SYNTAX  DisplayString
   MAX-ACCESS read-create
   STATUS  current
   DESCRIPTION
       "A textual string containing information
        about the tunnel.  If there is no
        description this object contains a zero
        length string."
   ::= { gmplsTunnelEntry 6 }

   gmplsTunnelIsIf OBJECT-TYPE
   SYNTAX  INTEGER {
        no (0),
        numbered (1),
        unnumbered (2)
   }
   MAX-ACCESS read-create
   STATUS  current
   DESCRIPTION
       "Denotes whether or not this tunnel
        corresponds to an interface represented in
        the interfaces group table. Note that if
        this variable is set to numbered (1) or
        unnumbered(2) then the ifName of the
        interface corresponding to this tunnel
        should have a value equal to
        gmplsTunnelName.  Also see the description
        of ifName in RFC 2863.
        If this variable is set to unnumbered(2)
        the originating LSR adds an
        LSP_TUNNEL_INTERFACE_ID object to the
        outgoing Path message.  This object
        contains information that is only used by
        the terminating LSR."



Nadeau et al.               Expires July 2002               [Page 26]


Internet Draft                GMPLS TE MIB               January 2002



   REFERENCE
       "RFC 2863 - The Interfaces Group MIB,
        McCloghrie, K., and F. Kastenholtz, June
        2000.
        draft-ietf-mpls-crldp-unnum-02.txt -
        Signalling Unnumbered Links in CR-LDP,
        Kompella, K., Rekhter, Y. and Kullberg, A.,
        Sep 2001.
        draft-ietf-mpls-rsvp-unnum-02.txt -
        Signalling Unnumbered Links in RSVP-TE,
        Kompella, K., and Rekhter, Y., Aug 2001."
   DEFVAL  { no }
   ::= { gmplsTunnelEntry 7 }

   gmplsTunnelIfIndex OBJECT-TYPE
   SYNTAX  InterfaceIndexOrZero
   MAX-ACCESS read-create
   STATUS  current
   DESCRIPTION
       "If gmplsTunnelIsIf is set to numbered(1) or
        unnumbered(2), then this value contains the
        LSR-assigned ifIndex which corresponds to
        an entry in the interfaces table.
        Otherwise this variable should contain the
        value of zero indicating that a valid
        ifIndex was not assigned to this tunnel
        interface.
        Some implementations may choose to
        automatically supply the value of this
        object so as to coordinate interface
        indexes across all interfaces.  In this
        case, this object could be implemented as
        read-only."
   REFERENCE
       "RFC 2863 - The Interfaces Group MIB,
        McCloghrie, K., and F. Kastenholtz, June
        2000"
   ::= { gmplsTunnelEntry 8 }

   gmplsTunnelXCPointer OBJECT-TYPE
   SYNTAX  RowPointer
   MAX-ACCESS read-create
   STATUS  current
   DESCRIPTION
       "This variable points to a row in the
        gmplsXCTable. This table identifies the
        segments that compose this tunnel, their
        characteristics, and relationships to each
        other. A value of zeroDotZero indicates
        that no LSP has been associated with this



Nadeau et al.               Expires July 2002               [Page 27]


Internet Draft                GMPLS TE MIB               January 2002



        tunnel yet."
   REFERENCE
       "Srinivasan, C., and T. Nadeau, GMPLS Label
        Switching Router Management Information
        Base Using SMIv2, Internet Draft <draft-
        nadeau-ccamp-gmpls-lsr-mib-01.txt>, January
        2002."
   ::= { gmplsTunnelEntry 9 }

   gmplsTunnelSignallingProto OBJECT-TYPE
   SYNTAX INTEGER {
      none(1),
      rsvp(2),
      crldp(3),
      other(4)
   }
   MAX-ACCESS read-create
   STATUS  current
   DESCRIPTION
       "The signaling protocol, if any, which was
        used to setup this tunnel.
        Note that the distinction between the use
        of the MPLS and GMPLS variants of the
        signaling protocols is made through the
        setting of the gmplsTunnelLspEncoding
        object."
   DEFVAL  { none }
   ::= { gmplsTunnelEntry 10 }

   gmplsTunnelSetupPrio OBJECT-TYPE
   SYNTAX  Integer32 (0..7)
   MAX-ACCESS read-create
   STATUS  current
   DESCRIPTION
       "Indicates the setup priority of this
        tunnel."
   REFERENCE
       "1. RSVP-TE: Extensions to RSVP for LSP
        Tunnels, Awduche et al, RFC 3209, December
        2001.,
        2. Constraint-Based LSP Setup using LDP,
        Jamoussi, Internet Draft <draft-ietf-mpls-
        cr-ldp-06.txt>, November 2001."
   ::= { gmplsTunnelEntry 11 }

   gmplsTunnelHoldingPrio OBJECT-TYPE
   SYNTAX  Integer32 (0..7)
   MAX-ACCESS read-create
   STATUS  current
   DESCRIPTION



Nadeau et al.               Expires July 2002               [Page 28]


Internet Draft                GMPLS TE MIB               January 2002



       "Indicates the holding priority for this
        tunnel."
   REFERENCE
       "1. RSVP-TE: Extensions to RSVP for LSP
        Tunnels, Awduche et al, RFC 3209, December
        2001.,
        2. Constraint-Based LSP Setup using LDP,
        Jamoussi, Internet Draft <draft-ietf-mpls-
        cr-ldp-06.txt>, November 2001."
   ::= { gmplsTunnelEntry 12 }

   gmplsTunnelAttributes OBJECT-TYPE
   SYNTAX BITS {
      localProtectionDesired (0),
      labelRecordingDesired (1),
      seStyleDesired (2),
      isPersistent (3),
      isPinned (4),
      recordRoute(5)
   }
   MAX-ACCESS read-create
   STATUS  current
   DESCRIPTION
       "This bitmask indicates optional parameters
        for this tunnel. Some of these bits map
        direct to signaled values (for example
        SESSION_ATTRIBUTES flags in RSVP-TE).
        Others describe qualities of the tunnel.
        The following describes these bitfields:

        localProtectionDesired
        This flag permits transit routers to use a
        local repair mechanism which may result in
        violation of the explicit route object.
        When a fault is detected on an adjacent
        downstream link or node, a transit router
        can reroute traffic for fast service
        restoration.

        labelRecordingDesired
        This flag indicates that label information
        should be included when doing a route
        record.  This bit is not valid unless the
        recordRoute bit is set.

        seStyleDesired
        This flag indicates that the tunnel ingress
        node may choose to reroute this tunnel
        without tearing it down.
        When signaling uses RSVP, a tunnel egress



Nadeau et al.               Expires July 2002               [Page 29]


Internet Draft                GMPLS TE MIB               January 2002



        node SHOULD use the SE Style when
        responding with a Resv message.

        isPersistent
        Indicates whether this tunnel should be
        restored automatically after a failure
        occurs.

        isPinned
        This flag indicates whether the loose-
        routed hops of this tunnel are to be
        pinned.

        recordRoute
        This flag indicates whether or not the
        signaling protocol should remember the
        tunnel path after it has been signaled."

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

   gmplsTunnelOwner OBJECT-TYPE
   SYNTAX  MplsInitialCreationSource
   MAX-ACCESS read-create
   STATUS  current
   DESCRIPTION
       "Indicates which protocol created and is
        responsible for managing this tunnel.
        Values rsvp(4) and crldp(5) should not be
        used at the head-end of a tunnel since the
        tunnel will be created through some form of
        management.  The value ldp (3) should never
        be used."
   ::= { gmplsTunnelEntry 14 }

   gmplsTunnelLocalProtectInUse  OBJECT-TYPE
   SYNTAX  TruthValue
   MAX-ACCESS read-create
   STATUS  current
   DESCRIPTION
       "Indicates that the local repair mechanism
        is in use to maintain this tunnel (usually
        in the face of an outage of the link it was
        previously routed over)."
   ::= { gmplsTunnelEntry 15 }




Nadeau et al.               Expires July 2002               [Page 30]


Internet Draft                GMPLS TE MIB               January 2002



   gmplsTunnelResourcePointer OBJECT-TYPE
   SYNTAX  RowPointer
   MAX-ACCESS read-create
   STATUS  current
   DESCRIPTION
       "This variable represents a pointer to the
        traffic parameter specification for this
        tunnel.  This value may point at an entry
        in the gmplsTunnelResourceEntry to indicate
        which gmplsTunnelResourceEntry is to be
        assigned to this segment.  This value may
        optionally point at an externally defined
        traffic parameter specification table.  A
        value of zeroDotZero indicates best-effort
        treatment.  By having the same value of
        this object, two or more segments can
        indicate resource sharing."
   ::= { gmplsTunnelEntry 16 }

   gmplsTunnelInstancePriority OBJECT-TYPE
   SYNTAX  Unsigned32
   MAX-ACCESS read-create
   STATUS  current
   DESCRIPTION
       "This value indicates which priority, in
        descending order, with 0 indicating the
        lowest priority, within a group of tunnel
        instances. A group of tunnel instances is
        defined as a set of tunnels with the same
        gmplsTunnelIndex in this table, but with a
        different gmplsTunnelInstance. Tunnel group
        priorities are used to denote the priority
        at which a particular tunnel instance will
        supercede another. Instances of tunnels
        containing the same
        gmplsTunnelInstancePriority will be used
        for load sharing."
   DEFVAL  { 0 }
   ::= { gmplsTunnelEntry 17 }

   gmplsTunnelHopTableIndex OBJECT-TYPE
   SYNTAX  MplsPathIndexOrZero
   MAX-ACCESS read-create
   STATUS  current
   DESCRIPTION
       "Index into the gmplsTunnelHopTable entry
        that specifies the explicit route hops for
        this tunnel."
   ::= { gmplsTunnelEntry 18 }




Nadeau et al.               Expires July 2002               [Page 31]


Internet Draft                GMPLS TE MIB               January 2002



   gmplsTunnelARHopTableIndex OBJECT-TYPE
   SYNTAX  MplsPathIndexOrZero
   MAX-ACCESS read-only
   STATUS  current
   DESCRIPTION
       "Index into the gmplsTunnelARHopTable entry
        that specifies the actual hops traversed by
        the tunnel."
   ::= { gmplsTunnelEntry 19 }

   gmplsTunnelCHopTableIndex OBJECT-TYPE
   SYNTAX  MplsPathIndexOrZero
   MAX-ACCESS read-only
   STATUS  current
   DESCRIPTION
       "Index into the gmplsTunnelCHopTable entry
        that specifies the computed hops traversed
        by the tunnel."
   ::= { gmplsTunnelEntry 20 }

   gmplsTunnelPrimaryInstance OBJECT-TYPE
   SYNTAX  MplsTunnelInstanceIndex
   MAX-ACCESS read-only
   STATUS  current
   DESCRIPTION
       "Specifies the instance index of the primary
        instance of this tunnel."
   ::= { gmplsTunnelEntry 21 }

   gmplsTunnelPrimaryTimeUp OBJECT-TYPE
   SYNTAX  TimeTicks
   MAX-ACCESS read-only
   STATUS  current
   DESCRIPTION
       "Specifies the total time the primary
        instance of this tunnel has been active.
        The primary instance of this tunnel is
        defined in gmplsTunnelPrimaryInstance."
   ::= { gmplsTunnelEntry 22 }

   gmplsTunnelPathChanges OBJECT-TYPE
   SYNTAX  Counter32
   MAX-ACCESS read-only
   STATUS  current
   DESCRIPTION
       "Specifies the number of times the path has
        changed for this tunnel."
   ::= { gmplsTunnelEntry 23 }

   gmplsTunnelLastPathChange OBJECT-TYPE



Nadeau et al.               Expires July 2002               [Page 32]


Internet Draft                GMPLS TE MIB               January 2002



   SYNTAX  TimeTicks
   MAX-ACCESS read-only
   STATUS  current
   DESCRIPTION
       "Specifies the time since the last path
        change for this tunnel."
   ::= { gmplsTunnelEntry 24 }

   gmplsTunnelCreationTime OBJECT-TYPE
   SYNTAX  TimeStamp
   MAX-ACCESS read-only
   STATUS  current
   DESCRIPTION
       "Specifies the value of SysUpTime when the
        first instance of this tunnel came into
        existence."
   ::= { gmplsTunnelEntry 25 }

   gmplsTunnelStateTransitions OBJECT-TYPE
   SYNTAX  Counter32
   MAX-ACCESS read-only
   STATUS  current
   DESCRIPTION
       "Specifies the number of times the state of
        this tunnel instance has changed."
   ::= { gmplsTunnelEntry 26 }

   gmplsTunnelIncludeAnyAffinity 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
       "RSVP-TE: Extensions to RSVP for LSP
        Tunnels, Awduche et al, RFC 3209, December
        2001."
   ::= { gmplsTunnelEntry 27 }

   gmplsTunnelIncludeAllAffinity 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



Nadeau et al.               Expires July 2002               [Page 33]


Internet Draft                GMPLS TE MIB               January 2002



        constraint."
   REFERENCE
       "RSVP-TE: Extensions to RSVP for LSP
        Tunnels, Awduche et al, RFC 3209, December
        2001."
   ::= { gmplsTunnelEntry 28 }

   gmplsTunnelExcludeAnyAffinity OBJECT-TYPE
   SYNTAX  MplsTunnelAffinity
   MAX-ACCESS read-create
   STATUS  current
   DESCRIPTION
       "A link satisfies the exclude-any constraint
        if and only if the link contains none of
        the administrative groups specified in the
        constraint."
   REFERENCE
       "RSVP-TE: Extensions to RSVP for LSP
        Tunnels, Awduche et al, RFC 3209, December
        2001."
   ::= { gmplsTunnelEntry 29 }

   gmplsTunnelPathInUse OBJECT-TYPE
   SYNTAX  MplsPathIndexOrZero
   MAX-ACCESS read-create
   STATUS  current
   DESCRIPTION
       "This value denotes the configured path that
        was chosen for this tunnel. This value
        reflects the secondary index into the
        gmplsTunnelHopTable. This path may not
        exactly match the one in the ARHopTable due
        to the fact that some CSPF modification may
        have taken place. See the gmplsARHopTable
        for the actual path being taken by the
        tunnel. A value of zero denotes that no
        path is currently in use or available."
   ::= { gmplsTunnelEntry 30 }

   gmplsTunnelRole OBJECT-TYPE
   SYNTAX  INTEGER {
      head(1),
      transit(2),
      tail(3)
   }
   MAX-ACCESS read-create
   STATUS  current
   DESCRIPTION
       "This value signifies the role that this
        tunnel entry/instance represents. This



Nadeau et al.               Expires July 2002               [Page 34]


Internet Draft                GMPLS TE MIB               January 2002



        value MUST be set to head(1) at the
        originating point of the tunnel. This value
        MUST be set to transit(2) at transit points
        along the tunnel, if transit points are
        supported. This value MUST be set to
        tail(3) at the terminating point of the
        tunnel if tunnel tails are supported."
   ::= { gmplsTunnelEntry 31 }

   gmplsTunnelTotalUpTime OBJECT-TYPE
   SYNTAX  TimeTicks
   MAX-ACCESS read-only
   STATUS  current
   DESCRIPTION
       "This value represents the aggregate up time
        for all instances of this tunnel, if
        available. If this value is unavailable, it
        MUST return a value of 0."
   ::= { gmplsTunnelEntry 32 }

   gmplsTunnelInstanceUpTime OBJECT-TYPE
   SYNTAX  TimeTicks
   MAX-ACCESS read-only
   STATUS  current
   DESCRIPTION
       "This value identifies the total time that
        this tunnel instance's operStatus has been
        Up(1)."
   ::= { gmplsTunnelEntry 33 }

   gmplsTunnelAdminStatus OBJECT-TYPE
   SYNTAX  INTEGER {
      -- ready to pass packets
      up(1),
      down(2),
      -- in some test mode
      testing(3)
   }
   MAX-ACCESS read-create
   STATUS  current
   DESCRIPTION
       "Indicates the desired operational status of
        this tunnel."
   ::= { gmplsTunnelEntry 34 }

   gmplsTunnelOperStatus OBJECT-TYPE
   SYNTAX  INTEGER {
      -- ready to pass packets
      up(1),
      down(2),



Nadeau et al.               Expires July 2002               [Page 35]


Internet Draft                GMPLS TE MIB               January 2002



      -- in some test mode
      testing(3),
      -- status cannot be determined
      unknown(4),
      dormant(5),
      -- some component is missing
      notPresent(6),
      -- down due to the state of
      -- lower layer interfaces
      lowerLayerDown(7)
   }
   MAX-ACCESS read-only
   STATUS  current
   DESCRIPTION
       "Indicates the actual operational status of
        this tunnel, which is typically but not
        limited to, a function of the state of
        individual segments of this tunnel."
   ::= { gmplsTunnelEntry 35 }

   gmplsTunnelRowStatus OBJECT-TYPE
   SYNTAX  RowStatus
   MAX-ACCESS read-create
   STATUS  current
   DESCRIPTION
       "This variable is used to create, modify,
        and/or delete a row in this table."
   ::= { gmplsTunnelEntry 36 }

   gmplsTunnelStorageType OBJECT-TYPE
   SYNTAX  StorageType
   MAX-ACCESS read-create
   STATUS  current
   DESCRIPTION
       "This variable indicates the storage type
        for this table entry.  When set to
        'permanent', the entire row is to be
        stored."
   ::= { gmplsTunnelEntry 37 }

   gmplsTunnelLSPEncoding OBJECT-TYPE
   SYNTAX  INTEGER {
      tunnelLspNotGmpls (0),
      tunnelLspPacket (1),
      tunnelLspEthernetV2Dix (2),
      tunnelLspAnsiPdh (3),
      tunnelLspEtsiPdh (4),
      tunnelLspSdhItutG707 (5),
      tunnelLspSonetAnsiT1105 (6),
      tunnelLspDigitalWrapper (7),



Nadeau et al.               Expires July 2002               [Page 36]


Internet Draft                GMPLS TE MIB               January 2002



      tunnelLspLambda (8),
      tunnelLspFiber (9),
      tunnelLspEthernet8023 (10),
      tunnelLspFiberChannel (11)

   }
   MAX-ACCESS read-create
   STATUS  current
   DESCRIPTION
       "This object indicates the encoding of the
        LSP being requested. It is only required
        when a generalized label request will be
        used for this LSP. A value of 0 in this
        object indicates that a generalized label
        request will not be used to set up this LSP
        which means that MPLS procedures will be
        used.
        Ed Note: Should these be assigned and
        maintained by IANA?"
   ::= { gmplsTunnelEntry 38 }

   gmplsTunnelSwitchingType OBJECT-TYPE
   SYNTAX  Integer32 (0..2147483647)
   MAX-ACCESS read-create
   STATUS  current
   DESCRIPTION
       "Indicates the type of switching that should
        be performed on a particular link.  This
        field is needed for links that advertise
        more than one type of switching capability.
        Values of this field are as the Switching
        Capability field defined in [GMPLS-RTG]
        This object is only used if
        gmplsTunnelLSPEncoding is not set to 0.
        Ed Note: Should these values be assigned
        and maintained by IANA or imported from
        another MIB?
        Currently the following values are valid:

       unknown (0),
        psc1 (1),
        psc2 (2),
        psc3 (3),
        psc4 (4),
        l2sc (51),
        tdm (100),
        lsc (150),
        fsc (200)"
   ::= { gmplsTunnelEntry 39 }




Nadeau et al.               Expires July 2002               [Page 37]


Internet Draft                GMPLS TE MIB               January 2002



   gmplsTunnelLinkProtection OBJECT-TYPE
   SYNTAX  BITS {
      extraTraffic(1),
      unprotected(2),
      shared (3),
      dedicatedOneToOne (4),
      dedicatedOnePlusOne(5),
      enhanced(6)
   }
   MAX-ACCESS read-create
   STATUS  current
   DESCRIPTION
       "This bitmask indicates the level of link
        protection required. A value of zero (no
        bits set) indicates that any protection may
        be used.
        This object is only used if
        gmplsTunnelLSPEncoding is not set to 0.
        The following describes these bitfields:

        extraTraffic
        Indicates that the LSP should use links
        that are protecting other (primary)
        traffic.  Such LSPs may be preempted when
        the links carrying the (primary) traffic
        being protected fail.

        unprotected
        Indicates that the LSP should not use any
        link layer protection.

        shared
        Indicates that a shared link layer
        protection scheme, such as 1:N
        protection, should be used to support the
        LSP.

        dedicatedOneToOne
        Indicates that a dedicated link layer
        protection scheme, i.e., 1:1 protection,
        should be used to support the LSP.

        dedicatedOnePlusOne
        Indicates that a dedicated link layer
        protection scheme, i.e., 1+1 protection,
        should be used to support the LSP.

        enhanced
        Indicates that a protection scheme that is
        more reliable than Dedicated 1+1 should be



Nadeau et al.               Expires July 2002               [Page 38]


Internet Draft                GMPLS TE MIB               January 2002



        used, e.g., 4 fiber BLSR/MS-SPRING."
   ::= { gmplsTunnelEntry 40 }

   gmplsTunnelGPid OBJECT-TYPE
   SYNTAX  Unsigned32
   MAX-ACCESS read-create
   STATUS  current
   DESCRIPTION
       "This object indicates the payload carried
        by the LSP. It is only required when GMPLS
        will be used for this LSP.
        This object is only used if
        gmplsTunnelLSPEncoding is not set to 0.

        Ed note: Should IANA maintain these values?
        Is there a better way of doing this? Say,
        having an enum for these values, plus
        another bit mask for the ethertypes and a
        flag to tell which to use?

       Currently the following values are valid.

         unknown(0),
         asynchE4(5),
         asynchDS3T3(6),
         asynchE3(7),
         bitsynchE3(8),
         bytesynchE3(9),
         asynchDS2T2(10),
         bitsynchDS2T2(11),
         asynchE1(13),
         bytesynchE1(14),
         bytesynch31ByDS0(15),
         asynchDS1T1(16),
         bitsynchDS1T1(17),
         bytesynchDS1T1(18),
         VC11VC12(19),
         ds1SFAsynch(22),
         ds1ESFAsynch(23),
         ds3M23Asynch(24),
         ds3CBitParityAsynch(25),
         vt(26),
         sts(27),
         posNoScrambe16BitCrc(28),
         posNoScrambe32BitCrc(29),
         posScrambe16BitCrc(30),
         posScrambe32BitCrc(31),
         atm(32)
         ethernet(33),
         sdh(34),



Nadeau et al.               Expires July 2002               [Page 39]


Internet Draft                GMPLS TE MIB               January 2002



         sonet(35),
         digitalwrapper(36),
         lambda(37),
         etsiPdh (38),
         ansiPdh (39),
         lapsSdh (40),
         fddi (41),
         dqdb (42),
         fiberChannel3 (43)"
   ::= { gmplsTunnelEntry 41 }

   gmplsTunnelSecondary OBJECT-TYPE
   SYNTAX  TruthValue
   MAX-ACCESS read-create
   STATUS  current
   DESCRIPTION
       "Indicates that the requested LSP is a
        secondary LSP.

        This object is only used if
        gmplsTunnelLSPEncoding is not set to 0."
   DEFVAL  { false }
   ::= { gmplsTunnelEntry 42 }

   gmplsTunnelDirection OBJECT-TYPE
   SYNTAX  INTEGER {
      forward (0),
      bidirectional (1)
   }
   MAX-ACCESS read-create
   STATUS  current
   DESCRIPTION
       "Whether this tunnel carries forward data
        (is unidirectional) or is bidirectional.
        By default, tunnels are unidirectional."
   DEFVAL { forward }
   ::= { gmplsTunnelEntry 43 }

   gmplsTunnelPathComp OBJECT-TYPE
   SYNTAX  INTEGER {
       dynamicFull(1),-- CSPF fully computed
       explicit(2),-- fully specified path
       dynamicPartial(3) -- CSPF partially computed
   }
   MAX-ACCESS read-create
   STATUS current
   DESCRIPTION
       "This value instructs the source node on how
        to perform path computation on the explicit
        route specified by the associated entries



Nadeau et al.               Expires July 2002               [Page 40]


Internet Draft                GMPLS TE MIB               January 2002



        in the gmplsTunnelHopTable.

        dynamicFull
        The user specifies at least the source and
        destination of the path and expects that
        the CSPF will calculate the remainder of
        the path.

        explicit
        The user specifies the entire path for the
        tunnel to take.  This path may contain
        strict or loose hops.  Evaluation of the
        explicit route will be performed hop by hop
        through the network.

        dynamicPartial
        The user specifies at least the source and
        destination of the path and expects that
        the CSPF will calculate the remainder of
        the path.  The path computed by CSPF is
        allowed to be only partially computed
        allowing the remainder of the path to be
        filled in across the network."
   DEFVAL { explicit }
   ::= { gmplsTunnelEntry 44 }

   -- End of gmplsTunnelTable


   -- Begin gmplsTunnelHopPathOptionIndexNextTable

   gmplsTunnelHopPathOptionIndexNextTable  OBJECT-TYPE
   SYNTAX  SEQUENCE OF
   GmplsTunnelHopPathOptionIndexNextEntry
   MAX-ACCESS not-accessible
   STATUS  current
   DESCRIPTION
       "This table contains the next available
        values of gmplsTunnelHopPathOptionIndex for
        all values of gmplsTunnelHopListIndex."
   ::= { gmplsTeObjects 4 }

   gmplsTunnelHopPathOptionIndexNextEntry  OBJECT-TYPE
   SYNTAX  GmplsTunnelHopPathOptionIndexNextEntry
   MAX-ACCESS not-accessible
   STATUS  current
   DESCRIPTION
       "An entry in this table represents the next
        available gmplsTunnelHopPathOptionIndex for
        a specific value of



Nadeau et al.               Expires July 2002               [Page 41]


Internet Draft                GMPLS TE MIB               January 2002



        gmplsTunnelHopListIndex.
        This MIB table is indexed by
        gmplsTunnelHopListIndex."
   INDEX  { gmplsTunnelHopListIndex }
   ::= { gmplsTunnelHopPathOptionIndexNextTable 1 }

   GmplsTunnelHopPathOptionIndexNextEntry ::= SEQUENCE {
     gmplsTunnelHopPathOptionIndexNextIndex
       MplsPathIndexOrZero
   }

   gmplsTunnelHopPathOptionIndexNextIndex OBJECT-TYPE
   SYNTAX  MplsPathIndexOrZero
   MAX-ACCESS read-only
   STATUS  current
   DESCRIPTION
       "The next available
        gmplsTunnelHopPathOptionIndex for the given
        value of gmplsTunnelHopListIndex.  A value
        of zero means that no further entries are
        available."
   ::= { gmplsTunnelHopPathOptionIndexNextEntry 1 }


   -- End of gmplsTunnelHopPathOptionIndexNextTable


   -- Begin gmplsTunnelHopIndexNextTable

   gmplsTunnelHopIndexNextTable  OBJECT-TYPE
   SYNTAX  SEQUENCE OF GmplsTunnelHopIndexNextEntry
   MAX-ACCESS not-accessible
   STATUS  current
   DESCRIPTION
       "This table contains the next available
        values of gmplsTunnelHopIndex for all
        parings of gmplsTunnelHopListIndex and
        gmplsTunnelHopPathOptionIndex, that is for
        all entries in the gmplsTunnelHopTable."
   ::= { gmplsTeObjects 5 }

   gmplsTunnelHopIndexNextEntry  OBJECT-TYPE
   SYNTAX  GmplsTunnelHopIndexNextEntry
   MAX-ACCESS not-accessible
   STATUS  current
   DESCRIPTION
       "An entry in this table represents the next
        available gmplsTunnelHopIndex for a
        specific paring of gmplsTunnelHopListIndex
        and gmplsTunnelHopPathOptionIndex.



Nadeau et al.               Expires July 2002               [Page 42]


Internet Draft                GMPLS TE MIB               January 2002



        This MIB table is indexed by
        gmplsTunnelHopListIndex."
   INDEX  {
      gmplsTunnelHopListIndex,
      gmplsTunnelHopPathOptionIndex
   }
   ::= { gmplsTunnelHopIndexNextTable 1 }

   GmplsTunnelHopIndexNextEntry ::= SEQUENCE {
     gmplsTunnelHopIndexNextIndex  MplsPathIndexOrZero
   }

   gmplsTunnelHopIndexNextIndex OBJECT-TYPE
   SYNTAX  MplsPathIndexOrZero
   MAX-ACCESS read-only
   STATUS  current
   DESCRIPTION
       "The next available gmplsTunnelHopIndex for
        the given paring of gmplsTunnelHopListIndex
        and gmplsTunnelHopPathOptionIndex.
        A value of zero means that no further
        entries are available."
   ::= { gmplsTunnelHopIndexNextEntry 1 }

   -- End of gmplsTunnelHopIndexNextTable


   -- Begin gmplsTunnelHopTable

   gmplsTunnelHopListIndexNext OBJECT-TYPE
   SYNTAX  MplsPathIndex
   MAX-ACCESS read-only
   STATUS  current
   DESCRIPTION
       "This object contains an appropriate value
        to be used for gmplsTunnelHopListIndex when
        creating entries in the
        gmplsTunnelHopTable.  If the number of
        unassigned entries is exhausted, a
        retrieval operation will return a value of
        0.  This object may also return a value of
        0 when the LSR is unable to accept
        conceptual row creation, for example, if
        the mplsTunnelHopTable is implemented as
        read-only.
        To obtain the value of
        gmplsTunnelHopListIndex for a new entry in
        the gmplsTunnelHopTable, the manager issues
        a management protocol retrieval operation
        to obtain the current value of



Nadeau et al.               Expires July 2002               [Page 43]


Internet Draft                GMPLS TE MIB               January 2002



        gmplsTunnelHopIndex.
        After each retrieval operation, the agent
        should modify the value to reflect the next
        unassigned index.  After a manager
        retrieves a value the agent will determine
        through its local policy when this index
        value will be made available for reuse."
   ::= { gmplsTeObjects 6 }


   gmplsTunnelHopTable  OBJECT-TYPE
   SYNTAX  SEQUENCE OF GmplsTunnelHopEntry
   MAX-ACCESS not-accessible
   STATUS  current
   DESCRIPTION
       "The gmplsTunnelHopTable is used to indicate
        the explicit labels and hops to be used for
        an MPLS or GMPLS tunnel defined in
        gmplsTunnelTable, when it is established
        using signaling.  Each row in this table is
        indexed by gmplsTunnelHopListIndex.  Each
        row also has a secondary index
        gmplsTunnelHopIndex corresponding to the
        next hop that this row corresponds to.  The
        first row in the table is the first hop
        after the origination point of the tunnel.
        In case we want to specify a particular
        interface on the originating LSR of an
        outgoing tunnel by which we want packets to
        exit the LSR, we specify this as the first
        hop for this tunnel in gmplsTunnelHopTable.

        Note that some rows encode objects that are
        only valid for GMPLS tunnels."
   ::= { gmplsTeObjects 7 }

   gmplsTunnelHopEntry  OBJECT-TYPE
   SYNTAX  GmplsTunnelHopEntry
   MAX-ACCESS not-accessible
   STATUS  current
   DESCRIPTION
       "An entry in this table represents a tunnel
        hop.  An entry is created by a network
        administrator for signaled an ERLSP to be
        set up by a signaling protocol."
   INDEX {
      gmplsTunnelHopListIndex,
      gmplsTunnelHopPathOptionIndex,
      gmplsTunnelHopIndex
   }



Nadeau et al.               Expires July 2002               [Page 44]


Internet Draft                GMPLS TE MIB               January 2002



   ::= { gmplsTunnelHopTable 1 }

   GmplsTunnelHopEntry ::= SEQUENCE {
      gmplsTunnelHopListIndex         MplsPathIndex,
      gmplsTunnelHopPathOptionIndex   MplsPathIndex,
      gmplsTunnelHopIndex             MplsPathIndex,
      gmplsTunnelHopAddrType          GmplsHopAddrType,
      gmplsTunnelHopIpv4Addr          InetAddressIPv4,
      gmplsTunnelHopIpv4PrefixLen     Unsigned32,
      gmplsTunnelHopIpv6Addr          InetAddressIPv6,
      gmplsTunnelHopIpv6PrefixLen     Unsigned32,
      gmplsTunnelHopAsNumber          Unsigned32,
      gmplsTunnelHopLspId             MplsLSPID,
      gmplsTunnelHopType              INTEGER,
      gmplsTunnelHopIncludeExclude    INTEGER,
      gmplsTunnelHopPathOptionName    DisplayString,
      gmplsTunnelHopRowStatus         RowStatus,
      gmplsTunnelHopStorageType       StorageType,
      gmplsTunnelHopLabelStatuses     BITS,
      gmplsTunnelHopExplicitLabel     Unsigned32,
      gmplsTunnelHopExplicitReverseLabel
                                      Unsigned32,
      gmplsTunnelHopUnnumberedInterface
                                      InterfaceIndexOrZero
   }

   gmplsTunnelHopListIndex OBJECT-TYPE
   SYNTAX  MplsPathIndex
   MAX-ACCESS not-accessible
   STATUS  current
   DESCRIPTION
       "Primary index into this table identifying a
        particular explicit route object."
   ::= { gmplsTunnelHopEntry 1 }

   gmplsTunnelHopPathOptionIndex OBJECT-TYPE
   SYNTAX  MplsPathIndex
   MAX-ACCESS not-accessible
   STATUS  current
   DESCRIPTION
       "Secondary index into this table identifying
        a particular group of hops representing a
        particular configured path. This is
        otherwise known as a path option."
   ::= { gmplsTunnelHopEntry 2 }

   gmplsTunnelHopIndex OBJECT-TYPE
   SYNTAX  MplsPathIndex
   MAX-ACCESS not-accessible
   STATUS  current



Nadeau et al.               Expires July 2002               [Page 45]


Internet Draft                GMPLS TE MIB               January 2002



   DESCRIPTION
       "Secondary index into this table identifying
        a particular hop."
   ::= { gmplsTunnelHopEntry 3 }

   gmplsTunnelHopAddrType OBJECT-TYPE
   SYNTAX  GmplsHopAddrType
   MAX-ACCESS read-create
   STATUS  current
   DESCRIPTION
       "Denotes the type of this tunnel hop entry."
   DEFVAL  { ipV4 }
   ::= { gmplsTunnelHopEntry 4 }

   gmplsTunnelHopIpv4Addr OBJECT-TYPE
   SYNTAX  InetAddressIPv4
   MAX-ACCESS read-create
   STATUS  current
   DESCRIPTION
       "If gmplsTunnelHopAddrType is set to
        ipV4(1), then this value will contain the
        IPv4 address of this hop. If
        gmplsTunnelHopAddrType is set to lspid(4),
        then this value will contain the Ingress
        LSR ID of the Tunnel. If
        gmplsTunnelHopAddrType is set to
        unnumberedIpV4(6) then this value will
        contain LSR ID of the router on which the
        unnumbered interface resides.  This object
        is otherwise insignificant and should
        contain a value of 0."
   ::= { gmplsTunnelHopEntry 5 }

   gmplsTunnelHopIpv4PrefixLen OBJECT-TYPE
   SYNTAX  Unsigned32 (0..32)
   MAX-ACCESS read-create
   STATUS  current
   DESCRIPTION
       "If gmplsTunnelHopAddrType 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."
   ::= { gmplsTunnelHopEntry 6 }

   gmplsTunnelHopIpv6Addr OBJECT-TYPE
   SYNTAX  InetAddressIPv6
   MAX-ACCESS read-create
   STATUS  current
   DESCRIPTION



Nadeau et al.               Expires July 2002               [Page 46]


Internet Draft                GMPLS TE MIB               January 2002



       "If gmplsTunnelHopAddrType is set to
        ipV6(2), then this value will contain the
        IPv6 address of this hop. If
        gmplsTunnelHopAddrType is set to
        lspidIpV6(5), then this value will contain
        the Ingress LSR ID of the Tunnel. If
        gmplsTunnelHopAddrType is set to
        unnumberedIpV6(7) then this value will
        contain LSR ID of the router on which the
        unnumbered interface resides. This object
        is otherwise insignificant and should
        contain a value of 0."
   ::= { gmplsTunnelHopEntry 7 }

   gmplsTunnelHopIpv6PrefixLen OBJECT-TYPE
   SYNTAX  Unsigned32 (0..128)
   MAX-ACCESS read-create
   STATUS  current
   DESCRIPTION
       "If gmplsTunnelHopAddrType 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."
   ::= { gmplsTunnelHopEntry 8 }

   gmplsTunnelHopAsNumber OBJECT-TYPE
   SYNTAX  Unsigned32 (0..65535)
   MAX-ACCESS read-create
   STATUS  current
   DESCRIPTION
       "If gmplsTunnelHopAddrType is set to
        asNumber(3), then this value will contain
        the AS number of this hop. This object is
        otherwise insignificant and should contain
        a value of 0 to indicate this fact."
   ::= { gmplsTunnelHopEntry 9 }

   gmplsTunnelHopLspId OBJECT-TYPE
   SYNTAX  MplsLSPID
   MAX-ACCESS read-create
   STATUS  current
   DESCRIPTION
       "If gmplsTunnelHopAddrType is set to
        lspid(4) or lspidIpV6(5), then this value
        will contain the LSPID of a tunnel to use
        for this hop. The tunnel being configured
        is tunneled through this hop (using label
        stacking). This object is otherwise
        insignificant and should contain a value of



Nadeau et al.               Expires July 2002               [Page 47]


Internet Draft                GMPLS TE MIB               January 2002



        0 to indicate this fact.
        Note that not all signaling protocols
        include the facility to signal this type of
        explicit hop."
   ::= { gmplsTunnelHopEntry 10 }

   gmplsTunnelHopType OBJECT-TYPE
   SYNTAX  INTEGER {
       strict(1),
       loose(2)
   }
   MAX-ACCESS read-create
   STATUS  current
   DESCRIPTION
       "Denotes whether this tunnel hop is routed
        in a strict or loose fashion."
   DEFVAL { strict }
   ::= { gmplsTunnelHopEntry 11 }

   gmplsTunnelHopIncludeExclude OBJECT-TYPE
   SYNTAX  INTEGER {
      include(1),
      exclude(2)
   }
   MAX-ACCESS read-create
   STATUS  current
   DESCRIPTION
       "If this value is set to include(1), then
        this indicates that this hop must be
        included in the tunnel's path. If this
        value is set to exclude(2), then this hop
        must be avoided when calculating the path
        for this tunnel. The default value of this
        object is include(1), so that by default
        all indicated hops are included in the CSPF
        path computation."
   DEFVAL { include }
   ::= { gmplsTunnelHopEntry 12 }

   gmplsTunnelHopPathOptionName OBJECT-TYPE
   SYNTAX  DisplayString
   MAX-ACCESS read-create
   STATUS  current
   DESCRIPTION
       "The description of this series of hops as
        they relate to the specified path option."
   ::= { gmplsTunnelHopEntry 13 }

   gmplsTunnelHopRowStatus OBJECT-TYPE
   SYNTAX  RowStatus



Nadeau et al.               Expires July 2002               [Page 48]


Internet Draft                GMPLS TE MIB               January 2002



   MAX-ACCESS read-create
   STATUS  current
   DESCRIPTION
       "This variable is used to create, modify,
        and/or delete a row in this table."
   ::= { gmplsTunnelHopEntry 14 }

   gmplsTunnelHopStorageType OBJECT-TYPE
   SYNTAX  StorageType
   MAX-ACCESS read-create
   STATUS  current
   DESCRIPTION
       "This variable indicates the storage type
        for this  table entry.  When set to
        'permanent', the entire row is to be
        stored."
   ::= { gmplsTunnelHopEntry 15 }

   gmplsTunnelHopLabelStatuses OBJECT-TYPE
   SYNTAX  BITS {
      forwardPresent (0),
      reversePresent (1)
   }
   MAX-ACCESS read-only
   STATUS  current
   DESCRIPTION
       "This bitmask indicates the presence and
        status of labels indicated by the
        gmplsTunnelHopExplicitLabel and
        gmplsTunnelHopExplicitReverseLabel objects.
        For the Present bits, a set bit indicates
        that a label is present for this hop in the
        route."
   ::= { gmplsTunnelHopEntry 16 }

   gmplsTunnelHopExplicitLabel OBJECT-TYPE
   SYNTAX  Unsigned32
   MAX-ACCESS read-create
   STATUS  current
   DESCRIPTION
       "Indicates the row entry in the
        gmplsLabelTabel that defines the explicit
        label to use in the explicit route as the
        forward path label at this point. This
        value only has meaning if the
        forwardPresent bit of
        gmplsTunnelHopLabelStatuses is set.
        This variable is only valid for settings of
        gmplsTunnelHopAddrType which may be
        associated with a forward path label.



Nadeau et al.               Expires July 2002               [Page 49]


Internet Draft                GMPLS TE MIB               January 2002



        Note that in implementations where the
        label may be encoded within a 32 bit
        integer and where gmplsLabelTable is not
        implemented, this object may directly
        contain the
   label value to use."
   ::= { gmplsTunnelHopEntry 17 }

   gmplsTunnelHopExplicitReverseLabel OBJECT-TYPE
   SYNTAX  Unsigned32
   MAX-ACCESS read-create
   STATUS  current
   DESCRIPTION
       "Indicates the row entry in the
        gmplsLabelTabel that defines the explicit
        label to use in the explicit route as the
        reverse path label at this point. This
        value only has meaning if the
        reversePresent bit of
        gmplsTunnelHopLabelStatuses is set.
        This variable is only valid for settings of
        gmplsTunnelHopAddrType which may be
        associated with a reverse path label.
        Note that in implementations where the
        label may be encoded within a 32 bit
        integer and where gmplsLabelTable is not
        implemented, this object may directly
        contain the
       label value to use."
   ::= { gmplsTunnelHopEntry 18 }

   gmplsTunnelHopUnnumberedInterface OBJECT-TYPE
   SYNTAX  InterfaceIndexOrZero
   MAX-ACCESS read-create
   STATUS  current
   DESCRIPTION
       "Indicates the interface index of the
        unnumbered interface to use when setting up
        the LSP. Only has value when
        gmplsTunnelHopAddrType is set to
        unnumberedIfIpV4(6) or unnumberedIfIpV6(7)
        in which case the corresponding
        gmplsTunnelHopIpv4Addr or
   gmplsTunnelHopIpv6Addr variable must contain an LSR id."
   ::= { gmplsTunnelHopEntry 19 }

   -- End of gmplsTunnelHopTable


   -- Begin of gmplsTunnelResourceTable



Nadeau et al.               Expires July 2002               [Page 50]


Internet Draft                GMPLS TE MIB               January 2002




   gmplsTunnelResourceIndexNext OBJECT-TYPE
   SYNTAX  Unsigned32 (0.. 2147483647)
   MAX-ACCESS read-only
   STATUS  current
   DESCRIPTION
       "This object contains the next appropriate
        value to be used for
        gmplsTunnelResourceIndex when creating
        entries in the mplsTunnelResourceTable. If
        the number of unassigned entries is
        exhausted, a retrieval operation will
        return a value of 0.  This object may also
        return a value of 0 when the LSR is unable
        to accept conceptual row creation, for
        example, if the gmplsTunnelTable is
        implemented as read-only.  To obtain the
        gmplsTunnelResourceIndex value for a new
        entry, the manager must first issue a
        management protocol retrieval operation to
        obtain the current value of this object.
        The agent should modify the value to
        reflect the next unassigned index after
        each retrieval operation. After a manager
        retrieves a value the agent will determine
        through its local policy when this index
        value will be made available for reuse."
   ::= { gmplsTeObjects 8 }

   gmplsTunnelResourceTable OBJECT-TYPE
   SYNTAX  SEQUENCE OF GmplsTunnelResourceEntry
   MAX-ACCESS not-accessible
   STATUS  current
   DESCRIPTION
       "The gmplsTunnelResourceTable allows a
        manager to specify which resources are
        desired for an MPLS tunnel.  This table
        also allows several tunnels to point to a
        single entry in this table, implying that
        these tunnels should share resources."
   ::= { gmplsTeObjects 9 }

   gmplsTunnelResourceEntry OBJECT-TYPE
   SYNTAX  GmplsTunnelResourceEntry
   MAX-ACCESS not-accessible
   STATUS  current
   DESCRIPTION
       "An entry in this table represents a set of
        resources for a GMPLS or MPLS tunnel.  An
        entry can be created by a network



Nadeau et al.               Expires July 2002               [Page 51]


Internet Draft                GMPLS TE MIB               January 2002



        administrator or by an SNMP agent as
        instructed by a signaling protocol."
   INDEX{ gmplsTunnelResourceIndex }
   ::= { gmplsTunnelResourceTable 1 }

   GmplsTunnelResourceEntry ::= SEQUENCE {
      gmplsTunnelResourceIndex           Unsigned32,
      gmplsTunnelResourceMaxRate         MplsBitRate,
      gmplsTunnelResourceMeanRate        MplsBitRate,
      gmplsTunnelResourceMaxBurstSize    MplsBurstSize,
      gmplsTunnelResourceMeanBurstSize   MplsBurstSize,
      gmplsTunnelResourceExcessBurstSize MplsBurstSize,
      gmplsTunnelResourceFrequency       INTEGER,
      gmplsTunnelResourceWeight          Unsigned32,
      gmplsTunnelResourceRowStatus       RowStatus,
      gmplsTunnelResourceStorageType     StorageType
   }

   gmplsTunnelResourceIndex OBJECT-TYPE
   SYNTAX  Unsigned32 (1..2147483647)
   MAX-ACCESS not-accessible
   STATUS  current
   DESCRIPTION
       "Uniquely identifies this row."
   ::= { gmplsTunnelResourceEntry 1 }

   gmplsTunnelResourceMaxRate OBJECT-TYPE
   SYNTAX  MplsBitRate
   UNITS "bits per second"
   MAX-ACCESS read-create
   STATUS  current
   DESCRIPTION
       "The maximum rate in bits/second.  Note that
        setting gmplsTunnelResourceMaxRate,
        gmplsTunnelResourceMeanRate, and
        gmplsTunnelResourceMaxBurstSize to 0
        indicates best-effort treatment. This
        object is copied to an instance of
        gmplsTrafficParamMaxRate in
        gmplsTrafficParamTable the OID of which is
        copied into the corresponding
        gmplsInSegmentTrafficParamPtr."
   REFERENCE
       "T. Nadeau et al., GMPLS Label Switching
        Router Management Information Base Using
        SMIv2, Internet Draft <draft-nadeau-ccamp-
        gmpls-lsr-mib-01.txt>, January 2002."
   ::= { gmplsTunnelResourceEntry 2 }

   gmplsTunnelResourceMeanRate OBJECT-TYPE



Nadeau et al.               Expires July 2002               [Page 52]


Internet Draft                GMPLS TE MIB               January 2002



   SYNTAX  MplsBitRate
   UNITS "bits per second"
   MAX-ACCESS read-create
   STATUS  current
   DESCRIPTION
       "This object is copied into an instance of
        gmplsTrafficParamMeanRate in the
        gmplsTrafficParamTable. The OID of this
        table entry is then copied into the
        corresponding
        gmplsInSegmentTrafficParamPtr.

        When resource allocation is performed as
        requested by this TSpec object, it is
        copied into an entry in
        gmplsTrafficParamTable [GMPLSLSRMIB]:
        gmplsTunnelInMeanRate to
        gmplsTrafficParamMeanRate.
        The OID of this entry is copied to
        gmplsInSegmentTrafficParamPtr of the
        corresponding in-segment entry."
   REFERENCE
       "T. Nadeau et al., GMPLS Label Switching
        Router Management Information Base Using
        SMIv2, Internet Draft <draft-nadeau-ccamp-
        gmpls-lsr-mib-01.txt>, January 2002."
   ::= { gmplsTunnelResourceEntry 3 }

   gmplsTunnelResourceMaxBurstSize OBJECT-TYPE
   SYNTAX  MplsBurstSize
   UNITS "bytes"
   MAX-ACCESS read-create
   STATUS  current
   DESCRIPTION
       "The maximum burst size in bytes.  This
        object is copied to
        gmplsInSegmentMaxBurstSize of the
        corresponding in-segment.

        When resource allocation is performed as
        requested by this TSpec object, it is
        copied into an entry in
        gmplsTrafficParamTable [LSRMIB]:
        gmplsTunnelInMaxBurstSize to
        gmplsTrafficParamMaxBurstSize. The OID of
        this entry is copied to
        gmplsInSegmentTrafficParamPtr of the
        corresponding in-segment entry."
   REFERENCE
       "T. Nadeau et al., GMPLS Label Switching



Nadeau et al.               Expires July 2002               [Page 53]


Internet Draft                GMPLS TE MIB               January 2002



        Router Management Information Base Using
        SMIv2, Internet Draft <draft-nadeau-ccamp-
        gmpls-lsr-mib-01.txt>, January 2002."
   ::= { gmplsTunnelResourceEntry 4 }

   gmplsTunnelResourceMeanBurstSize OBJECT-TYPE
   SYNTAX MplsBurstSize
   UNITS "bytes"
   MAX-ACCESS read-create
   STATUS current
   DESCRIPTION
       "The mean burst size in bytes.  The
        implementations which do not implement this
        variable must return 0 for this value and
        must not allow a user to set this value."
   ::= { gmplsTunnelResourceEntry 5 }

   gmplsTunnelResourceExcessBurstSize OBJECT-TYPE
   SYNTAX MplsBurstSize
   UNITS "bytes"
   MAX-ACCESS read-create
   STATUS current
   DESCRIPTION
       "The Excess burst size in bytes.  The
        implementations which do not implement this
        variable must return 0 for this value and
        must not allow a user to set this value."
   REFERENCE
       "CR-LDP Specification, Section 4.3."
   ::= { gmplsTunnelResourceEntry 6 }

   gmplsTunnelResourceFrequency  OBJECT-TYPE
   SYNTAX INTEGER {
      unspecified(1),
      frequent(2),
      veryFrequent(3)
   }
   MAX-ACCESS read-create
   STATUS current
   DESCRIPTION
       "The granularity of the availability of
        committed rate.  The implementations which
        do not implement this variable must return
        unspecified(1) for this value and must not
        allow a user to set this value."
   REFERENCE
       "CR-LDP Specification, Section 4.3."
   ::= { gmplsTunnelResourceEntry 7 }

   gmplsTunnelResourceWeight OBJECT-TYPE



Nadeau et al.               Expires July 2002               [Page 54]


Internet Draft                GMPLS TE MIB               January 2002



   SYNTAX Unsigned32(0..255)
   MAX-ACCESS read-create
   STATUS current
   DESCRIPTION
       "The relative weight for using excess
        bandwidth above its committed rate.  The
        value of 0 means that weight is not
        applicable for the CR-LSP."
   REFERENCE
       "CR-LDP Specification, Section 4.3."
   ::= { gmplsTunnelResourceEntry 8 }

   gmplsTunnelResourceRowStatus OBJECT-TYPE
   SYNTAX  RowStatus
   MAX-ACCESS read-create
   STATUS  current
   DESCRIPTION
       "This variable is used to create, modify,
        and/or delete a row in this table."
   ::= { gmplsTunnelResourceEntry 9 }

   gmplsTunnelResourceStorageType OBJECT-TYPE
   SYNTAX  StorageType
   MAX-ACCESS read-create
   STATUS  current
   DESCRIPTION
       "This variable indicates the storage type
        for this table entry.  When set to
        'permanent', the entire row is to be
        stored."
   ::= { gmplsTunnelResourceEntry 10 }

   -- End gmplsTunnelResourceTable


   -- Tunnel Actual Route Hop table.

   gmplsTunnelARHopTable  OBJECT-TYPE
   SYNTAX  SEQUENCE OF GmplsTunnelARHopEntry
   MAX-ACCESS not-accessible
   STATUS  current
   DESCRIPTION
       "The gmplsTunnelARHopTable is used to
        indicate the hops, strict or loose, for a
        GMPLS or MPLS tunnel defined in
        gmplsTunnelTable, as reported by the
        signaling protocol, for the outgoing
        direction of the tunnel.  Each row in this
        table is indexed by
        gmplsTunnelARHopListIndex.  Each row also



Nadeau et al.               Expires July 2002               [Page 55]


Internet Draft                GMPLS TE MIB               January 2002



        has a secondary index
        gmplsTunnelARHopIndex, corresponding to the
        next hop that this row corresponds to.  The
        first row in the table is the first hop
        after the origination point of the tunnel.
        In case we want to specify a particular
        interface on the originating LSR of an
        outgoing tunnel by which we want packets to
        exit the LSR, we specify this as the first
        hop for this tunnel in
        gmplsTunnelARHopTable.

        Please note that since the information
        necessary to build entries within this
        table is not provided by some signaling
        protocols, implementation of this table is
        optional. Furthermore, since the
        information in this table is actually
        provided by the signaling protocol after
        the path has been set-up, the entries in
        this table are provided only for
        observation, and hence, all variables in
        this table are accessible exclusively as
        read-only."
   ::= { gmplsTeObjects 10 }

   gmplsTunnelARHopEntry  OBJECT-TYPE
   SYNTAX  GmplsTunnelARHopEntry
   MAX-ACCESS not-accessible
   STATUS  current
   DESCRIPTION
       "An entry in this table represents a tunnel
        hop.  An entry is created by the signaling
        protocol for a signaled ERLSP set up by the
        signaling protocol."
   INDEX { gmplsTunnelARHopListIndex, gmplsTunnelARHopIndex
   }
   ::= { gmplsTunnelARHopTable 1 }

   GmplsTunnelARHopEntry ::= SEQUENCE {
      gmplsTunnelARHopListIndex        MplsPathIndex,
      gmplsTunnelARHopIndex            MplsPathIndex,
      gmplsTunnelARHopAddrType         GmplsHopAddrType,
      gmplsTunnelARHopIpv4Addr         InetAddressIPv4,
      gmplsTunnelARHopIpv4PrefixLen    Unsigned32,
      gmplsTunnelARHopIpv6Addr         InetAddressIPv6,
      gmplsTunnelARHopIpv6PrefixLen    Unsigned32,
      gmplsTunnelARHopAsNumber         Unsigned32,
      gmplsTunnelARHopLspId            MplsLSPID,
      gmplsTunnelARHopLabelStatuses    BITS,



Nadeau et al.               Expires July 2002               [Page 56]


Internet Draft                GMPLS TE MIB               January 2002



      gmplsTunnelARHopExplicitLabel    Unsigned32,
      gmplsTunnelARHopExplicitReverseLabel
                                       Unsigned32,
      gmplsTunnelARHopUnnumberedInterface

      InterfaceIndexOrZero,
      gmplsTunnelARHopProtection       BITS
   }

   gmplsTunnelARHopListIndex OBJECT-TYPE
   SYNTAX  MplsPathIndex
   MAX-ACCESS not-accessible
   STATUS  current
   DESCRIPTION
       "Primary index into this table identifying a
        particular recorded hop list."
   ::= { gmplsTunnelARHopEntry 1 }

   gmplsTunnelARHopIndex OBJECT-TYPE
   SYNTAX  MplsPathIndex
   MAX-ACCESS not-accessible
   STATUS  current
   DESCRIPTION
       "Secondary index into this table identifying
        the particular hop."
   ::= { gmplsTunnelARHopEntry 2 }

   gmplsTunnelARHopAddrType OBJECT-TYPE
   SYNTAX  GmplsHopAddrType
   MAX-ACCESS read-only
   STATUS  current
   DESCRIPTION
       "Denotes the address type of this tunnel
        hop.
        Only the values ipV4(1), ipV6(2),
        unnumberedIfIpV4(6) and unnumberedIfIpV6(7)
        will be seen for this object."
   DEFVAL  { ipV4 }
   ::= { gmplsTunnelARHopEntry 3 }

   gmplsTunnelARHopIpv4Addr OBJECT-TYPE
   SYNTAX  InetAddressIPv4
   MAX-ACCESS read-only
   STATUS  current
   DESCRIPTION
       "If gmplsTunnelARHopAddrType 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."



Nadeau et al.               Expires July 2002               [Page 57]


Internet Draft                GMPLS TE MIB               January 2002



   ::= { gmplsTunnelARHopEntry 4 }

   gmplsTunnelARHopIpv4PrefixLen OBJECT-TYPE
   SYNTAX  Unsigned32 (0..32)
   MAX-ACCESS read-only
   STATUS  current
   DESCRIPTION
       "If gmplsTunnelARHopAddrType 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."
   ::= { gmplsTunnelARHopEntry 5 }

   gmplsTunnelARHopIpv6Addr OBJECT-TYPE
   SYNTAX  InetAddressIPv6
   MAX-ACCESS read-only
   STATUS  current
   DESCRIPTION
       "If the gmplsTunnelARHopAddrType 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."
   ::= { gmplsTunnelARHopEntry 6 }

   gmplsTunnelARHopIpv6PrefixLen OBJECT-TYPE
   SYNTAX  Unsigned32 (0..128)
   MAX-ACCESS read-only
   STATUS  current
   DESCRIPTION
       "If gmplsTunnelARHopAddrType 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."
   ::= { gmplsTunnelARHopEntry 7 }

   gmplsTunnelARHopAsNumber OBJECT-TYPE
   SYNTAX  Unsigned32 (0..65535)
   MAX-ACCESS read-only
   STATUS  current
   DESCRIPTION
       "If gmplsTunnelARHopAddrType is set to
        asNumber(3), then this value will contain
        the AS number of this hop. This object is
        otherwise insignificant and should contain
        a value of 0 to indicate this fact.
        Note that not all signaling protocols are
        capable of recording this information."



Nadeau et al.               Expires July 2002               [Page 58]


Internet Draft                GMPLS TE MIB               January 2002



   ::= { gmplsTunnelARHopEntry 8 }

   gmplsTunnelARHopLspId OBJECT-TYPE
   SYNTAX  MplsLSPID
   MAX-ACCESS read-create
   STATUS  current
   DESCRIPTION
       "If gmplsTunnelARHopAddrType is set to
        lspid(4) or lspidIpV6(5), then this value
        will contain the LSPID of a tunnel used for
        this hop. The tunnel being reported has
        been tunneled through this hop (using label
        stacking). This object is otherwise
        insignificant and should contain a value of
        0 to indicate this fact.
        Note that not all signaling protocols are
        capable of recording this information."
   ::= { gmplsTunnelARHopEntry 9 }

   gmplsTunnelARHopLabelStatuses OBJECT-TYPE
   SYNTAX  BITS {
      forwardPresent (0),
      reversePresent (1),
      forwardGlobal (2),
      reverseGlobal (3)
   }
   MAX-ACCESS read-only
   STATUS  current
   DESCRIPTION
       "This bitmask indicates the presence and
        status of labels indicated by the
        gmplsTunnelARHopExplicitLabel and
        gmplsTunnelARHopExplicitReverseLabel
        objects.
        For the Present bits, a set bit indicates
        that a label is present for this hop in the
        route.
        For the Global bits, a set bit indicates
        that the label comes from the Global Label
        Space.  A clear bit indicates that this is
        a Per-Interface label. A Global bit only
        has meaning if the corresponding Present
        bit is set."
   ::= { gmplsTunnelARHopEntry 10 }

   gmplsTunnelARHopExplicitLabel OBJECT-TYPE
   SYNTAX  Unsigned32
   MAX-ACCESS read-only
   STATUS  current
   DESCRIPTION



Nadeau et al.               Expires July 2002               [Page 59]


Internet Draft                GMPLS TE MIB               January 2002



       "Indicates the row entry in the
        gmplsLabelTabel that defines the label used
        in the path as forward path at this point.
        This value only has meaning if the
        forwardPresent bit of
        gmplsTunnelARHopLabelStatuses is set.
        Note that in implementations where the
        label may be encoded within a 32 bit
        integer and where gmplsLabelTable is not
        implemented, this object may directly
        contain the label value to use."
   ::= { gmplsTunnelARHopEntry 11 }

   gmplsTunnelARHopExplicitReverseLabel OBJECT-TYPE
   SYNTAX  Unsigned32
   MAX-ACCESS read-only
   STATUS  current
   DESCRIPTION
       "Indicates the row entry in the
        gmplsLabelTabel that defines the label used
        in the path as reverse path at this point.
        This value only has meaning if the
        reversePresent bit of
        gmplsTunnelARHopLabelStatuses is set.
        Note that in implementations where the
        label may be encoded within a 32 bit
        integer and where gmplsLabelTable is not
        implemented, this object may directly
        contain the label value to use."
   ::= { gmplsTunnelARHopEntry 12 }

   gmplsTunnelARHopUnnumberedInterface OBJECT-TYPE
   SYNTAX  InterfaceIndexOrZero
   MAX-ACCESS read-only
   STATUS  current
   DESCRIPTION
       "Indicates the interface index of the
        unnumbered interface used when setting up
        the LSP.
        Only has value when
        gmplsTunnelARHopAddrType is set to
        unnumberedIfIpV4(6) or unnumberedIfIpV6(7)
        in which case the corresponding
        gmplsTunnelARHopIpv4Addr or
        gmplsTunnelARHopIpv6Addr variable must
        contain an LSR id."
   ::= { gmplsTunnelARHopEntry 13 }

   gmplsTunnelARHopProtection  OBJECT-TYPE
   SYNTAX  BITS {



Nadeau et al.               Expires July 2002               [Page 60]


Internet Draft                GMPLS TE MIB               January 2002



         localAvailable (0),
         localInUse (1)
      }
      MAX-ACCESS read-only
      STATUS  current
      DESCRIPTION
       "Availability and usage of protection on the
        reported link.

        localAvailable indicates that the link
        downstream of this node is protected via a
        local repair mechanism.  This flag can only
        be set if the localProtectionDesired bit
        was set in gmplsTunnelAttributes for this
        tunnel.

        localInUse indicates that a local repair
        mechanism is in use to maintain this tunnel
        (usually in the face of an outage of the
        link it was previously routed over)."
       ::= { gmplsTunnelARHopEntry 14 }

   -- End of mplsTunnelARHopTable


   -- Tunnel Computed Hop table.

   gmplsTunnelCHopTable  OBJECT-TYPE
   SYNTAX  SEQUENCE OF GmplsTunnelCHopEntry
   MAX-ACCESS not-accessible
   STATUS  current
   DESCRIPTION
       "The gmplsTunnelCHopTable is used to
        indicate the hops, strict or loose, for a
        GMPLS or MPLS tunnel defined in
        gmplsTunnelTable, as computed by a
        constraint-based routing protocol, based on
        the gmplsTunnelHopTable for the outgoing
        direction of the tunnel.  Each row in this
        table is indexed by
        gmplsTunnelCHopListIndex.  Each row also
        has a secondary index gmplsTunnelCHopIndex,
        corresponding to the next hop that this row
        corresponds to.  The first row in the table
        is the first hop after the origination
        point of the tunnel.  In case we want to
        specify a particular interface on the
        originating LSR of an outgoing tunnel by
        which we want packets to exit the LSR, we
        specify this as the first hop for this



Nadeau et al.               Expires July 2002               [Page 61]


Internet Draft                GMPLS TE MIB               January 2002



        tunnel in gmplsTunnelCHopTable.

        Please note that since the information
        necessary to build entries within this
        table may not be supported by some LSRs,
        implementation of this table is optional.
        Furthermore, since the information in this
        table is actually provided by routing
        protocol after the path has been computed,
        the entries in this table are provided only
        for observation, and hence, all variables
        in this table are accessible exclusively as
        read-only."
   ::= { gmplsTeObjects 11 }

   gmplsTunnelCHopEntry  OBJECT-TYPE
   SYNTAX  GmplsTunnelCHopEntry
   MAX-ACCESS not-accessible
   STATUS  current
   DESCRIPTION
       "An entry in this table represents a tunnel
        hop.  An entry in this table is created by
        a constraint-based routing protocol based
        on the hops specified in the corresponding
        gmplsTunnelHopTable."
   INDEX { gmplsTunnelCHopListIndex, gmplsTunnelCHopIndex }
   ::= { gmplsTunnelCHopTable 1 }

   GmplsTunnelCHopEntry ::= SEQUENCE {
      gmplsTunnelCHopListIndex        MplsPathIndex,
      gmplsTunnelCHopIndex            MplsPathIndex,
      gmplsTunnelCHopAddrType         GmplsHopAddrType,
      gmplsTunnelCHopIpv4Addr         InetAddressIPv4,
      gmplsTunnelCHopIpv4PrefixLen    Unsigned32,
      gmplsTunnelCHopIpv6Addr         InetAddressIPv6,
      gmplsTunnelCHopIpv6PrefixLen    Unsigned32,
      gmplsTunnelCHopAsNumber         Unsigned32,
      gmplsTunnelCHopLspId            MplsLSPID,
      gmplsTunnelCHopType             INTEGER,
      gmplsTunnelCHopLabelStatuses    BITS,
      gmplsTunnelCHopExplicitLabel    Unsigned32,
      gmplsTunnelCHopExplicitReverseLabel
                                      Unsigned32,
      gmplsTunnelCHopUnnumberedInterface
                                      InterfaceIndexOrZero
   }

   gmplsTunnelCHopListIndex OBJECT-TYPE
   SYNTAX  MplsPathIndex
   MAX-ACCESS not-accessible



Nadeau et al.               Expires July 2002               [Page 62]


Internet Draft                GMPLS TE MIB               January 2002



   STATUS  current
   DESCRIPTION
       "Primary index into this table identifying a
        particular computed hop list."
   ::= { gmplsTunnelCHopEntry 1 }

   gmplsTunnelCHopIndex OBJECT-TYPE
   SYNTAX  MplsPathIndex
   MAX-ACCESS not-accessible
   STATUS  current
   DESCRIPTION
       "Secondary index into this table identifying
        the particular hop."
   ::= { gmplsTunnelCHopEntry 2 }

   gmplsTunnelCHopAddrType OBJECT-TYPE
   SYNTAX  GmplsHopAddrType
   MAX-ACCESS read-only
   STATUS  current
   DESCRIPTION
       "Denotes the address type of this tunnel
        hop."
   DEFVAL  { ipV4 }
   ::= { gmplsTunnelCHopEntry 3 }

   gmplsTunnelCHopIpv4Addr OBJECT-TYPE
   SYNTAX  InetAddressIPv4
   MAX-ACCESS read-only
   STATUS  current
   DESCRIPTION
       "If gmplsTunnelCHopAddrType is set to
        ipV4(1), then this value contains the IPv4
        address of this hop.
        If gmplsTunnelCHopAddrType is set to
        lspid(4), then this value contains the
        Ingress LSR ID of the Tunnel. If
        gmplsTunnelCHopAddrType is set to
        unnumberedIpV4(6) then this value contains
        LSR ID of the router on which the
        unnumbered interface resides.
        This object is otherwise insignificant and
        contains a value of 0."
   ::= { gmplsTunnelCHopEntry 4 }

   gmplsTunnelCHopIpv4PrefixLen OBJECT-TYPE
   SYNTAX  Unsigned32 (0..32)
   MAX-ACCESS read-only
   STATUS  current
   DESCRIPTION
       "If gmplsTunnelCHopAddrType is ipV4(1), then



Nadeau et al.               Expires July 2002               [Page 63]


Internet Draft                GMPLS TE MIB               January 2002



        the prefix length for this hop's IPv4
        address is contained herein. This object is
        otherwise insignificant and contains a
        value of 0."
   ::= { gmplsTunnelCHopEntry 5 }

   gmplsTunnelCHopIpv6Addr OBJECT-TYPE
   SYNTAX  InetAddressIPv6
   MAX-ACCESS read-only
   STATUS  current
   DESCRIPTION
       "If gmplsTunnelCHopAddrType is set to
        ipV6(2), then this value contains the IPv6
        address of this hop. If
        gmplsTunnelCHopAddrType is set to
        lspidIpV6(5), then this value contains the
        Ingress LSR ID of the Tunnel. If
        gmplsTunnelCHopAddrType is set to
        unnumberedIpV6(7) then this value contains
        LSR ID of the router on which the
        unnumbered interface resides.
        This object is otherwise insignificant and
        contains a value of 0."
   ::= { gmplsTunnelCHopEntry 6 }

   gmplsTunnelCHopIpv6PrefixLen OBJECT-TYPE
   SYNTAX  Unsigned32 (0..128)
   MAX-ACCESS read-only
   STATUS  current
   DESCRIPTION
       "If gmplsTunnelHopAddrType is set to
        ipV6(2), this value contains the prefix
        length for this hop's IPv6 address. This
        object is otherwise insignificant and
        contains a value of 0."
   ::= { gmplsTunnelCHopEntry 7 }

   gmplsTunnelCHopAsNumber OBJECT-TYPE
   SYNTAX  Unsigned32 (0..65535)
   MAX-ACCESS read-only
   STATUS  current
   DESCRIPTION
       "If gmplsTunnelCHopAddrType is set to
        asNumber(3), then this value contains the
        AS number of this hop. This object is
        otherwise insignificant and contains a
        value of 0 to indicate this fact."
   ::= { gmplsTunnelCHopEntry 8 }

   gmplsTunnelCHopType OBJECT-TYPE



Nadeau et al.               Expires July 2002               [Page 64]


Internet Draft                GMPLS TE MIB               January 2002



   SYNTAX  INTEGER {
      strict(1),
      loose(2)
   }
   MAX-ACCESS read-only
   STATUS  current
   DESCRIPTION
       "Denotes whether this tunnel hop is routed
        in a strict or loose fashion."
   ::= { gmplsTunnelCHopEntry 9 }

   gmplsTunnelCHopLspId OBJECT-TYPE
   SYNTAX  MplsLSPID
   MAX-ACCESS read-only
   STATUS  current
   DESCRIPTION
       "If gmplsTunnelCHopAddrType is set to
        lspid(4) or lspidIpV6(5), then this value
        will contain the LSPID of a tunnel to use
        for this hop. The tunnel being configured
        is tunneled through this hop (using label
        stacking).
        This object is otherwise insignificant and
        should contain a value of 0 to indicate
        this fact.
        Note that not all signaling protocols
        include the facility to signal this type of
        explicit hop."
   ::= { gmplsTunnelCHopEntry 10 }

   gmplsTunnelCHopLabelStatuses OBJECT-TYPE
   SYNTAX  BITS {
      forwardPresent (0),
      reversePresent (1)
   }
   MAX-ACCESS read-only
   STATUS  current
   DESCRIPTION
       "This bitmask indicates the presence and
        status of labels indicated by the
        gmplsTunnelCHopExplicitLabel and
        gmplsTunnelCHopExplicitReverseLabel
        objects.
        For the Present bits, a set bit indicates
        that a label is present for this hop in the
        route."
   ::= { gmplsTunnelCHopEntry 11 }

   gmplsTunnelCHopExplicitLabel OBJECT-TYPE
   SYNTAX  Unsigned32



Nadeau et al.               Expires July 2002               [Page 65]


Internet Draft                GMPLS TE MIB               January 2002



   MAX-ACCESS read-only
   STATUS  current
   DESCRIPTION
       "Indicates the row entry in the
        gmplsLabelTabel that defines the explicit
        label to use in the explicit route as the
        forward path label at this point.
        This value only has meaning if the
        forwardPresent bit of
        gmplsTunnelCHopLabelStatuses is set.
        This variable is only valid for settings of
        gmplsTunnelCHopAddrType which may be
        associated with a forward path label.
        Note that in implementations where the
        label may be encoded within a 32 bit
        integer and where gmplsLabelTable is not
        implemented, this object may directly
        contain the label value to use."
   ::= { gmplsTunnelCHopEntry 12 }

   gmplsTunnelCHopExplicitReverseLabel OBJECT-TYPE
   SYNTAX  Unsigned32
   MAX-ACCESS read-only
   STATUS  current
   DESCRIPTION
       "Indicates the row entry in the
        gmplsLabelTabel that defines the explicit
        label to use in the explicit route as the
        reverse path label at this point.
        This value only has meaning if the
        reversePresent bit of
        gmplsTunnelCHopLabelStatuses is set.
        This variable is only valid for settings of
        gmplsTunnelCHopAddrType which may be
        associated with a forward path label.
        Note that in implementations where the
        label may be encoded within a 32 bit
        integer and where gmplsLabelTable is not
        implemented, this object may directly
        contain the label value to use."
   ::= { gmplsTunnelCHopEntry 13 }

   gmplsTunnelCHopUnnumberedInterface OBJECT-TYPE
   SYNTAX  InterfaceIndexOrZero
   MAX-ACCESS read-only
   STATUS  current
   DESCRIPTION
       "Indicates the interface index of the
        unnumbered interface to use when setting up
        the LSP.



Nadeau et al.               Expires July 2002               [Page 66]


Internet Draft                GMPLS TE MIB               January 2002



        Only has value when gmplsTunnelCHopAddrType
        is set to unnumberedIfIpV4(6) or
        unnumberedIfIpV6(7) in which case the
        corresponding gmplsTunnelCHopIpv4Addr or
        gmplsTunnelCHopIpv6Addr variable contains
        an LSR id."
   ::= { gmplsTunnelCHopEntry 14 }

   -- End of gmplsTunnelCHopTable


   -- GMPLS Tunnel Performance Table.

   gmplsTunnelPacketPerfTable  OBJECT-TYPE
   SYNTAX  SEQUENCE OF GmplsTunnelPacketPerfEntry
   MAX-ACCESS not-accessible
   STATUS  current
   DESCRIPTION
       "This table provides per-tunnel packet
        performance information."
   ::= { gmplsTeObjects 12 }

   gmplsTunnelPacketPerfEntry OBJECT-TYPE
   SYNTAX  GmplsTunnelPacketPerfEntry
   MAX-ACCESS not-accessible
   STATUS  current
   DESCRIPTION
       "An entry in this table is created by the
        LSR for every tunnel where packets are
        visible to the LSR.
        Its is an extension to gmplsTunnelEntry."
   AUGMENTS { gmplsTunnelEntry }
   ::= { gmplsTunnelPacketPerfTable 1 }

   GmplsTunnelPacketPerfEntry ::= SEQUENCE {
      gmplsTunnelPacketPerfPackets      Counter32,
      gmplsTunnelPacketPerfHCPackets    Counter64,
      gmplsTunnelPacketPerfErrors       Counter32,
      gmplsTunnelPacketPerfBytes        Counter32,
      gmplsTunnelPacketPerfHCBytes      Counter64,
      gmplsTunnelPacketPerfRvsPackets   Counter32,
      gmplsTunnelPacketPerfRvsHCPackets Counter64,
      gmplsTunnelPacketPerfRvsErrors    Counter32,
      gmplsTunnelPacketPerfRvsBytes     Counter32,
      gmplsTunnelPacketPerfRvsHCBytes   Counter64
   }

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



Nadeau et al.               Expires July 2002               [Page 67]


Internet Draft                GMPLS TE MIB               January 2002



   STATUS  current
   DESCRIPTION
       "Number of packets forwarded on the tunnel."
   ::= { gmplsTunnelPacketPerfEntry 1 }

   gmplsTunnelPacketPerfHCPackets OBJECT-TYPE
   SYNTAX  Counter64
   MAX-ACCESS read-only
   STATUS  current
   DESCRIPTION
       "High capacity counter for number of packets
        forwarded on the tunnel."
   ::= { gmplsTunnelPacketPerfEntry 2 }

   gmplsTunnelPacketPerfErrors OBJECT-TYPE
   SYNTAX  Counter32
   MAX-ACCESS read-only
   STATUS  current
   DESCRIPTION
       "Number of errored packets received on the
        tunnel."
   ::= { gmplsTunnelPacketPerfEntry 3 }

   gmplsTunnelPacketPerfBytes OBJECT-TYPE
   SYNTAX  Counter32
   MAX-ACCESS read-only
   STATUS  current
   DESCRIPTION
       "Number of bytes forwarded on the tunnel."
   ::= { gmplsTunnelPacketPerfEntry 4 }

   gmplsTunnelPacketPerfHCBytes OBJECT-TYPE
   SYNTAX  Counter64
   MAX-ACCESS read-only
   STATUS  current
   DESCRIPTION
       "High capacity counter for number of bytes
        forwarded on the tunnel."
   ::= { gmplsTunnelPacketPerfEntry 5 }

   gmplsTunnelPacketPerfRvsPackets OBJECT-TYPE
   SYNTAX  Counter32
   MAX-ACCESS read-only
   STATUS  current
   DESCRIPTION
       "Number of packets forwarded on the tunnel
        in the reverse direction if it is
        bidirectional."
   ::= { gmplsTunnelPacketPerfEntry 6 }




Nadeau et al.               Expires July 2002               [Page 68]


Internet Draft                GMPLS TE MIB               January 2002



   gmplsTunnelPacketPerfRvsHCPackets OBJECT-TYPE
   SYNTAX  Counter64
   MAX-ACCESS read-only
   STATUS  current
   DESCRIPTION
       "High capacity counter for number of packets
        forwarded on the tunnel in the reverse
        direction if it is bidirectional."
   ::= { gmplsTunnelPacketPerfEntry 7 }

   gmplsTunnelPacketPerfRvsErrors OBJECT-TYPE
   SYNTAX  Counter32
   MAX-ACCESS read-only
   STATUS  current
   DESCRIPTION
       "Number of errored packets received on the
        tunnel in the reverse direction if it is
        bidirectional."
   ::= { gmplsTunnelPacketPerfEntry 8 }

   gmplsTunnelPacketPerfRvsBytes OBJECT-TYPE
   SYNTAX  Counter32
   MAX-ACCESS read-only
   STATUS  current
   DESCRIPTION
       "Number of bytes forwarded on the tunnel in
        the reverse direction if it is
        bidirectional."
   ::= { gmplsTunnelPacketPerfEntry 9 }

   gmplsTunnelPacketPerfRvsHCBytes OBJECT-TYPE
   SYNTAX  Counter64
   MAX-ACCESS read-only
   STATUS  current
   DESCRIPTION
       "High capacity counter for number of bytes
        forwarded on the tunnel in the reverse
        direction if it is bidirectional."
   ::= { gmplsTunnelPacketPerfEntry 10 }

   -- End of gmplsTunnelPacketPerfTable


   -- GMPLS Tunnel Error Table.

   gmplsTunnelErrorTable  OBJECT-TYPE
   SYNTAX  SEQUENCE OF GmplsTunnelErrorEntry
   MAX-ACCESS not-accessible
   STATUS  current
   DESCRIPTION



Nadeau et al.               Expires July 2002               [Page 69]


Internet Draft                GMPLS TE MIB               January 2002



       "This table provides per-tunnel information
        about errors.  Errors may be detected
        locally or reported through the signaling
        protocol."
   ::= { gmplsTeObjects 13 }

   gmplsTunnelErrorEntry OBJECT-TYPE
   SYNTAX  GmplsTunnelErrorEntry
   MAX-ACCESS not-accessible
   STATUS  current
   DESCRIPTION
       "An entry in this table is created by the
        LSR for every tunnel where error
        information is visible to the LSR.
        Its is an extension to gmplsTunnelEntry."
   AUGMENTS { gmplsTunnelEntry }
   ::= { gmplsTunnelErrorTable 1 }

   GmplsTunnelErrorEntry ::= SEQUENCE {
      gmplsTunnelErrorLastError          INTEGER,
      gmplsTunnelErrorLastTime           TimeStamp,
      gmplsTunnelErrorReporterType       INTEGER,
      gmplsTunnelErrorReporterIpv4Addr   InetAddressIPv4,
      gmplsTunnelErrorReporterIpv6Addr   InetAddressIPv6,
      gmplsTunnelErrorProtocolCode       Unsigned32,
      gmplsTunnelErrorProtocolSubcode    Unsigned32,
      gmplsTunnelErrorHelpString         DisplayString
   }

   gmplsTunnelErrorLastError OBJECT-TYPE
   SYNTAX  INTEGER {
         noError (0),
         unknown (1),
         localProtocol (2),
         remoteProtocol (3),
         configuration (4),
         pathComputation (5),
         localResources (6)
      }
   MAX-ACCESS read-only
   STATUS  current
   DESCRIPTION
       "The nature of the last error.
        Protocol errors encompass all errors that
        may be reported through the protocol and
        give a wider set of error codes than those
        provided here.  It may be useful for an
        implementation to report locally detected
        errors using the codes provided by the
        signaling protocols to give a better



Nadeau et al.               Expires July 2002               [Page 70]


Internet Draft                GMPLS TE MIB               January 2002



        diagnosis of the error.
        Values in excess of 32767 are reserved for
        implementation-specific error codes."
   ::= { gmplsTunnelErrorEntry 1 }

   gmplsTunnelErrorLastTime OBJECT-TYPE
   SYNTAX  TimeStamp
   MAX-ACCESS read-only
   STATUS  current
   DESCRIPTION
       "The time at which the last error occurred.
        This is presented as the value of SysUpTime
        when the error occurred or was reported to
        this node.
        If gmplsTunnelErrorLastError has the value
        noError (0), then this object is ignored."
   ::= { gmplsTunnelErrorEntry 2 }

   gmplsTunnelErrorReporterType OBJECT-TYPE
   SYNTAX  INTEGER {
         noError (0),
         unknown (1),
         localNode (2),
         localIpV4 (3),
         remoteIpV4 (4),
         localIpV6 (5),
         remoteIpV6 (6)
      }
   MAX-ACCESS read-only
   STATUS  current
   DESCRIPTION
       "The reporter of the last error recorded.
        This object is used principally to aid in
        interpretation of
        gmplsTunnelErrorReporterIpv4Addr and
        gmplsTunnelErrorReporterIpv6Addr.  Where
        the error has been locally generated and
        there is no requirement to associate the
        error with any specific local address (such
        as an interface), the value localNode (2)
        may be used.
        When gmplsTunnelErrorLastError has the
        value noError (0), then this object should
        have the value noError (0) and should be
        ignored."
   ::= { gmplsTunnelErrorEntry 3 }

   gmplsTunnelErrorReporterIpv4Addr OBJECT-TYPE
   SYNTAX  InetAddressIPv4
   MAX-ACCESS read-only



Nadeau et al.               Expires July 2002               [Page 71]


Internet Draft                GMPLS TE MIB               January 2002



   STATUS  current
   DESCRIPTION
       "The address of the node reporting the last
        error, or the address of the resource (such
        as an interface) associated with the error.
        This object only has meaning if the object
        gmplsTunnelErrorReporterType has value
        localIpV4 (3) or remoteIpV4 (4).  Otherwise
        the object should contain the value zero."
   ::= { gmplsTunnelErrorEntry 4 }

   gmplsTunnelErrorReporterIpv6Addr OBJECT-TYPE
   SYNTAX  InetAddressIPv6
   MAX-ACCESS read-only
   STATUS  current
   DESCRIPTION
       "The address of the node reporting the last
        error, or the address of the resource (such
        as an interface) associated with the error.
        This object only has meaning if the object
        gmplsTunnelErrorReporterType has value
        localIpV4 (3) or remoteIpV4 (4).  Otherwise
        the object should contain the value zero."
   ::= { gmplsTunnelErrorEntry 5 }

   gmplsTunnelErrorProtocolCode OBJECT-TYPE
   SYNTAX  Unsigned32
   MAX-ACCESS read-only
   STATUS  current
   DESCRIPTION
       "The primary error code associated with the
        last error and the protocol used to signal
        this tunnel.
        The relevant protocol is indicated by the
        gmplsTunnelSignallingProto object."
   ::= { gmplsTunnelErrorEntry 6 }

   gmplsTunnelErrorProtocolSubcode OBJECT-TYPE
   SYNTAX  Unsigned32
   MAX-ACCESS read-only
   STATUS  current
   DESCRIPTION
       "The secondary error code associated with
        the last error and the protocol used to
        signal this tunnel.
        The relevant protocol is indicated by the
        gmplsTunnelSignallingProto object."
   ::= { gmplsTunnelErrorEntry 7 }

   gmplsTunnelErrorHelpString OBJECT-TYPE



Nadeau et al.               Expires July 2002               [Page 72]


Internet Draft                GMPLS TE MIB               January 2002



   SYNTAX  DisplayString
   MAX-ACCESS read-only
   STATUS  current
   DESCRIPTION
       "A textual string containing information
        about the last error, recovery actions and
        support advice.  If there is no help string
        this object contains a zero length string."
   ::= { gmplsTunnelErrorEntry 8 }


   -- CR-LDP Tunnel Resource Table

   gmplsTunnelCRLDPResTable OBJECT-TYPE
   SYNTAX  SEQUENCE OF GmplsTunnelCRLDPResEntry
   MAX-ACCESS not-accessible
   STATUS  current
   DESCRIPTION
       "The gmplsTunnelCRLDPResTable allows a
        manager to specify which CR-LDP-specific
        resources are desired for a GMPLS or MPLS
        tunnel if that tunnel is signaled using CR-
        LDP. Note that these attributes are in
        addition to those specified in
        gmplsTunnelResourceTable. This table also
        allows several tunnels to point to a single
        entry in this table, implying that these
        tunnels should share resources."
   ::= { gmplsTeObjects 14 }

   gmplsTunnelCRLDPResEntry OBJECT-TYPE
   SYNTAX  GmplsTunnelCRLDPResEntry
   MAX-ACCESS not-accessible
   STATUS  current
   DESCRIPTION
       "An entry in this table represents a set of
        resources for tunnel established using
        CRLDP (gmplsTunnelSignallingProto equal to
        crldp (3)). An entry can be created by a
        network administrator or by an SNMP agent
        as instructed by any MPLS signaling
        protocol."
   INDEX { gmplsTunnelResourceIndex }
   ::= { gmplsTunnelCRLDPResTable 1 }

   GmplsTunnelCRLDPResEntry ::= SEQUENCE {
         gmplsTunnelCRLDPResFlags       BITS,
         gmplsTunnelCRLDPResRowStatus   RowStatus,
         gmplsTunnelCRLDPResStorageType StorageType
      }



Nadeau et al.               Expires July 2002               [Page 73]


Internet Draft                GMPLS TE MIB               January 2002




   gmplsTunnelCRLDPResFlags OBJECT-TYPE
   SYNTAX  BITS {
         pdrNegotiable (0),
         pbsNegotiable (1),
         cdrNegotiable (2),
         cbsNegotiable (3),
         ebsNegotiable (4),
         weightNegotiable (5)
      }
   MAX-ACCESS read-create
   STATUS  current
   DESCRIPTION
       "The value of the Flags conveyed as part of
        the traffic parameters during the
        establishment of the CRLSP.
        Each flag is a Negotiable Flag
        corresponding to a Traffic Parameter. The
        Negotiable Flag value zero denotes Not
        Negotiable and value one denotes
        Negotiable."
    REFERENCE
       "Section 4.3, Constraint-Based LSP Setup
        using LDP, Jamoussi, et. al, <draft-ietf-
        mpls-crldp-06.txt>, November 2001."
    DEFVAL { 0 }
    ::= { gmplsTunnelCRLDPResEntry 1 }

   gmplsTunnelCRLDPResRowStatus OBJECT-TYPE
   SYNTAX  RowStatus
   MAX-ACCESS read-create
   STATUS  current
   DESCRIPTION
       "This variable is used to create, modify,
        and/or delete a row in this table."
   ::= { gmplsTunnelCRLDPResEntry 2 }

   gmplsTunnelCRLDPResStorageType OBJECT-TYPE
   SYNTAX  StorageType
   MAX-ACCESS read-create
   STATUS  current
   DESCRIPTION
       "This variable indicates the storage type
        for this table entry.  When set to
        'permanent', the entire row is to be
        stored."
   ::= { gmplsTunnelCRLDPResEntry 3 }

   -- End of gmplsTunnelCRLDPResTable




Nadeau et al.               Expires July 2002               [Page 74]


Internet Draft                GMPLS TE MIB               January 2002




   -- Notifications.

   gmplsTunnelTrapEnable OBJECT-TYPE
   SYNTAX  GmplsTrapEnable
   MAX-ACCESS read-write
   STATUS  current
   DESCRIPTION
       "This object controls the generation of
        gmplsTunnelUp and gmplsTunnelDown
        notifications.  If set to diabled (0),
        these notifications are not emitted.  If
        set to oneAtATime (1), each notification
        may only carry information about a single
        Tunnel that has changed state.  If set to
        rangeAllowed (2), each notification MAY
        carry information about a contiguous range
        of Tunnels that have changed state, but
        note that implementations may send multiple
        individual notifications even when
        rangeAllowed is selected."
   DEFVAL { disabled }
   ::= { gmplsTeObjects 15 }

   gmplsTunnelUp NOTIFICATION-TYPE
   OBJECTS {
      gmplsTunnelAdminStatus,
      gmplsTunnelOperStatus
   }
   STATUS      current
   DESCRIPTION
       "This notification is generated when a
        gmplsTunnelOperStatus object for one of the
        configured tunnels is about to leave the
        down state and transition into some other
        state (but not into the notPresent state).
        This other state is indicated by the
        included value of gmplsTunnelOperStatus."
   ::= { gmplsTeNotifyPrefix 1 }

   gmplsTunnelDown NOTIFICATION-TYPE
   OBJECTS {
      gmplsTunnelAdminStatus,
      gmplsTunnelOperStatus
   }
   STATUS      current
   DESCRIPTION
       "This notification is generated when a
        gmplsTunnelOperStatus object for one of the
        configured tunnels is about to enter the



Nadeau et al.               Expires July 2002               [Page 75]


Internet Draft                GMPLS TE MIB               January 2002



        down state from some other state (but not
        from the notPresent state).  This other
        state is indicated by the included value of
        gmplsTunnelOperStatus."
   ::= { gmplsTeNotifyPrefix 2 }

   gmplsTunnelRerouted NOTIFICATION-TYPE
   OBJECTS {
      gmplsTunnelAdminStatus,
      gmplsTunnelOperStatus
   }
   STATUS      current
   DESCRIPTION
       "This notification is generated when a
        tunnel is rerouted. If the actual path is
        used, then this tunnel's entry MAY contain
        the new path for this tunnel some time
        after this trap is issued by the agent."
   ::= { gmplsTeNotifyPrefix 3 }

   gmplsTunnelReoptimized NOTIFICATION-TYPE
   OBJECTS {
      gmplsTunnelAdminStatus,
      gmplsTunnelOperStatus
   }
   STATUS      current
   DESCRIPTION
       "This notification is generated when a
        tunnel is reoptimized. If the actual path
        is used, then this tunnel's entry MAY
        contain the new path for this tunnel some
        time after this trap is issued by the
        agent."
   ::= { gmplsTeNotifyPrefix 4 }


   -- End of notifications.


   -- Module compliance.

   gmplsTeGroups
     OBJECT IDENTIFIER ::= { gmplsTeConformance 1 }

   gmplsTeCompliances
     OBJECT IDENTIFIER ::= { gmplsTeConformance 2 }

   gmplsTeModuleCompliance MODULE-COMPLIANCE
   STATUS current
   DESCRIPTION



Nadeau et al.               Expires July 2002               [Page 76]


Internet Draft                GMPLS TE MIB               January 2002



       "Compliance statement for agents that
        support the GMPLS TE MIB."
   MODULE -- this module

   -- The mandatory group has to be implemented by all
   -- LSRs that originate/terminate ESLSPs/tunnels.
   -- In addition, depending on the type of tunnels
   -- supported, other groups become mandatory as
   -- explained below.

   MANDATORY-GROUPS {
      gmplsTunnelGroup,
      gmplsTunnelScalarGroup
   }

   GROUP gmplsTunnelManualGroup
   DESCRIPTION
       "This group is mandatory for devices which
        support manual configuration of tunnels, in
        addition to gmplsTunnelGroup.  The
        following constraints apply:
        gmplsTunnelSignallingProto should be at
        least read-only with a value of none(1)."

   GROUP gmplsTunnelSignaledGroup
   DESCRIPTION
       "This group is mandatory for devices which
        support signaled tunnel set up, in addition
        to gmplsTunnelGroup.  The following
        constraints apply:
        gmplsTunnelSignallingProto should be at
        least read-only returning a value of
        ldp(2), or rsvp(3)."

   GROUP gmplsTunnelIsNotIntfcGroup
   DESCRIPTION
       "This group is mandatory for devices which
        support tunnels that are not interfaces, in
        addition to gmplsTunnelGroup.  The
        following constraints apply:
        gmplsTunnelIsIf must at least be read-only
        returning no(0)."

   GROUP gmplsTunnelIsIntfcGroup
   DESCRIPTION
       "This group is mandatory for devices which
        support tunnels that are interfaces, in
        addition to gmplsTunnelGroup.  The
        following constraints apply:
        gmplsTunnelIsIf must at least be read-only



Nadeau et al.               Expires July 2002               [Page 77]


Internet Draft                GMPLS TE MIB               January 2002



        returning numbered(1)."

   GROUP gmplsTunnelOptionalGroup
   DESCRIPTION
       "Objects in this group are optional."

   GROUP gmplsTunnelCRLDPResOptionalGroup
   DESCRIPTION
       "Objects in this group are optional."

   GROUP gmplsTeNotificationControlGroup
   DESCRIPTION
       "This group is mandatory for devices which
        support some or all of the defined
        notifications within this MIB."

   GROUP gmplsTeNotificationGroup
   DESCRIPTION
       "This group is optional.  If this group is
        supported then
        gmplsTeNotificationControlGroup is
        mandatory."

   -- GMPLS Tunnel scalars.

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

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

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

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

   -- gmplsTunnelTable

   OBJECT gmplsTunnelName
   MIN-ACCESS  read-only
   DESCRIPTION



Nadeau et al.               Expires July 2002               [Page 78]


Internet Draft                GMPLS TE MIB               January 2002



       "Write access is not required."

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

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

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

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

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

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

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

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

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

   OBJECT gmplsTunnelLocalProtectInUse
   MIN-ACCESS  read-only
   DESCRIPTION



Nadeau et al.               Expires July 2002               [Page 79]


Internet Draft                GMPLS TE MIB               January 2002



       "Write access is not required."

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

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

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

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

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

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

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

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

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

   OBJECT gmplsTunnelCreationTime
   MIN-ACCESS  read-only
   DESCRIPTION



Nadeau et al.               Expires July 2002               [Page 80]


Internet Draft                GMPLS TE MIB               January 2002



       "Write access is not required."

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

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

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

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

   OBJECT gmplsTunnelPathInUse
   MIN-ACCESS  read-only
   DESCRIPTION
       "Read-only support is required."

   OBJECT gmplsTunnelRole
   SYNTAX INTEGER { head(1) }
   MIN-ACCESS  read-only
   DESCRIPTION
       "Only support for head is required."

   OBJECT gmplsTunnelTotalUpTime
   MIN-ACCESS  read-only
   DESCRIPTION
       "Read-only support is required."

   OBJECT gmplsTunnelInstanceUpTime
   MIN-ACCESS  read-only
   DESCRIPTION
       "Read-only support is required."

   OBJECT gmplsTunnelAdminStatus
   SYNTAX INTEGER { up (1), down (2) }
   MIN-ACCESS  read-only
   DESCRIPTION
       "Only up and down states must be supported.
        Write access is not required."




Nadeau et al.               Expires July 2002               [Page 81]


Internet Draft                GMPLS TE MIB               January 2002



   OBJECT gmplsTunnelOperStatus
   SYNTAX INTEGER { up (1), down (2) }
   MIN-ACCESS  read-only
   DESCRIPTION
       "Only up and down states must be supported.
        Write access is not required."

   OBJECT gmplsTunnelRowStatus
   SYNTAX INTEGER {
      active(1),
      notInService(2),
      createAndGo(4),
      destroy(6)
   }
   MIN-ACCESS  read-only
   DESCRIPTION
       "The notReady(3) and createAndWait(5) states
        need not be supported. Write access is not
        required."

   OBJECT gmplsTunnelStorageType
   SYNTAX INTEGER { other(1) }
   MIN-ACCESS  read-only
   DESCRIPTION
       "Only other (1) needs to be supported."

   OBJECT gmplsTunnelLSPEncoding
   SYNTAX INTEGER {
      tunnelLspNotGmpls (0),
      tunnelLspPacket (1),
      tunnelLspEthernetV2Dix (2),
      tunnelLspAnsiPdh (3),
      tunnelLspEtsiPdh (4),
      tunnelLspSdhItutG7071996 (5),
      tunnelLspSonetAnsiT11051995 (6),
      tunnelLspDigitalWrapper (7),
      tunnelLspLambda (8),
      tunnelLspFiber (9),
      tunnelLspEthernet8023 (10),
      tunnelLspSdhItutG7072000 (11),
      tunnelLspSonetAnsiT11052000 (12)
   }
   MIN-ACCESS  read-only
   DESCRIPTION
       "Only tunnelLspNotGmpls (0) is required."

   OBJECT gmplsTunnelLinkProtection
   MIN-ACCESS  read-only
   DESCRIPTION
       "Read-only support is required."



Nadeau et al.               Expires July 2002               [Page 82]


Internet Draft                GMPLS TE MIB               January 2002




   OBJECT gmplsTunnelGPid
   MIN-ACCESS  read-only
   DESCRIPTION
       "Read-only support is required."

   OBJECT gmplsTunnelSecondary
   SYNTAX TruthValue
   MIN-ACCESS  read-only
   DESCRIPTION
       "Only false is required."

   OBJECT gmplsTunnelDirection
   SYNTAX  TruthValue
   MIN-ACCESS  read-only
   DESCRIPTION
       "Only false is required."

   OBJECT gmplsTunnelPathComp
   SYNTAX INTEGER {
      dynamicFull(1),-- CSPF fully computed
      explicit(2),-- fully
      dynamicPartial(3) -- CSPF partially computed
   }
   MIN-ACCESS  read-only
   DESCRIPTION
       "Only explicit (2) is required."

   -- gmplsTunnelHopTable

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

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

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

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




Nadeau et al.               Expires July 2002               [Page 83]


Internet Draft                GMPLS TE MIB               January 2002



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

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

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

   OBJECT gmplsTunnelHopType
   SYNTAX INTEGER { strict(1) }
   MIN-ACCESS  read-only
   DESCRIPTION
       "loose(2) need not be supported. Write
        access is not required."

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

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

   OBJECT gmplsTunnelHopRowStatus
   SYNTAX INTEGER {
      active(1),
      notInService(2),
      createAndGo(4),
      destroy(6)
   }
   MIN-ACCESS  read-only
   DESCRIPTION
       "The notReady(3) and createAndWait(5) states
        need not be supported. Write access is not
        required."

   OBJECT gmplsTunnelHopStorageType
   SYNTAX INTEGER { other(1) }
   MIN-ACCESS  read-only
   DESCRIPTION
       "Only other (1) needs to be supported."



Nadeau et al.               Expires July 2002               [Page 84]


Internet Draft                GMPLS TE MIB               January 2002




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

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

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

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

   -- gmplsTunnelResourceTable

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

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

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

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

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

   OBJECT gmplsTunnelResourceFrequency
   MIN-ACCESS  read-only



Nadeau et al.               Expires July 2002               [Page 85]


Internet Draft                GMPLS TE MIB               January 2002



   DESCRIPTION
       "Write access is not required."

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

   OBJECT gmplsTunnelResourceRowStatus
   SYNTAX INTEGER {
      active(1),
      notInService(2),
      createAndGo(4),
      destroy(6)
   }
   MIN-ACCESS  read-only
   DESCRIPTION
       "The notReady(3) and createAndWait(5) states
        need not be supported. Write access is not
        required."

   OBJECT gmplsTunnelResourceStorageType
   SYNTAX INTEGER { other(1) }
   MIN-ACCESS  read-only
   DESCRIPTION
       "Only other (1) needs to be supported."

   -- gmplsCRLDPResourceTable

   OBJECT gmplsTunnelCRLDPResFlags
   SYNTAX Unsigned32 (0..63)
   MIN-ACCESS  read-only
   DESCRIPTION
       "Write access is not required."

   OBJECT gmplsTunnelCRLDPResRowStatus
   SYNTAX INTEGER {
      active(1),
      notInService(2),
      createAndGo(4),
      destroy(6)
   }
   MIN-ACCESS  read-only
   DESCRIPTION
       "The notReady(3) and createAndWait(5) states
        need not be supported. Write access is not
        required."

   OBJECT gmplsTunnelCRLDPResStorageType
   SYNTAX INTEGER { other(1) }



Nadeau et al.               Expires July 2002               [Page 86]


Internet Draft                GMPLS TE MIB               January 2002



   MIN-ACCESS  read-only
   DESCRIPTION
       "Only other (1) needs to be supported."

   -- gmplsTunnelARHopTable

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

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

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

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

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

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

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

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

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



Nadeau et al.               Expires July 2002               [Page 87]


Internet Draft                GMPLS TE MIB               January 2002




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

   -- glmpsTunnelCHopTable

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

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

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

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

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

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

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

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

   OBJECT gmplsTunnelCHopLabelStatuses
   MIN-ACCESS  read-only



Nadeau et al.               Expires July 2002               [Page 88]


Internet Draft                GMPLS TE MIB               January 2002



   DESCRIPTION
       "Write access is not required."

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

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

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

   -- gmplsTunnelPerfTable

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

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

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

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

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

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




Nadeau et al.               Expires July 2002               [Page 89]


Internet Draft                GMPLS TE MIB               January 2002



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

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

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

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

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

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

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

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

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

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




Nadeau et al.               Expires July 2002               [Page 90]


Internet Draft                GMPLS TE MIB               January 2002



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

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

   -- gmpls Notification control

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

   ::= { gmplsTeCompliances 1 }

   -- Units of conformance.

   gmplsTunnelGroup OBJECT-GROUP
   OBJECTS {
      gmplsTunnelIndexNext,
      gmplsTunnelName,
      gmplsTunnelDescr,
      gmplsTunnelXCPointer,
      gmplsTunnelOwner,
      gmplsTunnelResourcePointer,
      gmplsTunnelInstancePriority,
      gmplsTunnelIfIndex,
      gmplsTunnelHopTableIndex,
      gmplsTunnelARHopTableIndex,
      gmplsTunnelCHopTableIndex,
      gmplsTunnelPrimaryInstance,
      gmplsTunnelPrimaryTimeUp,
      gmplsTunnelCreationTime,
      gmplsTunnelStateTransitions,
      gmplsTunnelPathInUse,
      gmplsTunnelRole,
      gmplsTunnelRowStatus,
      gmplsTunnelTotalUpTime,
      gmplsTunnelInstanceUpTime,
      gmplsTunnelAdminStatus,
      gmplsTunnelOperStatus,
      gmplsTunnelStorageType,
      gmplsTunnelDirection,
      gmplsTunnelPacketPerfPackets,
      gmplsTunnelPacketPerfHCPackets,
      gmplsTunnelPacketPerfErrors,



Nadeau et al.               Expires July 2002               [Page 91]


Internet Draft                GMPLS TE MIB               January 2002



      gmplsTunnelPacketPerfBytes,
      gmplsTunnelPacketPerfHCBytes,
      gmplsTunnelPacketPerfRvsPackets,
      gmplsTunnelPacketPerfRvsHCPackets,
      gmplsTunnelPacketPerfRvsErrors,
      gmplsTunnelPacketPerfRvsBytes,
      gmplsTunnelPacketPerfRvsHCBytes,
      gmplsTunnelErrorLastError,
      gmplsTunnelErrorLastTime,
      gmplsTunnelErrorReporterType,
      gmplsTunnelErrorReporterIpv4Addr,
      gmplsTunnelErrorReporterIpv6Addr,
      gmplsTunnelErrorProtocolCode,
      gmplsTunnelErrorProtocolSubcode,
      gmplsTunnelErrorHelpString
   }
   STATUS  current
   DESCRIPTION
       "Necessary, but not sufficient, set of
        objects to implement tunnels.  In addition,
        depending on the type of the tunnels
        supported (for example, manually configured
        or signaled, persistent or non-persistent,
        etc.), the following other groups defined
        below are mandatory: gmplsTunnelManualGroup
        and/or gmplsTunnelSignaledGroup,
        gmplsTunnelIsNotIntfcGroup and/or
        gmplsTunnelIsIntfcGroup."
   ::= { gmplsTeGroups 1 }

   gmplsTunnelManualGroup  OBJECT-GROUP
   OBJECTS { gmplsTunnelSignallingProto }
   STATUS  current
   DESCRIPTION
       "Object(s) needed to implement manually
        configured tunnels."
   ::= { gmplsTeGroups 2 }

   gmplsTunnelSignaledGroup OBJECT-GROUP
   OBJECTS {
      gmplsTunnelSignallingProto,
      gmplsTunnelSetupPrio,
      gmplsTunnelHoldingPrio,
      gmplsTunnelAttributes,
      gmplsTunnelLocalProtectInUse,
      gmplsTunnelPathChanges,
      gmplsTunnelLastPathChange,
      gmplsTunnelIncludeAnyAffinity,
      gmplsTunnelIncludeAllAffinity,
      gmplsTunnelExcludeAnyAffinity,



Nadeau et al.               Expires July 2002               [Page 92]


Internet Draft                GMPLS TE MIB               January 2002



      gmplsTunnelRole,
      gmplsTunnelLSPEncoding,
      gmplsTunnelSwitchingType,
      gmplsTunnelLinkProtection,
      gmplsTunnelGPid,
      gmplsTunnelSecondary,
      gmplsTunnelPathComp,
      gmplsTunnelHopPathOptionIndexNextIndex,
      gmplsTunnelHopIndexNextIndex,
      gmplsTunnelHopListIndexNext,
      gmplsTunnelHopAddrType,
      gmplsTunnelHopIpv4Addr,
      gmplsTunnelHopIpv4PrefixLen,
      gmplsTunnelHopIpv6Addr,
      gmplsTunnelHopIpv6PrefixLen,
      gmplsTunnelHopAsNumber,
      gmplsTunnelHopLspId,
      gmplsTunnelHopType,
      gmplsTunnelHopIncludeExclude,
      gmplsTunnelHopPathOptionName,
      gmplsTunnelHopRowStatus,
      gmplsTunnelHopStorageType,
      gmplsTunnelHopLabelStatuses,
      gmplsTunnelHopExplicitLabel,
      gmplsTunnelHopExplicitReverseLabel,
      gmplsTunnelHopUnnumberedInterface
   }
   STATUS  current
   DESCRIPTION
       "Objects needed to implement signaled
        tunnels."
   ::= { gmplsTeGroups 3 }

   gmplsTunnelScalarGroup OBJECT-GROUP
   OBJECTS {
      gmplsTunnelsConfigured,
      gmplsTunnelActive,
      gmplsTunnelTEDistProto,
      gmplsTunnelMaxHops
   }
   STATUS  current
   DESCRIPTION
       "Scalar objects needed to implement MPLS
        tunnels."
   ::= { gmplsTeGroups 4 }

   gmplsTunnelIsIntfcGroup OBJECT-GROUP
   OBJECTS { gmplsTunnelIsIf }
   STATUS  current
   DESCRIPTION



Nadeau et al.               Expires July 2002               [Page 93]


Internet Draft                GMPLS TE MIB               January 2002



       "Objects needed to implement tunnels that
        are interfaces."
   ::= { gmplsTeGroups 5 }

   gmplsTunnelIsNotIntfcGroup OBJECT-GROUP
   OBJECTS { gmplsTunnelIsIf }
   STATUS  current
   DESCRIPTION
       "Objects needed to implement tunnels that
        are not interfaces."
   ::= { gmplsTeGroups 6 }

   gmplsTunnelOptionalGroup OBJECT-GROUP
   OBJECTS {
      gmplsTunnelResourceIndexNext,
      gmplsTunnelResourceMaxRate,
      gmplsTunnelResourceMeanRate,
      gmplsTunnelResourceMaxBurstSize,
      gmplsTunnelResourceMeanBurstSize,
      gmplsTunnelResourceExcessBurstSize,
      gmplsTunnelResourceFrequency,
      gmplsTunnelResourceWeight,
      gmplsTunnelResourceRowStatus,
      gmplsTunnelResourceStorageType,
      gmplsTunnelARHopAddrType,
      gmplsTunnelARHopIpv4Addr,
      gmplsTunnelARHopIpv4PrefixLen,
      gmplsTunnelARHopIpv6Addr,
      gmplsTunnelARHopIpv6PrefixLen,
      gmplsTunnelARHopAsNumber,
      gmplsTunnelARHopLspId,
      gmplsTunnelARHopLabelStatuses,
      gmplsTunnelARHopExplicitLabel,
      gmplsTunnelARHopExplicitReverseLabel,
      gmplsTunnelARHopUnnumberedInterface,
      gmplsTunnelARHopProtection,
      gmplsTunnelCHopAddrType,
      gmplsTunnelCHopIpv4Addr,
      gmplsTunnelCHopIpv4PrefixLen,
      gmplsTunnelCHopIpv6Addr,
      gmplsTunnelCHopIpv6PrefixLen,
      gmplsTunnelCHopAsNumber,
      gmplsTunnelCHopLspId,
      gmplsTunnelCHopType,
      gmplsTunnelCHopLabelStatuses,
      gmplsTunnelCHopExplicitLabel,
      gmplsTunnelCHopExplicitReverseLabel,
      gmplsTunnelCHopUnnumberedInterface
   }
   STATUS  current



Nadeau et al.               Expires July 2002               [Page 94]


Internet Draft                GMPLS TE MIB               January 2002



   DESCRIPTION
       "The objects in this group are optional."
   ::= { gmplsTeGroups 7 }

   gmplsTunnelCRLDPResOptionalGroup OBJECT-GROUP
   OBJECTS {
      gmplsTunnelCRLDPResFlags,
      gmplsTunnelCRLDPResRowStatus,
      gmplsTunnelCRLDPResStorageType
   }
   STATUS  current
   DESCRIPTION
       "Set of objects implemented for resources
        applicable for tunnels signaled using CR-
        LDP."
   ::= { gmplsTeGroups 8 }

   gmplsTeNotificationControlGroup OBJECT-GROUP
   OBJECTS {
      gmplsTunnelTrapEnable
   }
   STATUS  current
   DESCRIPTION
       "Set of objects implemented for control of
        notifications."
   ::= { gmplsTeGroups 9 }

   gmplsTeNotificationGroup NOTIFICATION-GROUP
   NOTIFICATIONS {
      gmplsTunnelUp,
      gmplsTunnelDown,
      gmplsTunnelRerouted,
      gmplsTunnelReoptimized
   }
   STATUS  current
   DESCRIPTION
       "Set of notifications implemented in this
        module. None is mandatory, but if this
        group is included, the
        gmplsTeNotificationControlGroup is
        mandatory."
   ::= { gmplsTeGroups 10 }

   END


13.   Security Considerations

   There are a number of management objects defined in this
   MIB that have a MAX-ACCESS clause of read-write and/or



Nadeau et al.               Expires July 2002               [Page 95]


Internet Draft                GMPLS TE MIB               January 2002



   read-create. Such objects may be considered sensitive or
   vulnerable in some network environments.  The support for
   SET operations in a non-secure environment without proper
   protection can have a negative effect on network
   operations.

   There are a number of managed objects in this MIB that
   may contain information that may be sensitive from a
   business perspective, in that they represent a customer's
   interface to the MPLS network.

   Allowing uncontrolled access to these objects could
   result in malicious and unwanted disruptions of network
   traffic or incorrect configurations for these customers.
   There are no objects that are particularly sensitive in
   their own right, such as passwords or monetary amounts.

   It is thus important to control even GET access to these
   objects and possibly to even encrypt the values of these
   object when sending them over the network via SNMP.  Not
   all versions of SNMP provide features for such a secure
   environment.

   At this writing, no security holes have been identified
   beyond those that SNMP Security [SNMPArch] is itself
   intended to address.  These relate to primarily
   controlled access to sensitive information and the
   ability to configure a device - or which might result
   from operator error, which is beyond the scope of any
   security architecture.

   SNMPv1 or SNMPv2 are by themselves not a secure
   environment.  Even if the network itself is secure (for
   example by using IPSec [IPSEC]), there is no control as
   to who on the secure network is allowed to access and
   GET/SET (read/change/create/delete) the objects in this
   MIB. It is recommended that the implementers consider the
   security features as provided by the SNMPv3 framework.
   Specifically, the use of the User-based Security Model
   [SNMPv3USM] and the View-based Access Control
   [SNMPv3VACM] is recommended. It is then a customer/user
   responsibility to ensure that the SNMP entity giving
   access to an instance of this MIB is properly configured
   to give access to the objects only to those principals
   (users) that have legitimate rights to indeed GET or SET
   (change/create/delete) them.


14.   Acknowledgments




Nadeau et al.               Expires July 2002               [Page 96]


Internet Draft                GMPLS TE MIB               January 2002



   This draft is based heavily on [TEMIB].  The authors
   would like to express their gratitude to all those who
   worked on that earlier MIB.

   Thanks also to Tony Zinicola and Jeremy Crossen for their
   valuable contributions.


15.   References


15.1. Normative References

   [RFC1157]     Case, J., Fedor, M., Schoffstall, M., and
                 J. Davin, "Simple Network Management
                 Protocol", RFC 1157, May 1990.

   [RFC1212]     Rose, M., and K. McCloghrie, "Concise MIB
                 Definitions", RFC 1212, March 1991.

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

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

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

   [RFC3032]     Rosen, E., Rekhter, Y., Tappan, D.,
                 Farinacci, D., Federokow, G., Li, T., and
                 A. Conta, "MPLS Label Stack Encoding", RFC
                 3032, January 2001.

   [RFC3036]     Anderson, L., Doolan, P., Feldman, N.,
                 Fredette, A., and B. Thomas, "LDP
                 Specification", RFC 3036, January 2001.

   [RSVPTE]      Awduche, D., Berger, L., Gan, D., Li, T.,
                 Srinivasan, V., and G. Swallow, "RSVP-TE:
                 Extensions to RSVP for LSP Tunnels", RFC
                 3209, December 2001.

   [CRLDP]       Jamoussi, B., Aboul-Magd, O., Andersson,
                 L., Ashwood-Smith, P., Hellstrand, F.,
                 Sundell, K., Callon, R., Dantu, R., Wu, L.,
                 Doolan, P., Worster, T., Feldman, N.,



Nadeau et al.               Expires July 2002               [Page 97]


Internet Draft                GMPLS TE MIB               January 2002



                 Fredette, A., Girish, M., Gray, E.,
                 Halpern, J., Heinanen, J., Kilty, T.,
                 Malis, A., and P. Vaananen, "Constraint-
                 Based LSP Setup using LDP", draft-ietf-mpls-
                 cr-ldp-06.txt, November 2001, work in
                 progress."

   [GMPLSArch]   Ashwood-Smith, P., Awduche, D., Banerjee,
                 A., Basak, D, Berger, L., Bernstein, G.,
                 Drake, J., Fan, Y., Fedyk, D., Grammel, D.,
                 Kompella, K., Kullberg, A., Lang, J., Liaw,
                 F., Papadimitriou, D., Pendarakis, D.,
                 Rajagopalan, B., Rekhter, Y., Saha, D.,
                 Sandick, H., Sharma, V., Swallow, G., Tang,
                 Z., Yu, J., Zinin, A., Nadeau, T., Mannie,
                 E., Generalized Multiprotocol Label
                 Switching (GMPLS) Architecture, Internet
                 Draft <draft-many-gmpls-architecture-
                 01.txt>, March 2001, work in progress.

   [GMPLSSig]    Ashwood-Smith, P., Awduche, D., Banerjee,
                 A., Basak, D, Berger, L., Bernstein, G.,
                 Drake, J., Fan, Y., Fedyk, D., Grammel, D.,
                 Kompella, K., Kullberg, A., Lang,
                 Rajagopalan, B., Rekhter, Y., Saha, D.,
                 Sharma, V., Swallow, G., Bo Tang, Z.,
                 Generalized MPLS - Signaling Functional
                 Description, <draft-ietf-mpls-generalized-
                 signaling-04.txt>, May 2001, work in
                 progress.

   [GMPLSCRLDP]  Ashwood-Smith, P., Awduche, D., Banerjee,
                 A., Basak, D, Berger, L., Bernstein, G.,
                 Drake, J., Fan, Y., Fedyk, D., Grammel, D.,
                 Kompella, K., Kullberg, A., Lang,
                 Rajagopalan, B., Rekhter, Y., Saha, D.,
                 Sharma, V., Swallow, G., Bo Tang, Z.,
                 Generalized MPLS Signaling - CR-LDP
                 Extensions, Internet Draft <draft-ietf-mpls-
                 generalized-cr-ldp-03.txt>, May 2001, work
                 in progress.

   [GMPLSRSVPTE] Ashwood-Smith, P., Awduche, D., Banerjee,
                 A., Basak, D, Berger, L., Bernstein, G.,
                 Drake, J., Fan, Y., Fedyk, D., Grammel, D.,
                 Kompella, K., Kullberg, A., Lang,
                 Rajagopalan, B., Rekhter, Y., Saha, D.,
                 Sharma, V., Swallow, G., Bo Tang, Z.,
                 Generalized MPLS Signaling - RSVP-TE
                 Extensions, Internet Draft <draft-ietf-mpls-



Nadeau et al.               Expires July 2002               [Page 98]


Internet Draft                GMPLS TE MIB               January 2002



                 generalized-rsvp-te-03.txt>, May 2001, work
                 in progress.

   [GMPLSSonetSDH]  Mannie, E., Ansorge, S., Ashwood-Smith,
                 P., Banerjee, A., Berger, L., Bernstein,
                 G., Chiu, A., Drake, J., Fan, Y., Fontana,
                 M., Grammel, G., Heiles, J., Katukam, S.,
                 Kompella, K., Lang, J. P., Liaw, F., Lin,
                 Z., Mack-Crane, B., Papadimitriou, D.,
                 Pendarakis, D., Raftelis, M., Rajagopalan,
                 B., Rekhter, Y., Saha, D., Sharma, V.,
                 Swallow, G., Bo Tang, Z., Varma, E.,
                 Vissers, M., Xu, Y., GMPLS Extensions for
                 SONET and SDH Control, Internet Draft
                 <draft-ietf-ccamp-gmpls-sonet-sdh-00.txt>,
                 May 2001, work in progress.

   [TCMIB]       Nadeau, T., Cucchiara, J., Srinivasan, C,
                 Viswanathan, A. and H. Sjostrand,
                 "Definition of Textual Conventions and
                 OBJECT-IDENTITIES for Multiprotocol Label
                 Switching (MPLS) Management", Internet
                 Draft <draft-ietf-mpls-tc-mib-03.txt>,
                 January 2002, work in progress.

   [TEMIB]          Nadeau, T., Srinivasan, C, Viswanathan,
                 A., "Multiprotocol Label Switching (MPLS)
                 Traffic Engineering Management Information
                 Base", Internet Draft <draft-ietf-mpls-te-
                 mib-08.txt>, January 2002, work in
                 progress.

   [LSRMIB]      Srinivasan, C., Viswanathan, A. and T.
                 Nadeau, "MPLS Label Switching Router
                 Management Information Base Using SMIv2",
                 Internet Draft <draft-ietf-mpls-lsr-mib-
                 08.txt>, January 2002, work in progress.

   [LABELMIB]    Nadeau, T., Srinivasan, C., Farrel, A.,
                 Hall, T., and Harrison, E., "Generalized
                 Multiprotocol Label Switching (GMPLS) Label
                 Management Information Base", draft-nadeau-
                 ccamp-gmpls-label-mib-01.txt, January 2002,
                 work in progress.

   [GMPLSLSRMIB] Nadeau, T., Srinivasan, C., A., Farrel, A.,
                 Hall, T., and Harrison, E., "Generalized
                 Multiprotocol Label Switching (GMPLS) Label
                 Switching Router Management Information
                 Base", draft-nadeau-ccamp-gmpls-lsr-mib-



Nadeau et al.               Expires July 2002               [Page 99]


Internet Draft                GMPLS TE MIB               January 2002



                 01.txt, January 2002, work in progress.


15.2. Informational References

   [RFC1155]     Rose, M., and K. McCloghrie, "Structure and
                 Identification of Management Information
                 for TCP/IP-based Internets", RFC 1155, May
                 1990.

   [RFC1215]     M. Rose, "A Convention for Defining Traps
                 for use with the SNMP", RFC 1215, March
                 1991.

   [RFC1901]     Case, J., McCloghrie, K., Rose, M., and S.
                 Waldbusser, "Introduction to Community-
                 based SNMPv2", RFC 1901, January 1996.

   [RFC1905]     Case, J., McCloghrie, K., Rose, M., and S.
                 Waldbusser, "Protocol Operations for
                 Version 2 of the Simple Network Management
                 Protocol (SNMPv2)", RFC 1905, January 1996.

   [RFC1906]     Case, J., McCloghrie, K., Rose, M., and S.
                 Waldbusser, "Transport Mappings for Version
                 2 of the Simple Network Management Protocol
                 (SNMPv2)", RFC 1906, January 1996.

   [RFC2514]     Noto, et. al., "Definitions of Textual
                 Conventions and OBJECT-IDENTITIES for ATM
                 Management", RFC 2514, Feb. 1999

   [RFC2515]     K. Tesink, "Definitions of Managed Objects
                 for ATM Management", RFC 2515, Feb. 1999

   [RFC2570]     Case, J., Mundy, R., Partain, D., and B.
                 Stewart, "Introduction to Version 3 of the
                 Internet-standard Network Management
                 Framework", RFC 2570, April 1999.

   [RFC2571]     Harrington, D., Presuhn, R., and B. Wijnen,
                 "An Architecture for Describing SNMP
                 Management Frameworks", RFC 2571, April
                 1999.

   [RFC2572]     Case, J., Harrington D., Presuhn R., and B.
                 Wijnen, "Message Processing and Dispatching
                 for the Simple Network Management Protocol
                 (SNMP)", RFC 2572, April 1999.




Nadeau et al.               Expires July 2002               [Page 100]


Internet Draft                GMPLS TE MIB               January 2002



   [RFC2573]     Levi, D., Meyer, P., and B. Stewart,
                 "SNMPv3 Applications", RFC 2573, April
                 1999.

   [RFC2574]     Blumenthal, U., and B. Wijnen, "User-based
                 Security Model (USM) for version 3 of the
                 Simple Network Management Protocol
                 (SNMPv3)", RFC 2574, April 1999.

   [RFC2575]     Wijnen, B., Presuhn, R., and K. McCloghrie,
                 "View-based Access Control Model (VACM) for
                 the Simple Network Management Protocol
                 (SNMP)", RFC 2575, April 1999.

   [RFC2578]     McCloghrie, K., Perkins, D., Schoenwaelder,
                 J., Case, J., Rose, M., and S. Waldbusser,
                 "Structure of Management Information
                 Version 2 (SMIv2)", STD 58, RFC 2578, April
                 1999.

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

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

   [RFC3034]     Conta, A., Doolan, P., Malis, A., "Use of
                 Label Switching on Frame Relay Networks
                 Specification", RFC 3034, January 2001.

   [RFC3035]     Davie, B., Lawrence, J., McCloghrie, K.,
                 Rosen, E., Swallow, G., Rekhter, Y., and P.
                 Doolan, "MPLS using LDP and ATM VC
                 switching", RFC 3035, January 2001.

   [IANAFamily]  Internet Assigned Numbers Authority (IANA),
                 ADDRESS FAMILY NUMBERS.


16.    Authors' Addresses

   Thomas D. Nadeau
   Cisco Systems, Inc.
   300 Apollo Drive
   Chelmsford, MA 01824
   Phone: +1-978-244-3051
   Email: tnadeau@cisco.com



Nadeau et al.               Expires July 2002               [Page 101]


Internet Draft                GMPLS TE MIB               January 2002




   Cheenu Srinivasan
   Parama Networks, Inc.
   1030 Broad Street
   Shrewsbury, NJ 07702
   Phone: +1-732-544-9120 x731
   Email: cheenu@paramanet.comAdrian Farrel
   Movaz Networks, Inc.
   7926 Jones Branch Drive, Suite 615
   McLean VA, 22102 USA
   Phone: +1-703-847-9847
   Email: afarrel@movaz.com

   Tim Hall
   Data Connection Ltd.
   100 Church Street
   Enfield, Middlesex
   EN2 6BQ, UK
   Phone: +44 20 8366 1177
   Email: timhall@dataconnection.com

   Edward Harrison
   Data Connection Ltd.
   100 Church Street
   Enfield, Middlesex
   EN2 6BQ, UK
   Phone: +44 20 8366 1177
   Email: eph@dataconnection.com



17.   Full Copyright Statement

   Copyright (C) The Internet Society (2002). 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



Nadeau et al.               Expires July 2002               [Page 102]


Internet Draft                GMPLS TE MIB               January 2002



   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.









































Nadeau et al.               Expires July 2002               [Page 103]