Internet Draft        MPLS Traffic Engineering MIB        16 Feb 1999






  MPLS Traffic Engineering Management Information Base Using SMIv2

                    draft-ietf-mpls-te-mib-00.txt

                          February 16, 1999



                          Cheenu Srinivasan
                         Lucent Technologies
                          cheenu@lucent.com

                          Arun Viswanathan
                         Lucent Technologies
                          arunv@lucent.com





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



Srinivasan & Viswanathan       Expires 16 August 1999        [Page 1]


Internet Draft        MPLS Traffic Engineering MIB        16 Feb 1999



   in  the  Internet community.  In particular, it describes  managed
   objects  for  modeling  an Multi-Protocol Label  Switching  (MPLS)
   [MPLSArch,  MPLSFW]  Labeled Switched Router (LSR)  and  for  MPLS
   based traffic engineering.


Open Issues

   -  Partitioning   this  document  into  an  MPLS-TE-MIB   document
      containing  end-to-end objects such as tunnels and MPLS-LSR-MIB
      document containing objects modeling an individual LSR.

   -  Support  for  tunnel  re-routing  using  shared-explicit   RSVP
      filters.

   -  Does mplsTSpecTable belong in this document?

   -  The  MIB  needs  to  be assigned an OID under the  experimental
      branch.

   -  Support for signalled COS value.

   -  Do  we  need  objects to keep track of ownership of entries  in
      various tables?

   -  More descriptive text and detailed example.

   -  Reconcile  mplsInterfaceConfTable with  the  interface  related
      objects   in  the  LDP  MIB  [LDPMIB]  including  objects   for
      negotiated label ranges.

   -  Address multipath related issues.

   -  Introduce  a  scalar  to indicate the maximum  supported  label
      stack depth.


1. 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  modeling  an Multi-Protocol Label  Switching  (MPLS)
   [MPLSArch,  MPLSFW]  Labeled Switched Router (LSR)  and  for  MPLS
   based traffic engineering. Comments should be made directly to the
   MPLS mailing list at mpls@uu.net.

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




Srinivasan & Viswanathan       Expires 16 August 1999        [Page 2]


Internet Draft        MPLS Traffic Engineering MIB        16 Feb 1999




2. Terminology

   This document uses terminology from the MPLS architecture document
   [MPLSArch].

   An  explicitly  routed LSP is referred to as an MPLS  tunnel.   It
   consists  of  one  in-segment  and/or  one  out-segment   at   the
   ingress/egress  LSRs.   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.


3. The SNMP Management Framework

   The  SNMP  Management Framework presently consists of  five  major
   components:

   -  An overall architecture, described in RFC 2271 [SNMPArch].

   -  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
      RFC   1155  [SMIv1],  RFC  1212  [SNMPv1MIBDef]  and  RFC  1215
      [SNMPv1Traps].  The second version, called SMIv2, is  described
      in   RFC  1902  [SMIv2],  RFC  1903  [SNMPv2TC]  and  RFC  1904
      [SNMPv2Conf].

   -  Message protocols for transferring management information.  The
      first  version  of the SNMP message protocol is  called  SNMPv1
      and  described in RFC 1157 [SNMPv1].  A second version  of  the
      SNMP  message  protocol,  which is not  an  Internet  standards
      track  protocol, is called SNMPv2c and described  in  RFC  1901
      [SNMPv2c]  and RFC 1906 [SNMPv2TM].  The third version  of  the
      message  protocol is called SNMPv3 and described  in  RFC  1906
      [SNMPv2TM], RFC 2272 [SNMPv3MP] and RFC 2274 [SNMPv3USM].

   -  Protocol operations for accessing management information.   The
      first set of protocol operations and associated PDU formats  is
      described  in  RFC  1157 [SNMPv1].  A second  set  of  protocol
      operations and associated PDU formats is described in RFC  1905
      [SNMPv2PO].

   -  A  set  of  fundamental  applications  described  in  RFC  2273
      [SNMPv3App]   and  the  view-based  access  control   mechanism
      described  in  RFC  2275  [SNMPv3VACM].   Managed  objects  are
      accessed   via   a  virtual  information  store,   termed   the
      Management  Information Base or MIB.  Objects in  the  MIB  are



Srinivasan & Viswanathan       Expires 16 August 1999        [Page 3]


Internet Draft        MPLS Traffic Engineering MIB        16 Feb 1999



      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.


3.1.  Object Definitions

   Managed  objects  are  accessed via a virtual  information  store,
   termed the Management Information Base or MIB.  Objects in the MIB
   are  defined  using  the subset of Abstract  Syntax  Notation  One
   (ASN.1)  defined in the SMI.  In particular, each object  type  is
   named  by an OBJECT IDENTIFIER, an administratively assigned name.
   The  object  type  together  with an  object  instance  serves  to
   uniquely  identify a specific instantiation of  the  object.   For
   human  convenience,  we  often use a textual  string,  termed  the
   descriptor, to also refer to the object type.


4. Feature Checklist

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

   -  The  MIB must support enabling and disabling of MPLS capability
      on MPLS capable interfaces of an LSR.

   -  The  MIB must support the configuration of point-to-point  uni-
      directional tunnels.

   -  The MIB should be able to support the configuration of point-to-
      point bi-directional tunnels.

   -  The  MIB  should  be  able  to  support  the  configuration  of
      multipoint-to-point unidirectional tunnels.

   -  MPLS  tunnels need not be interfaces, but it should be possible
      to configure a tunnel as an interface.

   -  The MIB should be able to support both manually configured MPLS
      tunnels  and  cross-connects as well as  via  LDP  and/or  RSVP
      signaling.

   -  The MIB should allow resource sharing between two or more LSPs.



Srinivasan & Viswanathan       Expires 16 August 1999        [Page 4]


