[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

GMPLS MIB I-D updates



The following I-D updates have been posted:

  draft-nadeau-ccamp-gmpls-tc-mib-01.txt
  draft-nadeau-ccamp-gmpls-lsr-mib-01.txt
  draft-nadeau-ccamp-gmpls-te-mib-01.txt
  draft-nadeau-ccamp-gmpls-label-mib-01.txt

They are aligned with each other and have been verified to
compile cleanly with smilint.

They should appear on the IETF's site shortly. Copies are
attached for your reference.

Cheenu


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) Label
                 Management Information Base
                              
          draft-nadeau-ccamp-gmpls-label-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 RFC 2026
   [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 defining label



Nadeau et al.                Expires July 2002               [Page 1]

Internet Draft              GMPLS Label MIB              January 2002



   for Multiprotocol Label Switching (MPLS) [RFC3031] and
   Generalized Multiprotocol Label Switching (GMPLS)
   [GMPLSArch] Label Switching Routers (LSRs).



Table of Contents

  1. Changes and Pending Work ..................................  2
   1.1. Changes Since the Last Version .........................  2
   1.2. Pending Work ...........................................  2
  2. Introduction ..............................................  3
  3. The SNMP Management Framework .............................  3
  4. Brief Description of MIB Objects ..........................  4
   4.1. gmplsLabelTable ........................................  4
    4.1.1 Concatenated Labels ..................................  5
  5. GMPLS Label MIB Definitions ...............................  5
  6. Security Considerations ................................... 17
  7. Acknowledgements .......................................... 18
  8. References ................................................ 18
   8.1. Normative References ................................... 19
   8.2. Informational References ............................... 20
  9. Authors' Addresses ........................................ 22
  10. Full Copyright Statement ................................. 23



1. Changes and Pending Work
   
   This section must be removed before the draft progresses
   to RFC.


1.1.  Changes Since the Last Version
   
   Aligned with the other GMPLS MIBs.  References updated.


1.2.  Pending Work
   
   The following work items have been identified for this
   version of the draft to be addressed in a future version.
   
   -  Clarify which objects can be modified when row-status
      and admin-status are set to active.
   
   -  Expand conformance statements to give one for
      monitoring only, and one for monitoring and control.
   
   -  Provide examples.



Nadeau et al.                Expires July 2002               [Page 2]

Internet Draft              GMPLS Label MIB              January 2002



   
   -  Provide objects for tables to support the get-next-
      index operation for all arbitrary indexes.


2. Introduction
   
   This memo defines a portion of the Management Information
   Base (MIB) for use with network management protocols in
   the Internet community.  In particular, it describes
   managed objects for modeling and managing labels within
   Generalized MPLS systems.  For an introduction to the
   concepts of GMPLS, see [GMPLSArch].  Note that this
   portion of the MIB is optional within a managed GMPLS
   system.  In particular, if the labels used within the
   system are 'simple' labels that may be encoded within a
   32 bit quantity, and if the encoding of the labels is
   implicit from the context within which they are used,
   then the table defined within this MIB is not required.
   Refer to the other MIB definitions ([GMPLSTEMIB] and
   [GMPLSLSRMIB]) for further details.
   
   Comments should be made directly to the CCAMP mailing
   list at ccamp@ops.ietf.org.
   
   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL",
   "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED",
   "MAY", and "OPTIONAL" in this document are to be
   interpreted as described in RFC 2119, reference
   [RFC2119].


3. 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 STD 16,
      RFC 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



Nadeau et al.                Expires July 2002               [Page 3]

Internet Draft              GMPLS Label MIB              January 2002



      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.


4. Brief Description of MIB Objects
   
   The tables support both manually configured and signaled
   tunnels as described in [TBD].


4.1.  gmplsLabelTable
   



Nadeau et al.                Expires July 2002               [Page 4]

Internet Draft              GMPLS Label MIB              January 2002



   The gmplsLabelTable allows Generalized Labels to be
   defined and managed in a central location.  Generalized
   Labels can be of variable length and have distinct bit-by-
   bit interpretations according to the use that is made of
   them.
   
   It is useful to configure and inspect Generalized Labels
   using the sub-fields of the labels - and this table makes
   that feature possible.  At the same time, some labels may
   be of unknown construction and must be exposed as octet
   strings.  Similarly, some implementations may choose not
   to expose the construction of some or all labels, and can
   show them as octet strings.
   
   It is possible that some implementations will choose to
   construct and fully populate this table with all valid
   labels at start of day.  Other implementations may choose
   to create entries on-demand.  This table is indexed using
   an arbitrary index value that is not related to the label
   value in use.  This means that it is possible to create
   two row entries with the same label values.  This may be
   convenient when creating table entries on-demand.


4.1.1 Concatenated Labels
   
   In some environments such as TDM, it is useful to be able
   to build a single GMPLS label from a concatenation of sub-
   labels.  This facilitates, for example, concatenation of
   timeslots to support a data flow.
   
   This concatenation is achieved through a secondary index
   into the Label Table.


5. GMPLS Label MIB Definitions

GMPLS-LABEL-MIB DEFINITIONS ::= BEGIN

IMPORTS
   MODULE-IDENTITY, OBJECT-TYPE, Integer32, Unsigned32
      FROM SNMPv2-SMI
   MODULE-COMPLIANCE, OBJECT-GROUP
      FROM SNMPv2-CONF
   RowStatus, StorageType
      FROM SNMPv2-TC
   MplsLabel
      FROM MPLS-TC-MIB
   gmplsMIB, GmplsGeneralizedLabelTypes,
   GmplsGeneralizedLabelSubtypes, GmplsFreeformLabel



Nadeau et al.                Expires July 2002               [Page 5]

Internet Draft              GMPLS Label MIB              January 2002



      FROM GMPLS-TC-MIB
   ;

gmplsLabelMIB MODULE-IDENTITY
   LAST-UPDATED
   "200201251200Z"  -- 25 Jan 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
          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



Nadeau et al.                Expires July 2002               [Page 6]

Internet Draft              GMPLS Label MIB              January 2002



       "This MIB module contains managed object
        definitions of labels within GMPLS
        systems."
       
   -- Revision history.
   
   REVISION
       "200111111100Z"  -- 11 Nov 2001 11:00:00 GMT
   DESCRIPTION
       "Initial version."
   REVISION
       "200201251200Z"  -- 25 Jan 2002 12:00:00 GMT
   DESCRIPTION
       "Revision for compilation and work in
        progress."
   ::= { gmplsMIB 3 }

-- Top level components of this MIB.

-- tables, scalars
gmplsLabelObjects
   OBJECT IDENTIFIER ::= { gmplsLabelMIB 1 }
gmplsLabelConformance
   OBJECT IDENTIFIER ::= { gmplsLabelMIB 2 }

-- GMPLS Label Table.

gmplsLabelTable OBJECT-TYPE
   SYNTAX        SEQUENCE OF GmplsLabelEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "Table of GMPLS Labels.  Each entry in this
        table represents an individual GMPLS label
        value.  Labels in the tables in other MIBs
        are referred to using index entries into
        this table.  In effect, the table provides
        an integer mapping for label values that
        may be more complex than simple integers."
   ::= { gmplsLabelObjects 1 }

gmplsLabelEntry OBJECT-TYPE
   SYNTAX        GmplsLabelEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "An entry in this table defines a GMPLS
        label."
   INDEX { gmplsLabelIndex, gmplsSublabelIndex }
   ::= { gmplsLabelTable 1 }



Nadeau et al.                Expires July 2002               [Page 7]

Internet Draft              GMPLS Label MIB              January 2002




GmplsLabelEntry ::= SEQUENCE {
     gmplsLabelIndex          Unsigned32,
     gmplsSublabelIndex       Unsigned32,
     gmplsLabelRowStatus      RowStatus,
     gmplsLabelStorageType    StorageType,
     gmplsLabelType           GmplsGeneralizedLabelTypes,
     gmplsLabelSubtype        GmplsGeneralizedLabelSubtypes,
     gmplsMplsLabel           MplsLabel,
     gmplsPortWavelengthLabel Unsigned32,
     gmplsFreeformLength      Integer32,
     gmplsFreeformLabel       GmplsFreeformLabel,
     gmplsSonetSdhSignalIndex Integer32,
     gmplsSdhVc               Integer32,
     gmplsSdhVcBranch         Integer32,
     gmplsSonetSdhBranch      Integer32,
     gmplsSonetSdhGroupBranch Integer32,
     gmplsWavebandId          Unsigned32,
     gmplsWavebandStartLabel  Unsigned32,
     gmplsWavebandEndLabel    Unsigned32
   }

gmplsLabelIndex OBJECT-TYPE
   SYNTAX        Unsigned32 (1..4294967295)
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "Uniquely identifies this label.  In
        conjunction with gmplsSublabelIndex this
        uniquely identifies a row."
   ::= { gmplsLabelEntry 1 }

gmplsSublabelIndex OBJECT-TYPE
   SYNTAX        Unsigned32 (1..4294967295)
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "In conjunction with gmplsLabelIndex
        uniquely identifies this row.  This sub-
        index allows a single GMPLS label to be
        defined as a concatenation of labels.  This
        is particularly useful in TDM.  The
        ordering of sub-labels is strict with the
        sub-label with lowest gmplsSublabelIndex
        appearing first.  Note that all sub-labels
        of a single GMPLS label must share the same
        gmplsLabelIndex value.  For labels that are
        not composed of concatenated sub-labels,
        this value should be set to zero."
   ::= { gmplsLabelEntry 2 }



Nadeau et al.                Expires July 2002               [Page 8]

Internet Draft              GMPLS Label MIB              January 2002




gmplsLabelRowStatus 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."
   ::= { gmplsLabelEntry 3 }

gmplsLabelStorageType 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."
   ::= { gmplsLabelEntry 4 }

gmplsLabelType OBJECT-TYPE
   SYNTAX        GmplsGeneralizedLabelTypes
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "Identifies the type of this label as it
        appears in a Generalized Label."
   ::= { gmplsLabelEntry 5 }

gmplsLabelSubtype OBJECT-TYPE
   SYNTAX        GmplsGeneralizedLabelSubtypes
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "Subtype to help determine which of the
        subsequent fields should be used to form
        the Generalized Label."
   ::= { gmplsLabelEntry 6 }

gmplsMplsLabel OBJECT-TYPE
   SYNTAX        MplsLabel
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "The value of a conventional MPLS label when
        carried as a Generalized Label.  Only valid
        if gmplsLabelType is set to mplsLabel(1),
        and gmplsLabelSubtype is set to
        mplsLabel(1)."



Nadeau et al.                Expires July 2002               [Page 9]

Internet Draft              GMPLS Label MIB              January 2002



   ::= { gmplsLabelEntry 7 }

gmplsPortWavelengthLabel OBJECT-TYPE
   SYNTAX        Unsigned32
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "The value of a Port or Wavelength Label
        when carried as a Generalized Label.  Only
        valid if gmplsLabelType is set to
        generalizedLabel(2), and gmplsLabelSubtype
        is set to portWavelengthLabel(2)."
   ::= { gmplsLabelEntry 8 }

gmplsFreeformLength OBJECT-TYPE
   SYNTAX        Integer32 (1..64)
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "The length of a freeform Generalized Label
        indicated in the gmplsFreeformLabel object.
        Only valid if gmplsLabelType is set to
        generalizedLabel(2), and gmplsLabelSubtype
        is set to freeformGeneralizedLabel(3)."
   ::= { gmplsLabelEntry 9 }

gmplsFreeformLabel OBJECT-TYPE
   SYNTAX        GmplsFreeformLabel
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "The value of a freeform Generalized Label
        that does not conform to one of the
        standardized label encoding or that an
        implementation chooses to represent as an
        octet string without further decoding.  The
        length of this object is given by the value
        of gmplsFreeformLength.  Only valid if
        gmplsLabelType is set to
        generalizedLabel(2), and gmplsLabelSubtype
        is set to freeformGeneralizedLabel(3)."
   ::= { gmplsLabelEntry 10 }

gmplsSonetSdhSignalIndex OBJECT-TYPE
   SYNTAX        Integer32 (0..4095)
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "The Signal Index value (S) of a Sonet or
        SDH Generalized Label.  0 indicates that



Nadeau et al.               Expires July 2002               [Page 10]

Internet Draft              GMPLS Label MIB              January 2002



        this field is non-significant.  Only valid
        if gmplsLabelType is set to
        generalizedLabel(2), and gmplsLabelSubtype
        is set to sonetLabel(4) or sdhLabel(5)."
   ::= { gmplsLabelEntry 11 }

gmplsSdhVc OBJECT-TYPE
   SYNTAX        Integer32 (0..15)
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "The VC Indicator (U) of an SDH Generalized
        Label.  0 indicates that this field is non-
        significant.  Only valid if gmplsLabelType
        is set to generalizedLabel(2), and
        gmplsLabelSubtype is set to sdhLabel(5)."
   ::= { gmplsLabelEntry 12 }

gmplsSdhVcBranch OBJECT-TYPE
   SYNTAX        Integer32 (0..15)
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "The VC Branch Indicator (K) of an SDH
        Generalized Label.  0 indicates that this
        field is non-significant.  Only valid if
        gmplsLabelType is set to
        generalizedLabel(2), and gmplsLabelSubtype
        is set to sdhLabel(5)."
   ::= { gmplsLabelEntry 13 }

gmplsSonetSdhBranch OBJECT-TYPE
   SYNTAX        Integer32 (0..15)
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "The Branch Indicator (L) of a Sonet or SDH
        Generalized Label.  0 indicates that this
        field is non-significant.  Only valid if
        gmplsLabelType is set to
        generalizedLabel(2), and gmplsLabelSubtype
        is set to sonetLabel(4) or SdhLabel(5)."
   ::= { gmplsLabelEntry 14 }

gmplsSonetSdhGroupBranch OBJECT-TYPE
   SYNTAX        Integer32 (0..15)
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "The Group Branch Indicator (M) of a Sonet



Nadeau et al.               Expires July 2002               [Page 11]

Internet Draft              GMPLS Label MIB              January 2002



        or SDH Generalized Label.  0 indicates that
        this field is non-significant.  Only valid
        if gmplsLabelType is set to
        generalizedLabel(2), and gmplsLabelSubtype
        is set to sonetLabel(4) or sdhLabel(5)."
   ::= { gmplsLabelEntry 15 }

gmplsWavebandId OBJECT-TYPE
   SYNTAX        Unsigned32
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "The waveband identifier component of a
        waveband label.  Only valid if
        gmplsLabelType is set to
        generalizedLabel(2), and gmplsLabelSubtype
        is set to wavebandLabel(6)."
   ::= { gmplsLabelEntry 16 }

gmplsWavebandStartLabel OBJECT-TYPE
   SYNTAX        Unsigned32
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "The starting label component of a waveband
        label.  Only valid if gmplsLabelType is set
        to generalizedLabel(2), and
        gmplsLabelSubtype is set to
        wavebandLabel(6)."
   ::= { gmplsLabelEntry 17 }

gmplsWavebandEndLabel OBJECT-TYPE
   SYNTAX        Unsigned32
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "The end label component of a waveband
        label.  Only valid if gmplsLabelType is set
        to generalizedLabel(2), and
        gmplsLabelSubtype is set to
        wavebandLabel(6)."
   ::= { gmplsLabelEntry 18 }

-- End of GMPLS Label Table

-- Module compliance.

gmplsLabelGroups
   OBJECT IDENTIFIER ::= { gmplsLabelConformance 1 }




Nadeau et al.               Expires July 2002               [Page 12]

Internet Draft              GMPLS Label MIB              January 2002



gmplsLabelCompliances
   OBJECT IDENTIFIER ::= { gmplsLabelConformance 2 }

gmplsLabelModuleCompliance MODULE-COMPLIANCE
   STATUS current
   DESCRIPTION
          "Compliance  statement for  agents  that
           support the GMPLS Label MIB."

MODULE -- this module

   -- The mandatory groups have to be implemented by
   -- LSRs claiming support for this MIB. This MIB itself,
   -- however, is mandatory only on LSRs supporting GMPLS
   
   MANDATORY-GROUPS {
      gmplsLabelTableGroup
   }


   -- Units of conformance.
   
   GROUP gmplsLabelTableGroup
   DESCRIPTION
       "This group is mandatory for devices which
        support the gmplsLabelTable."

   GROUP gmplsMPLSLabelGroup
   DESCRIPTION
       "This group extends gmplsLabelTableGroup for
        implementations that support conventional
        MPLS labels."

   GROUP gmplsPortWavelengthLabelGroup
   DESCRIPTION
       "This group extends gmplsLabelTableGroup for
        implementations that support port and
        wavelength labels."

   GROUP gmplsFreeformLabelGroup
   DESCRIPTION
       "This group extends gmplsLabelTableGroup for
        implementations that support freeform
        labels."

   GROUP gmplsSonetSdhLabelGroup
   DESCRIPTION
       "This group extends gmplsLabelTableGroup for
        implementations that support SonetSdh
        labels."



Nadeau et al.               Expires July 2002               [Page 13]

Internet Draft              GMPLS Label MIB              January 2002




   GROUP gmplsWavebandLabelGroup
   DESCRIPTION
          "This group extends gmplsLabelTableGroup
           for    implementations   that   support
           Waveband labels."

   -- gmplsLabelTable

   OBJECT      gmplsLabelRowStatus
   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      gmplsLabelStorageType
   SYNTAX      INTEGER { other(1) }
   MIN-ACCESS  read-only
   DESCRIPTION
       "Only other (1) needs to be supported."

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

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

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

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

   OBJECT      gmplsFreeformLength
   MIN-ACCESS  read-only



Nadeau et al.               Expires July 2002               [Page 14]

Internet Draft              GMPLS Label MIB              January 2002



   DESCRIPTION
       "Write access is not required."

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

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

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

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

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

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

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

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

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

::= { gmplsLabelCompliances 1 }




Nadeau et al.               Expires July 2002               [Page 15]

Internet Draft              GMPLS Label MIB              January 2002



-- Units of conformance.

gmplsLabelTableGroup OBJECT-GROUP
   OBJECTS {
      gmplsLabelRowStatus,
      gmplsLabelStorageType,
      gmplsLabelType,
      gmplsLabelSubtype
   }
   STATUS  current
   DESCRIPTION
       "Necessary, but not sufficient, set of
        objects to implement label table support.
        In addition, depending on the type of
        labels supported (for example, wavelength
        labels), the following other groups defined
        below are mandatory: gmplsMPLSLabelGroup
        and/or gmplsPortWavelengthLabelGroup and/or
        gmplsFreeformLabelGroup and/or
        gmplsSonetSdhLabelGroup."
   ::= { gmplsLabelGroups 1 }

gmplsMPLSLabelGroup OBJECT-GROUP
   OBJECTS {
      gmplsMplsLabel
   }
   STATUS  current
   DESCRIPTION
       "Object needed to implement MPLS labels."
   ::= { gmplsLabelGroups 2 }

gmplsPortWavelengthLabelGroup OBJECT-GROUP
   OBJECTS {
      gmplsPortWavelengthLabel
   }
   STATUS  current
   DESCRIPTION
       "Object needed to implement Port and
        Wavelength labels."
   ::= { gmplsLabelGroups 3 }

gmplsFreeformLabelGroup OBJECT-GROUP
   OBJECTS {
      gmplsFreeformLength,
      gmplsFreeformLabel
   }
   STATUS  current
   DESCRIPTION
       "Object needed to implement Freeform
        labels."



Nadeau et al.               Expires July 2002               [Page 16]

Internet Draft              GMPLS Label MIB              January 2002



   ::= { gmplsLabelGroups 4 }

gmplsSonetSdhLabelGroup OBJECT-GROUP
   OBJECTS {
      gmplsSonetSdhSignalIndex,
      gmplsSdhVc,
      gmplsSdhVcBranch,
      gmplsSonetSdhBranch,
      gmplsSonetSdhGroupBranch
   }
   STATUS  current
   DESCRIPTION
       "Object needed to implement SONET and SDH
        labels."
   ::= { gmplsLabelGroups 5 }

gmplsWavebandLabelGroup OBJECT-GROUP
   OBJECTS {
      gmplsWavebandId,
      gmplsWavebandStartLabel,
      gmplsWavebandEndLabel
   }
   STATUS  current
   DESCRIPTION
       "Object needed to implement Waveband
        labels."
   ::= { gmplsLabelGroups 6 }

END


6. Security Considerations
   
   There are a number of management objects defined in this
   MIB that have a MAX-ACCESS clause of read-write and/or
   read-create. Such objects may be considered sensitive or
   vulnerable in some network environments. The support for
   SET operations in a non-secure environment without proper
   protection can have a negative effect on network
   operations.
   
   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 GMPLS 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.



Nadeau et al.               Expires July 2002               [Page 17]

Internet Draft              GMPLS Label MIB              January 2002



   
   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 [RFC2571] 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
   [RFC2574] and the View-based Access Control [RFC2575] 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.
   
   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 GMPLS 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.


7. Acknowledgements
   
   The authors would like to express their thanks to Dan
   Joyle for his careful review and comments on GMPLS
   labels.


8. References



Nadeau et al.               Expires July 2002               [Page 18]

Internet Draft              GMPLS Label MIB              January 2002





8.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.
   
   [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.,



Nadeau et al.               Expires July 2002               [Page 19]

Internet Draft              GMPLS Label MIB              January 2002



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


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



Nadeau et al.               Expires July 2002               [Page 20]

Internet Draft              GMPLS Label MIB              January 2002



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



Nadeau et al.               Expires July 2002               [Page 21]

Internet Draft              GMPLS Label MIB              January 2002



   [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.
   
   [RFC3032]     Rosen, E., Rekhter, Y., Tappan, D.,
                 Farinacci, D., Federokow, G., Li, T., and
                 A. Conta, "MPLS Label Stack Encoding", RFC
                 3032, January 2001.
   
   [Assigned]    Reynolds, J., and J. Postel, "Assigned
                 Numbers", RFC 1700, October 1994. See also:
                 http://www.isi.edu/in-
                 notes/iana/assignments/smi-numbers.


9. Authors' Addresses

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

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

  Tim Hall



Nadeau et al.               Expires July 2002               [Page 22]

Internet Draft              GMPLS Label MIB              January 2002



  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


10.   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
   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 23]


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)
     Label Switching Router Management Information Base
                              
           draft-nadeau-ccamp-gmpls-lsr-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 RFC 2026
   [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 a portion of the Management Information
   Base (MIB) for use with network management protocols in
   the Internet community.  In particular, it describes
   managed objects for Multiprotocol Label Switching (MPLS)



Nadeau et al.                Expires July 2002               [Page 1]

Internet Draft               GMPLS LSR MIB               January 2002



   and Generalized Multiprotocol Label Switching (GMPLS)
   Label Switched Routers (LSRs).


Table of Contents

  1. Changes and Pending Work ..................................  2
   1.1. Changes Since the Last Version .........................  2
   1.2. Pending Work ...........................................  3
  2. Introduction ..............................................  3
   2.1. Migration Strategy .....................................  4
  3. The SNMP Management Framework .............................  4
  4. Terminology ...............................................  6
  5. Feature List ..............................................  6
  6. Outline ...................................................  7
   6.1. Summary of LSR MIB .....................................  7
  7. Brief Description of MIB Objects ..........................  8
   7.1. gmplsInterfaceConfTable ................................  8
   7.2. gmplsInterfacePerfTable ................................  9
   7.3. gmplsInSegmentTable ....................................  9
   7.4. gmplsInSegmentPerfTable ................................  9
   7.5. gmplsOutSegmentTable ...................................  9
   7.6. gmplsOutSegmentPerfTable ............................... 10
   7.7. gmplsXCTable ........................................... 10
   7.8. gmplsLabelStackTable ................................... 10
   7.9. gmplsTrafficParamTable ................................. 10
  8. Bidirectional LSPs ........................................ 10
  9. Example of LSP Setup ...................................... 11
  10. Application of the Interface Group to MPLS ............... 14
   10.1. Support of the MPLS Layer by ifTable .................. 15
  11. The Use of RowPointer and Other Cross-References ......... 16
   11.1. RowPointer ............................................ 16
   11.2. Cross-referencing to the gmplsLabelTable .............. 17
  12. GMPLS Label Switching Router MIB Definitions ............. 17
  13. Security Considerations .................................. 60
  14. References ............................................... 62
   14.1. Normative References .................................. 64
   14.2. Informational References .............................. 66
  15. Authors' Addresses ....................................... 66
  16. Full Copyright Statement ................................. 67



1. Changes and Pending Work
   
   This section must be removed before the draft progresses
   to RFC.


1.1.  Changes Since the Last Version



Nadeau et al.                Expires July 2002               [Page 2]

Internet Draft               GMPLS LSR MIB               January 2002



   
   
   
   -  Clarify which objects can be modified when row-status
      and admin-status are set to active.
   
   -  Apply bug fixes in line with updates to [LSRMIB].
   
   -  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.
   
   -  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.
   
   -  Provide support for monitoring tunnel resources in
      GMPLS systems.  For example, SONET/SDH or G.709.  This
      might be done through an arbitrary RowPointer to an
      external MIB.
   
   -  Enhance gmplsTrafficParamsTable to support GMPLS
      traffic parameters for signaled and static LSPs.
   
   -  Enhance performance tables for technology-specific
      GMPLS LSPs.
   
   


2. Introduction
   
   This memo defines a portion of the Management Information
   Base (MIB) for use with network management protocols in
   the Internet community.  In particular, it describes
   managed objects for Multiprotocol Label Switching (MPLS)
   [RFC3031] and Generalized Multiprotocol Label Switching
   (GMPLS) [GMPLSArch] Label Switching Routers (LSRs).
   
   Comments should be made directly to the CCAMP mailing



Nadeau et al.                Expires July 2002               [Page 3]

Internet Draft               GMPLS LSR MIB               January 2002



   list at ccamp@ops.ietf.org.
   
   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL",
   "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED",
   "MAY", and "OPTIONAL" in this document are to be
   interpreted as described in RFC 2119, reference
   [RFC2119].


2.1.  Migration Strategy
   
   This MIB is built upon the Label Switching Router MIB
   defined for use with MPLS [LSRMIB]. 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 [LSRMIB] 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 LSR
   MIB [LSRMIB] in systems which support GMPLS, but it is
   not a requirement that it replace the MPLS LSR MIB in
   systems that only support MPLS.
   
   The companion document modeling and managing GMPLS based
   traffic engineering [GMPLSTEMIB] is based on the MPLS TE
   MIB [TEMIB] 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
   originally defined in [TCMIB].
   
   See section 11.1 for a description of how the
   gmplsLabelTable may be omitted in systems that support
   MPLS only.


3. The SNMP Management Framework
   
   The SNMP Management Framework presently consists of five
   major components:
   
   -  An overall architecture, described in RFC 2571
      [RFC2571].



Nadeau et al.                Expires July 2002               [Page 4]

Internet Draft               GMPLS LSR MIB               January 2002



   
   -  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 STD 16,
      RFC 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



Nadeau et al.                Expires July 2002               [Page 5]

Internet Draft               GMPLS LSR MIB               January 2002



   the MIB.


4. Terminology
   
   This document uses terminology from the document
   describing the MPLS architecture [RFC3031].
   
   A label switched path (LSP) is modeled as a connection
   consisting of one or more incoming segments (in-segments)
   and/or one or more outgoing segments (out-segments) at a
   Label Switching Router (LSR).  The association or
   interconnection of the in-segments and out-segments is
   accomplished by using a cross-connect.  We use the
   terminology "connection" and "LSP" interchangeably where
   the meaning is clear from the context.


5. Feature List
   
   The GMPLS Label Switching Router MIB is designed to
   satisfy the following requirements and constraints:
   
   -  The MIB supports both manually configured LSPs as well
      as those configured via any MPLS or GMPLS signaling
      protocol.
   
   -  The MIB supports the enabling and disabling of MPLS
      capability on MPLS capable interfaces of an LSR.
   
   -  The MIB allows resource sharing between two or more
      LSPs.
   
   -  Both per-platform and per-interface label spaces are
      supported.
   
   -  Forwarding can be performed solely based on an
      incoming top label [RFC3031, RFC3032].
   
   -  Support is provided for next-hop resolution when the
      outgoing interface is a shared media interface.  In
      the point-to-multipoint case, each outgoing segment
      can reside on a different shared media interface.
   
   -  The MIB supports point-to-point, point-to-multipoint
      and multipoint-to-point connections at an LSR.
   
   -  For multipoint-to-point connections all outgoing
      packets can have the same top label.
   



Nadeau et al.                Expires July 2002               [Page 6]

Internet Draft               GMPLS LSR MIB               January 2002



   -  For multipoint-to-point connections, the outgoing
      resources of the merged connections can be shared.
   
   -  For multipoint-to-point connections, packets from
      different incoming connections can have distinct
      outgoing label stacks beneath the (identical) top
      label.
   
   -  In the point-to-multipoint case each outgoing
      connection can have a distinct label stack including
      the top label.
   
   -  All the members of a point-to-multipoint connection
      can share the resources allocated for the ingress
      segments.
   
   -  The MIB provides cross-connect capability to "pop" an
      incoming label and forward the packet with the
      remainder of the label stack unchanged and without
      pushing any labels ("pop-and-go") [RFC3032].
   
   -  The MIB supports persistent as well as non-persistent
      LSPs.
   
   -  Performance counters are provided for in-segments and
      out-segments as well as for measuring performance on a
      per-interface basis.


6. Outline
   
   Configuring LSPs through an LSR involves the following
   steps:
   
   -  Enabling MPLS on MPLS capable interfaces.
   
   -  Configuring in-segments and out-segments.
   
   -  Setting up the cross-connect table to associate
      segments and/or to indicate connection origination and
      termination.
   
   -  Optionally specifying label stack actions.
   
   -  Optionally specifying segment traffic parameters.


6.1.  Summary of LSR MIB
   
   The MIB objects for performing these actions consist of



Nadeau et al.                Expires July 2002               [Page 7]

Internet Draft               GMPLS LSR MIB               January 2002



   the following tables:
   
   -  The interface configuration table
      (gmplsInterfaceConfTable), which is used for enabling
      the MPLS protocol on MPLS-capable interfaces.
   
   -  The in-segment (gmplsInSegmentTable) and out-segment
      (gmplsOutSegmentTable) tables, which are used for
      configuring LSP segments at an LSR.
   
   -  The cross-connect table (gmplsXCTable), which is used
      to associate in and out segments together, in order to
      form a cross-connect.
   
   -  The label stack table (gmplsLabelStackTable), which is
      used for specifying label stack operations.
   
   -  The Traffic Parameter table (gmplsTrafficParamTable),
      which is used for specifying LSP-related traffic
      parameters.
   
   Further, the in-segment and out-segment performance
   tables, gmplsInSegmentPerfTable and
   gmplsOutSegmentPerfTable, contain the objects necessary
   to measure the performance of LSPs, and
   gmplsInterfacePerfTable has objects to measure
   performance on a per-interface basis.
   
   These tables are described in the subsequent sections.


7. Brief Description of MIB Objects
   
   Sections 7.1-7.2 describe objects pertaining to MPLS-
   capable interfaces of an LSR.  The objects described in
   Sections 7.3-7.8, were derived from the Incoming Label
   Map (ILM) and Next Hop Label Forwarding Entry (NHLFE) as
   specified in the MPLS architecture document [RFC3031].
   Section 7.9 describes objects for specifying traffic
   parameters for in and out segments. It is appropriate to
   note that the in-segment, out-segment, and cross-connect
   tables were modeled after similar tables found in
   [RFC2515].


7.1.  gmplsInterfaceConfTable
   
   This table represents the interfaces that are MPLS or
   GMPLS capable.  An LSR creates an entry in this table for
   every such interface on that LSR.



Nadeau et al.                Expires July 2002               [Page 8]

Internet Draft               GMPLS LSR MIB               January 2002





7.2.  gmplsInterfacePerfTable
   
   This table contains objects to measure the performance of
   MPLS and GMPLS capable interfaces and is an AUGMENT to
   gmplsInterfaceConfTable.  High capacity counters are
   provided for objects that are likely to wrap around
   quickly on high-speed interfaces.


7.3.  gmplsInSegmentTable
   
   This table contains a description of the incoming
   segments to an LSR and their associated parameters.
   
   The administrative and operational status objects for
   this table are used to control packet transmission on
   this segment.  If either the administrative or
   operational status objects for this table is set to
   'down', this implies that packets will not be forwarded.
   Likewise, if the values are set to 'up' this implies that
   packets are forwarded.  These values are particularly
   useful in cases where multi-point connections utilize a
   single cross-connect and the administrator wishes to
   disable some, but not all of the streams.  In these
   cases, the administrator may set the administrative
   status object to 'down' on some of the in-segments.


7.4.  gmplsInSegmentPerfTable
   
   The In-Segment Performance Table has objects to measure
   the performance of an incoming segment configured on an
   LSR.  It is an AUGMENT to gmplsInSegmentTable.  High
   capacity counters are provided for objects that are
   likely to wrap around quickly on high-speed interfaces.


7.5.  gmplsOutSegmentTable
   
   The Out-Segment Table contains a description of the
   outgoing segments at an LSR and their associated
   parameters.  The administrative and operational status
   objects for this table are used to control packet
   transmission on this segment.  If either the
   administrative or operational status objects is set to
   'down', this implies that packets will not be forwarded.
   Likewise, if the values are set to 'up' this implies that
   packets are forwarded.  These values are particularly



Nadeau et al.                Expires July 2002               [Page 9]

Internet Draft               GMPLS LSR MIB               January 2002



   useful in cases where multicast connections utilize a
   single cross-connect and the administrator wishes to
   disable some, but not all of the streams.  In these
   cases, the administrator may set the administrative
   status object to 'down' on some of the out-segments.


7.6.  gmplsOutSegmentPerfTable
   
   The Out-Segment Table contains objects to measure the
   performance of an outgoing segment configured on an LSR.
   It is an AUGMENT to gmplsOutSegmentTable.  High capacity
   counters are provided for objects that are likely to wrap
   around quickly on high-speed interfaces.


7.7.  gmplsXCTable
   
   The gmplsXCTable specifies information for associating
   segments together in order to instruct the LSR to switch
   between the specified segments.  It supports point-to-
   point, point-to-multi-point and multi-point-to-point
   connections.
   
   The administrative and operational status objects for
   this table imply control of packet forwarding to and from
   a XCEntry.  When the administrative and operational
   status objects are set to 'down' for example, this
   implies that the specified XCEntry will not forward
   packets.  Likewise, when either is set to 'up' this
   implies that packets will be forwarded.


7.8.  gmplsLabelStackTable
   
   The gmplsLabelStackTable specifies the label stack to be
   pushed onto a packet, beneath the top label.  Entries to
   this table are referred to from gmplsXCTable.


7.9.  gmplsTrafficParamTable
   
   The gmplsTrafficParamTable contains objects for
   specifying the traffic parameters of in-segments and out-
   segments.  Entries in this table are referred to from
   gmplsInSegmentTable and gmplsOutSegmentTable.


8. Bidirectional LSPs
   



Nadeau et al.               Expires July 2002               [Page 10]

Internet Draft               GMPLS LSR MIB               January 2002



   This MIB supports bidirectional LSPs as required for
   GMPLS.
   
   A single entry in the gmplsXCIndex is shared by all of
   the segments for the entire bidirectional LSP.  This
   facilitates a simple reference from [GMPLSTEMIB] and
   makes fate-sharing more obvious.
   
   It is, however, important that the direction of segments
   is understood to avoid connecting all in-segments to all
   out-segments.  This is achieved by an object in each
   segment that indicates the direction of the segment with
   respect to data flow.
   
   A segment that is marked as 'forward' carries data from
   the 'head' of the LSP to the 'tail'.  A segment marked as
   'reverse' carries data in the reverse direction.
   
   Where an LSP is signaled using a conventional signaling
   protocol, the 'head' of the LSP is the source of the
   signaling (also known as the ingress) and the 'tail' is
   the destination (also known as the egress).  For manually
   configured LSPs an arbitrary decision must be made about
   which segments are 'forward' and which 'reverse'.  For
   consistency this decision should be made across all LSRs
   that participate in the LSP by assigning 'head' and
   'tail' ends to the LSP.


9. Example of LSP Setup
   
   In this section we provide a brief example of using the
   MIB objects described in section 12. to set up an LSP.
   While this example is not meant to illustrate every
   nuance of the MIB, it is intended as an aid to
   understanding some of the key concepts.  It is meant to
   be read after going through the MIB itself.
   
   Suppose that one would like to manually create a best-
   effort, bi-directional LSP.  Assume that, in the forward
   direction, the LSP enters the LSR via MPLS interface A
   with ifIndex 12 and exits the LSR via MPLS interface B
   with ifIndex 13.  For the reverse direction, we assume
   the LSP enters via interface B and leaves via interface A
   (i.e. the forward and reverse directions use the same bi-
   directional interfaces).  Let us also assume that we do
   not wish to have a label stack beneath the top label on
   the outgoing labeled packets.  The following example
   illustrates which rows and corresponding objects might be
   created to accomplish this.



Nadeau et al.               Expires July 2002               [Page 11]

Internet Draft               GMPLS LSR MIB               January 2002



   
   First, the traffic parameter entries must be set-up for
   both segments.
   
   In gmplsTrafficParamTable for the incoming direction:
   {
     gmplsTrafficParamIndex           = 5
     gmplsTrafficParamMaxRate         = 100000,
     gmplsTrafficParamMeanRate        = 100000,
     gmplsTrafficParamMaxBurstSize    = 2000,
     gmplsTrafficParamRowStatus       = createAndGo(4)
   }
   
   In gmplsTrafficParamTable for the outgoing direction:
   {
     gmplsTrafficParamIndex           = 6
     gmplsTrafficParamMaxRate         = 100000,
     gmplsTrafficParamMeanRate        = 100000,
     gmplsTrafficParamMaxBurstSize    = 2000,
     gmplsTrafficParamRowStatus       = createAndGo(4)
   }
   
   Note that for a bi-directional LSP, the segments in the
   reverse direction can share the traffic parameter entries
   (and hence resources) with the segments in the forward
   direction.
   
   We must next create the appropriate in-segment and out-
   segment entries with suitable traffic parameters by
   pointing to the appropriate traffic parameter entries
   that we have just created.
   
   First for the forward direction:
   
   In gmplsInSegmentTable
   {
     gmplsInSegmentIndex           = 1,
     -- incoming interface
     gmplsInSegmentIfIndex         = 12,
     -- incoming label
     gmplsInSegmentLabel           = 21,
     gmplsInSegmentNPop            = 1,
     gmplsInSegmentOwner           = snmp (2),
     gmplsInSegmentTrafficParamPtr =
                          gmplsTrafficParamIndex.5,
     gmplsInSegmentDirection       = forward (1),
     gmplsInSegmentRowStatus       = createAndGo(4)
   }
   
   In gmplsOutSegmentTable



Nadeau et al.               Expires July 2002               [Page 12]

Internet Draft               GMPLS LSR MIB               January 2002



   {
     gmplsOutSegmentIndex           = 1,
     -- outgoing interface
     gmplsOutSegmentIfIndex         = 13,
     gmplsOutSegmentPushTopLabel    = true(1),
     -- outgoing label
     gmplsOutSegmentTopLabel        = 22,
     gmplsOutSegmentOwner           = snmp (2),
     gmplsOutSegmentTrafficParamPtr =
                           gmplsTrafficParamIndex.6,
     gmplsOutSegmentDirection       = forward (1),
     gmplsOutSegmentRowStatus       = createAndGo(4)
   }
   
   Next for the reverse direction:
   
   In gmplsInSegmentTable
   {
     gmplsInSegmentIndex           = 2,
     -- incoming interface
     gmplsInSegmentIfIndex         = 13,
     -- incoming label
     gmplsInSegmentLabel           = 31,
     gmplsInSegmentNPop            = 1,
     gmplsInSegmentOwner           = snmp (2),
     gmplsInSegmentTrafficParamPtr =
                          gmplsTrafficParamIndex.6,
     gmplsInSegmentDirection       = reverse (2),
     gmplsInSegmentRowStatus       = createAndGo(4)
   }
   
   In gmplsOutSegmentTable
   {
     gmplsOutSegmentIndex           = 2,
     -- outgoing interface
     gmplsOutSegmentIfIndex         = 12,
     gmplsOutSegmentPushTopLabel    = true(1),
     -- outgoing label
     gmplsOutSegmentTopLabel        = 32,
   
     gmplsOutSegmentOwner           = snmp (2),
     gmplsOutSegmentTrafficParamPtr =
                           gmplsTrafficParamIndex.5,
     gmplsOutSegmentDirection       = reverse (2),
     gmplsOutSegmentRowStatus       = createAndGo(4)
   }
   
   Next, two cross-connect entries are created thereby
   associating the newly created segments together.
   



Nadeau et al.               Expires July 2002               [Page 13]

Internet Draft               GMPLS LSR MIB               January 2002



   In gmplsXCTable:
   {
     gmplsXCIndex             = 2,
     gmplsInSegmentIndex      = 1,
     gmplsOutSegmentIndex     = 1,
     -- 192.33.4.21.2
     gmplsXCLspId             = 'c021041502'H,
     gmplsXCIsPersistent      = false (1),
     gmplsXCOwner             = snmp (2),
     -- only a single outgoing label
     gmplsLabelStackIndex     = 0,
     gmplsXCRowStatus         = createAndGo(4)
   }
   
   In gmplsXCTable:
   {
     gmplsXCIndex             = 3,
     gmplsInSegmentIndex      = 2,
     gmplsOutSegmentIndex     = 2,
     -- 192.33.4.21.2
     gmplsXCLspId             = 'c021041502'H,
     gmplsXCIsPersistent      = false (1),
     gmplsXCOwner             = snmp (2),
     -- only a single outgoing label
     gmplsLabelStackIndex     = 0,
     gmplsXCRowStatus         = createAndGo(4)
   }
   
   Note that the gmplsInSegmentXCIndex and
   gmplsOutSegmentXCIndex objects will automatically be
   populated with the values 2 and 3 (for the forward and
   reverse segments respectively) when these segments are
   referred to from the corresponding cross-connect entry.


10.   Application of the Interface Group to MPLS
   
   This memo contains media-specific extensions to the
   Interfaces Group for managing MPLS 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 interface is
   represented as an entry in the ifTable.  The inter-
   relation of entries in the ifTable is defined by
   Interfaces Stack Group defined in [RFC2863].
   
   When using MPLS interfaces, the interface stack table



Nadeau et al.               Expires July 2002               [Page 14]

Internet Draft               GMPLS LSR MIB               January 2002



   might appear as follows:
   
   +----------------------------------------+
   | 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,
   Ethernet, etc.


10.1. Support of the MPLS Layer by ifTable
   
   Some specific interpretations of ifTable for the MPLS
   layer follow.
   
   Object        Use for the MPLS layerObject
   
   ifIndex       Each MPLS interface is represented by an
                 ifEntry.
   
   ifDescr       Description of the MPLS interface.
   
   ifType        The value that is allocated for MPLS is
                 166.
   
   ifSpeed       The total bandwidth in bits per second for
                 use by the MPLS layer.
   
   ifPhysAddress Unused.
   
   ifAdminStatus This variable indicates the administrator's
                 intent as to whether MPLS should be
                 enabled, disabled, or running in some
                 diagnostic testing mode on this interface.
                 Also see [RFC2863].
   
   ifOperStatus  This value reflects the actual or
                 operational status of MPLS on this
                 interface.
   
   ifLastChange  See [RFC2863].
   
   ifInOctets    The number of received octets over the
                 interface, i.e., the number of received,
                 octets received as labeled packets.
   



Nadeau et al.               Expires July 2002               [Page 15]

Internet Draft               GMPLS LSR MIB               January 2002



   ifOutOctets   The number of transmitted octets over the
                 interface, i.e., the number of octets
                 transmitted as labeled packets.
   
   ifInErrors    The number of labeled packets dropped due
                 to uncorrectable errors.
   
   ifInUnknownProtosThe 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
                 interface 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
                 interface as specified by a network
                 manager.
   
   ifCounterDiscontinuityTime
                 See [RFC2863].



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



Nadeau et al.               Expires July 2002               [Page 16]

Internet Draft               GMPLS LSR MIB               January 2002



   objects. In this MIB, it is used in gmplsInSegmentTable
   and gmplsOutSegmentTable for the following purposes.
   First, it indicates a particular traffic parameter table.
   An example of such a table is gmplsTrafficParamTable.
   Second, it is used to indicate a specific instance of a
   traffic parameter entry that is associated with a given
   in-segment or out-segment entry. In the in-segment and
   out-segment tables, the trafficParamPtr SHOULD point to
   the first column of the appropriate conceptual row.


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.
   
   Several tables in this document (gmplsInterfaceConfTable,
   gmplsInSegmentTable, gmplsOutSegmentTable,
   gmplsLabelStackTable) 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 (gmplsInterfaceLabelMinIn,
   gmplsInterfaceLabelMaxIn, gmplsInterfaceLabelMinOut,
   gmplsInterfaceLabelMaxOut, gmplsInSegmentLabel,
   gmplsOutSegmentTopLabel, gmplsLabelStackLabel) 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 [LSRMIB],
   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 Label Switching Router MIB Definitions

GMPLS-LSR-MIB DEFINITIONS ::= BEGIN

IMPORTS



Nadeau et al.               Expires July 2002               [Page 17]

Internet Draft               GMPLS LSR MIB               January 2002



   MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
   Integer32, Counter32, Unsigned32, Counter64,
   Gauge32
      FROM SNMPv2-SMI
   MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
      FROM SNMPv2-CONF
   TruthValue, RowStatus, StorageType,
   RowPointer, TimeStamp
      FROM SNMPv2-TC
   InterfaceIndexOrZero
      FROM IF-MIB
   AddressFamilyNumbers
      FROM IANA-ADDRESS-FAMILY-NUMBERS-MIB
   InetAddressIPv4, InetAddressIPv6, InetAddressType
      FROM INET-ADDRESS-MIB
   MplsLSPID, MplsBitRate, MplsBurstSize,
   MplsInitialCreationSource
      FROM MPLS-TC-MIB
   gmplsMIB, GmplsSegmentDirection, GmplsTrapEnable
      FROM GMPLS-TC-MIB
   InetAddressIPv4, InetAddressIPv6
      FROM INET-ADDRESS-MIB
   ;

gmplsLsrMIB MODULE-IDENTITY
   LAST-UPDATED
       "200201251200Z"  -- 25 Jan 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



Nadeau et al.               Expires July 2002               [Page 18]

Internet Draft               GMPLS LSR MIB               January 2002



        Email: afarrel@movaz.com
       
               Edward Harrison
       Postal: Data Connection Ltd.
               100 Church Street
               Enfield, Middlesex
               EN2 6BQ, United Kingdom
          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 contains managed object
        definitions for the Generalized
        Multiprotocol Label Switching (GMPLS)
        Router."
   -- Revision history.
   REVISION
       "200111111100Z"  -- 11 Nov 2001 11:00:00 GMT
   DESCRIPTION
       "Initial draft version."
   REVISION
       "200201251200Z"  -- 25 Jan 2002 12:00:00 GMT
   DESCRIPTION
       "Revision for compilation and work in
        progress."
   ::= { gmplsMIB 2 }

-- Tables, Scalars
gmplsLsrObjects
   OBJECT IDENTIFIER ::= { gmplsLsrMIB 1 }

-- Notifications
gmplsLsrNotifications
   OBJECT IDENTIFIER ::= { gmplsLsrMIB 2 }

gmplsLsrNotifyPrefix
   OBJECT IDENTIFIER ::= { gmplsLsrNotifications 0 }

-- Conformance
gmplsLsrConformance



Nadeau et al.               Expires July 2002               [Page 19]

Internet Draft               GMPLS LSR MIB               January 2002



   OBJECT IDENTIFIER ::= { gmplsLsrMIB 3 }


-- GMPLS Interface Configuration Table.

gmplsInterfaceConfTable  OBJECT-TYPE
   SYNTAX        SEQUENCE OF GmplsInterfaceConfEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "This table specifies per-interface MPLS
        capability and associated information."
   ::= { gmplsLsrObjects 1 }

gmplsInterfaceConfEntry OBJECT-TYPE
   SYNTAX        GmplsInterfaceConfEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "An entry in this table is created by an LSR
        for every interface capable of supporting
        MPLS. Each entry in this table will exist
        only if a corresponding entry in ifTable
        exists. If the associated entry in ifTable
        is deleted, the corresponding entry in this
        table must also be deleted shortly
        thereafter. The entry with index 0
        represents the per-platform label space and
        contains parameters that apply to all
        interfaces that participate in the per-
        platform label space. Other entries defined
        in this table represent additional MPLS
        interfaces that may participate in either
        the per-platform or per-interface label
        spaces, or both.  Additional information
        about label space participation of an
        interface is provided in the description
        clause of
        mplsInterfaceLabelParticipationType."
   INDEX { gmplsInterfaceConfIndex }
   ::= { gmplsInterfaceConfTable 1 }

GmplsInterfaceConfEntry ::= SEQUENCE {
     gmplsInterfaceConfIndex              InterfaceIndexOrZero,
     gmplsInterfaceLabelMinIn             Unsigned32,
     gmplsInterfaceLabelMaxIn             Unsigned32,
     gmplsInterfaceLabelMinOut            Unsigned32,
     gmplsInterfaceLabelMaxOut            Unsigned32,
     gmplsInterfaceTotalBandwidth         MplsBitRate,



Nadeau et al.               Expires July 2002               [Page 20]

Internet Draft               GMPLS LSR MIB               January 2002



     gmplsInterfaceAvailableBandwidth     MplsBitRate,
     gmplsInterfaceLabelParticipationType BITS,
     gmplsInterfaceConfSignalingCaps      BITS
   }

gmplsInterfaceConfIndex OBJECT-TYPE
   SYNTAX        InterfaceIndexOrZero
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "This is a unique index for an entry in the
        gmplsInterfaceConfTable.  A non-zero index
        for an entry indicates the ifIndex for the
        corresponding interface entry in of the
        MPLS-layer in the ifTable. Note that the
        per-platform label space may apply to
        several interfaces, and therefore the
        configuration of the per-platform label
        space interface parameters will apply to
        all of the interfaces that are
        participating in the per-platform label
        space."
   REFERENCE
       "RFC 2863 - The Interfaces Group MIB,
        McCloghrie, K., and F. Kastenholtz, June
        2000"
   ::= { gmplsInterfaceConfEntry 1 }

gmplsInterfaceLabelMinIn OBJECT-TYPE
   SYNTAX        Unsigned32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This is the minimum value of an MPLS label
        that this LSR is willing to receive on this
        interface.  This object contains the index
        into the gmplsLabelTable of the entry that
        contains the label value to apply.  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."
   ::= { gmplsInterfaceConfEntry 2 }

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



Nadeau et al.               Expires July 2002               [Page 21]

Internet Draft               GMPLS LSR MIB               January 2002



       "This is the maximum value of an MPLS label
        that this LSR is willing to receive on this
        interface.  This object contains the index
        into the gmplsLabelTable of the entry that
        contains the label value to apply.  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."
   ::= { gmplsInterfaceConfEntry 3 }

gmplsInterfaceLabelMinOut OBJECT-TYPE
   SYNTAX        Unsigned32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This is the minimum value of an MPLS label
        that this LSR is willing to send on this
        interface.  This object contains the index
        into the gmplsLabelTable of the entry that
        contains the label value to apply.  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."
   ::= { gmplsInterfaceConfEntry 4 }

gmplsInterfaceLabelMaxOut OBJECT-TYPE
   SYNTAX        Unsigned32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This is the maximum value of an MPLS label
        that this LSR is willing to send on this
        interface.  This object contains the index
        into the gmplsLabelTable of the entry that
        contains the label value to apply.  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."
   ::= { gmplsInterfaceConfEntry 5 }

gmplsInterfaceTotalBandwidth        OBJECT-TYPE
   SYNTAX        MplsBitRate
   MAX-ACCESS    read-only
   STATUS        current



Nadeau et al.               Expires July 2002               [Page 22]

Internet Draft               GMPLS LSR MIB               January 2002



   DESCRIPTION
       "This value indicates the total amount of
        usable bandwidth on this interface and is
        specified in kilobits per second (Kbps).
        This variable is not applicable when
        applied to the interface with index 0.
        When this value cannot be measured, this
        value should contain the nominal
        bandwidth."
   ::= { gmplsInterfaceConfEntry 6 }

gmplsInterfaceAvailableBandwidth       OBJECT-TYPE
   SYNTAX        MplsBitRate
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This value indicates the total amount of
        available bandwidth available on this
        interface and is specified in kilobits per
        second (Kbps).  This value is calculated as
        the difference between the amount of
        bandwidth currently in use and that
        specified in gmplsInterfaceTotalBandwidth.
        This variable is not applicable when
        applied to the interface with index 0.
        When this value cannot be measured, this
        value should contain the nominal
        bandwidth."
   ::= { gmplsInterfaceConfEntry 7 }

gmplsInterfaceLabelParticipationType OBJECT-TYPE
   SYNTAX  BITS {
      perPlatform (0),
      perInterface (1)
   }
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "Either the perPlatform(0) or
        perInterface(1) bit MUST be set. If the
        value of the gmplsInterfaceConfIndex for
        this entry is zero, then only the
        perPlatform(0) bit MUST be set and the
        perInterface(1) bit is meaningless. If the
        perInterface(1) bit is set then the value
        of gmplsInterfaceLabelMinIn,
        gmplsInterfaceLabelMaxIn,
        gmplsInterfaceLabelMinOut, and
        gmplsInterfaceLabelMaxOut for this entry
        reflect the label ranges for this



Nadeau et al.               Expires July 2002               [Page 23]

Internet Draft               GMPLS LSR MIB               January 2002



        interface.  If only the perPlatform(0) bit
        is set, then the value of
        gmplsInterfaceLabelMinIn,
        gmplsInterfaceLabelMaxIn,
        gmplsInterfaceLabelMinOut, and
        gmplsInterfaceLabelMaxOut for this entry
        must be identical to the instance of these
        objects with index 0."
   REFERENCE
       "Multiprotocol Label Switching, Rosen et al,
        RFC 3031, January 2001."
   ::= { gmplsInterfaceConfEntry 8 }

gmplsInterfaceConfSignalingCaps  OBJECT-TYPE
   SYNTAX       BITS {
      rsvpMpls (0),
      crldpMpls (1),
      ldpMpls (2),
      otherMpls (3),
      rsvpGmpls (4),
      crldpGmpls (5),
      otherGmpls (6)
   }
   MAX-ACCESS   read-create
   STATUS       current
   DESCRIPTION
       "Defines the signaling capabilities on this
        interface.  Multiple bits may legitimately
        be set at once.  Setting no bits implies
        that signaling cannot be performed on this
        interface and all LSPs must be manually
        provisioned."
   ::= { gmplsInterfaceConfEntry 9 }

-- End of gmplsInterfaceConfTable


-- MPLS Interface Performance Table.
gmplsInterfacePerfTable  OBJECT-TYPE
   SYNTAX        SEQUENCE OF GmplsInterfacePerfEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "This table provides MPLS performance
        information on a per-interface basis."
   ::= { gmplsLsrObjects 2 }

gmplsInterfacePerfEntry OBJECT-TYPE
   SYNTAX        GmplsInterfacePerfEntry
   MAX-ACCESS    not-accessible



Nadeau et al.               Expires July 2002               [Page 24]

Internet Draft               GMPLS LSR MIB               January 2002



   STATUS        current
   DESCRIPTION
       "An entry in this table is created by the
        LSR for every interface capable of
        supporting MPLS.  Its is an extension to
        the gmplsInterfaceConfEntry table."
   AUGMENTS      { gmplsInterfaceConfEntry }
   ::= { gmplsInterfacePerfTable 1 }

GmplsInterfacePerfEntry ::= SEQUENCE {
      -- incoming direction
      gmplsInterfaceInLabelsUsed          Gauge32,
      gmplsInterfaceFailedLabelLookup     Counter32,
      -- outgoing direction
      gmplsInterfaceOutLabelsUsed         Gauge32,
      gmplsInterfaceOutFragments          Counter32
   }

gmplsInterfaceInLabelsUsed OBJECT-TYPE
   SYNTAX        Gauge32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of labels
        that are in use at this point in time on
        this interface in the incoming direction.
        If the interface participates in the per-
        platform label space only, then this
        instance of this object MUST be identical
        with the instance with index 0. If the
        interface participates in the per-interface
        label space, then this this instance of
        this object MUST represent the number of
        per-interface labels that are in use at
        this point in time on this interface."
   ::= { gmplsInterfacePerfEntry 1 }

gmplsInterfaceFailedLabelLookup OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of labeled
        packets that have been received on this
        interface and were discarded because there
        was no matching cross-connect entry. This
        object MUST count on a per-interface basis
        regardless of which label space the
        interface participates in."
   ::= { gmplsInterfacePerfEntry 2 }



Nadeau et al.               Expires July 2002               [Page 25]

Internet Draft               GMPLS LSR MIB               January 2002




gmplsInterfaceOutLabelsUsed OBJECT-TYPE
   SYNTAX        Gauge32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of top-most
        labels in the outgoing label stacks that
        are in use at this point in time on this
        interface. This object MUST count on a per-
        interface basis regardless of which label
        space the interface participates in."
   ::= { gmplsInterfacePerfEntry 3 }

gmplsInterfaceOutFragments OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object counts the number of outgoing
        MPLS packets that required fragmentation
        before transmission on this interface. This
        object transmission on this interface. This
        object MUST count on a per-interface basis
        regardless of which label space the
        interface participates in."
   ::= { gmplsInterfacePerfEntry 4 }

-- In-segment table.

gmplsInSegmentIndexNext OBJECT-TYPE
   SYNTAX        Unsigned32 (0..4294967295)
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object contains the next appropriate
        value to be used for gmplsInSegmentIndex
        when creating entries in the
        gmplsInSegmentTable.  If the number of
        unassigned entries is exhausted, this
        object will take on the value of 0.  To
        obtain the gmplsInSegmentIndex 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



Nadeau et al.               Expires July 2002               [Page 26]

Internet Draft               GMPLS LSR MIB               January 2002



        value will be made available for reuse."
    ::= { gmplsLsrObjects 3 }

gmplsInSegmentTable  OBJECT-TYPE
   SYNTAX        SEQUENCE OF GmplsInSegmentEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "This table contains a collection of
        incoming segments to an LSR."
   ::= { gmplsLsrObjects 4 }

gmplsInSegmentEntry  OBJECT-TYPE
   SYNTAX        GmplsInSegmentEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "An entry in this table represents one
        incoming segment.  An entry can be created
        by a network administrator or an SNMP
        agent, or an MPLS signaling protocol.  The
        creator of the entry is denoted by
        gmplsInSegmentOwner.  The value of
        gmplsInSegmentRowStatus cannot be
        active(1)unless the ifTable entry
        corresponding to gmplsInSegmentIfIndex
        exists."
   INDEX { gmplsInSegmentIndex }
   ::= { gmplsInSegmentTable 1 }

GmplsInSegmentEntry ::= SEQUENCE {
     gmplsInSegmentIndex           Unsigned32,
     gmplsInSegmentIfIndex         InterfaceIndexOrZero,
     gmplsInSegmentLabel           Unsigned32,
     gmplsInSegmentNPop            Integer32,
     gmplsInSegmentAddrFamily      AddressFamilyNumbers,
     gmplsInSegmentXCIndex         Unsigned32,
     gmplsInSegmentOwner           MplsInitialCreationSource,
     gmplsInSegmentTrafficParamPtr RowPointer,
     gmplsInSegmentRowStatus       RowStatus,
     gmplsInSegmentStorageType     StorageType,
     gmplsInSegmentDirection       GmplsSegmentDirection
   }

gmplsInSegmentIndex OBJECT-TYPE
   SYNTAX        Unsigned32 (0..4294967295)
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION



Nadeau et al.               Expires July 2002               [Page 27]

Internet Draft               GMPLS LSR MIB               January 2002



       "This value contains a unique index for this
        row.  While a value of 0 is not valid as an
        index for this row it can be supplied as a
        valid value to index gmplsXCTable to access
        entries for which no in-segment has been
        configured."
   ::= { gmplsInSegmentEntry 1 }

gmplsInSegmentIfIndex OBJECT-TYPE
   SYNTAX        InterfaceIndexOrZero
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "This is a unique index for an entry in the
        gmplsInSegmentTable.  This value represents
        the interface index for the incoming MPLS
        interface.  A value of zero represents an
        incoming label from the per-platform label
        space."
   ::= { gmplsInSegmentEntry 2 }

gmplsInSegmentLabel OBJECT-TYPE
   SYNTAX        Unsigned32
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "The incoming label for this segment.  This
        object contains the index into the
        gmplsLabelTable of the entry that contains
        the label value to apply.  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."
   ::= { gmplsInSegmentEntry 3 }

gmplsInSegmentNPop OBJECT-TYPE
   SYNTAX        Integer32 (1..2147483647)
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "The number of labels to pop from the
        incoming data.  Note that technologies
        which do not support examining label stacks
        and multi-label popping should set this
        value to its default value of 1. Note
        further that in some GMPLS technologies
        labels are not pushed and popped at each
        LSR, but where LSRs handle LSP hierarchies



Nadeau et al.               Expires July 2002               [Page 28]

Internet Draft               GMPLS LSR MIB               January 2002



        this function is used.  This object cannot
        be modified if gmplsInSegmentRowStatus is
        active(1)."
   DEFVAL        { 1 }
   ::= { gmplsInSegmentEntry 4 }

gmplsInSegmentAddrFamily OBJECT-TYPE
   SYNTAX        AddressFamilyNumbers
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "The IANA address family [IANAFamily] of the
        incoming packet.  A value of other(0)
        indicates that the family type is either
        unknown or undefined.  This object cannot
        be modified if gmplsInSegmentRowStatus is
        active(1)."
   DEFVAL        { other }
   ::= { gmplsInSegmentEntry 5 }

gmplsInSegmentXCIndex OBJECT-TYPE
   SYNTAX        Unsigned32 (0..4294967295)
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "Index into gmplsXCTable which identifies
        which cross-connect entry this segment is
        part of.  A value of zero indicates that
        this entry is not referred to by any cross-
        connect entry.  When a cross-connect entry
        is created which this in-segment is a part
        of, this object is automatically updated to
        reflect the value of gmplsXCIndex of that
        cross-connect entry."
   DEFVAL        { 0 }
   ::= { gmplsInSegmentEntry 6 }

gmplsInSegmentOwner OBJECT-TYPE
   SYNTAX        MplsInitialCreationSource
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "Denotes the entity that created and is
        responsible for managing this segment.
        This object cannot be modified if
        gmplsInSegmentRowStatus is active(1)."
   DEFVAL        { unknown }
   ::= { gmplsInSegmentEntry 7 }

gmplsInSegmentTrafficParamPtr OBJECT-TYPE



Nadeau et al.               Expires July 2002               [Page 29]

Internet Draft               GMPLS LSR MIB               January 2002



   SYNTAX            RowPointer
   MAX-ACCESS        read-create
   STATUS            current
   DESCRIPTION
       "This variable represents a pointer to the
        traffic parameter specification for this in-
        segment.  This value may point at an entry
        in the gmplsTrafficParamTable to indicate
        which gmplsTrafficParamEntry is to be
        assigned to this segment.  This value may
        optionally point at an externally defined
        traffic parameter specification table.  A
        value of zero-dot-zero indicates best-
        effort treatment.  By having the same value
        of this object, two or more segments can
        indicate resource sharing.  This object
        cannot be modified if
        gmplsInSegmentRowStatus is active(1)."
   ::= { gmplsInSegmentEntry 8 }

gmplsInSegmentRowStatus 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.  This
        object cannot be modified if
        gmplsInSegmentRowStatus is active(1). If
        this variable is set to readOnly(5), and
        the corresponding TFIB entry is removed,
        then the agent must remove this row shortly
        thereafter."
   ::= { gmplsInSegmentEntry 9 }

gmplsInSegmentStorageType 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."
   ::= { gmplsInSegmentEntry 10 }

gmplsInSegmentDirection OBJECT-TYPE
   SYNTAX        GmplsSegmentDirection
   MAX-ACCESS    read-create
   STATUS        current



Nadeau et al.               Expires July 2002               [Page 30]

Internet Draft               GMPLS LSR MIB               January 2002



   DESCRIPTION
       "This variable indicates the direction of
        data flow on this segment."
   DEFVAL        { forward }
   ::= { gmplsInSegmentEntry 11 }

-- End of gmplsInSegmentTable

-- In-segment performance table.

gmplsInSegmentPerfTable  OBJECT-TYPE
   SYNTAX        SEQUENCE OF GmplsInSegmentPerfEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "This table contains statistical information
        for incoming MPLS segments to an LSR."
   ::= { gmplsLsrObjects 5 }

gmplsInSegmentPerfEntry  OBJECT-TYPE
   SYNTAX        GmplsInSegmentPerfEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "An entry in this table contains statistical
        information about one incoming segment
        which was configured in the
        gmplsInSegmentTable. The counters in this
        entry should behave in a manner similar to
        that of the interface."
   AUGMENTS      { gmplsInSegmentEntry }
   ::= { gmplsInSegmentPerfTable 1 }

GmplsInSegmentPerfEntry ::= SEQUENCE {
      gmplsInSegmentOctets                 Counter32,
      gmplsInSegmentPackets                Counter32,
      gmplsInSegmentErrors                 Counter32,
      gmplsInSegmentDiscards               Counter32,
      
      -- high capacity counter
      gmplsInSegmentHCOctets               Counter64,
      
      gmplsInSegmentPerfDiscontinuityTime  TimeStamp
   }

gmplsInSegmentOctets OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION



Nadeau et al.               Expires July 2002               [Page 31]

Internet Draft               GMPLS LSR MIB               January 2002



       "This value represents the total number of
        octets received by this segment."
   ::= { gmplsInSegmentPerfEntry 1 }

gmplsInSegmentPackets OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "Total number of packets received by this
        segment."
   ::= { gmplsInSegmentPerfEntry 2 }

gmplsInSegmentErrors OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "The number of errored packets received on
        this segment."
   ::= { gmplsInSegmentPerfEntry 3 }

gmplsInSegmentDiscards OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "The number of labeled packets received on
        this in-segment, which were chosen to be
        discarded even though no errors had been
        detected to prevent their being
        transmitted.  One possible reason for
        discarding such a labeled packet could be
        to free up buffer space."
   ::= { gmplsInSegmentPerfEntry 4 }

gmplsInSegmentHCOctets OBJECT-TYPE
   SYNTAX        Counter64
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "The total number of octets received.  This
        is the 64 bit version of
        gmplsInSegmentOctets."
   ::= { gmplsInSegmentPerfEntry 5 }

gmplsInSegmentPerfDiscontinuityTime OBJECT-TYPE
   SYNTAX      TimeStamp
   MAX-ACCESS  read-only
   STATUS      current



Nadeau et al.               Expires July 2002               [Page 32]

Internet Draft               GMPLS LSR MIB               January 2002



   DESCRIPTION
       "The value of sysUpTime on the most recent
        occasion at which any one or more of this
        segment's Counter32 or Counter64 suffered a
        discontinuity. If no such discontinuities
        have occurred since the last re-
        initialization of the local management
        subsystem, then this object contains a zero
        value."
   ::= { gmplsInSegmentPerfEntry 6 }

-- End of gmplsInSegmentPerfTable.


-- Out-segment table.

gmplsOutSegmentIndexNext OBJECT-TYPE
   SYNTAX        Unsigned32 (0..4294967295)
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object contains the next appropriate
        value to be used for gmplsOutSegmentIndex
        when creating entries in the
        gmplsOutSegmentTable.  If the number of
        unassigned entries is exhausted, this
        object will take on the value of 0.  To
        obtain the gmplsOutSegmentIndex 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."
   ::= { gmplsLsrObjects 6 }

gmplsOutSegmentTable  OBJECT-TYPE
   SYNTAX        SEQUENCE OF GmplsOutSegmentEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "This table contains a representation of the
        outgoing segments from an LSR."
   ::= { gmplsLsrObjects 7 }

gmplsOutSegmentEntry  OBJECT-TYPE
   SYNTAX        GmplsOutSegmentEntry



Nadeau et al.               Expires July 2002               [Page 33]

Internet Draft               GMPLS LSR MIB               January 2002



   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "An entry in this table represents one
        outgoing segment.  An entry can be created
        by a network administrator or an SNMP
        agent, or an MPLS signaling protocol.  The
        object gmplsOutSegmentOwner indicates the
        creator of this entry.  The value of
        gmplsOutSegmentRowStatus cannot be
        active(1) unless the ifTable entry
        corresponding to gmplsOutSegmentIfIndex
        exists."
   INDEX         { gmplsOutSegmentIndex }
   ::= { gmplsOutSegmentTable 1 }

GmplsOutSegmentEntry ::= SEQUENCE {
      gmplsOutSegmentIndex             Unsigned32,
      gmplsOutSegmentIfIndex
      InterfaceIndexOrZero,
      gmplsOutSegmentPushTopLabel      TruthValue,
      gmplsOutSegmentTopLabel          Unsigned32,
      gmplsOutSegmentNextHopIpAddrType InetAddressType,
      gmplsOutSegmentNextHopIpv4Addr   InetAddressIPv4,
      gmplsOutSegmentNextHopIpv6Addr   InetAddressIPv6,
      gmplsOutSegmentXCIndex           Unsigned32,
      gmplsOutSegmentOwner             MplsInitialCreationSource,
      gmplsOutSegmentTrafficParamPtr   RowPointer,
      gmplsOutSegmentRowStatus         RowStatus,
      gmplsOutSegmentStorageType       StorageType,
      gmplsOutSegmentDirection         GmplsSegmentDirection,
      gmplsOutSegmentTTLDecrement      Unsigned32
   }

gmplsOutSegmentIndex OBJECT-TYPE
   SYNTAX        Unsigned32 (0..4294967295)
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "This value contains a unique index for this
        row.  While a value of 0 is not valid as an
        index for this row it can be supplied as a
        valid value to index gmplsXCTable to access
        entries for which no out-segment has been
        configured."
   ::= { gmplsOutSegmentEntry 1 }

gmplsOutSegmentIfIndex OBJECT-TYPE
   SYNTAX        InterfaceIndexOrZero



Nadeau et al.               Expires July 2002               [Page 34]

Internet Draft               GMPLS LSR MIB               January 2002



   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "This value must contain the interface index
        of the outgoing interface. This object may
        only take the value of 0 during the create-
        and-wait row creation operation if the
        management station has not yet set the
        value of this object. This object cannot be
        modified if gmplsOutSegmentRowStatus is
        active(1).  The gmplsOutSegmentRowStatus
        cannot be set to active(1) until this
        object is set to a value corresponding to a
        valid ifEntry."
   DEFVAL        { 0 }
   ::= { gmplsOutSegmentEntry 2 }

gmplsOutSegmentPushTopLabel OBJECT-TYPE
   SYNTAX        TruthValue
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "This value indicates whether or not a top
        label should be pushed onto the outgoing
        label stack.  The value of this variable
        MUST be set to true if the outgoing
        interface does not support pop-and-go (for
        example an ATM interface) or if it is a
        tunnel origination.  Note that it is
        considered an error in the case that
        gmplsOutSegmentPushTopLabel is set to
        false, but the cross-connect entry which
        refers to this out-segment has a non-zero
        gmplsLabelStackIndex.  The LSR MUST ensure
        that this situation does not happen.  Note
        that in many GMPLS technologies labels are
        not popped and pushed at each LSR, but are
        passed through.  This pass-through approach
        is equivalent to pop and push.
        This object cannot be modified if
        gmplsOutSegmentRowStatus is active(1)."
   ::= { gmplsOutSegmentEntry 3 }

gmplsOutSegmentTopLabel OBJECT-TYPE
   SYNTAX        Unsigned32
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "If gmplsOutSegmentPushTopLabel is true then
        this represents the label that should be



Nadeau et al.               Expires July 2002               [Page 35]

Internet Draft               GMPLS LSR MIB               January 2002



        pushed onto the top of the outgoing
        packet's label stack.  This object contains
        the index into the gmplsLabelTable of the
        entry that contains the label value to
        apply.  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.  If no
        label is to be pushed this value SHOULD be
        set to 0 by the management station and MUST
        be ignored by the agent. This object cannot
        be modified if gmplsOutSegmentRowStatus is
        active(1)."
   DEFVAL        { 0 }
   ::= { gmplsOutSegmentEntry 4 }

gmplsOutSegmentNextHopIpAddrType OBJECT-TYPE
   SYNTAX        InetAddressType
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "Indicates whether the next hop address is
        IPv4 or IPv6.  Note that a value of unknown
        (0) is valid only when the outgoing
        interface is of type point-to-point.  This
        object cannot be modified if
        gmplsOutSegmentRowStatus is active(1)."
   DEFVAL        { unknown }
   ::= { gmplsOutSegmentEntry 5 }

gmplsOutSegmentNextHopIpv4Addr OBJECT-TYPE
   SYNTAX        InetAddressIPv4
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "IPv4 Address of the next hop.  Its value is
        significant only when
        gmplsOutSegmentNextHopIpAddrType is ipV4
        (1), otherwise it SHOULD return a value of
        0.  This object cannot be modified if
        gmplsOutSegmentRowStatus is active(1)."
   ::= { gmplsOutSegmentEntry 6 }

gmplsOutSegmentNextHopIpv6Addr OBJECT-TYPE
   SYNTAX        InetAddressIPv6
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "IPv6 address of the next hop.  Its value is



Nadeau et al.               Expires July 2002               [Page 36]

Internet Draft               GMPLS LSR MIB               January 2002



        significant only when
        gmplsOutSegmentNextHopIpAddrType is ipV6
        (2), otherwise it SHOULD return a value of
        0.  This object cannot be modified if
        gmplsOutSegmentRowStatus is active(1)."
   ::= { gmplsOutSegmentEntry 7 }

gmplsOutSegmentXCIndex OBJECT-TYPE
   SYNTAX        Unsigned32 (0..4294967295)
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "Index into gmplsXCTable which identifies
        which cross-connect entry this segment is
        part of.  A value of zero indicates that
        this entry is not referred to by any cross-
        connect entry.  When a cross-connect entry
        is created which this out-segment is a part
        of, this object is automatically updated to
        reflect the value of gmplsXCIndex of that
        cross-connect entry."
   DEFVAL        { 0 }
   ::= { gmplsOutSegmentEntry 8 }

gmplsOutSegmentOwner OBJECT-TYPE
   SYNTAX        MplsInitialCreationSource
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "Denotes the entity which created and is
        responsible for managing this segment.
        This object cannot be modified if
        gmplsOutSegmentRowStatus is active(1)."
   DEFVAL { unknown }
   ::= { gmplsOutSegmentEntry 9 }

gmplsOutSegmentTrafficParamPtr OBJECT-TYPE
   SYNTAX        RowPointer
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "This variable represents a pointer to the
        traffic parameter specification for this
        out-segment.  This value may point at an
        entry in the gmplsTrafficParamTable to
        indicate which gmplsTrafficParamEntry is to
        be assigned to this segment.  This value
        may optionally point at an externally
        defined traffic parameter specification
        table.  A value of zero-dot-zero indicates



Nadeau et al.               Expires July 2002               [Page 37]

Internet Draft               GMPLS LSR MIB               January 2002



        best-effort treatment.  By having the same
        value of this object, two or more segments
        can indicate resource sharing.  This object
        cannot be modified if
        gmplsOutSegmentRowStatus is active(1)."
   ::= { gmplsOutSegmentEntry 10 }

gmplsOutSegmentRowStatus OBJECT-TYPE
   SYNTAX        RowStatus
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "For creating, modifying, and deleting this
        row."
   ::= { gmplsOutSegmentEntry 11 }

gmplsOutSegmentStorageType 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.  This object cannot be modified if
        gmplsOutSegmentRowStatus is active(1). If
        this variable is set to readOnly(5), and
        the corresponding TFIB entry is removed,
        then the agent must remove this row shortly
        thereafter."
   ::= { gmplsOutSegmentEntry 12 }

gmplsOutSegmentDirection OBJECT-TYPE
   SYNTAX        GmplsSegmentDirection
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "This variable indicates the direction of
        data flow on this segment.  This object
        cannot be modified if
        gmplsOutSegmentRowStatus is active(1)."
   DEFVAL        { forward }
   ::= { gmplsOutSegmentEntry 13 }

gmplsOutSegmentTTLDecrement OBJECT-TYPE
   SYNTAX        Unsigned32 (0..255)
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
   "This variable indicates the amount by which



Nadeau et al.               Expires July 2002               [Page 38]

Internet Draft               GMPLS LSR MIB               January 2002



   to decrement the TTL of any payload packets
   forwarded on this segment if per-hop
   decrementing is being done.
   A value of zero indicates that no decrement
   should be made or that per-hop decrementing
   is not in force.
   See the gmplsTunnelTTLDecrement object in
   the gmplsTunnelTable of [GMPLSTEMIB] for a
   value by which to decrement the TTL for the
   whole of a tunnel.
        This object cannot be modified if
        gmplsOutSegmentRowStatus is active(1)."
   DEFVAL        { 0 }
   ::= { gmplsOutSegmentEntry 14 }


-- End of gmplsOutSegmentTable


-- Out-segment performance table.

gmplsOutSegmentPerfTable  OBJECT-TYPE
   SYNTAX        SEQUENCE OF GmplsOutSegmentPerfEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "This table contains statistical information
        about outgoing segments from an LSR. The
        counters in this entry should behave in a
        manner similar to that of the interface."
   ::= { gmplsLsrObjects 8 }

gmplsOutSegmentPerfEntry  OBJECT-TYPE
   SYNTAX        GmplsOutSegmentPerfEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "An entry in this table contains statistical
        information about one outgoing segment
        configured in gmplsOutSegmentTable."
   AUGMENTS      { gmplsOutSegmentEntry }
   ::= { gmplsOutSegmentPerfTable 1 }

GmplsOutSegmentPerfEntry ::= SEQUENCE {
      gmplsOutSegmentOctets                Counter32,
      gmplsOutSegmentPackets               Counter32,
      gmplsOutSegmentErrors                Counter32,
      gmplsOutSegmentDiscards              Counter32,
      
      -- HC counter



Nadeau et al.               Expires July 2002               [Page 39]

Internet Draft               GMPLS LSR MIB               January 2002



      gmplsOutSegmentHCOctets              Counter64,
      
      gmplsOutSegmentPerfDiscontinuityTime  TimeStamp
   }

gmplsOutSegmentOctets OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This value contains the total number of
        octets sent on this segment."
   ::= { gmplsOutSegmentPerfEntry 1 }

gmplsOutSegmentPackets OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This value contains the total number of
        packets sent on this segment."
   ::= { gmplsOutSegmentPerfEntry 2 }

gmplsOutSegmentErrors OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "Number of packets that could not be sent
        due to errors on this segment."
   ::= { gmplsOutSegmentPerfEntry 3 }

gmplsOutSegmentDiscards OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "The number of labeled packets received on
        this out-segment, which were chosen to be
        discarded even though no errors had been
        detected to prevent their being
        transmitted.  One possible reason for
        discarding such a labeled packet could be
        to free up buffer space."
   ::= { gmplsOutSegmentPerfEntry 4 }

gmplsOutSegmentHCOctets OBJECT-TYPE
   SYNTAX        Counter64
   MAX-ACCESS    read-only
   STATUS        current



Nadeau et al.               Expires July 2002               [Page 40]

Internet Draft               GMPLS LSR MIB               January 2002



   DESCRIPTION
       "Total number of octets sent.  This is the
        64 bit version of gmplsOutSegmentOctets."
   ::= { gmplsOutSegmentPerfEntry 5 }

gmplsOutSegmentPerfDiscontinuityTime OBJECT-TYPE
   SYNTAX      TimeStamp
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
       "The value of sysUpTime on the most recent
        occasion at which any one or more of this
        segment's Counter32 or Counter64 suffered a
        discontinuity. If no such discontinuities
        have occurred since the last re-
        initialization of the local management
        subsystem, then this object contains a zero
        value."
   ::= { gmplsOutSegmentPerfEntry 6 }


-- End of gmplsOutSegmentPerfTable.

-- Cross-connect table.

gmplsXCIndexNext OBJECT-TYPE
   SYNTAX        Unsigned32 (0..4294967295)
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object contains an appropriate value
        to be used for gmplsXCIndex when creating
        entries in the gmplsXCTable.  The value 0
        indicates that no unassigned entries are
        available.  To obtain the value of
        gmplsXCIndex for a new entry in the
        gmplsXCTable, the manager issues a
        management protocol retrieval operation to
        obtain the current value of gmplsXCIndex.
        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."
   ::= { gmplsLsrObjects 9 }

gmplsXCTable  OBJECT-TYPE
   SYNTAX        SEQUENCE OF GmplsXCEntry
   MAX-ACCESS    not-accessible



Nadeau et al.               Expires July 2002               [Page 41]

Internet Draft               GMPLS LSR MIB               January 2002



   STATUS        current
   DESCRIPTION
       "This table specifies information for
        switching between LSP segments.  It
        supports point-to-point, point-to-
        multipoint and multipoint-to-point
        connections.  gmplsLabelStackTable
        specifies the label stack information for a
        cross-connect LSR and is referred to from
        gmplsXCTable."
   ::= { gmplsLsrObjects 10 }

gmplsXCEntry  OBJECT-TYPE
   SYNTAX        GmplsXCEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "A row in this table represents one cross-
        connect entry.  The following objects index
        it:
       
       -  cross-connect index gmplsXCIndex that uniquelyidentifies
          a group of cross-connect entries
-  - in-segment index, gmplsInSegmentIndex
-  - out-segment index, gmplsOutSegmentIndex
       
       Originating LSPs:
       These are represented by using the special
       value gmplsInSegmentIndex=0In this case the
       gmplsOutSegmentIndex MUST be non-zero.
       
       Terminating LSPs:
       These are represented by using the special
       value gmplsOutSegmentIndex=0 as index.  In
       this case the  gmplsInSegmentIndex MUST be
       non-zero.
       
       Bidirectional LSPs:
       These are represented in the normal way.
       Objects within the component links indicate
       the direction of data flow on those links.
       
       Special labels:
       Entries indexed by reserved MPLS label
       values 0 through 15 imply terminating LSPs
       and MUST have gmplsOutSegmentIfIndex = 0.
       Note that situations where LSPs are
       terminated with incoming label equal to 0,
       should have gmplsInSegmentIfIndex = 0 as
       well, but can be distinguished from



Nadeau et al.               Expires July 2002               [Page 42]

Internet Draft               GMPLS LSR MIB               January 2002



       originating LSPs because the
       gmplsOutSegmentIfIndex = 0.  The
       gmplsOutSegmentIfIndex MUST only be set to
       0 in cases of terminating LSPs.
       
       An entry can be created by a network
       administrator by an SNMP agent as
       instructed by an MPLS signaling protocol."
   INDEX  { gmplsXCIndex,
          gmplsInSegmentIndex,
          gmplsOutSegmentIndex }
   ::= { gmplsXCTable 1 }

GmplsXCEntry ::= SEQUENCE {
      gmplsXCIndex           Unsigned32,
      gmplsXCLspId           MplsLSPID,
      gmplsXCLabelStackIndex Unsigned32,
      gmplsXCIsPersistent    TruthValue,
      gmplsXCOwner           MplsInitialCreationSource,
      gmplsXCRowStatus       RowStatus,
      gmplsXCStorageType     StorageType,
      gmplsXCAdminStatus     INTEGER,
      gmplsXCOperStatus      INTEGER
   }

gmplsXCIndex OBJECT-TYPE
   SYNTAX        Unsigned32 (0..4294967295)
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "Primary index for the conceptual row
        identifying a group of cross-connect
        segments."
   ::= { gmplsXCEntry 1 }

gmplsXCLspId OBJECT-TYPE
   SYNTAX        MplsLSPID
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "This value identifies the label switched
        path that this cross-connect entry belongs
        to.  This object cannot be modified if
        mplsXCRowStatus is active(1)."
   ::= { gmplsXCEntry 2 }

gmplsXCLabelStackIndex OBJECT-TYPE
   SYNTAX        Unsigned32 (0..4294967295)
   MAX-ACCESS    read-create
   STATUS        current



Nadeau et al.               Expires July 2002               [Page 43]

Internet Draft               GMPLS LSR MIB               January 2002



   DESCRIPTION
       "Primary index into gmplsLabelStackTable
        identifying a stack of labels to be pushed
        beneath the top label.  Note that the top
        label identified by the out-segment ensures
        that all the components of a multipoint-to-
        point connection have the same outgoing
        label.  A value of 0 indicates that no
        labels are to be stacked beneath the top
        label.  This object cannot be modified if
        mplsXCRowStatus is active(1)."
   ::= { gmplsXCEntry 3 }

gmplsXCIsPersistent OBJECT-TYPE
   SYNTAX        TruthValue
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "Denotes whether or not this cross-connect
        entry and associated in- and out-segments
        should be restored automatically after
        failures.  This value MUST be set to false
        in cases where this cross-connect entry was
        created by a signaling protocol.  This
        object cannot be modified if
        mplsXCRowStatus is active(1)."
   DEFVAL        { false }
   ::= { gmplsXCEntry 4 }

gmplsXCOwner OBJECT-TYPE
   SYNTAX    MplsInitialCreationSource
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "Denotes the entity that created and is
        responsible for managing this cross-
        connect.    This object cannot be modified
        if mplsXCRowStatus is active(1)."
   ::= { gmplsXCEntry 5 }

gmplsXCRowStatus OBJECT-TYPE
   SYNTAX        RowStatus
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "For creating, modifying, and deleting this
        row."
   ::= { gmplsXCEntry 6 }

gmplsXCStorageType OBJECT-TYPE



Nadeau et al.               Expires July 2002               [Page 44]

Internet Draft               GMPLS LSR MIB               January 2002



   SYNTAX        StorageType
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "Defines the storage type for this table
        entry. When set to 'permanent', the entire
        row is to be stored. This object cannot be
        modified if mplsXCRowStatus is active(1).
        If this variable is set to readOnly(5), and
        the corresponding TFIB entry is removed,
        then the agent must remove this row shortly
        thereafter."
   ::= { gmplsXCEntry 7 }

gmplsXCAdminStatus OBJECT-TYPE
   SYNTAX   INTEGER {
      up(1),     -- ready to pass packets
      down(2),
      testing(3) -- in some test mode
   }
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "The desired operational status of this
        segment."
   ::= { gmplsXCEntry 8 }

gmplsXCOperStatus OBJECT-TYPE
   SYNTAX   INTEGER {
      up(1),            -- ready to pass packets
      down(2),
      testing(3),       -- in some test mode
      unknown(4),       -- status cannot be determined
                        -- for some reason.
      dormant(5),
      notPresent(6),    -- some component is missing
      lowerLayerDown(7) -- down due to the state of
                        -- lower layer interfaces
   }
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "The actual operational status of this cross-
        connect."
   ::= { gmplsXCEntry 9 }

-- End of gmplsXCTable


-- Label stack table.



Nadeau et al.               Expires July 2002               [Page 45]

Internet Draft               GMPLS LSR MIB               January 2002



gmplsMaxLabelStackDepth  OBJECT-TYPE
   SYNTAX        Integer32 (1..2147483647)
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "The maximum stack depth supported by this
        LSR."
   ::= { gmplsLsrObjects 11 }

gmplsLabelStackIndexNext  OBJECT-TYPE
   SYNTAX        Unsigned32 (0..4294967295)
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object contains an appropriate value
        to be used for gmplsLabelStackIndex when
        creating entries in the
        gmplsLabelStackTable.  The value 0
        indicates that no unassigned entries are
        available.  To obtain an
        gmplsLabelStackIndex value for a new entry,
        the manager issues a management protocol
        retrieval operation to obtain the current
        value of this object.  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."
   ::= { gmplsLsrObjects 12 }

gmplsLabelStackTable OBJECT-TYPE
   SYNTAX        SEQUENCE OF GmplsLabelStackEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "This table specifies the label stack to be
        pushed onto a packet, beneath the top
        label.  Entries into this table are
        referred to from gmplsXCTable."
   ::= { gmplsLsrObjects 13 }

gmplsLabelStackEntry OBJECT-TYPE
   SYNTAX        GmplsLabelStackEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "An entry in this table represents one label
        which is top label.  An entry can be



Nadeau et al.               Expires July 2002               [Page 46]

Internet Draft               GMPLS LSR MIB               January 2002



        created by a network administrator or by an
        SNMP agent as instructed by an MPLS
        signaling protocol."
   INDEX         { gmplsLabelStackIndex,
   gmplsLabelStackLabelIndex }
   ::= { gmplsLabelStackTable 1 }

GmplsLabelStackEntry ::= SEQUENCE {
      gmplsLabelStackIndex             Unsigned32,
      gmplsLabelStackLabelIndex        Unsigned32,
      gmplsLabelStackLabel             Unsigned32,
      gmplsLabelStackRowStatus         RowStatus,
      gmplsLabelStackStorageType       StorageType
   }

gmplsLabelStackIndex OBJECT-TYPE
   SYNTAX        Unsigned32 (0..4294967295)
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "Primary index for this row identifying a
        stack of labels to be pushed on an outgoing
        packet, beneath the top label."
   ::= { gmplsLabelStackEntry 1 }

gmplsLabelStackLabelIndex OBJECT-TYPE
   SYNTAX        Unsigned32 (0..4294967295)
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "Secondary index for this row identifying
        one label of the stack.  Note that an entry
        with a smaller gmplsLabelStackLabelIndex
        would refer to a label higher up the label
        stack and would be popped at a downstream
        LSR before a label represented by a higher
        gmplsLabelStackLabelIndex at a downstream
   LSR."
   ::= { gmplsLabelStackEntry 2 }

gmplsLabelStackLabel OBJECT-TYPE
   SYNTAX        Unsigned32
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "The label to be pushed.  This object
        contains the index into the gmplsLabelTable
        of the entry that contains the label value
        to apply.  Note that in implementations
        where the label may be  encoded within a 32



Nadeau et al.               Expires July 2002               [Page 47]

Internet Draft               GMPLS LSR MIB               January 2002



        bit integer and where gmplsLabelTable is
        not implemented, this object may directly
        contain the label value to use."
   ::= { gmplsLabelStackEntry 3 }

gmplsLabelStackRowStatus OBJECT-TYPE
   SYNTAX        RowStatus
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "For creating, modifying, and deleting this
        row."
   ::= { gmplsLabelStackEntry 4 }

gmplsLabelStackStorageType OBJECT-TYPE
   SYNTAX        StorageType
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "Defines the storage type for this  table
        entry.  When set to 'permanent', the entire
        row is to be stored.  If this variable is
        set to readOnly(5), and the corresponding
        TFIB entry is removed, then the agent must
        remove this row shortly thereafter."
   ::= { gmplsLabelStackEntry 5 }

-- End of gmplsLabelStackTable

-- Traffic Parameter table.

gmplsTrafficParamIndexNext OBJECT-TYPE
   SYNTAX        Unsigned32 (0..4294967295)
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object contains an appropriate value
        which will be used for
        gmplsTrafficParamIndex when creating
        entries in the gmplsTrafficParamTable.  The
        value 0 indicates that no unassigned
        entries are available.  To obtain the
        gmplsTrafficParamIndex value for a new
        entry, the manager issues a management
        protocol retrieval operation to obtain the
        current value of this object.  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



Nadeau et al.               Expires July 2002               [Page 48]

Internet Draft               GMPLS LSR MIB               January 2002



        through its local policy when this index
        value will be made available for reuse."
   ::= { gmplsLsrObjects 14 }

gmplsTrafficParamTable OBJECT-TYPE
   SYNTAX        SEQUENCE OF GmplsTrafficParamEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "This table specifies the Traffic Parameter
        objects for in and out-segments."
   ::= { gmplsLsrObjects 15 }

gmplsTrafficParamEntry OBJECT-TYPE
   SYNTAX        GmplsTrafficParamEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "An entry in this table represents the
        TrafficParam objects for one or more in or
        out segments.  A single entry can be
        pointed to by multiple segments indicating
        resource sharing."
   INDEX         { gmplsTrafficParamIndex }
   ::= { gmplsTrafficParamTable 1 }

GmplsTrafficParamEntry ::= SEQUENCE {
      gmplsTrafficParamIndex           Unsigned32,
      gmplsTrafficParamMaxRate         MplsBitRate,
      gmplsTrafficParamMeanRate        MplsBitRate,
      gmplsTrafficParamMaxBurstSize    MplsBurstSize,
      gmplsTrafficParamRowStatus       RowStatus,
      gmplsTrafficParamStorageType     StorageType
   }

gmplsTrafficParamIndex OBJECT-TYPE
   SYNTAX        Unsigned32 (0..4294967295)
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "Uniquely identifies this row of the table.
        Note that zero represents an invalid
        index."
   ::= { gmplsTrafficParamEntry 1 }

gmplsTrafficParamMaxRate OBJECT-TYPE
   SYNTAX        MplsBitRate
   UNITS         "kilobits per second"
   MAX-ACCESS    read-create
   STATUS        current



Nadeau et al.               Expires July 2002               [Page 49]

Internet Draft               GMPLS LSR MIB               January 2002



   DESCRIPTION
       "Maximum rate in kilobits/second."
   ::= { gmplsTrafficParamEntry 2 }

gmplsTrafficParamMeanRate OBJECT-TYPE
   SYNTAX        MplsBitRate
   UNITS         "kilobits per second"
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "Mean rate in kilobits/second."
   ::= { gmplsTrafficParamEntry 3 }

gmplsTrafficParamMaxBurstSize OBJECT-TYPE
   SYNTAX        MplsBurstSize
   UNITS         "bytes"
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "Maximum burst size in bytes."
   ::= { gmplsTrafficParamEntry 4 }

gmplsTrafficParamRowStatus OBJECT-TYPE
   SYNTAX        RowStatus
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "For creating, modifying, and deleting this
        row."
   ::= { gmplsTrafficParamEntry 5 }

gmplsTrafficParamStorageType OBJECT-TYPE
   SYNTAX        StorageType
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "The storage type for this table entry. When
        set to 'permanent', the entire row is to be
        stored.  If this variable is set to
        readOnly(5), and the corresponding TFIB
        entry is removed, then the agent must
        remove this row shortly thereafter."
   ::= { gmplsTrafficParamEntry 6 }

-- End of gmplsTrafficParamTable

-- Notification Configuration

gmplsXCTrapEnable OBJECT-TYPE
   SYNTAX        GmplsTrapEnable



Nadeau et al.               Expires July 2002               [Page 50]

Internet Draft               GMPLS LSR MIB               January 2002



   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION
       "This object controls the generation of
        gmplsXCUp and gmplsXCDown 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 XC that has
        changed state.  If set to rangeAllowed (2),
        each notification MAY carry information
        about a contiguous range of XCs that have
        changed state, but note that
        implementations may send multiple
        individual notifications even when
        rangeAllowed is selected."
   DEFVAL { disabled }
   ::= { gmplsLsrObjects 16 }

-- Cross-connect.

gmplsXCUp NOTIFICATION-TYPE
   OBJECTS     {
      gmplsXCOperStatus,  -- start of range
      gmplsXCOperStatus   -- end of range
   }
   STATUS      current
   DESCRIPTION
       "This notification is generated when the
        gmplsXCOperStatus object for one or more
        contiguous entries in gmplsXCTable are
        about to enter the up(1) state from some
        other.  The included values of
        gmplsXCOperStatus MUST both be set equal to
        this other state.  The two instances of
        gmplsXCOperStatus in this notification
        indicate the range of indexes that are
        affected.  Note that all the indexes of the
        two ends of the range can be derived from
        the instance identifiers of these two
        objects.  For cases where a contiguous
        range of cross-connects have transitioned
        into the up(1) state at roughly the same
        time, the device SHOULD issue a single
        notification for each range of contiguous
        indexes in an effort to minimize the
        emission of a large number of
        notifications.  If a notification has to be
        issued for just a single cross-connect
        entry, then the instance identifier (and



Nadeau et al.               Expires July 2002               [Page 51]

Internet Draft               GMPLS LSR MIB               January 2002



        values) of the two gmplsXCOperStatus
        objects MUST be the identical."
   ::= { gmplsLsrNotifyPrefix 1 }

gmplsXCDown NOTIFICATION-TYPE
   OBJECTS     {
      gmplsXCOperStatus,  -- start of range
      gmplsXCOperStatus   -- end of range
   }
   STATUS      current
   DESCRIPTION
       "This notification is generated when the
        gmplsXCOperStatus object for one or more
        contiguous entries in gmplsXCTable are
        about to enter the down(2) state from some
        other.  The included values of
        gmplsXCOperStatus MUST both be set equal to
        this other state.  The two instances of
        gmplsXCOperStatus in this notification
        indicate the range of indexes that are
        affected.  Note that all the indexes of the
        two ends of the range can be derived from
        the instance identifiers of these two
        objects.  For cases where a contiguous
        range of cross-connects have transitioned
        into the down(2) state at roughly the same
        time, the device SHOULD issue a single
        notification for each range of contiguous
        indexes in an effort to minimize the
        emission of a large number of
        notifications.  If a notification has to be
        issued for just a single cross-connect
        entry, then the instance identifier (and
        values) of the two gmplsXCOperStatus
        objects MUST be the identical."
   ::= { gmplsLsrNotifyPrefix 2 }

-- End of notifications.


-- Module compliance.

gmplsLsrGroups
   OBJECT IDENTIFIER ::= { gmplsLsrConformance 1 }

gmplsLsrCompliances
   OBJECT IDENTIFIER ::= { gmplsLsrConformance 2 }

gmplsLsrModuleCompliance MODULE-COMPLIANCE
   STATUS current



Nadeau et al.               Expires July 2002               [Page 52]

Internet Draft               GMPLS LSR MIB               January 2002



   DESCRIPTION
       "Compliance statement for agents that
        support the MPLS LSR MIB."
   MODULE -- this module

   -- The mandatory groups have to be implemented
   -- by all LSRs.  However, they may all be supported
   -- as read-only objects in the case where manual
   -- configuration is unsupported.

   MANDATORY-GROUPS    {
      gmplsInSegmentGroup,
      gmplsOutSegmentGroup,
      gmplsXCGroup,
      gmplsInterfaceGroup,
      gmplsPerfGroup,
      gmplsSegmentDiscontinuityGroup
   }

   GROUP gmplsHCInSegmentPerfGroup
   DESCRIPTION
       "This group is mandatory for those in-
        segment entries for which the object
        gmplsInSegmentOutOctets wraps around too
        quickly."

   GROUP gmplsHCOutSegmentPerfGroup
   DESCRIPTION
       "This group is mandatory for those out-
        segment entries for which the object
        gmplsOutSegmentOctets wraps around too
        quickly."

   GROUP gmplsTrafficParamGroup
   DESCRIPTION
       "This group is mandatory for those LSRs that
        support QoS resource reservation."

   
   -- Depending on whether the device implements
   -- persistent cross-connects or not one of the
   -- following two groups is mandatory.

   GROUP gmplsXCIsPersistentGroup
   DESCRIPTION
       "This group is mandatory for devices which
        support persistent cross-connects.  The
        following constraints apply:
        gmplsXCIsPersistent must at least be read-
        only returning true(2)."



Nadeau et al.               Expires July 2002               [Page 53]

Internet Draft               GMPLS LSR MIB               January 2002




   GROUP gmplsXCIsNotPersistentGroup
   DESCRIPTION
       "This group is mandatory for devices which
        support non-persistent cross-connects.  The
        following constraints apply:
        gmplsXCIsPersistent must at least be read-
        only returning false(1)."

   -- gmplsInSegmentTable

   OBJECT     gmplsInSegmentXCIndex
   DESCRIPTION
       "Write access is not required."

   OBJECT      gmplsInSegmentNPop
   MIN-ACCESS  read-only
   DESCRIPTION
       "Write access is not required.  This object
        should be set to 1 if it is read-only."

   OBJECT      gmplsInSegmentAddrFamily
   DESCRIPTION
       "Write access is not required.  A value of
        other(0) should be supported because there
        may be cases where the agent may not know
        about or support any address types."

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

   OBJECT      gmplsInSegmentDirection
   SYNTAX      GmplsSegmentDirection
   MIN-ACCESS  read-only
   DESCRIPTION
       "Only forward(1) needs to be supported."


   -- gmplsOutSegmentTable

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

   OBJECT      gmplsOutSegmentPushTopLabel
   MIN-ACCESS  read-only



Nadeau et al.               Expires July 2002               [Page 54]

Internet Draft               GMPLS LSR MIB               January 2002



   DESCRIPTION
       "Write access is not required."

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

   OBJECT      gmplsOutSegmentNextHopIpAddrType
   MIN-ACCESS  read-only
   DESCRIPTION
       "ipV6(3) need not be supported."

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

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

   OBJECT      gmplsOutSegmentRowStatus
   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."

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

   OBJECT      gmplsOutSegmentDirection
   SYNTAX      GmplsSegmentDirection
   MIN-ACCESS  read-only
   DESCRIPTION
       "Only forward(1) needs to be supported."

   OBJECT      gmplsOutSegmentTTLDecrement
   SYNTAX      Unsigned32 (0..255)
   MIN-ACCESS  read-only
   DESCRIPTION



Nadeau et al.               Expires July 2002               [Page 55]

Internet Draft               GMPLS LSR MIB               January 2002



       "Write access is not required."


   -- gmplsXCTable

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

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

   OBJECT      gmplsXCAdminStatus
   SYNTAX      INTEGER { up(1), down(2) }
   MIN-ACCESS  read-only
   DESCRIPTION
       "A value of testing(3) need not be
        supported."

   OBJECT      gmplsXCOperStatus
   SYNTAX      INTEGER { up(1), down(2) }
   DESCRIPTION
       "Only up(1) and down(2) need to be
        supported."

   OBJECT      gmplsXCRowStatus
   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."

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

   ::= { gmplsLsrCompliances 1 }

-- Units of conformance.




Nadeau et al.               Expires July 2002               [Page 56]

Internet Draft               GMPLS LSR MIB               January 2002



gmplsInterfaceGroup OBJECT-GROUP
   OBJECTS {
      gmplsInterfaceLabelMinIn,
      gmplsInterfaceLabelMaxIn,
      gmplsInterfaceLabelMinOut,
      gmplsInterfaceLabelMaxOut,
      gmplsInterfaceTotalBandwidth,
      gmplsInterfaceAvailableBandwidth,
      gmplsInterfaceLabelParticipationType,
      gmplsInterfaceConfSignalingCaps
   }
   STATUS  current
   DESCRIPTION
       "Collection of objects needed for MPLS
        interface configuration and performance
        information."
   ::= { gmplsLsrGroups 1 }

gmplsInSegmentGroup  OBJECT-GROUP
   OBJECTS {
      gmplsInSegmentIndexNext,
      gmplsInSegmentIfIndex,
      gmplsInSegmentLabel,
      gmplsInSegmentNPop,
      gmplsInSegmentAddrFamily,
      gmplsInSegmentXCIndex,
      gmplsInSegmentOwner,
      gmplsInSegmentTrafficParamPtr,
      gmplsInSegmentRowStatus,
      gmplsInSegmentStorageType,
      gmplsInSegmentDirection
   }
   STATUS  current
   DESCRIPTION
       "Collection of objects needed to implement
        an in-segment."
   ::= { gmplsLsrGroups 2 }

gmplsOutSegmentGroup  OBJECT-GROUP
   OBJECTS {
      gmplsOutSegmentIndexNext,
      gmplsOutSegmentIfIndex,
      gmplsOutSegmentPushTopLabel,
      gmplsOutSegmentTopLabel,
      gmplsOutSegmentNextHopIpAddrType,
      gmplsOutSegmentNextHopIpv4Addr,
      gmplsOutSegmentNextHopIpv6Addr,
      gmplsOutSegmentXCIndex,
      gmplsOutSegmentOwner,
      gmplsOutSegmentTrafficParamPtr,



Nadeau et al.               Expires July 2002               [Page 57]

Internet Draft               GMPLS LSR MIB               January 2002



      gmplsOutSegmentRowStatus,
      gmplsOutSegmentStorageType,
      gmplsOutSegmentDirection,
      gmplsOutSegmentTTLDecrement
   }
   STATUS  current
   DESCRIPTION
       "Collection of objects needed to implement
        an out-segment."
   ::= { gmplsLsrGroups 3 }

gmplsXCGroup  OBJECT-GROUP
   OBJECTS {
      gmplsXCIndexNext,
      gmplsXCLabelStackIndex,
      gmplsXCIsPersistent,
      gmplsXCOwner,
      gmplsXCRowStatus,
      gmplsXCAdminStatus,
      gmplsXCStorageType,
      gmplsXCOperStatus,
      gmplsXCTrapEnable
   }
   STATUS  current
   DESCRIPTION
       "Collection of objects needed to implement a
        cross-connect entry."
   ::= { gmplsLsrGroups 4 }

gmplsXCOptionalGroup  OBJECT-GROUP
   OBJECTS { gmplsXCLspId }
   STATUS  current
   DESCRIPTION
       "Collection of optional objects for
        implementing a cross-connect entry."
   ::= { gmplsLsrGroups 5 }

gmplsPerfGroup OBJECT-GROUP
   OBJECTS {
      gmplsInSegmentOctets,
      gmplsInSegmentPackets,
      gmplsInSegmentErrors,
      gmplsInSegmentDiscards,
      gmplsOutSegmentOctets,
      gmplsOutSegmentPackets,
      gmplsOutSegmentErrors,
      gmplsOutSegmentDiscards,
      gmplsInterfaceInLabelsUsed,
      gmplsInterfaceFailedLabelLookup,
      gmplsInterfaceOutFragments,



Nadeau et al.               Expires July 2002               [Page 58]

Internet Draft               GMPLS LSR MIB               January 2002



      gmplsInterfaceOutLabelsUsed
   }
   STATUS  current
   DESCRIPTION
       "Collection of objects providing performance
        information about an LSR."
   ::= { gmplsLsrGroups 6 }

gmplsHCInSegmentPerfGroup OBJECT-GROUP
   OBJECTS { gmplsInSegmentHCOctets }
   STATUS  current
   DESCRIPTION
       "Object(s) providing performance information
        specific to out-segments for which the
        object gmplsInterfaceInOctets wraps around
        too quickly."
   ::= { gmplsLsrGroups 7 }

gmplsHCOutSegmentPerfGroup OBJECT-GROUP
   OBJECTS { gmplsOutSegmentHCOctets }
   STATUS  current
   DESCRIPTION
       "Object(s) providing performance information
        specific to out-segments for which the
        object gmplsInterfaceOutOctets wraps around
        too quickly."
   ::= { gmplsLsrGroups 8 }

gmplsXCIsPersistentGroup OBJECT-GROUP
   OBJECTS { gmplsXCIsPersistent }
   STATUS  current
   DESCRIPTION
       "Objects needed to support persistent cross-
        connects."
   ::= { gmplsLsrGroups 9 }

gmplsXCIsNotPersistentGroup OBJECT-GROUP
   OBJECTS { gmplsXCIsPersistent }
   STATUS  current
   DESCRIPTION
       "Objects needed to support non-persistent
        cross-connects."
   ::= { gmplsLsrGroups 10 }

gmplsLabelStackGroup OBJECT-GROUP
   OBJECTS {
      gmplsLabelStackIndexNext,
      gmplsLabelStackLabel,
      gmplsLabelStackRowStatus,
      gmplsLabelStackStorageType,



Nadeau et al.               Expires July 2002               [Page 59]

Internet Draft               GMPLS LSR MIB               January 2002



      gmplsMaxLabelStackDepth
   }
   STATUS current
   DESCRIPTION
       "Objects needed to support label stacking."
   ::= { gmplsLsrGroups 11 }

gmplsTrafficParamGroup OBJECT-GROUP
   OBJECTS {
      gmplsTrafficParamIndexNext,
      gmplsTrafficParamMaxRate,
      gmplsTrafficParamMeanRate,
      gmplsTrafficParamMaxBurstSize,
      gmplsTrafficParamRowStatus,
      gmplsTrafficParamStorageType
   }
   STATUS  current
   DESCRIPTION
       "Object(s) required for supporting QoS
        resource reservation."
   ::= { gmplsLsrGroups 12 }

gmplsSegmentDiscontinuityGroup OBJECT-GROUP
   OBJECTS {
      gmplsInSegmentPerfDiscontinuityTime,
      gmplsOutSegmentPerfDiscontinuityTime
   }
   STATUS  current
   DESCRIPTION
       "A collection of objects providing
        information specific to segment
        discontinuities.."
   ::= { gmplsLsrGroups 13 }

gmplsLsrNotificationGroup NOTIFICATION-GROUP
   NOTIFICATIONS {
      gmplsXCUp,
      gmplsXCDown
   }
   STATUS  current
   DESCRIPTION
       "Set of notifications implemented in this
        module.  None is mandatory."
   ::= { gmplsLsrGroups 14 }

END


13.   Security Considerations
   



Nadeau et al.               Expires July 2002               [Page 60]

Internet Draft               GMPLS LSR MIB               January 2002



   It is clear that this MIB is potentially useful for
   monitoring of MPLS and GMPLS LSRs.  This MIB can also be
   used for configuration of certain objects, and anything
   that can be configured can be incorrectly configured,
   with potentially disastrous results.
   
   There are a number of management objects defined in this
   MIB that have a MAX-ACCESS clause of read-write and/or
   read-create. Such objects may be considered sensitive or
   vulnerable in some network environments. The support for
   SET operations in a non-secure environment without proper
   protection can have a negative effect on network
   operations.
   
   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 [RFC2571] 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 [RFC2401]), there is no control as
   to who on the secure network is allowed to access and
   GET/SET (read, change, create and/or 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 [RFC2574] and the View-based Access
   Control [RFC2575] is recommended. It is then a
   customer/user responsibility to ensure that the SNMP
   entity giving access to an instance of this MIB is



Nadeau et al.               Expires July 2002               [Page 61]

Internet Draft               GMPLS LSR MIB               January 2002



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


14.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", draft-
                 ietf-mpls-rsvp-lsp-tunnel-08.txt, February
                 2001, work in progress.
   
   [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.,
                 Fredette, A., Girish, M., Gray, E.,
                 Halpern, J., Heinanen, J., Kilty, T.,



Nadeau et al.               Expires July 2002               [Page 62]

Internet Draft               GMPLS LSR MIB               January 2002



                 Malis, A., and P. Vaananen, "Constraint-
                 Based LSP Setup using LDP", draft-ietf-mpls-
                 cr-ldp-05.txt, February 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-
                 generalized-rsvp-te-03.txt>, May 2001, work
                 in progress.



Nadeau et al.               Expires July 2002               [Page 63]

Internet Draft               GMPLS LSR MIB               January 2002



   
   [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.
   
   [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., A., 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.
   
   [GMPLSTEMIB]  Nadeau, T., Srinivasan, C., Farrel, A.,
                 Hall, T., and Harrison, E., "Generalized
                 Multiprotocol Label Switching (GMPLS)
                 Traffic
                 Engineering Management Information Base",
                 draft-nadeau-ccamp-gmpls-te-mib-01.txt,
                 January 2002, work in progress.


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



Nadeau et al.               Expires July 2002               [Page 64]

Internet Draft               GMPLS LSR MIB               January 2002



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



Nadeau et al.               Expires July 2002               [Page 65]

Internet Draft               GMPLS LSR MIB               January 2002



   
   [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, January 2001.
   
   [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.
   
   [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.


15.   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 66]

Internet Draft               GMPLS LSR MIB               January 2002



   
   Cheenu Srinivasan
   Parama Networks, Inc.
   1030 Broad Street
   Shrewsbury, NJ 07702
   Phone: +1-732-544-9120 x731
   Email: cheenu@paramanet.com
   
   Adrian 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


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



Nadeau et al.               Expires July 2002               [Page 67]

Internet Draft               GMPLS LSR MIB               January 2002



   Standards process must be followed, or as required to
   translate it into languages other than English.
   
   The limited permissions granted above are perpetual and
   will not be revoked by the Internet Society or its
   successors or assigns. This document and the information
   contained herein is provided on an "AS IS" basis and THE
   INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE
   DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
   BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
   INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY
   IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A
   PARTICULAR PURPOSE.








































Nadeau et al.               Expires July 2002               [Page 68]


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
                              
                              
   Definition of Textual Conventions and OBJECT-IDENTITIES
    for Generalized Multiprotocol Label Switching (GMPLS)
                         Management
                              
           draft-nadeau-ccamp-gmpls-tc-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 RFC 2026
   [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 describes Textual Conventions and OBJECT-
   IDENTITIES common to the Management Information Bases
   (MIBs) for managing Generalized Multiprotocol Label



Nadeau et al.                Expires July 2002               [Page 1]

Internet Draft                GMPLS TC MIB               January 2002



   Switching (GMPLS) networks.
   
   It supplements [TCMIB] which describes Textual
   Conventions and OBJECT-IDENTITIES common to the
   Management Information Bases (MIBs) for managing
   Multiprotocol Label Switching (MPLS) networks.



Table of Contents

  1. Changes and Pending Work ..................................  2
   1.1. Changes Since the Last Version .........................  2
   1.2. Pending Work ...........................................  2
  2. Introduction ..............................................  2
  3. The SNMP Management Framework .............................  3
  4. GMPLS TC MIB Definitions ..................................  4
  5. Security Considerations ...................................  8
  6. References ................................................  8
   6.1. Normative References ...................................  8
   6.2. Informational References ............................... 10
  7. Authors' Addresses ........................................ 12
  8. Full Copyright Statement .................................. 13



1. Changes and Pending Work
   
   This section must be removed before the draft progresses
   to RFC.


1.1.  Changes Since the Last Version
   
   Changes to get the MIB to compile.


1.2.  Pending Work
   
   No pending work items have been identified for this
      draft.


2. Introduction
   
   This memo defines a portion of the Management Information
   Base (MIB) for use with network management protocols in
   the Internet community.  In particular, it defines
   Textual Conventions used in IETF GMPLS and GMPLS-related
   MIBs.



Nadeau et al.                Expires July 2002               [Page 2]

Internet Draft                GMPLS TC MIB               January 2002



   
   This document suplements [TCMIB] that defines Textual
   Conventions and OBJECT-IDENTITIES for Multiprotocol Label
   Switching (MPLS) Management.  [TCMIB] may continue to be
   used without this MIB in networks that support only MPLS.
   
   Comments should be made directly to the CCAMP mailing
   list at ccamp@ops.ietf.org.
   
   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL",
   "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED",
   "MAY", and "OPTIONAL" in this document are to be
   interpreted as described in RFC 2119, reference
   [RFC2119].
   
   For an introduction to the concepts of GMPLS, see
   [GMPLSArch].


3. 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 STD 16,
      RFC 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



Nadeau et al.                Expires July 2002               [Page 3]

Internet Draft                GMPLS TC MIB               January 2002



      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.


4. GMPLS TC MIB Definitions

GMPLS-TC-MIB DEFINITIONS ::= BEGIN

IMPORTS
   MODULE-IDENTITY, experimental
      FROM SNMPv2-SMI
   TEXTUAL-CONVENTION
      FROM SNMPv2-TC
   ;

gmplsTCMIB MODULE-IDENTITY
   LAST-UPDATED
       "200201251200Z"  -- 25 Jan 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



Nadeau et al.                Expires July 2002               [Page 4]

Internet Draft                GMPLS TC MIB               January 2002



               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
          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 defines Textual Conventions
        and OBJECT-IDENTITIES for use in documents
        defining management information bases
        (MIBs) for managing GMPLS networks."
   
   -- Revision history.
   REVISION
      "200111111100Z"  -- 11 Nov 2001 11:00:00 GMT
   DESCRIPTION
      "Initial version."
   REVISION
       "200201251200Z"  -- 25 Jan 2002 12:00:00 GMT



Nadeau et al.                Expires July 2002               [Page 5]

Internet Draft                GMPLS TC MIB               January 2002



   DESCRIPTION
       "Revision for compilation and work in
        progress."
   ::= { gmplsMIB 1 }

-- This object identifier needs to be assigned by IANA.
gmplsMIB OBJECT IDENTIFIER ::= { experimental xxx }

-- Textual Conventions (sorted alphabetically).

GmplsFreeformLabel ::= TEXTUAL-CONVENTION
   STATUS      current
   DESCRIPTION
       "This value represents a freeform
        generalized MPLS Label.  This can be used
        to represent label types which are not
        standard in the drafts."
   SYNTAX OCTET STRING (SIZE (0..64))

GmplsGeneralizedLabelSubtypes ::= TEXTUAL-CONVENTION
   STATUS      current
   DESCRIPTION
       "Determines the interpretation that should
        be applied to a label given its label type
        as specified by
        GmplsGeneralizedLabelTypes."
   SYNTAX INTEGER {
      mplsLabel(1),
      portWavelengthLabel(2),
      freeformGeneralizedLabel(3),
      sonetLabel(4),
      sdhLabel(5),
      wavebandLabel(6)
   }

GmplsGeneralizedLabelTypes ::= TEXTUAL-CONVENTION
   STATUS      current
   DESCRIPTION
       "The label types that are defined for
        Generalized MPLS."
   SYNTAX INTEGER {
      mplsLabel(1),
      generalizedLabel(2)
   }

GmplsHopAddrType ::= TEXTUAL-CONVENTION
   STATUS      current
   DESCRIPTION
       "Identifies the type of address encoded in
        an address object that forms a hop of an



Nadeau et al.                Expires July 2002               [Page 6]

Internet Draft                GMPLS TC MIB               January 2002



        explicit or reported route."
   SYNTAX   INTEGER {
      ipV4(1),
      ipV6(2),
      asNumber(3),
      lspid(4),
      lspidIpV6(5),
      unnumberedIfIpV4(6),
      unnumberedIfIpV6(7)
   }

GmplsSegmentDirection ::= TEXTUAL-CONVENTION
   STATUS      current
   DESCRIPTION
       "The direction of data flow on an LSP
        segment with respect to the head of the
        LSP.
       
        Where an LSP is signaled using a
        conventional signaling protocol, the 'head'
        of the LSP is the source of the signaling
        (also known as the ingress) and the 'tail'
        is the destination (also known as the
        egress).
       
        For manually configured LSPs an arbitrary
        decision must be made about which LER is
        the 'head'."
   SYNTAX  INTEGER {
      forward(1),
      reverse(2)
   }

GmplsTrapEnable ::= TEXTUAL-CONVENTION
   STATUS      current
   DESCRIPTION
       "Controls whether a specific notification
        (or set of notifications is generated, and
        if so how.
        If set to diabled (0), the notifications
        are not emitted.  If set to oneAtATime (1),
        each notification may only carry
        information about an event for a single
        object.  If set to rangeAllowed (2), each
        notification MAY carry information an
        identical event for a set of objects that
        have contiguous indexing, but note that
        implementations may send multiple
        individual notifications even when
        rangeAllowed is selected."



Nadeau et al.                Expires July 2002               [Page 7]

Internet Draft                GMPLS TC MIB               January 2002



   SYNTAX  INTEGER {
      disabled (0),
      oneAtATime (1),
      rangeAllowed (2)
   }

END


5. Security Considerations
   
   This memo defines textual conventions and object
   identities for use in GMPLS MIB modules.  Security issues
   for these MIB modules are addressed in the memos defining
   those modules.


6. References


6.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.
   
   [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



Nadeau et al.                Expires July 2002               [Page 8]

Internet Draft                GMPLS TC MIB               January 2002



                 Switching (GMPLS) Architecture, Internet
                 Draft <draft-many-gmpls-architecture-
                 01.txt>, March 2001, work in progress.
   
   [RFC3209]     Awduche, D., Berger, L., Gan, D., Li, T.,
                 Srinivasan, V., and G. Swallow, "RSVP-TE:
                 Extensions to RSVP for LSP Tunnels",
                 RFC3209, 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.,
                 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-05.txt, February 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 9]

Internet Draft                GMPLS TC 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.


6.2.  Informational References
   
   [RFC1155]     Rose, M., and K. McCloghrie, "Structure and
                 Identification of Management Information
                 for TCP/IP-based Internets", RFC 1155, May
                 1990.
   
   [RFC1213]     McCloghrie, K, and M. Rose, "Management
                 Information Base for Network Management of
                 TCP/IP Based Internets", RFC 1213, March
                 1991.
   
   [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



Nadeau et al.               Expires July 2002               [Page 10]

Internet Draft                GMPLS TC MIB               January 2002



                 Management", RFC 2514, 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.
   
   [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.
   
   [RFC3032]     Rosen, E., Rekhter, Y., Tappan, D.,
                 Farinacci, D., Federokow, G., Li, T., and
                 A. Conta, "MPLS Label Stack Encoding", RFC
                 3032, January 2001.



Nadeau et al.               Expires July 2002               [Page 11]

Internet Draft                GMPLS TC MIB               January 2002



   
   [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.
   
   [RFC3036]     Anderson, L., Doolan, P., Feldman, N.,
                 Fredette, A., and B. Thomas, "LDP
                 Specification", RFC 3036, January 2001.
   
   [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.
   
   [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.
   
   [GMPLSTEMIB]  Nadeau, T., Srinivasan, C., Farrel, A.,
                 Hall, T., and Harrison, E., "Extensions to
                 the MPLS Traffic Engineering Management
                 Information Base in Support of Generalized
                 Multiprotocol Label Switching", draft-
                 nadeau-ccamp-gmpls-te-mib-01.txt, January
                 2002, work in progress.
   
   [GMPLSLSRMIB] Nadeau, T., Srinivasan, C., Farrel, A.,
                 Hall, T., and Harrison, E., "GMPLS Label
                 Switching Router Management Information
                 Base Using SMIv2", draft-nadeau-ccamp-gmpls-
                 lsr-mib-01.txt, January 2002, work in
                 progress.


7. Authors' Addresses

  Thomas D. Nadeau
  Cisco Systems, Inc.
  300 Apollo Drive



Nadeau et al.               Expires July 2002               [Page 12]

Internet Draft                GMPLS TC MIB               January 2002



  Chelmsford, MA 01824
  Phone: +1-978-244-3051
  Email: tnadeau@cisco.com

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

  Adrian Farrel
  Movaz Networks, Inc.
  7926 Jones Branch Drive, Suite 615
  McLean VA, 22102USA
  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


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



Nadeau et al.               Expires July 2002               [Page 13]

Internet Draft                GMPLS TC MIB               January 2002



   organizations, except as needed for the purpose of
   developing Internet standards in which case the
   procedures for copyrights defined in the Internet
   Standards process must be followed, or as required to
   translate it into languages other than English.
   
   The limited permissions granted above are perpetual and
   will not be revoked by the Internet Society or its
   successors or assigns. This document and the information
   contained herein is provided on an "AS IS" basis and THE
   INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE
   DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
   BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
   INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY
   IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A
   PARTICULAR PURPOSE.





































Nadeau et al.               Expires July 2002               [Page 14]


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]