Network Working Group                                        K. Kompella
Internet Draft                                          Juniper Networks
Category: Standards Track                                 September 2002
Expires: March 2003
draft-ietf-tewg-mib-03.txt


                       A Traffic Engineering MIB


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.


Copyright Notice

   Copyright (C) The Internet Society (2002).  All Rights Reserved.
















Kompella, K.                 Standards Track                    [Page 1]


Internet Draft          A Traffic Engineering MIB         September 2002


Abstract

   This memo defines a standards-track portion of the Management
   Information Base (MIB) for use with network management protocols in
   the Internet community.  In particular, it describes managed objects
   for Traffic Engineered Tunnels, for example, Multi-Protocol Label
   Switched Paths.


1. 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 Traffic Engineered
   Tunnels, for example, Multi-Protocol Label Switched Paths ([1], [2]).
   This memo is a standards-track document.  The MIB that this memo
   defines allows one to configure TE Tunnels, assign one or more paths
   to a Tunnel, and monitor operational aspects of the Tunnel, such as
   the number of octets and packets that have passed through the Tunnel.

1.1. Specification of Requirements

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

1.2. Changes from previous version

   (This section to be removed before publication.)

    o Added RowStatus objects for the Tunnel, Path and PathHop tables.
      Also, added Persistency information.
    o Added a Full Compliance statement for agents that want to
      implement the TE MIB with read-create capabilities.
    o Added a Security Section.
    o Various editorial changes to comply with rfc2223bis and ID nits.

1.3. Remaining work

   (This section to be removed before publication.)

    o Normalize the Textual Conventions -- can they be reused from the
      MPLS TC MIB?  From the InetAddress MIB, ...?  Note that:
      a) the types required by this MIB include IPv4 and IPv6 addresses,
         unnumbered interfaces, 2 and 4 octet AS numbers and LSP IDs.
      b) the MPLS/GMPLS TC MIBs do not contain the appropriate support.
      c) the MPLS TE MIB contains a mplsTunnelHopAddrType which could be
         used; however, it does not support unnumbered interfaces.



Kompella, K.                 Standards Track                    [Page 2]


Internet Draft          A Traffic Engineering MIB         September 2002


    o The best solution might be to define a TC in a separate document
      (or to add such a TC to the MPLS TC document) that contains all
      the right types.


2. The SNMP Network Management Framework

   The SNMP Management Framework presently consists of five major
   components:

      o  An overall architecture, described in RFC 2571 [3].

      o  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 [4], STD 16, RFC 1212 [5] and RFC 1215 [6].
         The second version, called SMIv2, is described in STD 58, which
         consists of RFC 2578 [7], RFC 2579 [8] and RFC 2580 [9].

      o  Message protocols for transferring management information.  The
         first version of the SNMP message protocol is called SNMPv1 and
         described in STD 15, RFC 1157 [10].  A second version of the
         SNMP message protocol, which is not an Internet standards track
         protocol, is called SNMPv2c and described in RFC 1901 [11] and
         RFC 1906 [12].  The third version of the message protocol is
         called SNMPv3 and described in RFC 1906 [12], RFC 2572 [13] and
         RFC 2574 [14].

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

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

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

   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



Kompella, K.                 Standards Track                    [Page 3]


Internet Draft          A Traffic Engineering MIB         September 2002


   equivalent, except where objects or events are omitted because no
   translation is possible (e.g., 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.


3. Overview of the MIB

   The Traffic Engineering MIB consists of four parts:
      1) Traffic Engineering information;
      2) a table of Traffic Tunnels;
      3) a table of Paths that tunnels take;
      4) a table of Hops that make up a tunnel path.

   The MIB also has statements for minimal and full compliance.

   The following subsections give an overview of each part.  All objects
   are mandatory.  For minimal compliance, all objects MAY be
   implemented read only; for full compliance, all objects must be
   implemented to their stated MAX-ACCESS capabilities.  Notifications
   are optional.

3.1. Traffic Engineering Information

   This part contains information about the Link State Protocols used to
   carry TE information, the signalling protocols used to set up Traffic
   Tunnels, the number of Traffic Tunnels that have been configured and
   that are operational, and a mapping of Administrative Group (called
   Resource Classes in [1]) numbers to names.

3.2. Traffic Tunnel Information

   This part contains a table of Traffic Tunnels and information about
   each one.  This information includes the Tunnel name, its
   configuration information, its operational information, and the
   active path(s) that the Tunnel takes.

   Configuration information includes the end points of the Traffic
   Tunnel, and the number of configured paths for the Traffic Tunnel.

   Operational information includes the current state (up/down), the
   count of octets and packets sent on the Traffic Tunnel, how long it
   has been up, and how many state transitions the Traffic Tunnel has
   had.

   Operational path information includes the number of operational



Kompella, K.                 Standards Track                    [Page 4]


Internet Draft          A Traffic Engineering MIB         September 2002


   paths, the number of path changes, and when the last path change was.

3.3. Path Information

   A Tunnel is a logical entity.  An instantiation of a Tunnel is one or
   more Paths; each Path has a route (also called Explicit Route) or
   sequence of hops.

   The configured information for a Path consists of the constraints for
   the Path and a configured route.

   The operational information consists of the Path status, as well as
   the computed route (i.e., the route that was computed to satisfy the
   constraints), and the actual path as recorded by the signaling
   protocol.

3.4. Hop Information

   A path consists of a sequence of hops; a hop can be loose (meaning
   that the path eventually traverses the specified node) or strict
   (meaning that the specified node and possibly link must be the next
   node in the path).  A hop can be specified as an IPv4 address, an
   IPv6 address, an Autonomous System number or an unnumbered interface
   index.

   The Hop Table contains all hops for all paths on a given router.  It
   is organized as follows.  There is a primary index that identifies a
   list of hops and a secondary index that identifies individual hops.
   Thus, to get the sequence of recorded hops for a path, one looks up
   the path's tePathRecordedRoute, which is a primary index into the Hop
   Table.  Then to get the list of actual hops in order for the recorded
   path, one uses a secondary index of 1, 2, ....