Internet Draft        MPLS Traffic Engineering MIB        16 Feb 1999




   -  Both  per-platform  and  per-interface  label  spaces  must  be
      supported.

   -  MPLS packets must be forwarded solely based on an incoming  top
      label [MPLSArch, LblStk].

   -  Support  must  be  provided for next-hop  resolution  when  the
      outgoing interface is a shared media interface.  In the  point-
      to-multipoint  case,  each  outgoing  segment  can  be   on   a
      different shared media interface.

   -  The  MIB  must support point-to-point, point-to-multipoint  and
      multipoint-to-point connections at a cross-connect LSR.

   -  For  multipoint-to-point connections all the  outgoing  packets
      must have the same top label.

   -  For  multipoint-to-point connections the outgoing resources  of
      the merged connections must be shared.

   -  For  multipoint-to-point connections,  packets  from  different
      incoming  connections may 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.

   -  In  a point-to-multipoint connection the ingress resources  are
      shared by all the members of the connection.

   -  The  MIB  must  provide cross-connect capability  to  "pop"  an
      incoming  label  and forward the packet with the  rest  of  the
      label stack unchanged and without pushing any labels ("pop-and-
      go") [LblStk].

   -  It must be possible to assign or remap COS bits [LblStk] on the
      outgoing  label.   In the multipoint-to-point  case,  each  in-
      segment can have a different outgoing COS value.  In the point-
      to-multipoint  case,  each out-segment  can  have  a  different
      outgoing COS value.

   -  It  should  be possible to support persistent as well  as  non-
      persistent tunnels and cross-connects.

   -  Performance counters must be provided for in-segments and  out-
      segments  as well as for measuring MPLS performance on  a  per-
      interface basis.





Srinivasan & Viswanathan       Expires 16 August 1999        [Page 5]


Internet Draft        MPLS Traffic Engineering MIB        16 Feb 1999



5. Outline

   Traffic  engineering support for MPLS tunnels  and  cross-connects
   requires the following configuration.

   -  Enabling MPLS on MPLS capable interfaces.

   -  Setting  up  MPLS  tunnels  with the appropriate  configuration
      parameters.

   -  Setting up tunnel segments with appropriate traffic parameters.

   -  Setting up the cross-connect table to switch between segments.

   -  Specifying label stack actions.


5.1.  Summary of MPLS MIB

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

   -  Interface  configuration  table  (mplsInterfaceConfTable)   for
      enabling MPLS on MPLS capable interfaces.

   -  Tunnel   table   (mplsTunnelTable)   and   tunnel   hop   table
      (mplsTunnelHopTable) to configure MPLS tunnels.

   -  In-segment       (mplsInSegmentTable)      and      out-segment
      (mplsOutSegmentTable)  tables  for  configuring  in   and   out
      segments  of  a tunnel at the ingress and egress  LSRs  of  the
      tunnel.   These tables are also used for defining the  segments
      comprising  a  cross-connect entry at intermediate  LSRs  of  a
      tunnel.

   -  Cross-connect table (mplsXCTable) for configuring  MPLS  cross-
      connects  and creating relationships between in and out  tunnel
      segments constituting a cross-connect.

   -  Label  stack  table (mplsLabelStackTable) for specifying  label
      stack operations.

   - TSpec  table (mplsTSpecTable) for specifying LSP related traffic
      parameters.

   Further,  the MPLS in-segment and out-segment performance  tables,
   mplsInSegmentPerfTable  and mplsOutSegmentPerfTable,  contain  the
   objects  necessary to measure the performance of both tunnels  and
   cross-connects, and mplsInterfacePerfTable has objects to  measure
   MPLS performance on a per-interface basis.



Srinivasan & Viswanathan       Expires 16 August 1999        [Page 6]


Internet Draft        MPLS Traffic Engineering MIB        16 Feb 1999




   These tables are described in the subsequent sections.


6. Tunnel Specific Objects

   The  objects  described in this section support the  functionality
   described in documents [RSVPTun, CRLDP].  The tables support  both
   manually configured and signalled tunnels.  Moreover, they provide
   the capability to associate two uni-directional tunnels to form  a
   single bi-directional tunnel.


6.1.  mplsTunnelTable

   The  mplsTunnelTable allows new MPLS tunnels to be created between
   an  MPLS  LSR  and a remote endpoint, and existing tunnels  to  be
   reconfigured or removed.  Note that we only support point-to-point
   tunnel   segments,  although  multipoint-to-point  and   point-to-
   multipoint connections are supported by an LSR acting as a  cross-
   connect.    Each  MPLS  tunnel  can  thus  have  one   out-segment
   originating  at an LSR and/or one in-segment terminating  at  that
   LSR.

   mplsTunnelTable  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
   mplsTunnelTable   using  a  cross-connect  index,  mplsTunnelXCID.
   Section 8. provides an example.


6.2.  mplsTunnelHopTable

   mplsTunnelHopTable is used to indicate the hops, strict or  loose,
   for  an  MPLS  tunnel  defined  in  mplsTunnelTable,  when  it  is
   established  via  signaling.  Each row in this  table  is  indexed
   primarily  by  the same index mplsTunnelIndex as the  row  of  the
   corresponding  tunnel in mplsTunnelTable.  Each  row  also  has  a
   secondary index, mplsTunnelHopIndex, corresponding to the next hop
   of  this  tunnel.   The  scalar mplsTunnelMaxHops,  indicates  the
   maximum  number of hops that can be specified per tunnel  on  this
   LSR.


7. LSR Specific 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,
   when  considered together, are equivalent to the tables  described



Srinivasan & Viswanathan       Expires 16 August 1999        [Page 7]


Internet Draft        MPLS Traffic Engineering MIB        16 Feb 1999



   in  the  MPLS  architecture  document  [MPLSArch],  that  is,  the
   Incoming  Label Map (ILM) and the Next Hop Label Forwarding  Entry
   (NHLFE)  tables.  Section  7.9 describes  objects  for  specifying
   traffic parameters for in and out segments.


7.1.  mplsInterfaceConfTable

   This  table  represents the interfaces that are MPLS capable.   An
   LSR  creates  an  entry  in  this table  for  every  MPLS  capable
   interface on that LSR.  Each entry contains information about per-
   interface label ranges.  The administrator can specify the desired
   MPLS status (enable/up, disable/down, testing) of an interface  by
   writing the object mplsInterfaceAdminStatus.  The actual status is
   indicated by the object mplsInterfaceOperStatus.


7.2.  mplsInterfacePerfTable

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


7.3.  mplsInSegmentTable

   This table contains a description of the incoming MPLS segments to
   an LSR and their associated parameters.


7.4.  mplsInSegmentPerfTable

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


7.5.  mplsOutSegmentTable

   The  Out-Segment Table contains a description of the outgoing MPLS
   segments at an LSR and their associated parameters.


7.6.  mplsOutSegmentPerfTable

   The  MPLS  Out-Segment  Table  contains  objects  to  measure  the



Srinivasan & Viswanathan       Expires 16 August 1999        [Page 8]


Internet Draft        MPLS Traffic Engineering MIB        16 Feb 1999



   performance of an outgoing segment configured on an LSR.  It is an
   AUGMENT  to  mplsOutSegmentTable.   High  capacity  counters   are
   provided  for  objects that are likely to wrap around  quickly  on
   high-speed interfaces.


7.7.  mplsXCTable

   mplsXCTable specifies information for switching between  segments.
   It supports point-to-point, point-to-multipoint and multipoint-to-
   point connections.


7.8.  mplsLabelStackTable

   mplsLabelStackTable specifies the label stack to be pushed onto  a
   packet, beneath the top label.  Entries to this table are referred
   to from mplsXCTable.


7.9.  mplsTSpecTable

   mplsTSpecTable  contains  objects  for  specifying   the   traffic
   parameters  of  in  and out segments. Entries in  this  table  are
   referred to from mplsInSegmentTable and mplsOutSegmentTable.


8. Specifying the Segments of a Tunnel

   Suppose  that  we  want  to  manually  create  a  best-effort  bi-
   directional tunnel, consisting of an in-segment and an out-segment
   on  an  LSR  (with  no label stack beneath the top  label  on  the
   outgoing  labeled packets).  The following rows and  corresponding
   objects need to be created to do this.

   First,  the  in-segment and the out-segment are created  with  the
   appropriate traffic parameters.

   In mplsInSegmentTable:
   {
      mplsInSegmentIfIndex = i1,
      mplsInSegmentLabel = l1,
      mplsInSegmentNPop = 1,
      mplsInSegmentTSpecIndex = 0,
      mplsInSegmentRowStatus = createAndGo(3)
   }

   In mplsOutSegmentTable:
   {
      mplsOutSegmentIndex = o,



Srinivasan & Viswanathan       Expires 16 August 1999        [Page 9]


Internet Draft        MPLS Traffic Engineering MIB        16 Feb 1999



      mplsOutSegmentIfIndex = i2,
      mplsOutSegmentPushTopLabel = true(1),
      mplsOutSegmentTopLabel = l2,
      mplsOutSegmentTSpecIndex = 0,
      mplsOutSegmentRowStatus = createAndGo(3)
   }

   Next, two cross-connect entries associating these two segments by
   sharing the same mplsXCIndex are created.

   In mplsXCTable, for the in-segment:
   {
      mplsXCIndex = x,
      mplsInSegmentIfIndex = i1,
      mplsInSegmentLabel = l1,
      mplsOutSegmentIndex = 0,
      mplsLabelStackIndex = 0,
      mplsXCRowStatus = createAndGo(3)
   }

   In mplsXCTable, for the out-segment:
   {
      mplsXCIndex = x,
      mplsInSegmentIfIndex = 0,
      mplsInSegmentLabel = 0,
      mplsOutSegmentIndex = o,
      mplsXCLabelStackIndex = 0,
      mplsXCRowStatus = createAndGo(3)
   }


   Note     that     the     objects     mplsInSegmentXCIndex     and
   mplsOutSegmentXCIndex will automatically get  populated  with  the
   value   "x"  when  these  segments  are  referred  to   from   the
   corresponding cross-connect entries.


   Finally,  the  tunnel  entry  is  created,  which  points  to  the
   appropriate cross-connect entries.

   In mplsTunnelTable:
   {
      mplsTunnelIndex,
      mplsTunnelXCIndex = mplsXCIndex = x,
      ...
      mplsTunnelDirection = in-out(3),
      mplsXCRowStatus = createAndGo(3)
   }





Srinivasan & Viswanathan       Expires 16 August 1999       [Page 10]


Internet Draft        MPLS Traffic Engineering MIB        16 Feb 1999



9. MPLS Traffic Engineering MIB Definitions

MPLS-TE-MIB DEFINITIONS ::= BEGIN

IMPORTS
   MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
   experimental, Integer32, Counter32, Counter64, Gauge32, IpAddress
      FROM SNMPv2-SMI
   MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
      FROM SNMPv2-CONF
   TEXTUAL-CONVENTION, TruthValue, RowStatus
      FROM SNMPv2-TC
   ifIndex, InterfaceIndex, InterfaceIndexOrZero
      FROM IF-MIB
   BitRate, BurstSize
      FROM INTEGRATED-SERVICES-MIB;

mplsTeMIB MODULE-IDENTITY
   LAST-UPDATED "9902161030Z"  -- 16 February 1999 10:30:00 EST
   ORGANIZATION "Multiprotocol Label Switching (MPLS) Working Group"
   CONTACT-INFO
   "        Cheenu Srinivasan
     Postal: Lucent Technologies
             4F535, 101 Crawfords Corner Road
             Holmdel, NJ 07733
     Tel:    +1 732 949 0709
     Email:  cheenu@lucent.com

             Arun Viswanathan
     Postal: Lucent Technologies
             4D537, 101 Crawfords Corner Road
             Holmdel, NJ 07733
     Tel:    +1 732 332 5163
     Email:  arunv@lucent.com"
   DESCRIPTION
       "Proposed  MIB  module  for MPLS Traffic  Engineering
        (TE)  as  defined  in: Extensions to  RSVP  for  LSP
        Tunnels,  Awduche et al, Internet Draft <draft-mpls-
        rsvp-lsp-tunnel-00.txt>, Nov. 1998; Explicit Routing
        over  LDP  Specification, Jamoussi et  al,  Internet
        Draft   <draft-jamoussi-mpls-cr-ldp-01.txt>,    Feb.
        1999."
   ::= { experimental oid } -- to be assigned


-- Textual Conventions.

MplsTeIANAAddrFamily ::= TEXTUAL-CONVENTION
   STATUS        current
   DESCRIPTION



Srinivasan & Viswanathan       Expires 16 August 1999       [Page 11]


Internet Draft        MPLS Traffic Engineering MIB        16 Feb 1999



       "An address family.  Values are defined in RFC 1700 -
        Assigned Numbers.  All values may not be relevant in
        all contexts when used in this MIB, but are included
        for completeness."
   REFERENCE
       "RFC  1700  - Assigned Numbers, Reynolds and  Postel,
        Oct. 1994"
   SYNTAX        INTEGER {
                   other(0),
                    ipv4(1),
                    ipv6(2),
                    nsap(3),
                    hdlc(4),
                    bbn1822(5),
                    ieee802(6),
                    e163(7),
                    e164(8),
                    f69(9),
                    x121(10),
                    ipx(11),
                    appleTalk(12),
                    decnetIV(13),
                    banyanVines(14),
                    e164WithNsap(15)
                }

-- An MPLS label.
MplsLabel ::= TEXTUAL-CONVENTION
   STATUS        current
   DESCRIPTION
       "Represents an MPLS label.  Note that the contents of
        a  label  field are interpreted in an interface-type
        specific fashion.  For example, the label carried in
        the MPLS shim header is 20 bits wide and the top  12
        bits  must  be zero.  The frame relay label  can  be
        either 10, 17 or 23 bits wide depending on the  size
        of the DLCI field size and the top 22, 15, or 9 bits
        must  be  zero, respectively.  For an ATM interface,
        the  lowermost 16 bits are interpreted as  the  VCI,
        the  next  8 bits as the VPI and the remaining  bits
        must  be  zero.   Also  note the  permissible  label
        values  are  also a function of the interface  type.
        For  example,  the value 3 has special semantics  in
        the  control plane for an MPLS shim header label and
        is not a valid label value in the datapath."
   REFERENCE
       "1.  MPLS  Label Stack Encoding, Rosen et al,  draft-
        ietf-mpls-label-encaps-03.txt, Sept. 1998
       2.  Use  of  Label Switching on Frame Relay Networks,
        Conta et al, draft-ietf-mpls-fr-03.txt, Nov. 1998."



Srinivasan & Viswanathan       Expires 16 August 1999       [Page 12]


Internet Draft        MPLS Traffic Engineering MIB        16 Feb 1999



   SYNTAX Integer32

MplsTunnelIndex ::= TEXTUAL-CONVENTION
   STATUS        current
   DESCRIPTION
       "Index into mplsTunnelTable."
   SYNTAX        INTEGER (0..65535)

MplsTunnelCookie ::= TEXTUAL-CONVENTION
   STATUS        current
   DESCRIPTION
       "A  globally  unique identifier that is  assigned  to
        each ERLSP.  This is assigned at the head end of the
        ERLSP  and can be used by all LSRs to identify  this
        ERLSP.  At the head end this cookie is maintained in
        the  tunnel  table  as  mplsTunnelLocalCookie.   For
        signalled tunnels this cookie is piggybacked by  the
        signaling  protocol  to the  remote  end  where  the
        cookie is stored in the remote LSR's tunnel table as
        mplsTunnelRemoteCookie for the tunnel.  For creating
        bi-directional  tunnels  the  cookie  is   used   to
        associate   the   two  uni-directional   ERLSPs   as
        belonging to the same tunnel.

        It  is recommended that the cookie value be assigned
        by  concatenating the head-end LSR's IP address with
        the  tunnel index.  For IPv4 addresses this  results
        in a 6-octet long cookie."
   SYNTAX        OCTET STRING (SIZE(6))

Ipv6Address ::= TEXTUAL-CONVENTION
   STATUS      current
   DESCRIPTION
       "IPv6 address."
   SYNTAX      OCTET STRING (SIZE(16))


-- Top level components of this MIB.

-- tables, scalars
mplsTeObjects       OBJECT IDENTIFIER ::= { mplsTeMIB 1 }
-- traps
mplsTeNotifications OBJECT IDENTIFIER ::= { mplsTeMIB 2 }
-- conformance
mplsTeConformance   OBJECT IDENTIFIER ::= { mplsTeMIB 3 }



-- MPLS tunnel table.




Srinivasan & Viswanathan       Expires 16 August 1999       [Page 13]


Internet Draft        MPLS Traffic Engineering MIB        16 Feb 1999



mplsTunnelTable OBJECT-TYPE
   SYNTAX        SEQUENCE OF MplsTunnelEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "The  mplsTunnelTable allows new MPLS 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 multipoint-to-point and point-to-
        multipoint  connections  are  supported  by  an  LSR
        acting  as  a cross-connect.  Each MPLS  tunnel  can
        thus  have one out-segment originating at  this  LSR
        and/or one in-segment terminating at this LSR."
   ::= { mplsTeObjects 1 }

mplsTunnelEntry OBJECT-TYPE
   SYNTAX        MplsTunnelEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "An  entry  in this table represents an MPLS  tunnel.
        An  entry  can be created by a network administrator
        or by an SNMP agent as instructed by LDP or RSVP."
   INDEX         {  mplsTunnelIndex  }
      ::= { mplsTunnelTable 1 }

MplsTunnelEntry ::= SEQUENCE {
      mplsTunnelIndex                 MplsTunnelIndex,
      mplsTunnelName                  DisplayString,
      mplsTunnelDescr                 DisplayString,
      mplsTunnelIsIf                  TruthValue,
      mplsTunnelIfIndex               InterfaceIndexOrZero,
      mplsTunnelDirection             INTEGER,
      mplsTunnelXCIndex               Integer32,
      mplsTunnelSignallingProto       INTEGER,
      mplsTunnelLocalCookie           MplsTunnelCookie,
      mplsTunnelRemoteCookie          MplsTunnelCookie,
      mplsTunnelIsMergeable           TruthValue,
      mplsTunnelSetupPrio             INTEGER,
      mplsTunnelHoldingPrio           INTEGER,
      mplsTunnelInMaxRate             BitRate,
      mplsTunnelInMeanRate            BitRate,
      mplsTunnelInMaxBurstSize        BurstSize,
      mplsTunnelOutMaxRate            BitRate,
      mplsTunnelOutMeanRate           BitRate,
      mplsTunnelOutMaxBurstSize       BurstSize,
      mplsTunnelIsPinned              TruthValue,
      mplsTunnelIsPersistent          TruthValue,
      mplsTunnelAdminStatus           INTEGER,



Srinivasan & Viswanathan       Expires 16 August 1999       [Page 14]


Internet Draft        MPLS Traffic Engineering MIB        16 Feb 1999



      mplsTunnelOperStatus            INTEGER,
      mplsTunnelRowStatus             RowStatus
   }

mplsTunnelIndex OBJECT-TYPE
   SYNTAX        Integer32
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "Uniquely identifies this row."
   ::= { mplsTunnelEntry 1 }

mplsTunnelName OBJECT-TYPE
   SYNTAX        DisplayString
   MAX-ACCESS    read-create
   STATUS        current
DESCRIPTION
       "The 'canonical' name assigned to the tunnel that can
        be  used  to refer to it on the 'console' port.   If
        mplsTunnelIsIf  is  set  to  true  ifName   of   the
        interface corresponding to this tunnel should have a
        value   equal  to  mplsTunnelName.   Also  see   the
        description of ifName in RFC 2233."
   REFERENCE
       "RFC  2233  -  The Interfaces Group MIB using  SMIv2,
        McCloghrie and Kastenholtz, Nov. 1997"
   ::= { mplsTunnelEntry 2 }

mplsTunnelDescr 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."
   ::= { mplsTunnelEntry 3 }

mplsTunnelIsIf OBJECT-TYPE
   SYNTAX        TruthValue
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "Is this tunnel also an interface?"
   DEFVAL        { false }
   ::= { mplsTunnelEntry 4 }

mplsTunnelIfIndex OBJECT-TYPE
   SYNTAX        InterfaceIndexOrZero
   MAX-ACCESS    read-only



Srinivasan & Viswanathan       Expires 16 August 1999       [Page 15]


Internet Draft        MPLS Traffic Engineering MIB        16 Feb 1999



   STATUS        current
   DESCRIPTION
       "If this tunnel is an interface then the LSR assigned
        ifIndex.  Otherwise this is set to zero."
   DEFVAL        { 0 }
   ::= { mplsTunnelEntry 5 }

mplsTunnelDirection OBJECT-TYPE
   SYNTAX        INTEGER { in(1), out(2), in-out(3) }
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "Whether   this  tunnel  is  unidirectional-incoming,
        unidirectional-outgoing, or bidirectional."
   ::= { mplsTunnelEntry 6 }

mplsTunnelXCIndex OBJECT-TYPE
   SYNTAX        Integer32
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "Index into mplsXCTable identifying the segments that
        compose    this   tunnel,   their   characteristics,
        relationship etc."
   DEFVAL        { 0 }
   ::= { mplsTunnelEntry 7 }

mplsTunnelSignallingProto OBJECT-TYPE
   SYNTAX        INTEGER { none(1), ldp(2), rsvp(3) }
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "The  signaling protocol, if any, that  set  up  this
        tunnel."
   DEFVAL        { none }
   ::= { mplsTunnelEntry 8 }

mplsTunnelLocalCookie OBJECT-TYPE
   SYNTAX        MplsTunnelCookie
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "The  local cookie assigned to the outgoing direction
        of this tunnel at this LSR."
   ::= { mplsTunnelEntry 9 }

mplsTunnelRemoteCookie OBJECT-TYPE
   SYNTAX        MplsTunnelCookie
   MAX-ACCESS    read-only
   STATUS        current



Srinivasan & Viswanathan       Expires 16 August 1999       [Page 16]


Internet Draft        MPLS Traffic Engineering MIB        16 Feb 1999



   DESCRIPTION
       "The remote cookie assigned to the incoming direction
        of tunnel by the remote (head-end) LSR."
   ::= { mplsTunnelEntry 10 }

mplsTunnelIsMergeable OBJECT-TYPE
   SYNTAX        TruthValue
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "Whether  this  tunnel  can  be  merged  at  an   LSR
        downstream with another tunnel."
   DEFVAL        { true }
   ::= { mplsTunnelEntry 11 }

mplsTunnelSetupPrio OBJECT-TYPE
   SYNTAX        INTEGER (0..7)
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "The setup priority of this tunnel."
   REFERENCE
       "Extensions to RSVP for LSP Tunnels, Awduche  et  al,
        Internet  Draft <draft-mpls-rsvp-lsp-tunnel-00.txt>,
        Nov. 1998.  Explicit Routing over LDP Specification,
        Jamoussi et al, Internet Draft <draft-jamoussi-mpls-
        cr-ldp-01.txt>, Feb. 1999."
   ::= { mplsTunnelEntry 12 }

mplsTunnelHoldingPrio OBJECT-TYPE
   SYNTAX        INTEGER (0..7)
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "The holding priority for this tunnel."
   REFERENCE
       "Extensions to RSVP for LSP Tunnels, Awduche  et  al,
        Internet  Draft <draft-mpls-rsvp-lsp-tunnel-00.txt>,
        Nov.  1998; Explicit Routing over LDP Specification,
        Jamoussi et al, Internet Draft <draft-jamoussi-mpls-
        cr-ldp-01.txt>, Feb. 1999."
   ::= { mplsTunnelEntry 13 }

-- When resource allocation is performed as requested by
-- the following incoming TSpec objects, they are copied
-- into an entry in mplsTSpecTable: mplsTunnelInMaxRate
-- to mplsTSpecMaxRate, mplsTunnelInMeanRate to
-- mplsTSpecMeanRate, and mplsTunnelInMaxBurstSize
-- to mplsTSpecMaxBurstSize; mplsTSpecDirection of this
-- entry is set to in(1).  The mplsTSpecIndex value of this



Srinivasan & Viswanathan       Expires 16 August 1999       [Page 17]


Internet Draft        MPLS Traffic Engineering MIB        16 Feb 1999



-- entry is copied to  mplsInSegmentTSpecIndex of the
-- corresponding in-segment entry.

mplsTunnelInMaxRate OBJECT-TYPE
   SYNTAX        BitRate
   UNITS         "bits per second"
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "The maximum incoming rate in bits/second.  Note that
        setting  mplsTunnelInMaxRate,  mplsTunnelInMeanRate,
        and  mplsTunnelInMaxBurstSize to 0  indicates  best-
        effort  treatment.   This object  is  copied  to  an
        instance  of mplsTSpecMaxRate in mplsTSpecTable  the
        index  of  which  is  copied into the  corresponding
        mplsInSegmentTSpecIndex."
   DEFVAL        { 0 }
   ::= { mplsTunnelEntry 14 }

mplsTunnelInMeanRate OBJECT-TYPE
   SYNTAX        BitRate
   UNITS         "bits per second"
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "This   object   is   copied  to   an   instance   of
        mplsTSpecMeanRate  in mplsTSpecTable  the  index  of
        which    is    copied    into   the    corresponding
        mplsInSegmentTSpecIndex."
   DEFVAL        { 0 }
   ::= { mplsTunnelEntry 15 }

mplsTunnelInMaxBurstSize OBJECT-TYPE
   SYNTAX        BurstSize
   UNITS         "bytes"
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "The  maximum  burst size in bytes.  This  object  is
        copied    to   mplsInSegmentMaxBurstSize   of    the
        corresponding in-segment."
   DEFVAL        { 0 }
   ::= { mplsTunnelEntry 16 }

-- When resource allocation is performed as requested by
-- the following outgoing TSpec objects, they are copied
-- into an entry in mplsTSpecTable: mplsTunnelOutMaxRate
-- to mplsTSpecMaxRate, mplsTunnelOutMeanRate to
-- mplsTSpecMeanRate, and mplsTunnelOutMaxBurstSize
-- to mplsTSpecMaxBurstSize; mplsTSpecDirection of this



Srinivasan & Viswanathan       Expires 16 August 1999       [Page 18]


Internet Draft        MPLS Traffic Engineering MIB        16 Feb 1999



-- entry is set to out(2).  The mplsTSpecIndex value of this
-- entry is copied to mplsOutSegmentTSpecIndex of the
-- corresponding out-segment entry.

mplsTunnelOutMaxRate OBJECT-TYPE
   SYNTAX        BitRate
   UNITS         "bits per second"
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "The maximum outgoing rate in bits/second.  Note that
        setting mplsTunnelOutMaxRate, mplsTunnelOutMeanRate,
        and  mplsTunnelOutMaxBurstSize to 0 indicates  best-
        effort   treatment.   This  object  is   copied   to
        mplsOutSegmentMaxRate  of  the  corresponding   out-
        segment."
   DEFVAL        { 0 }
   ::= { mplsTunnelEntry 17 }

mplsTunnelOutMeanRate OBJECT-TYPE
   SYNTAX        BitRate
   UNITS         "bits per second"
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "The  mean outgoing rate in bits/second.  This object
        is   copied   to   mplsOutSegmentMeanRate   of   the
        corresponding out-segment."
   DEFVAL        { 0 }
   ::= { mplsTunnelEntry 18 }

mplsTunnelOutMaxBurstSize OBJECT-TYPE
   SYNTAX        BurstSize
   UNITS         "bytes"
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "The  maximum  burst size in bytes.  This  object  is
        copied   to   mplsOutSegmentMaxBurstSize   of    the
        corresponding out-segment."
   DEFVAL        { 0 }
   ::= { mplsTunnelEntry 19 }

mplsTunnelIsPinned OBJECT-TYPE
   SYNTAX        TruthValue
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "Indicates  whether  the loose-routed  hops  of  this
        tunnel are to be pinned."



Srinivasan & Viswanathan       Expires 16 August 1999       [Page 19]


Internet Draft        MPLS Traffic Engineering MIB        16 Feb 1999



   DEFVAL        { false }
   ::= { mplsTunnelEntry 20 }

mplsTunnelIsPersistent OBJECT-TYPE
   SYNTAX        TruthValue
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "Indicates  whether  this tunnel should  be  restored
        automatically after failures."
   DEFVAL        { true }
   ::= { mplsTunnelEntry 21 }

mplsTunnelAdminStatus 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
       "Desired status of this tunnel."
   ::= { mplsTunnelEntry 22 }

mplsTunnelOperStatus 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
         lowerLayerNotPresent(7)
                       -- down due to the state of
                       -- lower layer interfaces
      }
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "The  operational status of this tunnel, typically  a
        function of the state of individual segments of this
        tunnel, among other things."
   ::= { mplsTunnelEntry 23 }