4. MIB Specification

   TE-MIB DEFINITIONS ::= BEGIN

   IMPORTS
       MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
       mib-2, Integer32, Gauge32, Counter32, Counter64,
       Unsigned32, TimeTicks        FROM SNMPv2-SMI

       TEXTUAL-CONVENTION, RowStatus, StorageType
                                         FROM SNMPv2-TC

       SnmpAdminString              FROM SNMP-FRAMEWORK-MIB




Kompella, K.                 Standards Track                    [Page 5]


Internet Draft          A Traffic Engineering MIB         September 2002


       MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
                                    FROM SNMPv2-CONF;


   teMIB MODULE-IDENTITY
       LAST-UPDATED "200209021015Z"
       ORGANIZATION "IETF Traffic Engineering Working Group"
       CONTACT-INFO
           "        Kireeti Kompella
            Postal: Juniper Networks, Inc.
                    1194 Mathilda Ave
                    Sunnyvale, CA 94089
               Tel: +1 408 745 2000
            E-mail: kireeti@juniper.net

            The IETF Traffic Engineering Working Group is chaired
            by Jim Boyle and Ed Kern.  Mailing List information:
                 General Discussion:te-wg@ops.ietf.org
                 To Subscribe: te-wg-request@ops.ietf.org
                 In Body: subscribe
                 Archive: ftp://ops.ietf.org/pub/lists
            Comments on the MIB should be sent to the mailing list.
            The archives for this mailing list should be consulted
            for previous discussion on this MIB."
       DESCRIPTION
           "The Traffic Engineering MIB module"
       REVISION "200209021015Z"  -- 02 Sep 2002
       DESCRIPTION
           "Initial version, published as RFC xxxx."
           -- RFC Editor assigns RFC xxxx
       ::= { mib-2 yyy }
           -- IANA to assign yyy

   -- Top level objects

   teMIBNotifications  OBJECT IDENTIFIER ::= { teMIB 0 }
   teMIBObjects        OBJECT IDENTIFIER ::= { teMIB 1 }
   teMIBConformance    OBJECT IDENTIFIER ::= { teMIB 2 }

   -- ****************************************************************
   --
   -- Textual Convention for hop objects
   --

   TeHopAddressType ::= TEXTUAL-CONVENTION
       STATUS     current
       DESCRIPTION
           "A value that represents an address type for a Tunnel



Kompella, K.                 Standards Track                    [Page 6]


Internet Draft          A Traffic Engineering MIB         September 2002


            hop, taken from the following list:

            unknown(0)   An unknown address type.
            ipv4(1)      An IPv4 network address.
            ipv6(2)      An IPv6 network address.
            asnumber2(3) A two octet Autonomous System number.
            asnumber4(4) A four octet Autonomous System number.
            unnum(5)     An unnumbered interface index.
            lspid(6)     An LSP ID, for CR-LDP Tunnels [22].

            Each definition of a concrete TeHopAddress value must
            be accompanied by a definition of a textual convention
            for use with that TeHopAddressType."
       SYNTAX     INTEGER {
           unknown(0),
           ipv4(1),
           ipv6(2),
           asnumber2(3),
           asnumber4(4),
           unnum(5),
           lspid(6)
       }

   TeHopAddress ::= TEXTUAL-CONVENTION
       STATUS     current
       DESCRIPTION
           "Denotes a generic Tunnel hop address.

            An TeHopAddress value is always interpreted within the
            context of an TeHopAddressType value.  The
            TeHopAddressType object which defines the context must
            be registered immediately before the object which uses
            the TeHopAddress textual convention.  In other words,
            the object identifiers for the TeHopAddressType object
            and the TeHopAddress object MUST have the same length
            and the last sub-identifier of the TeHopAddressType
            object MUST be 1 less than the last sub-identifier of
            the TeHopAddress object."
       SYNTAX     OCTET STRING (SIZE (0..16))

   TeHopAddressIPv4 ::= TEXTUAL-CONVENTION
       DISPLAY-HINT "1d.1d.1d.1d"
       STATUS      current
       DESCRIPTION
           "Represents an IPv4 network address."
       SYNTAX      OCTET STRING (SIZE (4))

   TeHopAddressIPv6 ::= TEXTUAL-CONVENTION



Kompella, K.                 Standards Track                    [Page 7]


Internet Draft          A Traffic Engineering MIB         September 2002


       DISPLAY-HINT "2x:2x:2x:2x:2x:2x:2x:2x%4d"
       STATUS      current
       DESCRIPTION
           "Represents an IPv6 network address."
       SYNTAX      OCTET STRING (SIZE (16))

   TeHopAddressAS2 ::= TEXTUAL-CONVENTION
       DISPLAY-HINT "d"
       STATUS      current
       DESCRIPTION
           "Represents a two octet AS number."
       SYNTAX      Integer32 (0..65535)

   TeHopAddressAS4 ::= TEXTUAL-CONVENTION
       DISPLAY-HINT "d"
       STATUS      current
       DESCRIPTION
           "Represents a four octet AS number."
       SYNTAX      Unsigned32

   TeHopAddressUnnum ::= TEXTUAL-CONVENTION
       DISPLAY-HINT "d"
       STATUS      current
       DESCRIPTION
           "Represents a 32bit unnumbered interface index."
       SYNTAX      Unsigned32

   TeHopAddressLspID ::= TEXTUAL-CONVENTION
       DISPLAY-HINT "1d.1d.1d.1d:2d"
       STATUS        current
       DESCRIPTION
           "Represents a unique ID for a CR-LDP LSP.  This ID is
            assigned by the head end LSR, and consists of an IPv4
            address belonging to the head end followed by a two
            octet unsigned integer that is unique for each LSP that
            starts at this head end."
      SYNTAX  OCTET STRING (SIZE (6))

   -- ****************************************************************
   --
   -- TE MIB Objects
   --

   -- TE Info

   teInfo OBJECT IDENTIFIER ::= { teMIBObjects 1 }

   teDistProtocol OBJECT-TYPE



Kompella, K.                 Standards Track                    [Page 8]


Internet Draft          A Traffic Engineering MIB         September 2002


       SYNTAX     BITS {
           other(0),
           isis(1),
           ospf(2)
       }
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
           "IGP used to distribute Traffic Engineering
            information and topology to each device for the
            purpose of automatic path computation.  More than
            one IGP may be used to distribute TE information."
       ::= { teInfo 1 }

   teSignalingProto OBJECT-TYPE
       SYNTAX     BITS {
           other(0),
           rsvpte(1),
           crldp(2)
       }
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
           "Traffic Engineering signaling protocols supported by
            this device. More than one protocol may be supported."

       ::= { teInfo 2 }

   teNextTunnelIndex OBJECT-TYPE
       SYNTAX     Unsigned32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
           "Free index that can be used to create a new row in the
            Tunnel table.  If this is zero, then no more rows can
            be created in the Tunnel table."
       ::= { teInfo 3 }

   teNextPathIndex OBJECT-TYPE
       SYNTAX     Unsigned32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
           "Free index that can be used to create a new row in the
            Tunnel Path table.  If this is zero, then no more rows
            can be created in the Path table."
       ::= { teInfo 4 }




Kompella, K.                 Standards Track                    [Page 9]


Internet Draft          A Traffic Engineering MIB         September 2002


   teNextPathHopIndex OBJECT-TYPE
       SYNTAX     Unsigned32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
           "Free index that can be used to create a new row in the
            Path Hop table.  If this is zero, then no more rows
            can be created in the Path Hop table."
       ::= { teInfo 5 }

   teConfiguredTunnels OBJECT-TYPE
       SYNTAX     Gauge32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION "Number of configured Tunnels."
       ::= { teInfo 6 }

   teActiveTunnels OBJECT-TYPE
       SYNTAX     Gauge32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION "Number of active Tunnels."
       ::= { teInfo 7 }

   tePrimaryTunnels OBJECT-TYPE
       SYNTAX     Gauge32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION "Number of active Tunnels running on
                    their primary paths."
       ::= { teInfo 8 }

   teAdminGroupTable OBJECT-TYPE
       SYNTAX     SEQUENCE OF TeAdminGroupEntry
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
           "A mapping of configured administrative groups.  Each
            entry represents an Administrative Group, and provides a
            name and index for the group.  Administrative groups are
            used to label links in the Traffic Engineering topology
            in order to place constraints (include and exclude) on
            Tunnel paths."
       ::= { teInfo 9 }

   teAdminGroupEntry OBJECT-TYPE
       SYNTAX     TeAdminGroupEntry
       MAX-ACCESS not-accessible



Kompella, K.                 Standards Track                   [Page 10]


Internet Draft          A Traffic Engineering MIB         September 2002


       STATUS     current
       DESCRIPTION
           "A mapping between a configured group number and its
            human-readable name.  The group number should be between
            1 and 32, inclusive.  Group number n represents bit
            number (n-1) in the bit vector for Include/Exclude
            constraints."
       INDEX { teAdminGroupNumber }
       ::= { teAdminGroupTable 1 }

   TeAdminGroupEntry ::=
       SEQUENCE {
           teAdminGroupNumber    Integer32,
           teAdminGroupName      SnmpAdminString
       }

   teAdminGroupNumber OBJECT-TYPE
       SYNTAX     Integer32 (1..32)
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION "Index of the administrative group."
       ::= { teAdminGroupEntry 1 }

   teAdminGroupName OBJECT-TYPE
       SYNTAX     SnmpAdminString (SIZE (1..32))
       MAX-ACCESS read-create
       STATUS     current
       DESCRIPTION "Name of the administrative group."
       ::= { teAdminGroupEntry 2 }

   -- Tunnel Table

   teTunnelTable OBJECT-TYPE
       SYNTAX     SEQUENCE OF TeTunnelEntry
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION "Table of Configured Traffic Tunnels."
       ::= { teMIBObjects 2 }

   teTunnelEntry OBJECT-TYPE
       SYNTAX     TeTunnelEntry
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
           "Entry containing information about a particular
            Traffic Tunnel."
       INDEX { teTunnelIndex }
       ::= { teTunnelTable 1 }



Kompella, K.                 Standards Track                   [Page 11]


Internet Draft          A Traffic Engineering MIB         September 2002


   TeTunnelEntry ::=
       SEQUENCE {
           teTunnelIndex            Unsigned32,
           teTunnelName             SnmpAdminString,
           -- Conceptual row information
           teTunnelRowStatus        RowStatus,
           teTunnelStorageType      StorageType,
           -- State and performance information
           teTunnelState            INTEGER,
           teTunnelOctets           Counter64,
           teTunnelPackets          Counter64,
           teTunnelLPOctets         Counter32,
           teTunnelLPPackets        Counter32,
           teTunnelAge              TimeTicks,
           teTunnelTimeUp           TimeTicks,
           teTunnelPrimaryTimeUp    TimeTicks,
           teTunnelTransitions      Counter32,
           teTunnelLastTransition   TimeTicks,
           teTunnelPathChanges      Counter32,
           teTunnelLastPathChange   TimeTicks,
           teTunnelConfiguredPaths  Gauge32,
           teTunnelStandbyPaths     Gauge32,
           teTunnelOperationalPaths Gauge32,
           -- Address information
           teTunnelSourceAddressType TeHopAddressType,
           teTunnelSourceAddress    TeHopAddress,
           teTunnelDestinationAddressType TeHopAddressType,
           teTunnelDestinationAddress TeHopAddress
       }

   teTunnelIndex OBJECT-TYPE
       SYNTAX     Unsigned32
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
           "An index that identifies a Tunnel.  A Tunnel index
            MUST NOT be zero.  This index MUST be unique across
            Tunnels and interfaces on this host."
       ::= { teTunnelEntry 1 }

   teTunnelName OBJECT-TYPE
       SYNTAX     SnmpAdminString (SIZE (1..32))
       MAX-ACCESS read-create
       STATUS     current
       DESCRIPTION "Name of the Traffic Tunnel."
       ::= { teTunnelEntry 2 }

   teTunnelRowStatus OBJECT-TYPE