mplsTunnelRowStatus OBJECT-TYPE
   SYNTAX        RowStatus
   MAX-ACCESS    read-create
   STATUS        current



Srinivasan & Viswanathan       Expires 16 August 1999       [Page 20]


Internet Draft        MPLS Traffic Engineering MIB        16 Feb 1999



   DESCRIPTION
       "For controlling the state of this row."
   ::= { mplsTunnelEntry 24 }

-- End of mplsTunnelTable


-- Maximum number of tunnel hops supported.

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


-- Tunnel hop table.

mplsTunnelHopTable  OBJECT-TYPE
   SYNTAX        SEQUENCE OF MplsTunnelEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "The mplsTunnelHopTable is used to indicate the hops,
        strict  or  loose,  for an MPLS  tunnel  defined  in
        mplsTunnelTable,   when  it   is   established   via
        signaling, for the outgoing direction of the tunnel.
        Each  row in this table is indexed primarily by  the
        same  index,  mplsTunnelIndex, as  the  row  of  the
        corresponding tunnel in mplsTunnelTable.   Each  row
        also   has   a  secondary  index  mplsTunnelHopIndex
        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
        mplsTunnelHopTable."
   ::= { mplsTeObjects 3 }

mplsTunnelHopEntry  OBJECT-TYPE
   SYNTAX        MplsTunnelHopEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "An  entry in this table represents a tunnel hop.  An



Srinivasan & Viswanathan       Expires 16 August 1999       [Page 21]


Internet Draft        MPLS Traffic Engineering MIB        16 Feb 1999



        entry  is  created  by a network  administrator  for
        signalled ERLSP set up by LDP or RSVP."
   INDEX         {  mplsTunnelIndex, mplsTunnelHopIndex  }
      ::= { mplsTunnelHopTable 1 }

MplsTunnelHopEntry ::= SEQUENCE {
      mplsTunnelHopIndex              Integer32,
      mplsTunnelHopAddrType           INTEGER,
      mplsTunnelHopIpv4Addr           IpAddress,
      mplsTunnelHopIpv4PrefixLen      INTEGER,
      mplsTunnelHopIpv6Addr           Ipv6Address,
      mplsTunnelHopIpv6PrefixLen      INTEGER,
      mplsTunnelHopAsNumber           INTEGER,
      mplsTunnelHopStrictOrLoose      INTEGER,
      mplsTunnelHopRowStatus          RowStatus
   }