Kompella, K.                 Standards Track                   [Page 12]


Internet Draft          A Traffic Engineering MIB         September 2002


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

   teTunnelStorageType OBJECT-TYPE
       SYNTAX     StorageType
       MAX-ACCESS read-create
       STATUS     current
       DESCRIPTION
           "This variable indicates the storage type for this object."
       ::= { teTunnelEntry 4 }

   teTunnelState OBJECT-TYPE
       SYNTAX     INTEGER {
           unknown(1),
           up(2),
           down(3),
           testing(4)
       }
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION "The operational state of the Tunnel."
       ::= { teTunnelEntry 5 }

   teTunnelOctets OBJECT-TYPE
       SYNTAX     Counter64
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
           "The number of octets that have been forwarded over
            the Tunnel."
       ::= { teTunnelEntry 6 }

   teTunnelPackets OBJECT-TYPE
       SYNTAX     Counter64
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
           "The number of packets that have been forwarded over
            the Tunnel."
       ::= { teTunnelEntry 7 }

   teTunnelLPOctets OBJECT-TYPE
       SYNTAX     Counter32



Kompella, K.                 Standards Track                   [Page 13]


Internet Draft          A Traffic Engineering MIB         September 2002


       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
           "The number of octets that have been forwarded over
            the Tunnel."
       ::= { teTunnelEntry 8 }

   teTunnelLPPackets OBJECT-TYPE
       SYNTAX     Counter32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
           "The number of packets that have been forwarded over
            the Tunnel."
       ::= { teTunnelEntry 9 }

   teTunnelAge OBJECT-TYPE
       SYNTAX     TimeTicks
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
           "The age (i.e., time from creation till now) of
            this Tunnel in hundredths of a second."
       ::= { teTunnelEntry 10 }

   teTunnelTimeUp OBJECT-TYPE
       SYNTAX     TimeTicks
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
           "The total time in hundredths of a second that this
            Tunnel has been operational.  For example, the
            percentage up time can be determined by computing
            (teTunnelTimeUp/teTunnelAge * 100 %)."
       ::= { teTunnelEntry 11 }

   teTunnelPrimaryTimeUp OBJECT-TYPE
       SYNTAX     TimeTicks
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
           "The total time in hundredths of a second that this
            Tunnel's primary path has been operational.  For
            example, the percentage contribution of the primary
            path to the operational time is given by
            (teTunnelPrimaryTimeUp/teTunnelTimeUp * 100) %."
       ::= { teTunnelEntry 12 }




Kompella, K.                 Standards Track                   [Page 14]


Internet Draft          A Traffic Engineering MIB         September 2002


   teTunnelTransitions OBJECT-TYPE
       SYNTAX     Counter32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
           "The number of state transitions (up -> down and
            down -> up) this Tunnel has undergone."
       ::= { teTunnelEntry 13 }

   teTunnelLastTransition OBJECT-TYPE
       SYNTAX     TimeTicks
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
           "The time in hundredths of a second since the last
            transition occurred on this Tunnel."
       ::= { teTunnelEntry 14 }

   teTunnelPathChanges OBJECT-TYPE
       SYNTAX     Counter32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
           "The number of path changes this Tunnel has had."
       ::= { teTunnelEntry 15 }

   teTunnelLastPathChange OBJECT-TYPE
       SYNTAX     TimeTicks
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
           "The time in hundredths of a secondsince the last
            change occurred on this Tunnel."
       ::= { teTunnelEntry 16 }

   teTunnelConfiguredPaths OBJECT-TYPE
       SYNTAX     Gauge32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
           "The number of paths configured for this Tunnel."
       ::= { teTunnelEntry 17 }

   teTunnelStandbyPaths OBJECT-TYPE
       SYNTAX     Gauge32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION



Kompella, K.                 Standards Track                   [Page 15]


Internet Draft          A Traffic Engineering MIB         September 2002


           "The number of standby paths configured for
            this Tunnel."
       ::= { teTunnelEntry 18 }

   teTunnelOperationalPaths OBJECT-TYPE
       SYNTAX     Gauge32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
           "The number of operational paths for this Tunnel.
            This includes the path currently active, as
            well as operational standby paths."
       ::= { teTunnelEntry 19 }

   teTunnelSourceAddressType OBJECT-TYPE
       SYNTAX     TeHopAddressType
       MAX-ACCESS read-create
       STATUS     current
       DESCRIPTION
           "Source address type of this Tunnel."
       ::= { teTunnelEntry 20 }

   teTunnelSourceAddress OBJECT-TYPE
       SYNTAX     TeHopAddress
       MAX-ACCESS read-create
       STATUS     current
       DESCRIPTION
           "Source address of this Tunnel.  The source address
            is formatted according to the values of the associated
            teTunnelSourceAddressType."
       ::= { teTunnelEntry 21 }

   teTunnelDestinationAddressType OBJECT-TYPE
       SYNTAX     TeHopAddressType
       MAX-ACCESS read-create
       STATUS     current
       DESCRIPTION
           "Destination address type of this Tunnel."
       ::= { teTunnelEntry 22 }

   teTunnelDestinationAddress OBJECT-TYPE
       SYNTAX     TeHopAddress
       MAX-ACCESS read-create
       STATUS     current
       DESCRIPTION
           "Destination address of this Tunnel.  The destination
            address is formatted according to the value of the
            associated teTunnelDestinationAddressType."



Kompella, K.                 Standards Track                   [Page 16]


Internet Draft          A Traffic Engineering MIB         September 2002


       ::= { teTunnelEntry 23 }

   -- ****************************************************************
   --
   -- Tunnel Path Table
   --

   tePathTable OBJECT-TYPE
       SYNTAX     SEQUENCE OF TePathEntry
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION "Table of Configured Traffic Tunnels."
       ::= { teMIBObjects 3 }

   tePathEntry OBJECT-TYPE
       SYNTAX     TePathEntry
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
           "Entry containing information about a particular
            Traffic Tunnel."
       INDEX { tePathTunnelIndex, tePathIndex }
       ::= { tePathTable 1 }

   TePathEntry ::=
       SEQUENCE {
           tePathTunnelIndex        Unsigned32,
           tePathIndex              Unsigned32,
           tePathName               SnmpAdminString,
           -- Conceptual row information
           tePathRowStatus          RowStatus,
           tePathStorageType        StorageType,
           -- Path properties
           tePathType               INTEGER,
           tePathConfiguredRoute    Unsigned32,
           tePathBandwidth          Unsigned32,
           tePathIncludeAny         Unsigned32,
           tePathIncludeAll         Unsigned32,
           tePathExclude            Unsigned32,
           tePathSetupPriority      Integer32,
           tePathHoldPriority       Integer32,
           tePathProperties         BITS,
           -- Path status
           tePathStatus             INTEGER,
           tePathAdminStatus        INTEGER,
           tePathComputedRoute      Unsigned32,
           tePathRecordedRoute      Unsigned32
       }



Kompella, K.                 Standards Track                   [Page 17]


Internet Draft          A Traffic Engineering MIB         September 2002


   tePathTunnelIndex OBJECT-TYPE
       SYNTAX     Unsigned32
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
           "An index that identifies the Tunnel to which this path
            belongs.  A Tunnel Path index MUST NOT be zero."
       ::= { tePathEntry 1 }

   tePathIndex OBJECT-TYPE
       SYNTAX     Unsigned32
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
           "An index that uniquely identifies a path within a Tunnel.
            The combination of <tePathTunnelIndex, tePathIndex> thus
            uniquely identifies a path among all paths on this router.
            This index MUST NOT be zero."
       ::= { tePathEntry 2 }

   tePathName OBJECT-TYPE
       SYNTAX     SnmpAdminString (SIZE(0..32))
       MAX-ACCESS read-create
       STATUS     current
       DESCRIPTION
           "The name of this path, if any."
       ::= { tePathEntry 3 }

   tePathRowStatus 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."
       ::= { tePathEntry 4 }

   tePathStorageType OBJECT-TYPE
       SYNTAX     StorageType
       MAX-ACCESS read-create
       STATUS     current
       DESCRIPTION
           "This variable indicates the storage type for this object."
       ::= { tePathEntry 5 }

   tePathType OBJECT-TYPE
       SYNTAX     INTEGER {
           other(1),



Kompella, K.                 Standards Track                   [Page 18]


Internet Draft          A Traffic Engineering MIB         September 2002


           primary(2),
           standby(3),
           secondary(4)
       }
       MAX-ACCESS read-create
       STATUS     current
       DESCRIPTION
           "The type for this PathEntry, i.e., whether this path is
            a primary path, a standby path, or a secondary path."
       ::= { tePathEntry 6 }

   tePathConfiguredRoute OBJECT-TYPE
       SYNTAX     Unsigned32
       MAX-ACCESS read-create
       STATUS     current
       DESCRIPTION
           "The route that this TE path is configured to follow,
            i.e., an ordered list of hops.  tePathConfiguredRoute
            gives the primary index into the Hop Table; the
            secondary index is the hop count in the path, so to
            get the route, one could get the first hop with index
            <tePathConfiguredRoute, 1> in the Hop Table, and do a
            getnext to get subsequent hops."
       ::= { tePathEntry 7 }

   tePathBandwidth OBJECT-TYPE
       SYNTAX     Unsigned32
       UNITS      "bits per second"
       MAX-ACCESS read-create
       STATUS     current
       DESCRIPTION
           "The configured bandwidth for this Tunnel, in units
            of thousands of bits per second (Kbps)."
       ::= { tePathEntry 8 }

   tePathIncludeAny OBJECT-TYPE
       SYNTAX     Unsigned32
       MAX-ACCESS read-create
       STATUS     current
       DESCRIPTION
           "This is a configured set of administrative groups
            specified as a bit vector (i.e., bit n is 1 if group
            n is in the set, where n = 0 is the LSB).  For each
            link that this path goes through, the link must have
            at least one of the groups specified in IncludeAny
            to be acceptable.  If IncludeAny is zero, all links
            are acceptable."
       ::= { tePathEntry 9 }



Kompella, K.                 Standards Track                   [Page 19]