mplsTunnelHopIndex OBJECT-TYPE
   SYNTAX        Integer32
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "Secondary  index  into  this table  identifying  the
        particular hop."
   ::= { mplsTunnelHopEntry 1 }

mplsTunnelHopAddrType OBJECT-TYPE
   SYNTAX        INTEGER { ipV4(1), ipV6(2), asNumber(3) }
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "Address type of this hop."
   DEFVAL        { ipV4 }
   ::= { mplsTunnelHopEntry 2 }

mplsTunnelHopIpv4Addr OBJECT-TYPE
   SYNTAX        IpAddress
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "If mplsTunnelHopAddrType is ipV4(1), IPv4 address of
        this  hop.  This object is not significant otherwise
        and should return a value of 0."
   ::= { mplsTunnelHopEntry 3 }

mplsTunnelHopIpv4PrefixLen OBJECT-TYPE
   SYNTAX        INTEGER (0..31)
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION



Srinivasan & Viswanathan       Expires 16 August 1999       [Page 22]


Internet Draft        MPLS Traffic Engineering MIB        16 Feb 1999



       "If  mplsTunnelHopAddrType is ipV4(1), prefix  length
        for  this  hop's IPv4 address.  This object  is  not
        significant otherwise and should return a  value  of
        0."
   ::= { mplsTunnelHopEntry 4 }

mplsTunnelHopIpv6Addr OBJECT-TYPE
   SYNTAX        Ipv6Address
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "If   mplsTunnelHopAddrType  is  ipV6(2),  the   IPv6
        address of this hop.  This object is not significant
        otherwise and should return a value of 0."
   ::= { mplsTunnelHopEntry 5 }

mplsTunnelHopIpv6PrefixLen OBJECT-TYPE
   SYNTAX        INTEGER (0..127)
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "If  mplsTunnelHopAddrType is ipV6(2), prefix  length
        for  this  hop's IPv6 address.  This object  is  not
        significant otherwise and should return a  value  of
        0."
   ::= { mplsTunnelHopEntry 6 }

mplsTunnelHopAsNumber OBJECT-TYPE
   SYNTAX        INTEGER (0..65535)
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "If  mplsTunnelHopAddrType  is  asNumber(3),  the  AS
        number  this  hop.  This object is  not  significant
        otherwise and should return a value of 0."
   ::= { mplsTunnelHopEntry 7 }

mplsTunnelHopStrictOrLoose OBJECT-TYPE
   SYNTAX        INTEGER { strict(1), loose(2) }
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "Whether this is a strict or loose hop."
   ::= { mplsTunnelHopEntry 8 }

mplsTunnelHopRowStatus OBJECT-TYPE
   SYNTAX        RowStatus
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION



Srinivasan & Viswanathan       Expires 16 August 1999       [Page 23]


Internet Draft        MPLS Traffic Engineering MIB        16 Feb 1999



       "For creating, modifying and deleting this row."
   ::= { mplsTunnelHopEntry 9 }

-- End of mplsTunnelHopTable


-- MPLS Interface Configuration Table.

mplsInterfaceConfTable  OBJECT-TYPE
   SYNTAX        SEQUENCE OF MplsInterfaceConfEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "This  table  specifies per-interface MPLS capability
        and associated information."
   ::= { mplsTeObjects 4 }

mplsInterfaceConfEntry OBJECT-TYPE
   SYNTAX        MplsInterfaceConfEntry
   MAX-ACCESS    not-accessible
   STATUS        current
       DESCRIPTION
       "An  entry  in this table is created by  an  LSR  for
        every  interface  capable  of  supporting  MPLS  and
        represents the label space of that interface.  A row
        with index 0 represents the global label space."
   INDEX       {  mplsInterfaceConfIndex  }
      ::= { mplsInterfaceConfTable 1 }

MplsInterfaceConfEntry ::= SEQUENCE {
      mplsInterfaceConfIndex      InterfaceIndexOrZero,
      mplsInterfaceLabelMinIn     MplsLabel,
      mplsInterfaceLabelMaxIn     MplsLabel,
      mplsInterfaceLabelMinOut    MplsLabel,
      mplsInterfaceLabelMaxOut    MplsLabel,
      mplsInterfaceAdminStatus    INTEGER,
      mplsInterfaceOperStatus     INTEGER
   }

mplsInterfaceConfIndex OBJECT-TYPE
   SYNTAX        InterfaceIndexOrZero
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "Index  for  this row of the table.   A  value  of  0
        indicates the global label space and this  entry  is
        created  by  the LSR if it supports a  global  label
        space.   A  non-zero  index is  also  the  interface
        index,  ifIndex,  for  the  corresponding  interface
        entry in ifTable."



Srinivasan & Viswanathan       Expires 16 August 1999       [Page 24]


Internet Draft        MPLS Traffic Engineering MIB        16 Feb 1999



   REFERENCE
       "RFC  2233  -  The Interfaces Group MIB using  SMIv2,
        McCloghrie and Kastenholtz, Nov. 1997"
   ::= { mplsInterfaceConfEntry 1 }

mplsInterfaceLabelMinIn OBJECT-TYPE
   SYNTAX        MplsLabel
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "Minimum value of MPLS label that this LSR is willing
        to receive on this interface."
   ::= { mplsInterfaceConfEntry 2 }

mplsInterfaceLabelMaxIn OBJECT-TYPE
   SYNTAX        MplsLabel
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "Maximum value of MPLS label that this LSR is willing
        to receive on this interface."
   ::= { mplsInterfaceConfEntry 3 }

mplsInterfaceLabelMinOut OBJECT-TYPE
   SYNTAX        MplsLabel
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "Minimum value of MPLS label that this LSR is willing
        to send on this interface."
   ::= { mplsInterfaceConfEntry 4 }

mplsInterfaceLabelMaxOut OBJECT-TYPE
   SYNTAX        MplsLabel
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "Maximum value of MPLS label that this LSR is willing
        to send on this interface."
   ::= { mplsInterfaceConfEntry 5 }

mplsInterfaceAdminStatus OBJECT-TYPE
   SYNTAX        INTEGER {
         up(1),     -- enable MPLS on this interface
         down(2),   -- disable MPLS on this interface
         testing(3) -- in some test mode
      }
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION



Srinivasan & Viswanathan       Expires 16 August 1999       [Page 25]


Internet Draft        MPLS Traffic Engineering MIB        16 Feb 1999



       "Indicates the administrator's intent as to   whether
        MPLS   should  be  enabled  or  disabled   on   this
        interface."
   DEFVAL        { down }
   ::= { mplsInterfaceConfEntry 6 }

mplsInterfaceOperStatus 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
         lowerLayerNotPresent(7)
                       -- down due to the state of
                       -- lower layer interfaces
      }
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "Indicates  the  actual  status  of  MPLS   on   this
        interface."
   ::= { mplsInterfaceConfEntry 7 }


-- End of mplsInterfaceConfTable


-- MPLS Interface Performance Table.

mplsInterfacePerfTable  OBJECT-TYPE
   SYNTAX        SEQUENCE OF MplsInterfacePerfEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "This  table  provides per-interface MPLS performance
        information."
   ::= { mplsTeObjects 5 }

mplsInterfacePerfEntry OBJECT-TYPE
   SYNTAX        MplsInterfacePerfEntry
   MAX-ACCESS    not-accessible
   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 mplsInterfaceConfEntry."
   AUGMENTS      { mplsInterfaceConfEntry }



Srinivasan & Viswanathan       Expires 16 August 1999       [Page 26]


Internet Draft        MPLS Traffic Engineering MIB        16 Feb 1999



      ::= { mplsInterfacePerfTable 1 }

MplsInterfacePerfEntry ::= SEQUENCE {
      -- incoming direction
      mplsInterfaceInLabelsUsed           Gauge32,
      mplsInterfaceInOctets               Counter32,
      mplsInterfaceInPackets              Counter32,
      mplsInterfaceInErrors               Counter32,
      mplsInterfaceInDiscards             Counter32,
      mplsInterfaceFailedLabelLookup      Counter32,

      -- outgoing direction
      mplsInterfaceOutLabelsUsed          Gauge32,
      mplsInterfaceOutOctets              Counter32,
      mplsInterfaceOutPackets             Counter32,
      mplsInterfaceOutErrors              Counter32,
      mplsInterfaceOutDiscards            Counter32,

      -- high capacity counters
      mplsInterfaceInHCOctets             Counter64,
      mplsInterfaceOutHCOctets            Counter64
   }

mplsInterfaceInLabelsUsed OBJECT-TYPE
   SYNTAX        Gauge32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "The  number of labels that are in use at this  point
        on this interface in the incoming direction."
   ::= { mplsInterfacePerfEntry 1 }

mplsInterfaceInOctets OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "The  number  of  octets that have been  received  in
        labeled packets on this interface."
   ::= { mplsInterfacePerfEntry 2 }

mplsInterfaceInPackets OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "The   number  of  labeled  packets  that  have  been
        received on this interface."
   ::= { mplsInterfacePerfEntry 3 }




Srinivasan & Viswanathan       Expires 16 August 1999       [Page 27]


Internet Draft        MPLS Traffic Engineering MIB        16 Feb 1999



mplsInterfaceInErrors OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "The   number  of  labeled  packets  that  have  been
        received on this interface that were errored."
   ::= { mplsInterfacePerfEntry 4 }

mplsInterfaceInDiscards OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "The   number  of  labeled  packets  that  have  been
        received on this interface that were discarded."
   ::= { mplsInterfacePerfEntry 5 }

mplsInterfaceFailedLabelLookup OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "The   number  of  labeled  packets  that  have  been
        received  on  this  interface  that  were  discarded
        because   no   matching  entries   were   found   in
        mplsInSegmentTable."
   ::= { mplsInterfacePerfEntry 6 }

mplsInterfaceOutLabelsUsed OBJECT-TYPE
   SYNTAX        Gauge32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "The  number of labels that are in use at this  point
        on this interface in the outgoing direction."
   ::= { mplsInterfacePerfEntry 7 }

mplsInterfaceOutOctets OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "The  number of octets that have been sent as labeled
        packets on this interface."
   ::= { mplsInterfacePerfEntry 8 }

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



Srinivasan & Viswanathan       Expires 16 August 1999       [Page 28]


Internet Draft        MPLS Traffic Engineering MIB        16 Feb 1999



   STATUS        current
   DESCRIPTION
       "The number of labeled packets that have been sent on
        this interface."
   ::= { mplsInterfacePerfEntry 9 }

mplsInterfaceOutErrors OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "The number of labeled packets that could not be sent
        on this interface due to errors."
   ::= { mplsInterfacePerfEntry 10 }

mplsInterfaceOutDiscards OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "The  number  of  outgoing labeled  packets  on  this
        interface that had to be discarded due to errors  or
        other conditions such as buffer overflows."
   ::= { mplsInterfacePerfEntry 11 }

mplsInterfaceInHCOctets OBJECT-TYPE
   SYNTAX        Counter64
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "The  number  of  octets that have been  received  in
        labeled packets on this interface.  This is  the  64
        bit version of mplsInterfaceInOctets."
   ::= { mplsInterfacePerfEntry 15 }

mplsInterfaceOutHCOctets OBJECT-TYPE
   SYNTAX        Counter64
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "The  number of octets that have been sent in labeled
        packets  on  this interface.  This  is  the  64  bit
        version of mplsInterfaceOutOctets."
   ::= { mplsInterfacePerfEntry 16 }

-- End of mplsInterfacePerfTable


-- In-segment table.




Srinivasan & Viswanathan       Expires 16 August 1999       [Page 29]


Internet Draft        MPLS Traffic Engineering MIB        16 Feb 1999



mplsInSegmentTable  OBJECT-TYPE
   SYNTAX        SEQUENCE OF MplsInSegmentEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "This  table  contains a description of the  incoming
        segments to a LSR."
   ::= { mplsTeObjects 6 }

mplsInSegmentEntry  OBJECT-TYPE
   SYNTAX        MplsInSegmentEntry
   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 by an SNMP agent as instructed  by
        LDP   or  RSVP.   It  is  indexed  by  the  incoming
        interface index and (top) label.  Note that some  of
        the  segments  are  associated with  a  tunnel,  the
        traffic  parameters of these rows are  supported  as
        read-only objects and their modification can be done
        only via the tunnel table."
   INDEX         { mplsInSegmentIfIndex, mplsInSegmentLabel }
      ::= { mplsInSegmentTable 1 }