Internet Draft          A Traffic Engineering MIB         September 2002


   tePathIncludeAll OBJECT-TYPE
       SYNTAX     Unsigned32
       MAX-ACCESS read-create
       STATUS     current
       DESCRIPTION
           "This is a configured set of administrative groups
            specified as a bit vector (i.e., bit n is 1 if group
            n is in the set, where n = 0 is the LSB).  For each
            link that this path goes through, the link must have
            all of the groups specified in IncludeAny to be
            acceptable.  If IncludeAny is zero, all links are
            acceptable."
       ::= { tePathEntry 10 }

   tePathExclude OBJECT-TYPE
       SYNTAX     Unsigned32
       MAX-ACCESS read-create
       STATUS     current
       DESCRIPTION
           "This is a configured set of administrative groups
            specified as a bit vector (i.e., bit n is 1 if group
            n is in the set, where n = 0 is the LSB).  For each
            link that this path goes through, the link MUST have
            groups associated with it, and the intersection of the
            link's groups and the 'exclude' set MUST be null."
       ::= { tePathEntry 11 }

   tePathSetupPriority OBJECT-TYPE
       SYNTAX     Integer32 (0..7)
       MAX-ACCESS read-create
       STATUS     current
       DESCRIPTION
           "The setup priority configured for this path, with 0
            as the highest priority and 7 the lowest."
       ::= { tePathEntry 12 }

   tePathHoldPriority OBJECT-TYPE
       SYNTAX     Integer32 (0..7)
       MAX-ACCESS read-create
       STATUS     current
       DESCRIPTION
           "The hold priority configured for this path, with 0
            as the highest priority and 7 the lowest."
       ::= { tePathEntry 13 }

   tePathProperties OBJECT-TYPE
       SYNTAX     BITS {
           recordRoute(0),



Kompella, K.                 Standards Track                   [Page 20]


Internet Draft          A Traffic Engineering MIB         September 2002


           cspf(1),
           makeBeforeBreak(2),
           mergeable(3),
           fastReroute(4),
           protected(5)
       }
       MAX-ACCESS read-create
       STATUS     current
       DESCRIPTION
           "The set of configured properties for this path, expressed
            as a bit map.  For example, if the path supports 'make
            before break', then bit 2 is set."
       ::= { tePathEntry 14 }

   tePathStatus OBJECT-TYPE
       SYNTAX     INTEGER {
           unknown(0),
           down(1),
           testing(2),
           dormant(3),
           ready(4),
           operational(5)
       }
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
           "The operational status of the path:
                unknown:
                down:        signaling failed
                testing:     administratively set aside for testing
                dormant:     not signaled (for a backup tunnel)
                ready:       signaled but not yet carrying traffic
                operational: signaled and carrying traffic."
       ::= { tePathEntry 15 }

   tePathAdminStatus OBJECT-TYPE
       SYNTAX     INTEGER {
           normal(1),
           testing(2)
       }
       MAX-ACCESS read-create
       STATUS     current
       DESCRIPTION
           "The operational status of the path:
                unknown:
                down:        signaling failed
                testing:     administratively set aside for testing
                dormant:     not signaled (for a backup tunnel)



Kompella, K.                 Standards Track                   [Page 21]


Internet Draft          A Traffic Engineering MIB         September 2002


                ready:       signaled but not yet carrying traffic
                operational: signaled and carrying traffic."
       ::= { tePathEntry 16 }

   tePathComputedRoute OBJECT-TYPE
       SYNTAX     Unsigned32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
           "The route computed for for this path, perhaps using
            some form of Constraint-based Routing.  This is also an
            ordered list of hops."
       ::= { tePathEntry 17 }

   tePathRecordedRoute OBJECT-TYPE
       SYNTAX     Unsigned32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
           "The route actually used for this path, as recorded
            by the signaling protocol.  This is again an ordered
            list of hops; each hop is expected to be strict."
       ::= { tePathEntry 18 }

   -- ****************************************************************
   --
   -- Tunnel Path Hop Table
   --

   tePathHopTable OBJECT-TYPE
       SYNTAX     SEQUENCE OF TePathHopEntry
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION "Table of Tunnel Path Hops."
       ::= { teMIBObjects 4 }

   tePathHopEntry OBJECT-TYPE
       SYNTAX     TePathHopEntry
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
           "Entry containing information about a particular hop."
       INDEX { teHopListIndex, tePathHopIndex }
       ::= { tePathHopTable 1 }

   TePathHopEntry ::=
       SEQUENCE {
           teHopListIndex            Unsigned32,



Kompella, K.                 Standards Track                   [Page 22]


Internet Draft          A Traffic Engineering MIB         September 2002


           tePathHopIndex            Unsigned32,
           -- Conceptual row information
           tePathHopRowStatus        RowStatus,
           tePathHopStorageType      StorageType,
           tePathHopAddrType         TeHopAddressType,
           tePathHopAddress          TeHopAddress,
           tePathHopType             INTEGER
       }

   teHopListIndex OBJECT-TYPE
       SYNTAX     Unsigned32
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
           "An index that identifies a list of hops.  This is the
            primary index to accesses hops; it MUST NOT be zero."
       ::= { tePathHopEntry 1 }

   tePathHopIndex OBJECT-TYPE
       SYNTAX     Unsigned32
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
           "An index that identifies a particular hop among the
            list of hops for a path.  An index of i identifies the
            ith hop.  This is the secondary index for a hop entry.
            This index MUST NOT be zero."
       ::= { tePathHopEntry 2 }

   tePathHopRowStatus 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."
       ::= { tePathHopEntry 3 }

   tePathHopStorageType OBJECT-TYPE
       SYNTAX     StorageType
       MAX-ACCESS read-create
       STATUS     current
       DESCRIPTION
           "This variable indicates the storage type for this object."
       ::= { tePathHopEntry 4 }

   tePathHopAddrType OBJECT-TYPE
       SYNTAX     TeHopAddressType



Kompella, K.                 Standards Track                   [Page 23]


Internet Draft          A Traffic Engineering MIB         September 2002


       MAX-ACCESS read-create
       STATUS     current
       DESCRIPTION
           "Address type of the hop."
       ::= { tePathHopEntry 5 }

   tePathHopAddress OBJECT-TYPE
       SYNTAX     TeHopAddress
       MAX-ACCESS read-create
       STATUS     current
       DESCRIPTION
           "Address of the hop."
       ::= { tePathHopEntry 6 }

   tePathHopType OBJECT-TYPE
       SYNTAX     INTEGER {
           unknown(0),
           loose(1),
           strict(2)
       }
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
           "The type of hop:
                unknown:
                loose:  this hop is a LOOSE hop.
                strict: this hop is a STRICT hop."
       ::= { tePathHopEntry 7 }

   -- ****************************************************************
   --
   -- TE Notifications
   --

   teTunnelUp NOTIFICATION-TYPE
       OBJECTS         { teTunnelName,
                         tePathName }  -- TunnelPath
       STATUS          current
       DESCRIPTION
           "An teTunnelUp notification is generated when the Tunnel
            indexed by teTunnelName transitions to the 'up' state."
       ::= { teMIBNotifications 1 }

   teTunnelDown NOTIFICATION-TYPE
       OBJECTS         { teTunnelName,
                         tePathName }  -- TunnelPath
       STATUS          current
       DESCRIPTION



Kompella, K.                 Standards Track                   [Page 24]


Internet Draft          A Traffic Engineering MIB         September 2002


           "An teTunnelDown notification is generated when the Tunnel
            indexed by teTunnelName transitions to the 'down' state."
       ::= { teMIBNotifications 2 }

   teTunnelChanged NOTIFICATION-TYPE
       OBJECTS         { teTunnelName,
                         tePathName }  -- toTunnelPath
       STATUS          current
       DESCRIPTION
           "An teTunnelChanged notification is generated when the
            active path on the Tunnel indexed by teTunnelName changes.
            The tePathName is the new active path."
       ::= { teMIBNotifications 3 }

   teTunnelRerouted NOTIFICATION-TYPE
       OBJECTS         { teTunnelName,
                         tePathName }  -- toTunnelPath
       STATUS          current
       DESCRIPTION
           "An teTunnelRerouted notification is generated when the
            active path for the Tunnel indexed by teTunnelName stays
            the same, but its route changes."
       ::= { teMIBNotifications 4 }

   -- End of TE-MIB objects

   -- ****************************************************************
   --
   -- TE Compliance Statements
   --

   teGroups
       OBJECT IDENTIFIER ::= { teMIBConformance 1 }

   teModuleCompliance
       OBJECT IDENTIFIER ::= { teMIBConformance 2 }

   -- ****************************************************************
   --
   -- TE object groups
   --

   teMandatoryGroup OBJECT-GROUP
       OBJECTS {
           teTunnelName,
           teTunnelRowStatus,
           teTunnelStorageType,
           teTunnelState,



Kompella, K.                 Standards Track                   [Page 25]


Internet Draft          A Traffic Engineering MIB         September 2002


           teTunnelOctets,
           teTunnelPackets,
           teTunnelLPOctets,
           teTunnelLPPackets,
           teTunnelAge,
           teTunnelTimeUp,
           teTunnelPrimaryTimeUp,
           teTunnelTransitions,
           teTunnelLastTransition,
           teTunnelPathChanges,
           teTunnelLastPathChange,
           teTunnelConfiguredPaths,
           teTunnelStandbyPaths,
           teTunnelOperationalPaths,
           teTunnelSourceAddressType,
           teTunnelSourceAddress,
           teTunnelDestinationAddressType,
           teTunnelDestinationAddress,
           tePathBandwidth,
           tePathIncludeAny,
           tePathIncludeAll,
           tePathExclude,
           tePathSetupPriority,
           tePathHoldPriority,
           tePathProperties,
           tePathStatus,
           tePathAdminStatus,
           tePathComputedRoute,
           tePathRecordedRoute,
           teDistProtocol,
           teSignalingProto,
           teNextTunnelIndex,
           teNextPathIndex,
           teNextPathHopIndex,
           teAdminGroupName,
           teConfiguredTunnels,
           teActiveTunnels,
           tePrimaryTunnels,
           tePathName,
           tePathType,
           tePathRowStatus,
           tePathStorageType,
           tePathConfiguredRoute,
           tePathHopRowStatus,
           tePathHopStorageType,
           tePathHopAddrType,
           tePathHopAddress,
           tePathHopType



Kompella, K.                 Standards Track                   [Page 26]


Internet Draft          A Traffic Engineering MIB         September 2002


       }
       STATUS   current
       DESCRIPTION
           "Mandatory objects for the TE MIB."
       ::= { teGroups 1 }

   teNotificationGroup NOTIFICATION-GROUP
      NOTIFICATIONS {
         teTunnelUp,
         teTunnelDown,
         teTunnelChanged,
         teTunnelRerouted
      }
      STATUS  current
      DESCRIPTION
           "Notifications specified in this MIB.  None is mandatory."
      ::= { teGroups 2 }

   -- ****************************************************************
   --
   -- TE compliance statement
   --

   teModuleReadOnlyCompliance MODULE-COMPLIANCE
       STATUS current
       DESCRIPTION
           "Compliance statement for agents supporting the TE MIB.  In
            short, all objects are mandatory; min-access is read-only."

       MODULE
           -- enclosing module, i.e., TE MIB

           MANDATORY-GROUPS {
               teMandatoryGroup
           }

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

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

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




Kompella, K.                 Standards Track                   [Page 27]


Internet Draft          A Traffic Engineering MIB         September 2002


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

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

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

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

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

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

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

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

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

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

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

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




Kompella, K.                 Standards Track                   [Page 28]


Internet Draft          A Traffic Engineering MIB         September 2002


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

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

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

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

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

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

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

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

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

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

       ::= { teModuleCompliance 1 }

   teModuleFullCompliance MODULE-COMPLIANCE
       STATUS current
       DESCRIPTION
           "Full compliance statement for agents supporting the TE MIB.
            All objects are mandatory; for full compliance, the access
            rights must be the MAX-ACCESS associated with the MIB



Kompella, K.                 Standards Track                   [Page 29]


Internet Draft          A Traffic Engineering MIB         September 2002


            objects."

       MODULE
           -- enclosing module, i.e., TE MIB

           MANDATORY-GROUPS {
               teMandatoryGroup
           }

           OBJECT      teAdminGroupName
           MIN-ACCESS  read-create
           DESCRIPTION "Write access is required."

           OBJECT      teTunnelName
           MIN-ACCESS  read-create
           DESCRIPTION "Write access is required."

           OBJECT      teTunnelRowStatus
           MIN-ACCESS  read-create
           DESCRIPTION "Write access is required."

           OBJECT      teTunnelStorageType
           MIN-ACCESS  read-create
           DESCRIPTION "Write access is required."

           OBJECT      teTunnelSourceAddressType
           MIN-ACCESS  read-create
           DESCRIPTION "Write access is required."

           OBJECT      teTunnelSourceAddress
           MIN-ACCESS  read-create
           DESCRIPTION "Write access is required."

           OBJECT      teTunnelDestinationAddressType
           MIN-ACCESS  read-create
           DESCRIPTION "Write access is required."

           OBJECT      teTunnelDestinationAddress
           MIN-ACCESS  read-create
           DESCRIPTION "Write access is required."

           OBJECT      tePathName
           MIN-ACCESS  read-create
           DESCRIPTION "Write access is required."

           OBJECT      tePathRowStatus
           MIN-ACCESS  read-create
           DESCRIPTION "Write access is required."