MplsInSegmentEntry ::= SEQUENCE {
      mplsInSegmentIfIndex         InterfaceIndex,
      mplsInSegmentLabel           MplsLabel,
      mplsInSegmentNPop            Integer32,
      mplsInSegmentAddrFamily      MplsTeIANAAddrFamily,
      mplsInSegmentXCIndex         Integer32,
      mplsInSegmentTSpecIndex      Unsigned32,
      mplsInSegmentAdminStatus     INTEGER,
      mplsInSegmentOperStatus      INTEGER,
      mplsInSegmentRowStatus       RowStatus
   }

mplsInSegmentIfIndex OBJECT-TYPE
   SYNTAX        InterfaceIndexOrZero
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "Incoming   interface  index.   A   value   of   zero
        represents  an incoming label from the  per-platform
        label  space.   In this case, the mplsInSegmentLabel
        is interpreted to be an MPLS-type label."
   ::= { mplsInSegmentEntry 1 }

mplsInSegmentLabel OBJECT-TYPE



Srinivasan & Viswanathan       Expires 16 August 1999       [Page 30]


Internet Draft        MPLS Traffic Engineering MIB        16 Feb 1999



   SYNTAX        MplsLabel
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "The incoming label."
   ::= { mplsInSegmentEntry 2 }

mplsInSegmentNPop OBJECT-TYPE
   SYNTAX        Integer32
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "The  number  of  labels  to pop  from  the  incoming
        packet.   Normally  only the  top  label  is  popped
        (based on which all switching decisions are taken)."
   DEFVAL        { 1 }
   ::= { mplsInSegmentEntry 3 }

mplsInSegmentAddrFamily OBJECT-TYPE
   SYNTAX        MplsTeIANAAddrFamily
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "The  IANA address family of the incoming packet.   A
        value  of  zero  indicates that the family  type  is
        either unknown or undefined (which could happen  for
        example  when streams of different types are  merged
        in a multipoint-to-point connection)."
   REFERENCE
       "RFC  1700  - Assigned Numbers, Reynolds and  Postel,
        October 1994."
   DEFVAL        { 0 }
   ::= { mplsInSegmentEntry 4 }

mplsInSegmentXCIndex OBJECT-TYPE
   SYNTAX        Integer32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "Index  into  mplsXCTable to  identify  which  cross-
        connect  entry this segment is part of.  A value  of
        zero  indicates that it is not being referred to  by
        any cross-connect entry."
   DEFVAL        { 0 }
   ::= { mplsInSegmentEntry 5 }

mplsInSegmentTSpecIndex OBJECT-TYPE
   SYNTAX        Unsigned32
   MAX-ACCESS    read-create
   STATUS        current



Srinivasan & Viswanathan       Expires 16 August 1999       [Page 31]


Internet Draft        MPLS Traffic Engineering MIB        16 Feb 1999



   DESCRIPTION
       "Pointer into mplsTSpecTable indicating the TSpec  to
        be  assigned  for  this segment.  A  value  of  zero
        indicates  best-effort  treatment.   Two   or   more
        segments  can indicate resource sharing by  pointing
        to the same entry in mplsTSpecTable."
   DEFVAL        { 0 }
   ::= { mplsInSegmentEntry 6 }

mplsInSegmentAdminStatus 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
       "Desired status of this segment."
   ::= { mplsInSegmentEntry 7 }

mplsInSegmentOperStatus 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
         lowerLayerNotPresent(7)
                       -- down due to the state of
                       -- lower layer interfaces
      }
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "The operational status of this segment."
   ::= { mplsInSegmentEntry 8 }

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

-- End of mplsInSegmentTable




Srinivasan & Viswanathan       Expires 16 August 1999       [Page 32]


Internet Draft        MPLS Traffic Engineering MIB        16 Feb 1999




-- In-segment performance table.

mplsInSegmentPerfTable  OBJECT-TYPE
   SYNTAX    SEQUENCE OF MplsInSegmentPerfEntry
   MAX-ACCESS       not-accessible
   STATUS    current
   DESCRIPTION
       "This  table  contains statistical information  about
        incoming MPLS segments to an LSR."
   ::= { mplsTeObjects 7 }

mplsInSegmentPerfEntry  OBJECT-TYPE
   SYNTAX        MplsInSegmentPerfEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "An   entry   in   this  table  contains  statistical
        information about one incoming segment configured in
        mplsInSegmentTable."
   AUGMENTS      { mplsInSegmentEntry }
      ::= { mplsInSegmentPerfTable 1 }

MplsInSegmentPerfEntry ::= SEQUENCE {
      mplsInSegmentOctets             Counter32,
      mplsInSegmentPackets            Counter32,
      mplsInSegmentErrors             Counter32,
      mplsInSegmentDiscards           Counter32,

      -- high capacity counter
      mplsInSegmentHCOctets           Counter64
   }

mplsInSegmentOctets OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "Total number of octets received."
   ::= { mplsInSegmentPerfEntry 1 }

mplsInSegmentPackets OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "Total number of packets received."
   ::= { mplsInSegmentPerfEntry 2 }

mplsInSegmentErrors OBJECT-TYPE



Srinivasan & Viswanathan       Expires 16 August 1999       [Page 33]


Internet Draft        MPLS Traffic Engineering MIB        16 Feb 1999



   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "Number of errored packets received."
   ::= { mplsInSegmentPerfEntry 3 }

mplsInSegmentDiscards OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "Number  of  packets received that had to be  dropped
        either  because of errors or for other reasons  such
        as buffer overflows."
   ::= { mplsInSegmentPerfEntry 4 }

mplsInSegmentHCOctets OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "Total number of octets received.  This is the 64 bit
        version of mplsInSegmentOctets."
   ::= { mplsInSegmentPerfEntry 5 }

-- End of mplsInSegmentPerfTable.


-- Out-segment table.

mplsOutSegmentTable  OBJECT-TYPE
   SYNTAX        SEQUENCE OF MplsOutSegmentEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "This  table  contains a description of the  outgoing
        segments from an LSR."
   ::= { mplsTeObjects 8 }

mplsOutSegmentEntry  OBJECT-TYPE
   SYNTAX        MplsOutSegmentEntry
   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 by an SNMP agent as instructed  by
        LDP  or  RSVP.   Note that some of the segments  are
        associated with a tunnel, the traffic parameters  of



Srinivasan & Viswanathan       Expires 16 August 1999       [Page 34]


Internet Draft        MPLS Traffic Engineering MIB        16 Feb 1999



        these  rows  are supported as read-only objects  and
        their  modification can be done only via the  tunnel
        table."
   INDEX         { mplsOutSegmentIndex }
      ::= { mplsOutSegmentTable 1 }

MplsOutSegmentEntry ::= SEQUENCE {
      mplsOutSegmentIndex                     Integer32,
      mplsOutSegmentIfIndex                   InterfaceIndex,
      mplsOutSegmentPushTopLabel              TruthValue,
      mplsOutSegmentTopLabel                  MplsLabel,
      mplsOutSegmentNextHopIpAddrType         INTEGER,
      mplsOutSegmentNextHopIpv4Addr           IpAddress,
      mplsOutSegmentNextHopIpv6Addr           Ipv6Address,
      mplsOutSegmentXCIndex                   Integer32,
      mplsOutSegmentTSpecIndex                Unsigned32,
      mplsOutSegmentAdminStatus               INTEGER,
      mplsOutSegmentOperStatus                INTEGER,
      mplsOutSegmentRowStatus                 RowStatus
   }

mplsOutSegmentIndex OBJECT-TYPE
   SYNTAX        Integer32
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "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 mplsXCTable  to
        access  entries  for which no out-segment  has  been
        configured."
   ::= { mplsOutSegmentEntry 1 }

mplsOutSegmentIfIndex OBJECT-TYPE
   SYNTAX        InterfaceIndex
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "Interface index of the outgoing interface."
   ::= { mplsOutSegmentEntry 2 }

mplsOutSegmentPushTopLabel OBJECT-TYPE
   SYNTAX        TruthValue
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "Whether  a  top  label should  be  pushed  onto  the
        outgoing packet's label stack.  Its value has to  be
        true  if  the outgoing interface is ATM (which  does
        not  support  `pop-and-go') or if  it  is  a  tunnel



Srinivasan & Viswanathan       Expires 16 August 1999       [Page 35]


Internet Draft        MPLS Traffic Engineering MIB        16 Feb 1999



        origination.    Note  also  that  the   case   where
        mplsOutSegmentPushTopLabel is set to false  but  the
        cross-connect entry that refers to this  out-segment
        has a non-zero mplsLabelStackIndex is an error which
        the LSR should ensure doesn't happen."
   ::= { mplsOutSegmentEntry 3 }

mplsOutSegmentTopLabel OBJECT-TYPE
   SYNTAX        MplsLabel
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "If  mplsOutSegmentPushTopLabel is true then this  is
        the  label  that should be pushed onto the  outgoing
        packet's label stack.  Note that the contents of the
        label  field  can  be  interpreted  in  an  outgoing
        interface specific fashion.  For example, the  label
        carried in the MPLS shim header is 20 bits wide  and
        the top 12 bits must be zero.  The Frame Relay label
        is  24  bits wide and the top 8 bits must  be  zero.
        For   ATM  interfaces  the  lowermost  16  bits  are
        interpreted as the VCI, the next 8 bits as  the  VPI
        and the remaining bits must be zero."
   ::= { mplsOutSegmentEntry 4 }

mplsOutSegmentNextHopIpAddrType OBJECT-TYPE
   SYNTAX        INTEGER { none (1), ipV4 (2), ipV6 (3) }
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "Whether  the next hop address is IPv4  or  IPv6.   A
        value  of none (1) is valid (only) when the outgoing
        interface is of type point-to-point."
   DEFVAL        { none }
   ::= { mplsOutSegmentEntry 5 }

mplsOutSegmentNextHopIpv4Addr OBJECT-TYPE
   SYNTAX        IpAddress
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "IPv4  Address  of  the  next  hop.   Its  value   is
        significant                only                 when
        mplsOutSegmentNextHopIpAddrType   is    ipV4    (2),
        otherwise it should return a value of 0."
   ::= { mplsOutSegmentEntry 6 }

mplsOutSegmentNextHopIpv6Addr OBJECT-TYPE
   SYNTAX        Ipv6Address
   MAX-ACCESS    read-create



Srinivasan & Viswanathan       Expires 16 August 1999       [Page 36]


Internet Draft        MPLS Traffic Engineering MIB        16 Feb 1999



   STATUS        current
   DESCRIPTION
       "IPv6  address  of  the  next  hop.   Its  value   is
        significant                only                 when
        mplsOutSegmentNextHopIpAddrType   is    ipV6    (3),
        otherwise it should return a value of 0."
   ::= { mplsOutSegmentEntry 7 }

mplsOutSegmentXCIndex OBJECT-TYPE
   SYNTAX        Integer32
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "Index  into  mplsXCTable to  identify  which  cross-
        connect  entry this segment is part of.  A value  of
        zero  indicates that it is not being referred to  by
        any cross-connect entry."
   DEFVAL        { 0 }
   ::= { mplsOutSegmentEntry 8 }

mplsOutSegmentTSpecIndex OBJECT-TYPE
   SYNTAX        Unsigned32
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "Pointer into mplsTSpecTable indicating the TSpec  to
        be  assigned  for  this segment.  A  value  of  zero
        indicates  best-effort  treatment.   Two   or   more
        segments  can indicate resource sharing by  pointing
        to the same entry in mplsTSpecTable."
   DEFVAL        { 0 }
   ::= { mplsOutSegmentEntry 9 }

mplsOutSegmentAdminStatus 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
       "Desired status of this segment."
   ::= { mplsOutSegmentEntry 10 }

mplsOutSegmentOperStatus OBJECT-TYPE
   SYNTAX        INTEGER {
         up(1),          -- ready to pass packets
         down(2),
         testing(3),     -- in some test mode



Srinivasan & Viswanathan       Expires 16 August 1999       [Page 37]


Internet Draft        MPLS Traffic Engineering MIB        16 Feb 1999



         unknown(4),     -- status cannot be determined for
                       -- some reason
         dormant(5),
         notPresent(6),  -- some component is missing
         lowerLayerNotPresent(7)
                       -- down due to the state of
                       -- lower layer interfaces
      }
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "The operational status of this segment."
   ::= { mplsOutSegmentEntry 11 }

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

-- End of mplsOutSegmentTable


-- Out-segment performance table.

mplsOutSegmentPerfTable  OBJECT-TYPE
   SYNTAX        SEQUENCE OF MplsOutSegmentPerfEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "This  table  contains statistical information  about
        incoming segments to an LSR."
   ::= { mplsTeObjects 9 }

mplsOutSegmentPerfEntry  OBJECT-TYPE
   SYNTAX        MplsOutSegmentPerfEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "An   entry   in   this  table  contains  statistical
        information about one incoming segment configured in
        mplsOutSegmentTable."
   AUGMENTS      { mplsOutSegmentEntry }
      ::= { mplsOutSegmentPerfTable 1 }

MplsOutSegmentPerfEntry ::= SEQUENCE {
      mplsOutSegmentOctets                Counter32,
      mplsOutSegmentPackets               Counter32,



Srinivasan & Viswanathan       Expires 16 August 1999       [Page 38]


Internet Draft        MPLS Traffic Engineering MIB        16 Feb 1999



      mplsOutSegmentErrors                Counter32,
      mplsOutSegmentDiscards              Counter32,

      -- HC counter
      mplsOutSegmentHCOctets              Counter64
   }

mplsOutSegmentOctets OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "Total number of octets sent."
   ::= { mplsOutSegmentPerfEntry 1 }

mplsOutSegmentPackets OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "Total number of packets sent."
   ::= { mplsOutSegmentPerfEntry 2 }

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

mplsOutSegmentDiscards OBJECT-TYPE
   SYNTAX        Counter32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "Number  of  outgoing packets that had to be  dropped
        either  because of errors or for other reasons  such
        as buffer overflows."
   ::= { mplsOutSegmentPerfEntry 4 }

mplsOutSegmentHCOctets OBJECT-TYPE
   SYNTAX        Counter64
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "Total  number of octets sent.  This is  the  64  bit
        version of mplsOutSegmentOctets."
   ::= { mplsOutSegmentPerfEntry 5 }



Srinivasan & Viswanathan       Expires 16 August 1999       [Page 39]


Internet Draft        MPLS Traffic Engineering MIB        16 Feb 1999




-- End of mplsOutSegmentPerfTable.


-- Cross-connect table.

mplsXCTable  OBJECT-TYPE
   SYNTAX        SEQUENCE OF MplsXCEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "This   table  specifies  information  for  switching
        between MPLS tunnels segments.  It supports point-to-
        point,  point-to-multipoint and  multipoint-to-point
        connections.    mplsLabelStackTable  specifies   the
        label stack information for a cross-connect LSR  and
        is referred to from mplsXCTable."
   ::= { mplsTeObjects 10 }

mplsXCEntry  OBJECT-TYPE
   SYNTAX        MplsXCEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "A  row  in  this  table represents one cross-connect
        entry.  It is indexed by the following objects:

          - cross-connect  index mplsXCIndex  that  uniquely
            identifies a group of cross-connect entries
          - interface     index    of    the     in-segment,
            mplsInSegmentIfIndex
          - incoming label(s), mplsInSegmentLabel
          - out-segment index, mplsOutSegmentIndex

       Originating LSPs:
        These   are   represented  by  using   the   special
        combination  of  values  mplsInSegmentIfIndex=0  and
        mplsInSegmentLabel=0 as indexes.  In this  case  the
        mplsOutSegmentIndex MUST be non-zero.

       Terminating LSPs:
        These  are  represented by using the  special  value
        mplsOutSegmentIndex=0 as index.

       Special labels:
        Entries  indexed  by reserved MPLS  label  values  0
        through  15  imply terminating LSPs  and  MUST  have
        mplsOutSegmentIndex=0.

        An  entry  can be created by a network administrator



Srinivasan & Viswanathan       Expires 16 August 1999       [Page 40]


Internet Draft        MPLS Traffic Engineering MIB        16 Feb 1999


        or by an SNMP agent as instructed by LDP or RSVP."
   INDEX         { mplsXCIndex, mplsInSegmentIfIndex,
                mplsInSegmentLabel, mplsOutSegmentIndex }
      ::= { mplsXCTable 1 }

MplsXCEntry ::= SEQUENCE {
      mplsXCIndex                 INTEGER,
      mplsXCLabelStackIndex       Integer32,
      mplsXCCOS                   Integer32,
      mplsXCIsPersistent          TruthValue,
      mplsXCAdminStatus           INTEGER,
      mplsXCOperStatus            INTEGER,
      mplsXCRowStatus             RowStatus
   }

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

   mplsXCLabelStackIndex OBJECT-TYPE
   SYNTAX        Integer32
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "Primary index into mplsLabelStackTable identifying a
        stack  of labels to be pushed beneath the top label.
        Note  that the top label is identified in  the  out-
        segment which 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."
   ::= { mplsXCEntry 2 }

mplsXCCOS OBJECT-TYPE
   SYNTAX        Integer32
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "Value to override the incoming COS field with for  a
        cross-connect  or  the value to assign  to  outgoing
        packets for an outgoing segment of a tunnel."
   ::= { mplsXCEntry 3 }

mplsXCIsPersistent OBJECT-TYPE
   SYNTAX        TruthValue



Srinivasan & Viswanathan       Expires 16 August 1999       [Page 41]


Internet Draft        MPLS Traffic Engineering MIB        16 Feb 1999



   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "Whether this cross-connect entry and associated  in-
        and  out-segments  should be restored  automatically
        after failures."
   DEFVAL        { false }
   ::= { mplsXCEntry 4 }

mplsXCAdminStatus 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
       "Desired status of this segment."
   ::= { mplsXCEntry 5 }

mplsXCOperStatus 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
         lowerLayerNotPresent(7)
                       -- down due to the state of
                       -- lower layer interfaces
      }
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "The operational status of this segment."
   ::= { mplsXCEntry 6 }

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

-- End of mplsXCTable




Srinivasan & Viswanathan       Expires 16 August 1999       [Page 42]


Internet Draft        MPLS Traffic Engineering MIB        16 Feb 1999




-- Label stack table.

mplsLabelStackTable OBJECT-TYPE
   SYNTAX        SEQUENCE OF MplsLabelStackEntry
   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 mplsXCTable."
   ::= { mplsTeObjects 11 }

mplsLabelStackEntry OBJECT-TYPE
   SYNTAX        MplsLabelStackEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "An  entry in this table represents one label  to  be
        pushed  onto  an  outgoing packets beneath  the  top
        label.   An  entry  can  be  created  by  a  network
        administrator  or by an SNMP agent as instructed  by
        LDP or RSVP."
   INDEX         { mplsLabelStackIndex }
      ::= { mplsLabelStackTable 1 }

MplsLabelStackEntry ::= SEQUENCE {
      mplsLabelStackIndex             Integer32,
      mplsLabelStackLabelIndex        Integer32,
      mplsLabelStackLabel             MplsLabel,
      mplsLabelStackRowStatus         RowStatus
   }

mplsLabelStackIndex OBJECT-TYPE
   SYNTAX        Integer32
   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."
   ::= { mplsLabelStackEntry 1 }

mplsLabelStackLabelIndex OBJECT-TYPE
   SYNTAX        Integer32
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "Secondary  index for this row identifying one  label
        of the stack."



Srinivasan & Viswanathan       Expires 16 August 1999       [Page 43]


Internet Draft        MPLS Traffic Engineering MIB        16 Feb 1999



   ::= { mplsLabelStackEntry 2 }

mplsLabelStackLabel OBJECT-TYPE
   SYNTAX        MplsLabel
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "Label to pushed."
   ::= { mplsLabelStackEntry 3 }

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

-- End of mplsLabelStackTable

-- TSpec table.

mplsTSpecTable OBJECT-TYPE
   SYNTAX        SEQUENCE OF MplsTSpecEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
       "This  table specifies TSpec objects for in and  out-
        segments."
   ::= { mplsTeObjects 12 }

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

MplsTSpecEntry ::= SEQUENCE {
      mplsTSpecIndex                  Unsigned32,
      mplsTSpecIfIndex                InterfaceIndex,
      mplsTSpecDirection              INTEGER,
      mplsTSpecMaxRate                BitRate,
      mplsTSpecMeanRate               BitRate,
      mplsTSpecMaxBurstSize           BurstSize,



Srinivasan & Viswanathan       Expires 16 August 1999       [Page 44]


Internet Draft        MPLS Traffic Engineering MIB        16 Feb 1999



      mplsTSpecRowStatus              RowStatus
   }

mplsTSpecIndex OBJECT-TYPE
   SYNTAX        Unsigned32
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "Uniquely identifies this row of the table.  Zero  is
        not a valid index."
   ::= { mplsTSpecEntry 1 }

mplsTSpecIfIndex OBJECT-TYPE
   SYNTAX        InterfaceIndex
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "Identifies the interface that this entry refers to."
   ::= { mplsTSpecEntry 2 }

mplsTSpecDirection OBJECT-TYPE
   SYNTAX        INTEGER { in(1), out(2) }
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "Direction that these objects pertain to, incoming or
        outgoing."
   ::= { mplsTSpecEntry 3 }

mplsTSpecMaxRate OBJECT-TYPE
   SYNTAX        BitRate
   UNITS         "bits per second"
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "Maximum rate in bits/second."
   ::= { mplsTSpecEntry 4 }

mplsTSpecMeanRate OBJECT-TYPE
   SYNTAX        BitRate
   UNITS         "bits per second"
   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "Mean rate in bits/second."
   ::= { mplsTSpecEntry 5 }

mplsTSpecMaxBurstSize OBJECT-TYPE
   SYNTAX        BurstSize
   UNITS         "bytes"



Srinivasan & Viswanathan       Expires 16 August 1999       [Page 45]


Internet Draft        MPLS Traffic Engineering MIB        16 Feb 1999



   MAX-ACCESS    read-create
   STATUS        current
   DESCRIPTION
       "Maximum burst size in bytes."
   ::= { mplsTSpecEntry 6 }

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

-- End of mplsTSpecTable


-- Notifications.

-- Tunnel.

mplsTunnelUp NOTIFICATION-TYPE
   OBJECTS     { mplsTunnelIndex, mplsTunnelAdminStatus,
                mplsTunnelOperStatus }
   STATUS      current
   DESCRIPTION
       "This    notification    is    generated    when    a
        mplsTunnelOperStatus   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
        mplsTunnelOperStatus."
   ::= { mplsTeNotifications 1 }

mplsTunnelDown NOTIFICATION-TYPE
   OBJECTS     { mplsTunnelIndex, mplsTunnelAdminStatus,
                mplsTunnelOperStatus }
   STATUS      current
   DESCRIPTION
       "This    notification    is    generated    when    a
        mplsTunnelOperStatus   object   for   one   of   the
        configured tunnels is about to enter the down  state
        from  some  other state (but not from the notPresent
        state).   This  other  state  is  indicated  by  the
        included value of mplsTunnelOperStatus."
   ::= { mplsTeNotifications 2 }


-- Interface configuration.



Srinivasan & Viswanathan       Expires 16 August 1999       [Page 46]


Internet Draft        MPLS Traffic Engineering MIB        16 Feb 1999




mplsInterfaceUp NOTIFICATION-TYPE
   OBJECTS     { mplsInterfaceConfIndex,
                mplsInterfaceAdminStatus, mplsInterfaceOperStatus }
   STATUS      current
   DESCRIPTION
       "This    notification    is    generated    when    a
        mplsInterfaceOperStatus  object  for  one   of   the
        entries in mplsInterfaceConfTable 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
        mplsInterfaceOperStatus."
   ::= { mplsTeNotifications 3 }

mplsInterfaceDown NOTIFICATION-TYPE
   OBJECTS     { mplsInterfaceConfIndex,
                mplsInterfaceAdminStatus, mplsInterfaceOperStatus }
   STATUS      current
   DESCRIPTION
       "This    notification    is    generated    when    a
        mplsInterfaceOperStatus  object  for  one   of   the
        entries in mplsInterfaceConfTable is about to  enter
        the  down state from some other state (but not  from
        the   notPresent  state).   This  other   state   is
        indicated     by    the    included     value     of
        mplsInterfaceOperStatus."
   ::= { mplsTeNotifications 4 }

-- In-segment.

mplsInSegmentUp NOTIFICATION-TYPE
   OBJECTS     { mplsInSegmentIfIndex, mplsInSegmentLabel,
                mplsInSegmentAdminStatus, mplsInSegmentOperStatus }
   STATUS      current
   DESCRIPTION
       "This    notification    is    generated    when    a
        mplsInSegmentOperStatus  object  for  one   of   the
        configured  in-segments 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
        mplsInSegmentOperStatus."
   ::= { mplsTeNotifications 5 }

mplsInSegmentDown NOTIFICATION-TYPE
   OBJECTS     { mplsInSegmentIfIndex, mplsInSegmentLabel,
                mplsInSegmentAdminStatus, mplsInSegmentOperStatus }
   STATUS      current
   DESCRIPTION



Srinivasan & Viswanathan       Expires 16 August 1999       [Page 47]


Internet Draft        MPLS Traffic Engineering MIB        16 Feb 1999



       "This    notification    is    generated    when    a
        mplsInSegmentOperStatus  object  for  one   of   the
        configured  in-segments is about to enter  the  down
        state  from  some  other state  (but  not  from  the
        notPresent state).  This other state is indicated by
        the included value of mplsInSegmentOperStatus."
   ::= { mplsTeNotifications 6 }

-- Out-segment.

mplsOutSegmentUp NOTIFICATION-TYPE
   OBJECTS     { mplsOutSegmentIndex, mplsInSegmentAdminStatus,
                mplsInSegmentOperStatus }
   STATUS      current
   DESCRIPTION
       "This    notification    is    generated    when    a
        mplsOutSegmentOperStatus  object  for  one  of   the
        configured out-segments 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
        mplsOutSegmentOperStatus."
   ::= { mplsTeNotifications 7 }

mplsOutSegmentDown NOTIFICATION-TYPE
   OBJECTS     { mplsOutSegmentIndex, mplsInSegmentAdminStatus,
                mplsInSegmentOperStatus }
   STATUS      current
   DESCRIPTION
       "This    notification    is    generated    when    a
        mplsOutSegmentOperStatus  object  for  one  of   the
        configured out-segments is about to enter  the  down
        state  from  some  other state  (but  not  from  the
        notPresent state).  This other state is indicated by
        the included value of mplsOutSegmentOperStatus."
   ::= { mplsTeNotifications 8 }

-- Cross-connect.

mplsXCUp NOTIFICATION-TYPE
   OBJECTS     { mplsXCIndex,
                mplsInSegmentIfIndex, mplsInSegmentLabel,
                mplsOutSegmentIndex,
                mplsXCAdminStatus, mplsXCOperStatus }
   STATUS      current
   DESCRIPTION
       "This    notification    is    generated    when    a
        mplsXCOperStatus  object for one of  the  configured
        cross-connect  entries is about to  leave  the  down
        state and transition into some other state (but  not



Srinivasan & Viswanathan       Expires 16 August 1999       [Page 48]


Internet Draft        MPLS Traffic Engineering MIB        16 Feb 1999



        into  the  notPresent state).  This other  state  is
        indicated     by    the    included     value     of
        mplsXCOperStatus."
   ::= { mplsTeNotifications 9 }

mplsXCDown NOTIFICATION-TYPE
   OBJECTS     { mplsXCIndex,
                mplsInSegmentIfIndex, mplsInSegmentLabel,
                mplsOutSegmentIndex,
                mplsXCAdminStatus, mplsXCOperStatus }
   STATUS      current
   DESCRIPTION
       "This    notification    is    generated    when    a
        mplsXCOperStatus  object for one of  the  configured
        cross-connect  entries is about to  enter  the  down
        state  from  some  other state  (but  not  from  the
        notPresent state).  This other state is indicated by
        the included value of mplsXCOperStatus."
   ::= { mplsTeNotifications 10 }

-- End of notifications.


-- Module compliance.

mplsTeGroups
   OBJECT IDENTIFIER ::= { mplsTeConformance 1 }

mplsTeCompliances
   OBJECT IDENTIFIER ::= { mplsTeConformance 2 }

mplsTeModuleCompliance MODULE-COMPLIANCE
   STATUS current
   DESCRIPTION
       "Compliance  statement for agents  that  support  the
        MPLS TE 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 not
      -- supported.

      MANDATORY-GROUPS    { mplsInSegmentGroup, mplsOutSegmentGroup,
                          mplsXCGroup, mplsInterfaceGroup,
                          mplsPerfGroup }

      GROUP mplsHCInterfacePerfGroup
      DESCRIPTION
          "This  group  is  mandatory for  high-speed  MPLS



Srinivasan & Viswanathan       Expires 16 August 1999       [Page 49]


Internet Draft        MPLS Traffic Engineering MIB        16 Feb 1999



           capable   interfaces  for  which   the   objects
           mplsInterfaceInOctets and mplsInterfaceOutOctets
           wrap around too quickly."

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

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

      GROUP mplsTSpecGroup
      DESCRIPTION
          "This  group  is  mandatory for those  LSRs  that
           support int-serv style resource reservation."

      GROUP mplsTunnelGroup
      DESCRIPTION
          "This   group  is  mandatory  for  devices  which
           support tunnels.  In addition, depending on  the
           type   of  the  tunnel  (for  example,  manually
           configured  or  signalled,  persistent  or  non-
           persistent,  etc.), the following  other  groups
           are   mandatory:  mplsTunnelManualGroup   and/or
           mplsTunnelSignalledGroup,
           mplsTunnelIsNotIntfcGroup                 and/or
           mplsTunnelIsIntfcGroup,   mplsTunnelIsPersistent
           and/or mplsTunnelIsNotPersistent."

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

      GROUP mplsTunnelSignalledGroup
      DESCRIPTION
          "This   group  is  mandatory  for  devices  which
           support signalled tunnel set up, in addition  to
           mplsTunnelGroup.    The  following   constraints
           apply:  mplsTunnelSignallingProto should  be  at



Srinivasan & Viswanathan       Expires 16 August 1999       [Page 50]


Internet Draft        MPLS Traffic Engineering MIB        16 Feb 1999



           least read-only returning a value of ldp(2),  or
           rsvp(3)."

      GROUP mplsTunnelIsNotIntfcGroup
      DESCRIPTION
          "This   group  is  mandatory  for  devices  which
           support  tunnels  that are  not  interfaces,  in
           addition   to  mplsTunnelGroup.   The  following
           constraints apply: mplsTunnelIsIf must at  least
           be read-only returning false(1)."

      GROUP mplsTunnelIsIntfcGroup
      DESCRIPTION
          "This   group  is  mandatory  for  devices  which
           support tunnels that are interfaces, in addition
           to  mplsTunnelGroup.  The following  constraints
           apply: mplsTunnelIsIf must at least be read-only
           returning true(2)."

      GROUP mplsTunnelIsPersistentGroup
      DESCRIPTION
          "This   group  is  mandatory  for  devices  which
           support  persistent  tunnels,  in  addition   to
           mplsTunnelGroup.    The  following   constraints
           apply:  mplsTunnelIsPersistent must at least  be
           read-only returning true(2)."

      GROUP mplsTunnelIsNotPersistentGroup
      DESCRIPTION
          "This   group  is  mandatory  for  devices  which
           support  non-persistent tunnels, in addition  to
           mplsTunnelGroup.    The  following   constraints
           apply:  mplsTunnelIsPersistent must at least  be
           read-only returning false(1)."

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

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

      GROUP mplsXCIsNotPersistentGroup
      DESCRIPTION
          "This   group  is  mandatory  for  devices  which
           support   non-persistent  cross-connects.    The



Srinivasan & Viswanathan       Expires 16 August 1999       [Page 51]


Internet Draft        MPLS Traffic Engineering MIB        16 Feb 1999



           following  constraints apply: mplsXCIsPersistent
           must at least be read-only returning false(1)."


      -- mplsTunnelTable

      OBJECT      mplsTunnelDirection
      SYNTAX      INTEGER { in(1), out(2) }
      DESCRIPTION
          "in-out(3) need not be supported."

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

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

      OBJECT      mplsTunnelRowStatus
      SYNTAX      INTEGER { active(1), notInService(2),
                       createAndGo(4), destroy(6) }
      DESCRIPTION
          "The notReady(3) and createAndWait(5) states need
           not be supported."


      -- mplsTunnelHopTable

      OBJECT      mplsTunnelHopStrictOrLoose
      SYNTAX      INTEGER { strict(1) }
      DESCRIPTION
          "loose(2) need not be supported."

      OBJECT      mplsTunnelHopRowStatus
      SYNTAX      INTEGER { active(1), notInService(2),
                       createAndGo(4), destroy(6) }
      DESCRIPTION
          "The notReady(3) and createAndWait(5) states need
           not be supported."


      -- mplsInterfaceConfTable

      OBJECT      mplsInterfaceAdminStatus
      SYNTAX      INTEGER { up(1), down(2) }
      MIN-ACCESS  read-only
      DESCRIPTION



Srinivasan & Viswanathan       Expires 16 August 1999       [Page 52]


Internet Draft        MPLS Traffic Engineering MIB        16 Feb 1999



          "A value of testing(3) need not be supported."

      OBJECT      mplsInterfaceOperStatus
      SYNTAX      INTEGER { up(1), down(2) }
      MIN-ACCESS  read-only
      DESCRIPTION
          "Only up(1) and down(2) need to be supported."


      -- mplsInSegmentTable

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

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

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

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

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

      OBJECT      mplsInSegmentAddrFamily
      SYNTAX      INTEGER { other(0) }
      MIN-ACCESS  read-only
      DESCRIPTION
          "Write  access  is  not  required.   A  value  of
           other(0) should be supported."

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




Srinivasan & Viswanathan       Expires 16 August 1999       [Page 53]


Internet Draft        MPLS Traffic Engineering MIB        16 Feb 1999



      OBJECT      mplsInSegmentOperStatus
      SYNTAX      INTEGER { up(1), down(2) }
      MIN-ACCESS  read-only
      DESCRIPTION
          "Only up(1) and down(2) need to be supported."

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


      -- mplsOutSegmentTable

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

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

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

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

      OBJECT      mplsOutSegmentNextHopIpAddrType
      SYNTAX      INTEGER { none(1), ipV4(2) }
      MIN-ACCESS  read-only
      DESCRIPTION
          "ipV6(3) need not be supported."

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

      OBJECT    mplsOutSegmentNextHopIpv6Addr



Srinivasan & Viswanathan       Expires 16 August 1999       [Page 54]


Internet Draft        MPLS Traffic Engineering MIB        16 Feb 1999



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

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

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

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

      OBJECT      mplsOutSegmentOperStatus
      SYNTAX      INTEGER { up(1), down(2) }
      MIN-ACCESS  read-only
      DESCRIPTION
          "Only up(1) and down(2) need to be supported."

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


      -- mplsXCTable

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

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

      OBJECT      mplsXCCOS
      MIN-ACCESS  read-only



Srinivasan & Viswanathan       Expires 16 August 1999       [Page 55]


Internet Draft        MPLS Traffic Engineering MIB        16 Feb 1999



      DESCRIPTION
          "Write access is not required."

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

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

      OBJECT      mplsXCOperStatus
      SYNTAX      INTEGER { up(1), down(2) }
      MIN-ACCESS  read-only
      DESCRIPTION
          "Only up(1) and down(2) need to be supported."

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

   ::= { mplsTeCompliances 1 }


-- Units of conformance.

mplsInterfaceGroup OBJECT-GROUP
   OBJECTS { mplsInterfaceConfIndex,
             mplsInterfaceLabelMinIn, mplsInterfaceLabelMaxIn,
             mplsInterfaceLabelMinOut, mplsInterfaceLabelMaxOut,
             mplsInterfaceAdminStatus, mplsInterfaceOperStatus,
             mplsInterfaceInLabelsUsed, mplsInterfaceOutLabelsUsed }
   STATUS  current
   DESCRIPTION
       "Collection  of  objects needed  for  MPLS  interface
        configuration and performance information."
   ::= { mplsTeGroups 1 }

mplsInSegmentGroup  OBJECT-GROUP
   OBJECTS { mplsInSegmentIfIndex, mplsInSegmentLabel,
             mplsInSegmentNPop, mplsInSegmentAddrFamily,
             mplsInSegmentXCIndex, mplsInSegmentTSpecIndex,



Srinivasan & Viswanathan       Expires 16 August 1999       [Page 56]


Internet Draft        MPLS Traffic Engineering MIB        16 Feb 1999



             mplsInSegmentAdminStatus, mplsInSegmentOperStatus,
             mplsInSegmentRowStatus,
             mplsInSegmentOctets, mplsInSegmentDiscards }
   STATUS  current
   DESCRIPTION
       "Collection  of  objects needed to implement  an  in-
        segment."
   ::= { mplsTeGroups 2 }

mplsOutSegmentGroup  OBJECT-GROUP
   OBJECTS { mplsOutSegmentIndex, mplsOutSegmentIfIndex,
             mplsOutSegmentPushTopLabel, mplsOutSegmentTopLabel,
             mplsOutSegmentNextHopIpAddrType,
             mplsOutSegmentNextHopIpv4Addr,
             mplsOutSegmentNextHopIpv6Addr,
             mplsOutSegmentXCIndex, mplsOutSegmentTSpecIndex,
             mplsOutSegmentAdminStatus, mplsOutSegmentOperStatus,
             mplsOutSegmentRowStatus,
             mplsOutSegmentOctets, mplsOutSegmentDiscards }
   STATUS  current
   DESCRIPTION
       "Collection  of objects needed to implement  an  out-
        segment."
   ::= { mplsTeGroups 3 }

mplsXCGroup  OBJECT-GROUP
   OBJECTS { mplsXCIndex, mplsXCLabelStackIndex,
             mplsXCAdminStatus, mplsXCOperStatus, mplsXCRowStatus }
   STATUS  current
   DESCRIPTION
       "Collection of objects needed to implement  a  cross-
        connect entry."
   ::= { mplsTeGroups 4 }

mplsPerfGroup OBJECT-GROUP
   OBJECTS { mplsInterfaceInOctets, mplsInterfaceInPackets,
             mplsInterfaceInDiscards,
             mplsInterfaceOutOctets, mplsInterfaceOutPackets,
             mplsInterfaceOutDiscards,
             mplsInSegmentOctets, mplsInSegmentPackets,
             mplsInSegmentDiscards,
             mplsOutSegmentOctets, mplsOutSegmentPackets,
             mplsOutSegmentDiscards }
   STATUS  current
   DESCRIPTION
       "Collection    of   objects   providing   performance
        information about an LSR."
   ::= { mplsTeGroups 5 }

mplsHCInterfacePerfGroup OBJECT-GROUP



Srinivasan & Viswanathan       Expires 16 August 1999       [Page 57]


Internet Draft        MPLS Traffic Engineering MIB        16 Feb 1999



   OBJECTS { mplsInterfaceInHCOctets, mplsInterfaceOutHCOctets }
   STATUS  current
   DESCRIPTION
       "Collection    of   objects   providing   performance
        information  specific to high-speed  interfaces  for
        which   the   objects   mplsInterfaceInOctets    and
        mplsInterfaceOutOctets wrap-around too quickly."
   ::= { mplsTeGroups 6 }

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

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

mplsTSpecGroup OBJECT-GROUP
   OBJECTS { mplsTSpecIndex, mplsTSpecIfIndex, mplsTSpecDirection,
             mplsTSpecMaxRate, mplsTSpecMeanRate,
             mplsTSpecMaxBurstSize, mplsTSpecRowStatus }
   STATUS  current
   DESCRIPTION
       "Object(s)  required  for supporting  int-serv  style
        resource reservation."
   ::= { mplsTeGroups 9 }


mplsTunnelGroup OBJECT-GROUP
   OBJECTS { mplsTunnelIndex, mplsTunnelName,
             mplsTunnelDirection, mplsTunnelXCIndex,
             mplsTunnelIfIndex,
             mplsTunnelAdminStatus, mplsTunnelOperStatus,
             mplsTunnelRowStatus }
   STATUS  current
   DESCRIPTION
       "Necessary,  but not sufficient, set  of  objects  to
        implement  tunnels.   Other  objects  are   required
        depending on the type of tunnel supported,  such  as
        signalled,  manual etc., as defined  in  the  groups



Srinivasan & Viswanathan       Expires 16 August 1999       [Page 58]


Internet Draft        MPLS Traffic Engineering MIB        16 Feb 1999



        below."
   ::= { mplsTeGroups 10 }

mplsTunnelManualGroup  OBJECT-GROUP
   OBJECTS { mplsTunnelSignallingProto }
   STATUS  current
   DESCRIPTION
       "Object(s)  needed  to implement manually  configured
        tunnels."
   ::= { mplsTeGroups 11 }

mplsTunnelSignalledGroup OBJECT-GROUP
   OBJECTS { mplsTunnelSignallingProto,
             mplsTunnelLocalCookie, mplsTunnelRemoteCookie,
             mplsTunnelHopIndex, mplsTunnelHopAddrType,
             mplsTunnelHopIpv4Addr, mplsTunnelHopIpv4PrefixLen,
             mplsTunnelHopIpv6Addr, mplsTunnelHopIpv6PrefixLen,
             mplsTunnelHopStrictOrLoose, mplsTunnelHopRowStatus }
   STATUS  current
   DESCRIPTION
       "Object needed to implement signalled tunnels."
   ::= { mplsTeGroups 12 }

mplsTunnelIsIntfcGroup OBJECT-GROUP
   OBJECTS { mplsTunnelIsIf }
   STATUS  current
   DESCRIPTION
       "Objects   needed  to  implement  tunnels  that   are
        interfaces."
   ::= { mplsTeGroups 13 }

mplsTunnelIsNotIntfcGroup OBJECT-GROUP
   OBJECTS { mplsTunnelIsIf }
   STATUS  current
   DESCRIPTION
       "Objects  needed to implement tunnels  that  are  not
        interfaces."
   ::= { mplsTeGroups 14 }

mplsTunnelIsPersistentGroup OBJECT-GROUP
   OBJECTS { mplsTunnelIsPersistent }
   STATUS  current
   DESCRIPTION
       "Objects needed to support persistent tunnels."
   ::= { mplsTeGroups 15 }

mplsTunnelIsNotPersistentGroup OBJECT-GROUP
   OBJECTS { mplsTunnelIsPersistent }
   STATUS  current
   DESCRIPTION



Srinivasan & Viswanathan       Expires 16 August 1999       [Page 59]


Internet Draft        MPLS Traffic Engineering MIB        16 Feb 1999



       "Objects needed to support non-persistent tunnels."
   ::= { mplsTeGroups 16 }

mplsXCIsPersistentGroup OBJECT-GROUP
   OBJECTS { mplsXCIsPersistent }
   STATUS  current
   DESCRIPTION
       "Objects   needed   to   support  persistent   cross-
        connects."
   ::= { mplsTeGroups 17 }

mplsXCIsNotPersistentGroup OBJECT-GROUP
   OBJECTS { mplsXCIsPersistent }
   STATUS  current
   DESCRIPTION
       "Objects  needed  to  support  non-persistent  cross-
        connects."
   ::= { mplsTeGroups 18 }

mplsTeNotificationGroup NOTIFICATION-GROUP
   NOTIFICATIONS { mplsTunnelUp, mplsTunnelDown,
                mplsInterfaceUp, mplsInterfaceDown,
                mplsInSegmentUp, mplsInSegmentDown,
                mplsOutSegmentUp, mplsOutSegmentDown,
                mplsXCUp, mplsXCDown }
   STATUS  current
   DESCRIPTION
       "Set  of  notifications implemented in  this  module.
        None is mandatory."
   ::= { mplsTeGroups 19 }

-- End of MPLS-TE-MIB
END


10.   Security Considerations

   The  MIBs  specified in this document does not raise any  security
   issues   other   than  those  present  in  the  MPLS  architecture
   [MPLSArch] or those imposed by SNMP itself.


11.   Acknowledgments

   We  wish  to thank Ron Bonica, Eric Gray, Patrick Kerharo,  Pramod
   Koppol, and Dan Tappan for their comments on this draft.


12.   References




Srinivasan & Viswanathan       Expires 16 August 1999       [Page 60]


Internet Draft        MPLS Traffic Engineering MIB        16 Feb 1999



   [MPLSArch]    Rosen,   E.,   Viswanathan,  A.,  and   R.   Callon,
                 "Multiprotocol    Label   Switching   Architecture",
                 Internet     Draft    <draft-ietf-mpls-arch-03.txt>,
                 February 1999

   [MPLSFW]      Callon,  R., Doolan, P., Feldman, N., Fredette,  A.,
                 Swallow,  G.,  and A. Viswanathan, "A Framework  for
                 Multiprotocol   Label  Switching",  Internet   Draft
                 <draft-ietf-mpls-framework-02.txt>, November 1997.

   [LDPMIB]      Cucchiara,  J.,  Sjostrand, H., and  J.  Luciani,  "
                 Definitions    of    Managed   Objects    for    the
                 Multiprotocol  Label Switching,  Label  Distribution
                 Protocol  (LDP)",  Internet Draft  <draft-ietf-mpls-
                 ldp-mib-00.txt>, August 1998.

   [LblStk]      Rosen,  E., Rekhter, Y., Tappan, D., Farinacci,  D.,
                 Federokow,  G.,  Li, T., and A. Conta,  "MPLS  Label
                 Stack  Encoding",  Internet Draft  <draft-ietf-mpls-
                 label-encaps-03.txt>, September 1998.

   [RSVPTun]     Awaduche,  D.,  Berger, L.,  Der-Haw,  G.,  Li,  T.,
                 Swallow, G., and V. Srinivasan, "Extensions to  RSVP
                 for  LSP  Tunnels", Internet Draft <draft-mpls-rsvp-
                 lsp-tunnel-00.txt>, November 1998.

   [CRLDP]       Andersson,  L., Fredette, A., Jamoussi, B.,  Callon,
                 R.,  Doolan, P., Feldman, N., Gray, E., Halpern, J.,
                 Heinenan,  J.,  Kilty, T., Malis,  A.,  Girish,  M.,
                 Sundell, K., Vaananen, P., T. Worster, Wu,  L.,  and
                 Dantu,    R.,    "Explicit    Routing    Over    LDP
                 Specification", Internet Draft <draft-jamoussi-mpls-
                 cr-ldp-00.txt>, November 1998.

   [Assigned]    Reynolds,  J.,  and  J. Postel, "Assigned  Numbers",
                 RFC 1700, October 1994.

   [SNMPArch]    Harrington,  D.,  Presuhn, R., and  B.  Wijnen,  "An
                 Architecture   for   Describing   SNMP    Management
                 Frameworks", RFC 2271, January 1998.

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

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

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



Srinivasan & Viswanathan       Expires 16 August 1999       [Page 61]


Internet Draft        MPLS Traffic Engineering MIB        16 Feb 1999




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

   [SNMPv2TC]    Case,   J.,  McCloghrie,  K.,  Rose,  M.,   and   S.
                 Waldbusser,  "Textual Conventions for Version  2  of
                 the  Simple  Network Management Protocol  (SNMPv2)",
                 RFC  1903, SNMP Research, Inc., Cisco Systems, Inc.,
                 January 1996.

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

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

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

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

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

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

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

   [SNMPv3App]   Levi,   D.,  Meyer,  P.,  and  B.  Stewart,  "SNMPv3
                 Applications", RFC 2273, January 1998

   [SNMPv3VACM]  Wijnen,  B., Presuhn, R., and K. McCloghrie,  "View-
                 based  Access  Control Model (VACM) for  the  Simple



Srinivasan & Viswanathan       Expires 16 August 1999       [Page 62]


Internet Draft        MPLS Traffic Engineering MIB        16 Feb 1999



                 Network  Management  Protocol  (SNMP)",  RFC   2275,
                 January 1998


13.   Authors's Addresses

   Cheenu Srinivasan
   Lucent Technologies
   4F535, 101 Crawfords Corner Road
   Holmdel, NJ 07733

   Phone: +1-732-949-0709
   Email: cheenu@lucent.com


   Arun Viswanathan
   Lucent Technologies
   4D537, 101 Crawfords Corner Road
   Holmdel, NJ 07733

   Phone: +1-732-332-5613
   Email: arunv@lucent.com































Srinivasan & Viswanathan       Expires 16 August 1999       [Page 63]