Kompella, K.                 Standards Track                   [Page 30]


Internet Draft          A Traffic Engineering MIB         September 2002


           OBJECT      tePathStorageType
           MIN-ACCESS  read-create
           DESCRIPTION "Write access is required."

           OBJECT      tePathType
           MIN-ACCESS  read-create
           DESCRIPTION "Write access is required."

           OBJECT      tePathConfiguredRoute
           MIN-ACCESS  read-create
           DESCRIPTION "Write access is required."

           OBJECT      tePathBandwidth
           MIN-ACCESS  read-create
           DESCRIPTION "Write access is required."

           OBJECT      tePathIncludeAny
           MIN-ACCESS  read-create
           DESCRIPTION "Write access is required."

           OBJECT      tePathIncludeAll
           MIN-ACCESS  read-create
           DESCRIPTION "Write access is required."

           OBJECT      tePathExclude
           MIN-ACCESS  read-create
           DESCRIPTION "Write access is required."

           OBJECT      tePathSetupPriority
           MIN-ACCESS  read-create
           DESCRIPTION "Write access is required."

           OBJECT      tePathHoldPriority
           MIN-ACCESS  read-create
           DESCRIPTION "Write access is required."

           OBJECT      tePathProperties
           MIN-ACCESS  read-create
           DESCRIPTION "Write access is required."

           OBJECT      tePathAdminStatus
           MIN-ACCESS  read-create
           DESCRIPTION "Write access is required."

           OBJECT      tePathHopRowStatus
           MIN-ACCESS  read-create
           DESCRIPTION "Write access is required."




Kompella, K.                 Standards Track                   [Page 31]


Internet Draft          A Traffic Engineering MIB         September 2002


           OBJECT      tePathHopStorageType
           MIN-ACCESS  read-create
           DESCRIPTION "Write access is required."

           OBJECT      tePathHopAddrType
           MIN-ACCESS  read-create
           DESCRIPTION "Write access is required."

           OBJECT      tePathHopAddress
           MIN-ACCESS  read-create
           DESCRIPTION "Write access is required."

       ::= { teModuleCompliance 2 }

   -- End of TE-MIB

   END


5. Normative References

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

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

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

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

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

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

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

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



Kompella, K.                 Standards Track                   [Page 32]


Internet Draft          A Traffic Engineering MIB         September 2002


   [19] Blumenthal, U., and B. Wijnen, "User-based Security Model (USM)
        for version 3 of the Simple Network Management Protocol
        (SNMPv3)", RFC 2274, January 1998.

   [20] Wijnen, B., Presuhn, R., and K. McCloghrie, "View-based Access
        Control Model (VACM) for the Simple Network Management Protocol
        (SNMP)", RFC 2275, January 1998.

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


6. Informative References

   [1]  Awduche, D., Malcolm, J., Agogbua, J., O'Dell, M., and J.
        McManus, "Requirements for Traffic Engineering Over MPLS", RFC
        2702, September 1999.

   [2]  Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V., and G.
        Swallow, "RSVP-TE: Extensions to RSVP for LSP Tunnels", work in
        progress.

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

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

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

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

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

   [16] Levi, D., Meyer, P. and B. Stewart, "SMPv3 Applications", RFC
        2573, January 1998.

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



Kompella, K.                 Standards Track                   [Page 33]


Internet Draft          A Traffic Engineering MIB         September 2002


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

   [22] Jamoussi, B. (Editor) et al, "Constraint-Based LSP Setup using
        LDP", RFC 3212, January 2002.


7. 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
   sensitive information.  The most important are the following tables:
   teTunnelTable, tePathTable and tePathHopTable.  It may be advisable
   to secure the teAdminGroupTable as well.

   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.

   SNMPv1 by itself is not a secure environment.  Even if the network
   itself is secure (for example by using IPSec), even then, 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.

   Implementers SHOULD consider the security features as provided by the
   SNMPv3 framework.  Specifically, they SHOULD consider using the User-
   based Security Model [19] and the View-based Access Control Model
   [20].

   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.









Kompella, K.                 Standards Track                   [Page 34]


Internet Draft          A Traffic Engineering MIB         September 2002


Acknowledgments

   It was Tony Li's suggestion that the author embark on this MIB.  Many
   thanks to him and to Der-Hwa Gan for their input and help.


Author's Information

   Kireeti Kompella
   Juniper Networks, Inc.
   1194 N. Mathilda Ave
   Sunnyvale, CA 94089
   Email: kireeti@juniper.net


Intellectual Property Rights Notices

   The IETF takes no position regarding the validity or scope of any
   intellectual property or other rights that might be claimed to
   pertain to the implementation or use of the technology described in
   this document or the extent to which any license under such rights
   might or might not be available; neither does it represent that it
   has made any effort to identify any such rights.  Information on the
   IETF's procedures with respect to rights in standards-track and
   standards-related documentation can be found in BCP-11.  Copies of
   claims of rights made available for publication and any assurances of
   licenses to be made available, or the result of an attempt made to
   obtain a general license or permission for the use of such
   proprietary rights by implementors or users of this specification can
   be obtained from the IETF Secretariat.

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights which may cover technology that may be required to practice
   this standard.  Please address the information to the IETF Executive
   Director.















Kompella, K.                 Standards Track                   [Page 35]


Internet Draft          A Traffic Engineering MIB         September 2002


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
























Kompella, K.                 Standards Track                   [Page 36]