Network Working Group                                           M. Dubuc
Request for Comments: 4220                                    Consultant
Category: Standards Track                                      T. Nadeau
                                                          Cisco Systems
                                                                J. Lang
                                                            Sonos, Inc.
                                                          November 2005


         Traffic Engineering Link Management Information Base

Status of This Memo

  This document specifies an Internet standards track protocol for the
  Internet community, and requests discussion and suggestions for
  improvements.  Please refer to the current edition of the "Internet
  Official Protocol Standards" (STD 1) for the standardization state
  and status of this protocol.  Distribution of this memo is unlimited.

Copyright Notice

  Copyright (C) The Internet Society (2005).

Abstract

  This memo defines a portion of the Management Information Base (MIB)
  for use with network management protocols in the Internet community.
  In particular, it describes managed objects for modeling TE links as
  described in the Link Bundling in MPLS Traffic Engineering (TE)
  document.





















Dubuc, et al.               Standards Track                     [Page 1]

RFC 4220                MPLS TE Link MIB Module            November 2005


Table of Contents

  1. The Internet-Standard Management Framework ......................2
  2. Introduction ....................................................3
  3. Terminology .....................................................3
  4. Feature Checklist ...............................................4
  5. Outline .........................................................4
  6. Brief Description of MIB Objects ................................4
     6.1. teLinkTable ................................................4
     6.2. teLinkDescriptorTable ......................................4
     6.3. teLinkSrlgTable ............................................5
     6.4. teLinkBandwidthTable .......................................5
     6.5. componentLinkTable .........................................5
     6.6. componentLinkDescriptorTable ...............................5
     6.7. componentLinkBandwidthTable ................................5
  7. Example of Bundled Link Setup ...................................5
  8. Application of the Interfaces Group to TE Links .................9
     8.1. Support of the TE Link Layer by ifTable ....................9
     8.2. Using ifStackTable ........................................11
     8.3. Applicability of ifRcvAddressTable ........................13
  9. TE Link MIB Module Definitions .................................13
  10. Security Considerations .......................................50
  11. Contributors ..................................................51
  12. Acknowledgements ..............................................51
  13. IANA Considerations ...........................................51
      13.1. IANA Considerations for the TE-LINK-STD-MIB .............51
  14. References ....................................................51
      14.1. Normative References ....................................51
      14.2. Informative References ..................................52

1.  The Internet-Standard Management Framework

  For a detailed overview of the documents that describe the current
  Internet-Standard Management Framework, please refer to section 7 of
  RFC 3410 [RFC3410].

  Managed objects are accessed via a virtual information store, termed
  the Management Information Base or MIB.  MIB objects are generally
  accessed through the Simple Network Management Protocol (SNMP).
  Objects in the MIB are defined using the mechanisms defined in the
  Structure of Management Information (SMI).  This memo specifies a MIB
  module that is compliant to the SMIv2, which is described in STD 58,
  RFC 2578 [RFC2578], STD 58, RFC 2579 [RFC2579] and STD 58, RFC 2580
  [RFC2580].







Dubuc, et al.               Standards Track                     [Page 2]

RFC 4220                MPLS TE Link MIB Module            November 2005


2.  Introduction

  OSPF [RFC3630], Generalized MPLS (GMPLS) [RFC3471], and the Link
  Management Protocol (LMP) [RFC4204] use the concept of traffic
  engineering (TE) links to abstract link properties.  The effect of
  this approach is a reduction in the amount of routing information
  exchanged in the network, which improves routing scalability.  In
  addition, the use of TE links allows the implementation of new
  capabilities such as link protection.

  In this document, we present a MIB module that can be used to manage
  TE links and their extension, the bundled link.  This MIB module
  enables both the configuration and the performance monitoring of TE
  links and the bundled link.

  The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
  "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
  document are to be interpreted as described in RFC 2119 [RFC2119].

3.  Terminology

  This document uses terminology from the documents describing link
  bundling [RFC4201] and GMPLS [RFC3945].

  The link bundling feature is designed to aggregate one or more
  similar entities between a node pair into a bundled link [RFC4201].
  In RFC 4201, those entities are referred to as TE links.  A TE link
  is a subinterface capable of carrying MPLS traffic engineered
  traffic.  A TE Link may be comprised of only one underlying component
  link.  In cases where more than one component links are to be
  combined, multiple component links should be created with differing
  priorities to indicate hot-standby or parallel utilization.

  A bundled link is another kind of Traffic Engineering (TE) link (see
  [RFC4203]).  A link bundle is a subinterface that binds the traffic
  of a group of one or more TE links.  There should be more than one TE
  Link in a link bundle, but this is not a requirement.  Furthermore,
  if there are more than one TE links in a link bundle at some time,
  and at some point later, all but one of the links are deleted, the
  agent may choose to either delete the link bundle, or it may choose
  to leave it intact.  Traffic counters on a link bundle are cumulative
  for all subinterfaces that it binds together.









Dubuc, et al.               Standards Track                     [Page 3]

RFC 4220                MPLS TE Link MIB Module            November 2005


4.  Feature Checklist

  The TE Link MIB module (TE-LINK-STD-MIB) is designed to satisfy the
  following requirements and constraints:

  -  The MIB module supports the management of TE links, including
     bundled links.

  -  Support is provided for configuration of traffic engineering
     parameters associated with TE links.

  -  The MIB module is used to monitor the priority-based component
     link and TE link bandwidth values.

5.  Outline

  Configuring bundled links involves the following steps:

  -  Creating a bundled link.

  -  Creating TE links.

  -  Optionally specifying the shared risk link groups associated with
     the TE links.

  -  Configuring the component links including the bandwidth parameters
     and associating the component links with the appropriate TE link.

  -  Associating the TE links with the appropriate bundled link.

6.  Brief Description of MIB Objects

  Sections 6.1 - 6.4 describe objects pertaining to TE links while
  Sections 6.5 - 6.7 describe objects pertaining to component links.
  The MIB objects were derived from the link bundling document
  [RFC4201].

6.1.  teLinkTable

  This table represents the TE links, including bundled links, and
  their generic traffic engineering parameters.

6.2.  teLinkDescriptorTable

  This table represents the TE link interface switching capability
  descriptors.





Dubuc, et al.               Standards Track                     [Page 4]

RFC 4220                MPLS TE Link MIB Module            November 2005


6.3.  teLinkSrlgTable

  This table represents the shared risk link groups (SRLGs) associated
  with TE links.

6.4.  teLinkBandwidthTable

  This table specifies the priority-based bandwidth traffic engineering
  parameters associated with TE links.

6.5.  componentLinkTable

  This table enumerates the component links and their generic traffic
  engineering parameters.

6.6.  componentLinkDescriptorTable

  This table enumerates the interface switching capability descriptors
  that each component link supports.

6.7.  componentLinkBandwidthTable

  The component link bandwidth table specifies the priority-based
  bandwidth values associated with the component links.

  Component links that belong to the same TE link must be compatible.
  If these two tables are managed independently, mechanisms should be
  put in place to ensure consistency between the two tables.  TE links
  that form a bundled link must have compatible traffic engineering
  parameters (resource class, link metric, and protection type).

  The link descriptors of the teLinkDescriptorTable can be derived from
  the link descriptors of the componentLinkDescrTable.

  Some of the bandwidth parameters of the teLinkTable,
  teLinkDescriptorTable, teLinkBandwidthTable are derived from the
  bandwidth parameters of the componentLinkTable,
  componentLinkDescriptorTable, and componentLinkBandwidthTable
  (maximum reservable bandwidth, minimum LSP bandwidth, maximum LSP
  bandwidth at specified priority, and unreserved bandwidth).

7.  Example of Bundled Link Setup

  In this section, we provide a brief example of using the MIB objects
  described in section 10 to set up a bundled link.  While this example
  is not meant to illustrate every nuance of the MIB module, it is
  intended as an aid to understanding some of the key concepts.  It is
  meant to be read after going through the MIB module itself.  Section



Dubuc, et al.               Standards Track                     [Page 5]

RFC 4220                MPLS TE Link MIB Module            November 2005


  8.2 provides more details on the use of the ifStackTable to establish
  relationships between bundled links, TE links, and component links.

  Suppose that one would like to manually create a bundled link out of
  two 1:1 TE links, as depicted in the figure in Section 8.2.  Assume
  that the bundled link is associated with SRLGs 10 and 50.  Finally,
  let the component links be port entity interfaces (lambdas).  The
  following example illustrates which rows and corresponding objects
  might be created to accomplish this.

  First, a bundled link entry is created.  An ifEntry with the same
  ifIndex and with ifType teLink needs to be created beforehand.

     In teLinkTable:
     {
        ifIndex                        = 2,
        teLinkAddressType              = unknown(0),
        teLinkLocalIpAddr              = ''H,
        teLinkRemoteIpAddr             = ''H,
        teLinkMetric                   = 5,
        teLinkProtectionType           = dedicated1For1(4),
        teLinkWorkingPriority          = 7,
        teLinkResourceClass            = 3,
        teLinkIncomingIfId             = 0,
        teLinkOutgoingIfId             = 2,
        teLinkRowStatus                = createAndGo(4),
        teLinkStorageType              = nonVolatile(3)
     }

     In ifStackTable:
     {
        ifStackHigherLayer             = 0,
        ifStackLowerLayer              = 2,
        ifStackStatus                  = createAndGo(4)
     }

  Next, the two TE links are created.

     In teLinkTable:
     {
        ifIndex                        = 3,
        teLinkAddressType              = unknown(0),
        teLinkLocalIpAddr              = ''H,
        teLinkRemoteIpAddr             = ''H,
        teLinkMetric                   = 5,
        teLinkProtectionType           = unprotected(2),
        teLinkWorkingPriority          = 7,
        teLinkResourceClass            = 3,



Dubuc, et al.               Standards Track                     [Page 6]

RFC 4220                MPLS TE Link MIB Module            November 2005


        teLinkIncomingIfId             = 0,
        teLinkOutgoingIfId             = 3,
        teLinkRowStatus                = createAndGo(4),
        teLinkStorageType              = nonVolatile(3)
     }

     In ifStackTable:
     {
        ifStackHigherLayer             = 2,
        ifStackLowerLayer              = 3,
        ifStackStatus                  = createAndGo(4)
     }

     In teLinkTable:
     {
        ifIndex                        = 4,
        teLinkAddressType              = unknown(0),
        teLinkLocalIpAddr              = ''H,
        teLinkRemoteIpAddr             = ''H,
        teLinkMetric                   = 5,
        teLinkProtectionType           = unprotected(2),
        teLinkWorkingPriority          = 7,
        teLinkResourceClass            = 3,
        teLinkIncomingIfId             = 0,
        teLinkOutgoingIfId             = 4,
        teLinkRowStatus                = createAndGo(4),
        teLinkStorageType              = nonVolatile(3)
     }

     In ifStackTable:
     {
        ifStackHigherLayer             = 2,
        ifStackLowerLayer              = 4,
        ifStackStatus                  = createAndGo(4)
     }

  We assign SRLGs to the TE links.

     In the teLinkSrlgTable:
     {
        ifIndex                        = 3,
        teLinkSrlg                     = 10,
        teLinkSrlgRowStatus            = createAndGo(4),
        teLinkSrlgStorageType          = nonVolatile(3)
     }

     In the teLinkSrlgTable:
     {



Dubuc, et al.               Standards Track                     [Page 7]

RFC 4220                MPLS TE Link MIB Module            November 2005


        ifIndex                        = 4,
        teLinkSrlg                     = 50,
        teLinkSrlgRowStatus            = createAndGo(4),
        teLinkSrlgStorageType          = nonVolatile(3)
     }

  The bundled link inherits the SRLG properties from the associated TE
  links.

  Next, for each unbundled TE link, a component link is created.  An
  ifEntry with the same ifIndex needs to be created beforehand.

     In componentLinkTable:
     {
        ifIndex                          = 5,
        componentLinkPreferredProtection = primary(1),
        componentLinkRowStatus           = createAndGo(4),
        componentLinkStorageType         = nonVolatile(3)
     }

     In ifStackTable:
     {
        ifStackHigherLayer             = 3,
        ifStackLowerLayer              = 5,
        ifStackStatus                  = createAndGo(4)
     }

     In componentLinkTable:
     {
        ifIndex                          = 6,
        componentLinkPreferredProtection = secondary(2),
        componentLinkRowStatus           = createAndGo(4)
        componentLinkStorageType         = nonVolatile(3)
     }

     In ifStackTable:
     {
        ifStackHigherLayer             = 4,
        ifStackLowerLayer              = 6,
        ifStackStatus                  = createAndGo(4)
     }

  In this example, once a component link is added to the
  componentLinkTable, the associated link descriptors are implicitly
  added to the componentLinkDescriptorTable.

  TE link link descriptors are derived from their component link
  descriptors.



Dubuc, et al.               Standards Track                     [Page 8]

RFC 4220                MPLS TE Link MIB Module            November 2005


  Note that the bandwidth attributes in teLinkDescriptorTable,
  componentLinkDescriptorTable, teLinkBandwidthTable, and
  componentLinkBandwidthTable are maintained by the device according to
  LSP creation/deletion at different priorities.  The values in the
  teLinkBandwidthTable are an aggregation of the values for the
  component links of the TE links and the TE links of the bundled link.

8.  Application of the Interfaces Group to TE Links

  The Interfaces Group [RFC2863] defines generic managed objects for
  managing interfaces.  This memo contains the media-specific
  extensions to the Interfaces Group for managing TE Link interfaces as
  logical interfaces.

  This memo assumes the interpretation of the Interfaces Group to be in
  accordance with [RFC2863], which states that the interfaces table
  (ifTable) contains information on the managed resource's interfaces
  and that each sub-layer below the internetwork layer of a network
  interface is considered an interface.  Thus, the TE Link interface is
  represented as an entry in the ifTable.  The interrelation of entries
  in the ifTable is defined by Interfaces Stack Group, as defined in
  [RFC2863].

  When using TE Link interfaces, the interface stack table might appear
  as follows:

     +----------------------------------------+
     | TE link-interface ifType = teLink(200) +
     +----------------------------------------+
     | Underlying Layer...                    +
     +----------------------------------------+

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

8.1.  Support of the TE Link Layer by ifTable

  Some specific interpretations of ifTable for the TE Link layer
  follow.

  Object        Use for the TE Link layer

  ifIndex       Each TE Link interface is represented by an ifEntry.

  ifDescr       Description of the TE Link interface.





Dubuc, et al.               Standards Track                     [Page 9]

RFC 4220                MPLS TE Link MIB Module            November 2005


  ifType        The value that is allocated for TE Link is 200
                [IANAifType].

  ifSpeed       The total bandwidth in bits per second for use by the
                TE Link layer.

  ifPhysAddress Unused.

  ifAdminStatus This variable indicates the administrator's intent as
                to whether TE Link should be enabled, disabled, or
                running in some diagnostic testing mode on this
                interface.  Also see [RFC2863].

  ifOperStatus  This value reflects the actual or operational status of
                the TE Link on this interface.

  ifLastChange  See [RFC2863].

  ifInOctets    The number of received octets over the interface, i.e.,
                the number of received octets in all component links
                associated with the interface.

  ifOutOctets   The number of transmitted octets over the interface,
                i.e., the number of octets transmitted over all
                component links associated with the interface.

  ifInErrors    The number of packets dropped due to uncorrectable
                errors.

  ifInUnknownProtos
                The number of received packets discarded during packet
                header validation.

  ifOutErrors   See [RFC2863].

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

  ifLinkUpDownTrapEnable
                Default is disabled (2).

  ifConnectorPresent
                Set to false (2).

  ifHighSpeed   See [RFC2863].






Dubuc, et al.               Standards Track                    [Page 10]

RFC 4220                MPLS TE Link MIB Module            November 2005


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

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

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

  ifCounterDiscontinuityTime
                See [RFC2863].

  Support for ifInOctets, ifOutOctets, ifInErrors, ifInUnknownProtos,
  ifOutErrors, ifHCInOctets, and ifHCOutOctets objects is not required
  if the encoding type is clear.  For other encoding types, traffic
  counters on a TE link are cumulative for all subinterfaces that it
  binds together.

8.2.  Using ifStackTable

  This section describes, by example, how to use the ifStackTable to
  represent the relationship of TE links with underlying TE-enabled
  interfaces.  Implementors of the stack table for TE link interfaces
  should look at the appropriate RFC for the service being stacked on
  TE links.  The examples given below are for illustration purposes
  only.

     Example: MPLS is being carried on a bundled TE link.  The bundled
              TE link represents a 1:1 optical transport interface.

  In this example, the component link is a TE link.  The two component
  links/TE links are grouped in a bundled link.

  +-------------------------------------------------------------------+
  | MPLS interface ifType = mpls(166)                                 |
  | ifIndex = 1                                                       |
  +-------------------------------------------------------------------+
  | TE link (bundled link) ifType = teLink(200)                       |
  | ifIndex = 2                                                       |
  +--------------------------------+-+--------------------------------+
  | TE link ifType = teLink(200)   | | TE link ifType = teLink(200)   |
  | ifIndex = 3                    | | ifIndex = 4                    |
  +--------------------------------+ +--------------------------------+
  | Component link                 | | Component link                 |
  | ifType = opticalTransport(196) | | ifType = opticalTransport(196) |
  | ifIndex = 5                    | | ifIndex = 6                    |
  +--------------------------------+ +--------------------------------+




Dubuc, et al.               Standards Track                    [Page 11]

RFC 4220                MPLS TE Link MIB Module            November 2005


  The assignment of the index values could, for example, be:

           ifIndex  Description
           1        mpls             (type 166)
           2        teLink           (type 200)
           3        teLink           (type 200)
           4        teLink           (type 200)
           5        opticalTransport (type 196)
           6        opticalTransport (type 196)

  The ifStackTable is then used to show the relationships between the
  various interfaces.

           ifStackTable Entries

           HigherLayer   LowerLayer
           0             1
           1             2
           2             3
           2             4
           3             5
           4             6
           5             0
           6             0

  In the case where MPLS is using a single TE link, then the upper TE
  link layer (link bundle) is not required.

     +-----------------------------------+
     | MPLS interface ifType = mpls(166) |
     +-----------------------------------+
     | TE link ifType = teLink(200)      |
     +-----------------------------------+
     | Component link                    |
     | ifType = opticalTransport(196)    |
     +-----------------------------------+

  The assignment of the index values could for example be:

           ifIndex  Description
           1        mpls             (type 166)
           2        teLink           (type 200)
           3        opticalTransport (type 196)








Dubuc, et al.               Standards Track                    [Page 12]

RFC 4220                MPLS TE Link MIB Module            November 2005


  The ifStackTable is then used to show the relationships between the
  various interfaces.

           ifStackTable Entries

           HigherLayer   LowerLayer
           0             1
           1             2
           2             3
           3             0

8.3.  Applicability of ifRcvAddressTable

  TE link interfaces are logical interfaces with no media-level
  addresses.  As such, the ifRcvAddressTable is not applicable to these
  interfaces.

9.  TE Link MIB Module Definitions

  TE-LINK-STD-MIB DEFINITIONS ::= BEGIN

  IMPORTS
     MODULE-IDENTITY, OBJECT-TYPE, transmission, Integer32, Unsigned32
        FROM SNMPv2-SMI

     MODULE-COMPLIANCE, OBJECT-GROUP
        FROM SNMPv2-CONF

     TEXTUAL-CONVENTION, RowStatus, StorageType
        FROM SNMPv2-TC

     InterfaceIndexOrZero, ifIndex
        FROM IF-MIB

     InetAddressType, InetAddress
        FROM INET-ADDRESS-MIB;


  teLinkStdMIB MODULE-IDENTITY
     LAST-UPDATED "200510110000Z"  -- 11 October 2005
     ORGANIZATION "Multiprotocol Label Switching (MPLS) Working Group"
     CONTACT-INFO
         "        Martin Dubuc
          Email:  [email protected]

                  Thomas D. Nadeau
          Email:  [email protected]




Dubuc, et al.               Standards Track                    [Page 13]

RFC 4220                MPLS TE Link MIB Module            November 2005


                  Jonathan P. Lang
          Email:  [email protected]

          Comments about this document should be emailed directly to
          the MPLS working group mailing list at [email protected]."

     DESCRIPTION
         "Copyright (C) 2005 The Internet Society.  This version of
          this MIB module is part of RFC 4220; see the RFC
          itself for full legal notices.

          This MIB module contains managed object definitions for
          MPLS traffic engineering links as defined in
          'Link Bundling in MPLS Traffic Engineering (TE)'."

     -- Revision history.
     REVISION
         "200510110000Z"  -- 11 October 2005
     DESCRIPTION
         "Initial version published as RFC 4220."
     ::= { transmission 200 }

  -- Textual Conventions

  TeLinkBandwidth ::= TEXTUAL-CONVENTION
     STATUS       current
     DESCRIPTION
         "This type is used to represent link bandwidth in bps.  This
          value is represented using a 4 octet IEEE floating point
          format [IEEE].  The floating point representation is not
          used to represent fractional value but rather to allow
          specification of large numbers that cannot be expressed
          with 32-bit integers."
     REFERENCE
         "IEEE Standard for Binary Floating-Point Arithmetic,
          Standard 754-1985"
     SYNTAX       OCTET STRING (SIZE(4))

  TeLinkPriority ::= TEXTUAL-CONVENTION
     DISPLAY-HINT "d"
     STATUS       current
     DESCRIPTION
         "This type is used to represent a priority.  Each connection
          is assigned a priority.  This priority is used when
          accounting for bandwidth on TE links or component
          links, for resource allocation and for rerouting purposes.
          Value 0 is the highest priority.  Value 7 is the lowest
          priority."



Dubuc, et al.               Standards Track                    [Page 14]

RFC 4220                MPLS TE Link MIB Module            November 2005


     SYNTAX       Unsigned32 (0..7)

  TeLinkProtection ::= TEXTUAL-CONVENTION
     STATUS       current
     DESCRIPTION
         "Link protection."
     SYNTAX       INTEGER {
                      primary(1),
                      secondary(2)
                  }

  TeLinkSwitchingCapability ::= TEXTUAL-CONVENTION
     STATUS       current
     DESCRIPTION
         "Switching capability as specified in the 'OSPF Extensions in
          Support of Generalized Multi-Protocol Label Switching
          (GMPLS)' document.  The values specified in this document
          are not contiguous."
     SYNTAX       INTEGER {
                      packetSwitch1(1),
                      packetSwitch2(2),
                      packetSwitch3(3),
                      packetSwitch4(4),
                      layer2Switch(51),
                      tdm(100),
                      lambdaSwitch(150),
                      fiberSwitch(200)
                  }

  TeLinkEncodingType ::= TEXTUAL-CONVENTION
     STATUS       current
     DESCRIPTION
         "Link encoding type as specified in 'Generalized
          Multi-Protocol Label Switching (GMPLS) Signaling
          Functional Description' document.  The values
          specified in this document are not contiguous."
     SYNTAX       INTEGER {
                      packet(1),
                      ethernet(2),
                      ansiEtsiPdh(3),
                      sdhItuSonetAnsi(5),
                      digitalWrapper(7),
                      lambda(8),
                      fiber(9),
                      fiberChannel(11)
                  }

  TeLinkSonetSdhIndication ::= TEXTUAL-CONVENTION



Dubuc, et al.               Standards Track                    [Page 15]

RFC 4220                MPLS TE Link MIB Module            November 2005


     STATUS       current
     DESCRIPTION
         "This convention is used to indicate whether the interface
          supports Standard or Arbitrary SONET/SDH.  To simplify the
          mapping process, the values used in this textual convention
          match the values specified in the interface switching
          capability specific information field, i.e., 0 for Standard
          SONET/SDH and 1 for Arbitrary SONET/SDH."
     REFERENCE
         "OSPF Extensions in Support of Generalized Multi-Protocol
          Label Switching (GMPLS), RFC 4203"
     SYNTAX       INTEGER {
                      standard(0),
                      arbitrary(1)
                  }

  -- Top level components of this MIB module

  -- Notifications
  teLinkNotifications OBJECT IDENTIFIER ::= { teLinkStdMIB 0 }
  -- Tables, Scalars
  teLinkObjects       OBJECT IDENTIFIER ::= { teLinkStdMIB 1 }
  -- Conformance
  teLinkConformance   OBJECT IDENTIFIER ::= { teLinkStdMIB 2 }

  -- TE Link Table

  teLinkTable OBJECT-TYPE
     SYNTAX        SEQUENCE OF TeLinkEntry
     MAX-ACCESS    not-accessible
     STATUS        current
     DESCRIPTION
         "This table specifies the grouping of component links into
          TE links and the grouping of TE links into bundled links."
     ::= { teLinkObjects 1 }

  teLinkEntry OBJECT-TYPE
     SYNTAX        TeLinkEntry
     MAX-ACCESS    not-accessible
     STATUS        current
     DESCRIPTION
         "An entry in this table exists for each ifEntry with an
          ifType of teLink(200), i.e., for every TE link.  An ifEntry
          in the ifTable must exist before a teLinkEntry is created
          with the corresponding ifIndex.  If a TE link entry in the
          ifTable is destroyed, then so is the corresponding entry
          in the teLinkTable.  The administrative and operational
          status values are controlled from the ifEntry."



Dubuc, et al.               Standards Track                    [Page 16]

RFC 4220                MPLS TE Link MIB Module            November 2005


     INDEX         { ifIndex }
     ::= { teLinkTable 1 }

  TeLinkEntry ::= SEQUENCE {
    teLinkAddressType                 InetAddressType,
    teLinkLocalIpAddr                 InetAddress,
    teLinkRemoteIpAddr                InetAddress,
    teLinkMetric                      Unsigned32,
    teLinkMaximumReservableBandwidth  TeLinkBandwidth,
    teLinkProtectionType              INTEGER,
    teLinkWorkingPriority             TeLinkPriority,
    teLinkResourceClass               Unsigned32,
    teLinkIncomingIfId                Integer32,
    teLinkOutgoingIfId                InterfaceIndexOrZero,
    teLinkRowStatus                   RowStatus,
    teLinkStorageType                 StorageType
  }

  teLinkAddressType OBJECT-TYPE
     SYNTAX        InetAddressType
     MAX-ACCESS    read-create
     STATUS        current
     DESCRIPTION
         "The type of Internet address for the TE link."
     ::= { teLinkEntry 1 }

  teLinkLocalIpAddr OBJECT-TYPE
     SYNTAX        InetAddress
     MAX-ACCESS    read-create
     STATUS        current
     DESCRIPTION
         "The local Internet address for numbered links.  The type of
          this address is determined by the value of the
          teLinkAddressType object.

          For IPv4 and IPv6 numbered links, this object represents the
          local IP address associated with the TE link.  For an
          unnumbered link, the local address is of type unknown, this
          object is set to the zero length string, and the
          teLinkOutgoingIfId object then identifies the unnumbered
          address.

          If the TE link is a Forwarding Adjacency (FA), the local
          IP address is set to the head-end address of the FA-LSP.

          If ipAddrTable is implemented, this object must have the
          same value as the ipAdEntAddr object that belongs to the
          row in ipAddrTable where ipAdEntIfIndex is equal to



Dubuc, et al.               Standards Track                    [Page 17]

RFC 4220                MPLS TE Link MIB Module            November 2005


          ifIndex."
     ::= { teLinkEntry 2 }

  teLinkRemoteIpAddr OBJECT-TYPE
     SYNTAX        InetAddress
     MAX-ACCESS    read-create
     STATUS        current
     DESCRIPTION
         "The remote Internet address for numbered links.  The type of
          this address is determined by the value of the
          teLinkAddressType object.

          The remote IP address associated with the TE link (IPv4 and
          IPv6 numbered links).  For an unnumbered link, the remote
          address is of type unknown, this object is set to the
          zero length string, and the teLinkIncomingIfId object then
          identifies the unnumbered address.

          If the TE link is a Forwarding Adjacency, the remote IP
          address is set to the tail-end address of the FA-LSP."
     ::= { teLinkEntry 3 }

  teLinkMetric OBJECT-TYPE
     SYNTAX        Unsigned32
     MAX-ACCESS    read-create
     STATUS        current
     DESCRIPTION
         "The traffic engineering metric for the TE link is
          derived from its component links.  All component links
          within the TE link must have the same traffic
          engineering metric."
     REFERENCE
         "Link Bundling in MPLS Traffic Engineering (TE), RFC 4201"
     ::= { teLinkEntry 4 }

  teLinkMaximumReservableBandwidth OBJECT-TYPE
     SYNTAX        TeLinkBandwidth
     UNITS         "bps"
     MAX-ACCESS    read-only
     STATUS        current
     DESCRIPTION
         "This attribute specifies the maximum reservable bandwidth on
          the TE link.  This is the union of the maximum reservable
          bandwidth of all the component links within the
          TE link that can be used to carry live traffic."
     REFERENCE
         "OSPF Extensions in Support of Generalized Multi-Protocol
          Label Switching (GMPLS), RFC 4203"



Dubuc, et al.               Standards Track                    [Page 18]

RFC 4220                MPLS TE Link MIB Module            November 2005


     ::= { teLinkEntry 5 }

  teLinkProtectionType OBJECT-TYPE
     SYNTAX        INTEGER {
                       extraTraffic(1),
                       unprotected(2),
                       shared(3),
                       dedicated1For1(4),
                       dedicated1Plus1(5),
                       enhanced(6)
                   }
     MAX-ACCESS    read-create
     STATUS        current
     DESCRIPTION
         "This attribute specifies the link protection type of the
          TE link.  Descriptions of the different protection types can
          be found in the 'Routing Extensions in Support of
          Generalized Multi-Protocol Label Switching (GMPLS)'
          document."
     REFERENCE
         "OSPF Extensions in Support of Generalized Multi-Protocol
          Label Switching (GMPLS), RFC 4203 and
          Routing Extensions in Support of Generalized Multi-Protocol
          Label Switching (GMPLS), RFC 4202"
     ::= { teLinkEntry 6 }

  teLinkWorkingPriority OBJECT-TYPE
     SYNTAX        TeLinkPriority
     MAX-ACCESS    read-create
     STATUS        current
     DESCRIPTION
         "This object represents a priority value such that a new
          connection with a higher priority, i.e., numerically lower
          than this value, is guaranteed to be setup on a primary
          link and not on a secondary link."
     REFERENCE
         "OSPF Extensions in Support of Generalized Multi-Protocol
          Label Switching (GMPLS), RFC 4203"
     ::= { teLinkEntry 7 }

  teLinkResourceClass OBJECT-TYPE
     SYNTAX        Unsigned32
     MAX-ACCESS    read-create
     STATUS        current
     DESCRIPTION
         "This attribute specifies the TE link resource class.
          The resource class is a 32 bit bitfield.  The resource class
          for a link bundle is derived from the resource class of its



Dubuc, et al.               Standards Track                    [Page 19]

RFC 4220                MPLS TE Link MIB Module            November 2005


          TE links.  All TE links within a link bundle must have the
          same resource class.  Encoding of the resource class is
          described in the 'Traffic Engineering (TE) Extensions to
          OSPF Version 2' document."
     REFERENCE
         "Link Bundling in MPLS Traffic Engineering (TE), RFC 4201
          and Traffic Engineering (TE) Extensions to OSPF Version 2,
          RFC 3630"
     ::= { teLinkEntry 8 }

  teLinkIncomingIfId OBJECT-TYPE
     SYNTAX        Integer32 (0..2147483647)
     MAX-ACCESS    read-create
     STATUS        current
     DESCRIPTION
         "For unnumbered links, the incoming interface is set to the
          outgoing interface identifier chosen by the neighboring LSR
          for the reverse link corresponding to this TE link.  If the
          link is numbered, the value of this object is 0 and the
          address is stored in the teLinkRemoteIpAddr instead."
     REFERENCE
         "Link Bundling in MPLS Traffic Engineering (TE), RFC 4201"
     ::= { teLinkEntry 9 }

  teLinkOutgoingIfId OBJECT-TYPE
     SYNTAX        InterfaceIndexOrZero
     MAX-ACCESS    read-create
     STATUS        current
     DESCRIPTION
         "If the link is unnumbered, the outgoing interface identifier
          is set to the outgoing interface identifier chosen for the
          TE link by the advertising LSR.  If the link is numbered, the
          value of this object is 0 and the address is stored in the
          teLinkLocalIpAddr instead."
     REFERENCE
         "Link Bundling in MPLS Traffic Engineering (TE), RFC 4201"
     ::= { teLinkEntry 10 }

  teLinkRowStatus OBJECT-TYPE
     SYNTAX        RowStatus
     MAX-ACCESS    read-create
     STATUS        current
     DESCRIPTION
         "This variable is used to create, modify, and/or
          delete a row in this table.  None of the writable objects in
          a row can be changed if status is active(1)."
     ::= { teLinkEntry 11 }




Dubuc, et al.               Standards Track                    [Page 20]

RFC 4220                MPLS TE Link MIB Module            November 2005


  teLinkStorageType OBJECT-TYPE
     SYNTAX        StorageType
     MAX-ACCESS    read-create
     STATUS        current
     DESCRIPTION
         "The storage type for this conceptual row in the
          teLinkTable.  Conceptual rows having the value
          'permanent' need not allow write-access to any
          columnar object in the row."
     ::= { teLinkEntry 12 }

  -- End of teLinkTable


  -- TE Link Descriptor Table

  teLinkDescriptorTable OBJECT-TYPE
     SYNTAX        SEQUENCE OF TeLinkDescriptorEntry
     MAX-ACCESS    not-accessible
     STATUS        current
     DESCRIPTION
         "This table specifies the interface switching capability
          descriptors associated with the TE links."
     ::= { teLinkObjects 2 }

  teLinkDescriptorEntry OBJECT-TYPE
     SYNTAX        TeLinkDescriptorEntry
     MAX-ACCESS    not-accessible
     STATUS        current
     DESCRIPTION
         "An entry in this table is created for every TE link interface
          switching capability descriptor.  An ifEntry in the ifTable
          must exist before a teLinkDescriptorEntry using the same
          ifIndex is created.  ifType of ifEntry must be teLink(200).
          If a TE link entry in the ifTable is destroyed, then so are
          all of the entries in the teLinkDescriptorTable that use the
          ifIndex of this TE link."
     INDEX         { ifIndex, teLinkDescriptorId }
     ::= { teLinkDescriptorTable 1 }

  TeLinkDescriptorEntry ::= SEQUENCE {
    teLinkDescriptorId               Unsigned32,
    teLinkDescrSwitchingCapability   TeLinkSwitchingCapability,
    teLinkDescrEncodingType          TeLinkEncodingType,
    teLinkDescrMinLspBandwidth       TeLinkBandwidth,
    teLinkDescrMaxLspBandwidthPrio0  TeLinkBandwidth,
    teLinkDescrMaxLspBandwidthPrio1  TeLinkBandwidth,
    teLinkDescrMaxLspBandwidthPrio2  TeLinkBandwidth,



Dubuc, et al.               Standards Track                    [Page 21]

RFC 4220                MPLS TE Link MIB Module            November 2005


    teLinkDescrMaxLspBandwidthPrio3  TeLinkBandwidth,
    teLinkDescrMaxLspBandwidthPrio4  TeLinkBandwidth,
    teLinkDescrMaxLspBandwidthPrio5  TeLinkBandwidth,
    teLinkDescrMaxLspBandwidthPrio6  TeLinkBandwidth,
    teLinkDescrMaxLspBandwidthPrio7  TeLinkBandwidth,
    teLinkDescrInterfaceMtu          Unsigned32,
    teLinkDescrIndication            TeLinkSonetSdhIndication,
    teLinkDescrRowStatus             RowStatus,
    teLinkDescrStorageType           StorageType
  }

  teLinkDescriptorId OBJECT-TYPE
     SYNTAX        Unsigned32 (1..4294967295)
     MAX-ACCESS    not-accessible
     STATUS        current
     DESCRIPTION
         "This object specifies the link descriptor identifier."
     ::= { teLinkDescriptorEntry 1 }

  teLinkDescrSwitchingCapability OBJECT-TYPE
     SYNTAX        TeLinkSwitchingCapability
     MAX-ACCESS    read-create
     STATUS        current
     DESCRIPTION
         "This attribute specifies interface switching capability of
          the TE link, which is derived from its component links."
     REFERENCE
         "OSPF Extensions in Support of Generalized Multi-Protocol
          Label Switching (GMPLS), RFC 4203"
     ::= { teLinkDescriptorEntry 2 }

  teLinkDescrEncodingType OBJECT-TYPE
     SYNTAX        TeLinkEncodingType
     MAX-ACCESS    read-create
     STATUS        current
     DESCRIPTION
         "This attribute specifies the TE link encoding type."
     REFERENCE
         "Generalized Multi-Protocol Label Switching (GMPLS)
          Signaling Functional Description, RFC 3471"
     ::= { teLinkDescriptorEntry 3 }

  teLinkDescrMinLspBandwidth OBJECT-TYPE
     SYNTAX        TeLinkBandwidth
     UNITS         "bps"
     MAX-ACCESS    read-create
     STATUS        current
     DESCRIPTION



Dubuc, et al.               Standards Track                    [Page 22]

RFC 4220                MPLS TE Link MIB Module            November 2005


         "This attribute specifies the minimum LSP bandwidth on
          the TE link.  This is derived from the union of the
          minimum LSP bandwidth of all the component links
          associated with the TE link that can be used to carry
          live traffic."
     REFERENCE
         "OSPF Extensions in Support of Generalized Multi-Protocol
          Label Switching (GMPLS), RFC 4203"
     ::= { teLinkDescriptorEntry 4 }

  teLinkDescrMaxLspBandwidthPrio0 OBJECT-TYPE
     SYNTAX        TeLinkBandwidth
     UNITS         "bps"
     MAX-ACCESS    read-create
     STATUS        current
     DESCRIPTION
         "This attribute specifies the maximum LSP bandwidth at
          priority 0 on the TE link.  This is the union of the maximum
          LSP bandwidth at priority 0 of all the component links within
          the TE link that can be used to carry live traffic."
     REFERENCE
         "OSPF Extensions in Support of Generalized Multi-Protocol
          Label Switching (GMPLS), RFC 4203"
     ::= { teLinkDescriptorEntry 5 }

  teLinkDescrMaxLspBandwidthPrio1 OBJECT-TYPE
     SYNTAX        TeLinkBandwidth
     UNITS         "bps"
     MAX-ACCESS    read-create
     STATUS        current
     DESCRIPTION
         "This attribute specifies the maximum LSP bandwidth at
          priority 1 on the TE link.  This is the union of the maximum
          LSP bandwidth at priority 1 of all the component links within
          the TE link that can be used to carry live traffic."
     REFERENCE
         "OSPF Extensions in Support of Generalized Multi-Protocol
          Label Switching (GMPLS), RFC 4203"
     ::= { teLinkDescriptorEntry 6 }

  teLinkDescrMaxLspBandwidthPrio2 OBJECT-TYPE
     SYNTAX        TeLinkBandwidth
     UNITS         "bps"
     MAX-ACCESS    read-create
     STATUS        current
     DESCRIPTION
         "This attribute specifies the maximum LSP bandwidth at
          priority 2 on the TE link.  This is the union of the maximum



Dubuc, et al.               Standards Track                    [Page 23]

RFC 4220                MPLS TE Link MIB Module            November 2005


          LSP bandwidth at priority 2 of all the component links within
          the TE link that can be used to carry live traffic."
     REFERENCE
         "OSPF Extensions in Support of Generalized Multi-Protocol
          Label Switching (GMPLS), RFC 4203"
     ::= { teLinkDescriptorEntry 7 }

  teLinkDescrMaxLspBandwidthPrio3 OBJECT-TYPE
     SYNTAX        TeLinkBandwidth
     UNITS         "bps"
     MAX-ACCESS    read-create
     STATUS        current
     DESCRIPTION
         "This attribute specifies the maximum LSP bandwidth at
          priority 3 on the TE link.  This is the union of the maximum
          LSP bandwidth at priority 3 of all the component links within
          the TE link that can be used to carry live traffic."
     REFERENCE
         "OSPF Extensions in Support of Generalized Multi-Protocol
          Label Switching (GMPLS), RFC 4203"
     ::= { teLinkDescriptorEntry 8 }

  teLinkDescrMaxLspBandwidthPrio4 OBJECT-TYPE
     SYNTAX        TeLinkBandwidth
     UNITS         "bps"
     MAX-ACCESS    read-create
     STATUS        current
     DESCRIPTION
         "This attribute specifies the maximum LSP bandwidth at
          priority 4 on the TE link.  This is the union of the maximum
          LSP bandwidth at priority 4 of all the component links within
          the TE link that can be used to carry live traffic."
     REFERENCE
         "OSPF Extensions in Support of Generalized Multi-Protocol
          Label Switching (GMPLS), RFC 4203"
     ::= { teLinkDescriptorEntry 9 }

  teLinkDescrMaxLspBandwidthPrio5 OBJECT-TYPE
     SYNTAX        TeLinkBandwidth
     UNITS         "bps"
     MAX-ACCESS    read-create
     STATUS        current
     DESCRIPTION
         "This attribute specifies the maximum LSP bandwidth at
          priority 5 on the TE link.  This is the union of the maximum
          LSP bandwidth at priority 5 of all the component links within
          the TE link that can be used to carry live traffic."
     REFERENCE



Dubuc, et al.               Standards Track                    [Page 24]

RFC 4220                MPLS TE Link MIB Module            November 2005


         "OSPF Extensions in Support of Generalized Multi-Protocol
          Label Switching (GMPLS), RFC 4203"
     ::= { teLinkDescriptorEntry 10 }

  teLinkDescrMaxLspBandwidthPrio6 OBJECT-TYPE
     SYNTAX        TeLinkBandwidth
     UNITS         "bps"
     MAX-ACCESS    read-create
     STATUS        current
     DESCRIPTION
         "This attribute specifies the maximum LSP bandwidth at
          priority 6 on the TE link.  This is the union of the maximum
          LSP bandwidth at priority 6 of all the component links within
          the TE link that can be used to carry live traffic."
     REFERENCE
         "OSPF Extensions in Support of Generalized Multi-Protocol
          Label Switching (GMPLS), RFC 4203"
     ::= { teLinkDescriptorEntry 11 }

  teLinkDescrMaxLspBandwidthPrio7 OBJECT-TYPE
     SYNTAX        TeLinkBandwidth
     UNITS         "bps"
     MAX-ACCESS    read-create
     STATUS        current
     DESCRIPTION
         "This attribute specifies the maximum LSP bandwidth at
          priority 7 on the TE link.  This is the union of the maximum
          LSP bandwidth at priority 7 of all the component links within
          the TE link that can be used to carry live traffic."
     REFERENCE
         "OSPF Extensions in Support of Generalized Multi-Protocol
          Label Switching (GMPLS), RFC 4203"
     ::= { teLinkDescriptorEntry 12 }

  teLinkDescrInterfaceMtu OBJECT-TYPE
     SYNTAX        Unsigned32 (1..65535)
     MAX-ACCESS    read-create
     STATUS        current
     DESCRIPTION
         "This attribute specifies the interface MTU for the TE
          link descriptor."
     REFERENCE
         "OSPF Extensions in Support of Generalized Multi-Protocol
          Label Switching (GMPLS), RFC 4203"
     ::= { teLinkDescriptorEntry 13 }

  teLinkDescrIndication OBJECT-TYPE
     SYNTAX        TeLinkSonetSdhIndication



Dubuc, et al.               Standards Track                    [Page 25]

RFC 4220                MPLS TE Link MIB Module            November 2005


     MAX-ACCESS    read-create
     STATUS        current
     DESCRIPTION
         "This attribute specifies whether this interface supports
          Standard or Arbitrary SONET/SDH."
     REFERENCE
         "OSPF Extensions in Support of Generalized Multi-Protocol
          Label Switching (GMPLS), RFC 4203"
     ::= { teLinkDescriptorEntry 14 }

  teLinkDescrRowStatus OBJECT-TYPE
     SYNTAX        RowStatus
     MAX-ACCESS    read-create
     STATUS        current
     DESCRIPTION
         "This variable is used to create, modify, and/or
          delete a row in this table.  No read-create object
          can be changed if teLinkDescrRowStatus is in the active(1)
          state."
     ::= { teLinkDescriptorEntry 15 }

  teLinkDescrStorageType OBJECT-TYPE
     SYNTAX        StorageType
     MAX-ACCESS    read-create
     STATUS        current
     DESCRIPTION
         "The storage type for this conceptual row in the
          teLinkDescriptorTable.  Conceptual rows having the value
          'permanent' need not allow write-access to any
          columnar object in the row."
     ::= { teLinkDescriptorEntry 16 }

  -- End of teLinkDescriptorTable


  -- TE Link Shared Risk Link Group Table

  teLinkSrlgTable OBJECT-TYPE
     SYNTAX        SEQUENCE OF TeLinkSrlgEntry
     MAX-ACCESS    not-accessible
     STATUS        current
     DESCRIPTION
         "This table specifies the SRLGs associated with TE links."
     ::= { teLinkObjects 3 }

  teLinkSrlgEntry OBJECT-TYPE
     SYNTAX        TeLinkSrlgEntry
     MAX-ACCESS    not-accessible



Dubuc, et al.               Standards Track                    [Page 26]

RFC 4220                MPLS TE Link MIB Module            November 2005


     STATUS        current
     DESCRIPTION
         "An entry in this table contains information about an
          SRLG associated with a TE link.
          An ifEntry in the ifTable must exist before a
          teLinkSrlgEntry using the same ifIndex is created.
          The ifType of ifEntry must be teLink(200).
          If a TE link entry in the ifTable is destroyed, then so
          are all of the entries in the teLinkSrlgTable that use the
          ifIndex of this TE link."
     INDEX         { ifIndex, teLinkSrlg }
     ::= { teLinkSrlgTable 1 }

  TeLinkSrlgEntry ::= SEQUENCE {
    teLinkSrlg            Unsigned32,
    teLinkSrlgRowStatus   RowStatus,
    teLinkSrlgStorageType StorageType
  }

  teLinkSrlg OBJECT-TYPE
     SYNTAX        Unsigned32 (0..4294967295)
     MAX-ACCESS    not-accessible
     STATUS        current
     DESCRIPTION
         "This identifies an SRLG supported by the TE link.  An SRLG is
          identified with a 32-bit number that is unique within an IGP
          domain.  Zero is a valid SRLG number."
     REFERENCE
         "OSPF Extensions in Support of Generalized Multi-Protocol
          Label Switching (GMPLS), RFC 4203"
     ::= { teLinkSrlgEntry 1 }

  teLinkSrlgRowStatus OBJECT-TYPE
     SYNTAX        RowStatus
     MAX-ACCESS    read-create
     STATUS        current
     DESCRIPTION
         "This variable is used to create, modify, and/or
          delete a row in this table.  No read-create object can
          be modified if teLinkSrlgRowStatus is active(1)."
     ::= { teLinkSrlgEntry 2 }

  teLinkSrlgStorageType OBJECT-TYPE
     SYNTAX        StorageType
     MAX-ACCESS    read-create
     STATUS        current
     DESCRIPTION
         "The storage type for this conceptual row in the



Dubuc, et al.               Standards Track                    [Page 27]

RFC 4220                MPLS TE Link MIB Module            November 2005


          teLinkSrlgTable.  Conceptual rows having the value
          'permanent' need not allow write-access to any
          columnar object in the row."
     ::= { teLinkSrlgEntry 3 }

  -- End of teLinkSrlgTable


  -- TE Link Bandwidth Table

  teLinkBandwidthTable OBJECT-TYPE
     SYNTAX        SEQUENCE OF TeLinkBandwidthEntry
     MAX-ACCESS    not-accessible
     STATUS        current
     DESCRIPTION
         "This table specifies the priority-based bandwidth table
          for TE links."
     ::= { teLinkObjects 4 }

  teLinkBandwidthEntry OBJECT-TYPE
     SYNTAX        TeLinkBandwidthEntry
     MAX-ACCESS    not-accessible
     STATUS        current
     DESCRIPTION
         "An entry in this table contains information about
          the priority-based bandwidth of TE links.  An ifEntry in the
          ifTable must exist before a teLinkBandwidthEntry using the
          same ifIndex is created.  The ifType of ifEntry must be
          teLink(200).  If a TE link entry in the ifTable is destroyed,
          then so are all of the entries in the teLinkBandwidthTable
          that use the ifIndex of this TE link."
     INDEX         { ifIndex, teLinkBandwidthPriority }
     ::= { teLinkBandwidthTable 1 }

  TeLinkBandwidthEntry ::= SEQUENCE {
    teLinkBandwidthPriority    TeLinkPriority,
    teLinkBandwidthUnreserved  TeLinkBandwidth,
    teLinkBandwidthRowStatus   RowStatus,
    teLinkBandwidthStorageType StorageType
  }

  teLinkBandwidthPriority OBJECT-TYPE
     SYNTAX        TeLinkPriority
     MAX-ACCESS    not-accessible
     STATUS        current
     DESCRIPTION
         "This attribute specifies the priority.  A value of 0 is valid
          as specified in the 'Traffic Engineering (TE) Extensions to



Dubuc, et al.               Standards Track                    [Page 28]

RFC 4220                MPLS TE Link MIB Module            November 2005


          OSPF Version 2' document."
     REFERENCE
         "OSPF Extensions in Support of Generalized Multi-Protocol
          Label Switching (GMPLS), RFC 4203 and
          Traffic Engineering (TE) Extensions to OSPF Version 2,
          RFC 3630"
     ::= { teLinkBandwidthEntry 1 }

  teLinkBandwidthUnreserved OBJECT-TYPE
     SYNTAX        TeLinkBandwidth
     UNITS         "bps"
     MAX-ACCESS    read-only
     STATUS        current
     DESCRIPTION
         "This attribute specifies the TE link unreserved
          bandwidth at priority p.  It is the sum of the unreserved
          bandwidths at priority p of all component links associated
          with the TE link (excluding all links that are strictly
          used as protecting links)."
     REFERENCE
         "Link Bundling in MPLS Traffic Engineering (TE), RFC 4201"
     ::= { teLinkBandwidthEntry 2 }

  teLinkBandwidthRowStatus OBJECT-TYPE
     SYNTAX        RowStatus
     MAX-ACCESS    read-create
     STATUS        current
     DESCRIPTION
         "This variable is used to create, modify, and/or
          delete a row in this table.  No read-create object
          can be modified when teLinkBandwidthRowStatus is active(1)."
     ::= { teLinkBandwidthEntry 3 }

  teLinkBandwidthStorageType OBJECT-TYPE
     SYNTAX        StorageType
     MAX-ACCESS    read-create
     STATUS        current
     DESCRIPTION
         "The storage type for this conceptual row in the
          teLinkBandwidthTable.  Conceptual rows having the value
          'permanent' need not allow write-access to any
          columnar object in the row."
     ::= { teLinkBandwidthEntry 4 }

  -- End of teLinkBandwidthTable


  -- Component Link Table



Dubuc, et al.               Standards Track                    [Page 29]

RFC 4220                MPLS TE Link MIB Module            November 2005


  componentLinkTable  OBJECT-TYPE
     SYNTAX        SEQUENCE OF ComponentLinkEntry
     MAX-ACCESS    not-accessible
     STATUS        current
     DESCRIPTION
         "This table specifies the component link parameters."
     ::= { teLinkObjects 5 }

  componentLinkEntry  OBJECT-TYPE
     SYNTAX        ComponentLinkEntry
     MAX-ACCESS    not-accessible
     STATUS        current
     DESCRIPTION
         "An entry in this table exists for each ifEntry that
          represents a component link.  An ifEntry must exist in
          the ifTable before a componentLinkEntry is created with
          the corresponding ifIndex.  ifEntry's ifType can be
          of any interface type that has been defined for TE Link
          interworking.  Examples include ATM, Frame Relay, Ethernet,
          etc.  If an entry representing a component link is destroyed
          in the ifTable, then so is the corresponding entry in the
          componentLinkTable.  The administrative and operational
          status values are controlled from the ifEntry."
     INDEX         { ifIndex }
     ::= { componentLinkTable 1 }

  ComponentLinkEntry ::= SEQUENCE {
    componentLinkMaxResBandwidth     TeLinkBandwidth,
    componentLinkPreferredProtection TeLinkProtection,
    componentLinkCurrentProtection   TeLinkProtection,
    componentLinkRowStatus           RowStatus,
    componentLinkStorageType         StorageType
  }

  componentLinkMaxResBandwidth OBJECT-TYPE
     SYNTAX        TeLinkBandwidth
     UNITS         "bps"
     MAX-ACCESS    read-create
     STATUS        current
     DESCRIPTION
         "This attribute specifies the maximum reservable bandwidth on
          the component link."
     REFERENCE
         "OSPF Extensions in Support of Generalized Multi-Protocol
          Label Switching (GMPLS), RFC 4203"
     ::= { componentLinkEntry 1 }

  componentLinkPreferredProtection OBJECT-TYPE



Dubuc, et al.               Standards Track                    [Page 30]

RFC 4220                MPLS TE Link MIB Module            November 2005


     SYNTAX        TeLinkProtection
     MAX-ACCESS    read-create
     STATUS        current
     DESCRIPTION
         "This attribute specifies whether this component link is
          a primary or secondary entity."
     ::= { componentLinkEntry 2 }

  componentLinkCurrentProtection OBJECT-TYPE
     SYNTAX        TeLinkProtection
     MAX-ACCESS    read-only
     STATUS        current
     DESCRIPTION
         "This attribute specifies whether this component link is
          currently used as primary or secondary link."
     ::= { componentLinkEntry 3 }

  componentLinkRowStatus OBJECT-TYPE
     SYNTAX        RowStatus
     MAX-ACCESS    read-create
     STATUS        current
     DESCRIPTION
         "This variable is used to create, modify, and/or
          delete a row in this table.  No read-create object
          can be modified when componentLinkRowStatus is active(1)."
     ::= { componentLinkEntry 4 }

  componentLinkStorageType OBJECT-TYPE
     SYNTAX        StorageType
     MAX-ACCESS    read-create
     STATUS        current
     DESCRIPTION
         "The storage type for this conceptual row in the
          componentLinkTable.  Conceptual rows having the value
          'permanent' need not allow write-access to any
          columnar object in the row."
     ::= { componentLinkEntry 5 }

  -- End of componentLinkTable


  -- Component Link Descriptor Table

  componentLinkDescriptorTable OBJECT-TYPE
     SYNTAX        SEQUENCE OF ComponentLinkDescriptorEntry
     MAX-ACCESS    not-accessible
     STATUS        current
     DESCRIPTION



Dubuc, et al.               Standards Track                    [Page 31]

RFC 4220                MPLS TE Link MIB Module            November 2005


         "This table specifies the interface switching capability
          descriptors associated with the component links."
     ::= { teLinkObjects 6 }

  componentLinkDescriptorEntry OBJECT-TYPE
     SYNTAX        ComponentLinkDescriptorEntry
     MAX-ACCESS    not-accessible
     STATUS        current
     DESCRIPTION
         "An entry in this table is created for every component link
          descriptor.  An ifEntry in the ifTable must exist before a
          componentLinkDescriptorEntry using the same ifIndex is
          created.  ifEntry's ifType can be of any interface type that
          has been defined for TE Link interworking.  Examples include
          ATM, Frame Relay, Ethernet, etc.  If a component link entry
          in the ifTable is destroyed, then so are all entries in the
          componentLinkDescriptorTable that use the ifIndex of this
          component link."
     INDEX         { ifIndex, componentLinkDescrId }
     ::= { componentLinkDescriptorTable 1 }

  ComponentLinkDescriptorEntry ::= SEQUENCE {
    componentLinkDescrId                    Unsigned32,
    componentLinkDescrSwitchingCapability   TeLinkSwitchingCapability,
    componentLinkDescrEncodingType          TeLinkEncodingType,
    componentLinkDescrMinLspBandwidth       TeLinkBandwidth,
    componentLinkDescrMaxLspBandwidthPrio0  TeLinkBandwidth,
    componentLinkDescrMaxLspBandwidthPrio1  TeLinkBandwidth,
    componentLinkDescrMaxLspBandwidthPrio2  TeLinkBandwidth,
    componentLinkDescrMaxLspBandwidthPrio3  TeLinkBandwidth,
    componentLinkDescrMaxLspBandwidthPrio4  TeLinkBandwidth,
    componentLinkDescrMaxLspBandwidthPrio5  TeLinkBandwidth,
    componentLinkDescrMaxLspBandwidthPrio6  TeLinkBandwidth,
    componentLinkDescrMaxLspBandwidthPrio7  TeLinkBandwidth,
    componentLinkDescrInterfaceMtu          Unsigned32,
    componentLinkDescrIndication            TeLinkSonetSdhIndication,
    componentLinkDescrRowStatus             RowStatus,
    componentLinkDescrStorageType           StorageType
  }

  componentLinkDescrId OBJECT-TYPE
     SYNTAX        Unsigned32 (1..4294967295)
     MAX-ACCESS    not-accessible
     STATUS        current
     DESCRIPTION
         "This object specifies the link descriptor identifier."
     ::= { componentLinkDescriptorEntry 1 }




Dubuc, et al.               Standards Track                    [Page 32]

RFC 4220                MPLS TE Link MIB Module            November 2005


  componentLinkDescrSwitchingCapability OBJECT-TYPE
     SYNTAX        TeLinkSwitchingCapability
     MAX-ACCESS    read-create
     STATUS        current
     DESCRIPTION
         "This attribute specifies link multiplexing capabilities of
          the component link."
     REFERENCE
         "OSPF Extensions in Support of Generalized Multi-Protocol
          Label Switching (GMPLS), RFC 4203"
     ::= { componentLinkDescriptorEntry 2 }

  componentLinkDescrEncodingType OBJECT-TYPE
     SYNTAX        TeLinkEncodingType
     MAX-ACCESS    read-create
     STATUS        current
     DESCRIPTION
         "This attribute specifies the component link encoding type."
     REFERENCE
         "Generalized Multi-Protocol Label Switching (GMPLS) Signaling
          Functional Description, RFC 3471"
     ::= { componentLinkDescriptorEntry 3 }

  componentLinkDescrMinLspBandwidth OBJECT-TYPE
     SYNTAX        TeLinkBandwidth
     UNITS         "bps"
     MAX-ACCESS    read-create
     STATUS        current
     DESCRIPTION
         "This attribute specifies the minimum LSP bandwidth on
          the component link."
     REFERENCE
         "OSPF Extensions in Support of Generalized Multi-Protocol
          Label Switching (GMPLS), RFC 4203"
     ::= { componentLinkDescriptorEntry 4 }

  componentLinkDescrMaxLspBandwidthPrio0 OBJECT-TYPE
     SYNTAX        TeLinkBandwidth
     UNITS         "bps"
     MAX-ACCESS    read-create
     STATUS        current
     DESCRIPTION
         "This attribute specifies the maximum LSP bandwidth at
          priority 0 on the component link."
     REFERENCE
         "OSPF Extensions in Support of Generalized Multi-Protocol
          Label Switching (GMPLS), RFC 4203"
     ::= { componentLinkDescriptorEntry 5 }



Dubuc, et al.               Standards Track                    [Page 33]

RFC 4220                MPLS TE Link MIB Module            November 2005


  componentLinkDescrMaxLspBandwidthPrio1 OBJECT-TYPE
     SYNTAX        TeLinkBandwidth
     UNITS         "bps"
     MAX-ACCESS    read-create
     STATUS        current
     DESCRIPTION
         "This attribute specifies the maximum LSP bandwidth at
          priority 1 on the component link."
     REFERENCE
         "OSPF Extensions in Support of Generalized Multi-Protocol
          Label Switching (GMPLS), RFC 4203"
     ::= { componentLinkDescriptorEntry 6 }

  componentLinkDescrMaxLspBandwidthPrio2 OBJECT-TYPE
     SYNTAX        TeLinkBandwidth
     UNITS         "bps"
     MAX-ACCESS    read-create
     STATUS        current
     DESCRIPTION
         "This attribute specifies the maximum LSP bandwidth at
          priority 2 on the component link."
     REFERENCE
         "OSPF Extensions in Support of Generalized Multi-Protocol
          Label Switching (GMPLS), RFC 4203"
     ::= { componentLinkDescriptorEntry 7 }

  componentLinkDescrMaxLspBandwidthPrio3 OBJECT-TYPE
     SYNTAX        TeLinkBandwidth
     UNITS         "bps"
     MAX-ACCESS    read-create
     STATUS        current
     DESCRIPTION
         "This attribute specifies the maximum LSP bandwidth at
          priority 3 on the component link."
     REFERENCE
         "OSPF Extensions in Support of Generalized Multi-Protocol
          Label Switching (GMPLS), RFC 4203"
     ::= { componentLinkDescriptorEntry 8 }

  componentLinkDescrMaxLspBandwidthPrio4 OBJECT-TYPE
     SYNTAX        TeLinkBandwidth
     UNITS         "bps"
     MAX-ACCESS    read-create
     STATUS        current
     DESCRIPTION
         "This attribute specifies the maximum LSP bandwidth at
          priority 4 on the component link."
     REFERENCE



Dubuc, et al.               Standards Track                    [Page 34]

RFC 4220                MPLS TE Link MIB Module            November 2005


         "OSPF Extensions in Support of Generalized Multi-Protocol
          Label Switching (GMPLS), RFC 4203"
     ::= { componentLinkDescriptorEntry 9 }

  componentLinkDescrMaxLspBandwidthPrio5 OBJECT-TYPE
     SYNTAX        TeLinkBandwidth
     UNITS         "thousand bps"
     MAX-ACCESS    read-create
     STATUS        current
     DESCRIPTION
         "This attribute specifies the maximum LSP bandwidth at
          priority 5 on the component link."
     REFERENCE
         "OSPF Extensions in Support of Generalized Multi-Protocol
          Label Switching (GMPLS), RFC 4203"
     ::= { componentLinkDescriptorEntry 10 }

  componentLinkDescrMaxLspBandwidthPrio6 OBJECT-TYPE
     SYNTAX        TeLinkBandwidth
     UNITS         "bps"
     MAX-ACCESS    read-create
     STATUS        current
     DESCRIPTION
         "This attribute specifies the maximum LSP bandwidth at
          priority 6 on the component link."
     REFERENCE
         "OSPF Extensions in Support of Generalized Multi-Protocol
          Label Switching (GMPLS), RFC 4203"
     ::= { componentLinkDescriptorEntry 11 }

  componentLinkDescrMaxLspBandwidthPrio7 OBJECT-TYPE
     SYNTAX        TeLinkBandwidth
     UNITS         "bps"
     MAX-ACCESS    read-create
     STATUS        current
     DESCRIPTION
         "This attribute specifies the maximum LSP bandwidth at
          priority 7 on the component link."
     REFERENCE
         "OSPF Extensions in Support of Generalized Multi-Protocol
          Label Switching (GMPLS), RFC 4203"
     ::= { componentLinkDescriptorEntry 12 }

  componentLinkDescrInterfaceMtu OBJECT-TYPE
     SYNTAX        Unsigned32 (1..65535)
     MAX-ACCESS    read-create
     STATUS        current
     DESCRIPTION



Dubuc, et al.               Standards Track                    [Page 35]

RFC 4220                MPLS TE Link MIB Module            November 2005


         "This attribute specifies the interface MTU for the component
          link descriptor."
     REFERENCE
         "OSPF Extensions in Support of Generalized Multi-Protocol
          Label Switching (GMPLS), RFC 4203"
     ::= { componentLinkDescriptorEntry 13 }

  componentLinkDescrIndication OBJECT-TYPE
     SYNTAX        TeLinkSonetSdhIndication
     MAX-ACCESS    read-create
     STATUS        current
     DESCRIPTION
         "This attribute specifies whether this interface supports
          Standard or Arbitrary SONET/SDH."
     REFERENCE
         "OSPF Extensions in Support of Generalized Multi-Protocol
          Label Switching (GMPLS), RFC 4203"
     ::= { componentLinkDescriptorEntry 14 }

  componentLinkDescrRowStatus OBJECT-TYPE
     SYNTAX        RowStatus
     MAX-ACCESS    read-create
     STATUS        current
     DESCRIPTION
         "This variable is used to create, modify, and/or
          delete a row in this table.  No read-create object
          can be modified when componentLinkDescrRowStatus
          is active(1)."
     ::= { componentLinkDescriptorEntry 15 }

  componentLinkDescrStorageType OBJECT-TYPE
     SYNTAX        StorageType
     MAX-ACCESS    read-create
     STATUS        current
     DESCRIPTION
         "The storage type for this conceptual row in the
          componentLinkDescriptorTable.  Conceptual rows
          having the value 'permanent' need not allow write-access
          to any columnar object in the row."
     ::= { componentLinkDescriptorEntry 16 }

  -- End of componentLinkDescriptorTable


  -- Component Link Bandwidth Table

  componentLinkBandwidthTable OBJECT-TYPE
     SYNTAX        SEQUENCE OF ComponentLinkBandwidthEntry



Dubuc, et al.               Standards Track                    [Page 36]

RFC 4220                MPLS TE Link MIB Module            November 2005


     MAX-ACCESS    not-accessible
     STATUS        current
     DESCRIPTION
         "This table specifies the priority-based bandwidth
          for component links."
     ::= { teLinkObjects 7 }

  componentLinkBandwidthEntry OBJECT-TYPE
     SYNTAX        ComponentLinkBandwidthEntry
     MAX-ACCESS    not-accessible
     STATUS        current
     DESCRIPTION
         "An entry in this table contains information about
          the priority-based bandwidth on component links.
          An ifEntry in the ifTable must exist before a
          componentLinkBandwidthEntry using the same ifIndex is
          created.  ifEntry's ifType can be of any interface type that
          has been defined for TE Link interworking.  Examples
          include ATM, Frame Relay, Ethernet, etc.  If a component link
          entry in the ifTable is destroyed, then so are all entries
          in the componentLinkBandwidthTable that use the ifIndex of
          this component link."
     INDEX         { ifIndex, componentLinkBandwidthPriority }
     ::= { componentLinkBandwidthTable 1 }

  ComponentLinkBandwidthEntry ::= SEQUENCE {
    componentLinkBandwidthPriority    TeLinkPriority,
    componentLinkBandwidthUnreserved  TeLinkBandwidth,
    componentLinkBandwidthRowStatus   RowStatus,
    componentLinkBandwidthStorageType StorageType
  }

  componentLinkBandwidthPriority OBJECT-TYPE
     SYNTAX        TeLinkPriority
     MAX-ACCESS    not-accessible
     STATUS        current
     DESCRIPTION
         "This attribute specifies the priority.  A value of 0 is valid
          as specified in the 'Traffic Engineering (TE) Extensions to
           OSPF Version 2' document."
     REFERENCE
         "OSPF Extensions in Support of Generalized Multi-Protocol
          Label Switching (GMPLS), RFC 4203 and
          Traffic Engineering (TE) Extensions to OSPF Version 2,
          RFC 3630"
     ::= { componentLinkBandwidthEntry 1 }

  componentLinkBandwidthUnreserved OBJECT-TYPE



Dubuc, et al.               Standards Track                    [Page 37]

RFC 4220                MPLS TE Link MIB Module            November 2005


     SYNTAX        TeLinkBandwidth
     UNITS         "bps"
     MAX-ACCESS    read-only
     STATUS        current
     DESCRIPTION
         "This attribute specifies the component link unreserved
          bandwidth at priority p."
     REFERENCE
         "OSPF Extensions in Support of Generalized Multi-Protocol
          Label Switching (GMPLS), RFC 4203"
     ::= { componentLinkBandwidthEntry 2 }

  componentLinkBandwidthRowStatus OBJECT-TYPE
     SYNTAX        RowStatus
     MAX-ACCESS    read-create
     STATUS        current
     DESCRIPTION
         "This variable is used to create, modify, and/or
          delete a row in this table.  No read-create object can
          be modified when componentLinkBandwidthRowStatus is
          active(1)."
     ::= { componentLinkBandwidthEntry 3 }

  componentLinkBandwidthStorageType OBJECT-TYPE
     SYNTAX        StorageType
     MAX-ACCESS    read-create
     STATUS        current
     DESCRIPTION
         "The storage type for this conceptual row in the
          componentLinkBandwidthTable.  Conceptual rows
          having the value 'permanent' need not allow write-access
          to any columnar object in the row."
     ::= { componentLinkBandwidthEntry 4 }

  -- End of componentLinkBandwidthTable


  -- Module compliance

  teLinkCompliances
     OBJECT IDENTIFIER ::= { teLinkConformance 1 }

  teLinkGroups
     OBJECT IDENTIFIER ::= { teLinkConformance 2 }

  teLinkModuleFullCompliance MODULE-COMPLIANCE
     STATUS current
     DESCRIPTION



Dubuc, et al.               Standards Track                    [Page 38]

RFC 4220                MPLS TE Link MIB Module            November 2005


         "Compliance statement for agents that support read-create
          so that both configuration and monitoring of TE links can
          be accomplished via this MIB module."
     MODULE -- this module

        MANDATORY-GROUPS    { teLinkGroup,
                              teLinkBandwidthGroup,
                              componentLinkBandwidthGroup }

        GROUP teLinkSrlgGroup
        DESCRIPTION
            "This group is mandatory for GMPLS enabled devices."

        GROUP teLinkPscGroup
        DESCRIPTION
            "This group is mandatory for devices that support the
             packet switching capability."

        GROUP teLinkTdmGroup
        DESCRIPTION
            "This group is mandatory for devices that support the TDM
             switching capability."

        -- teLinkTable

        OBJECT      teLinkAddressType
        SYNTAX      INTEGER { unknown(0), ipv4(1), ipv6(2) }
        DESCRIPTION
            "Only ipv4(1) and ipv6(2) address types need to be
             supported for numbered links.  For unnumbered links, the
             unknown(0) address type needs to be supported."

        OBJECT      teLinkLocalIpAddr
        SYNTAX      InetAddress (SIZE(0|4|16))
        DESCRIPTION
            "Size of TE link IP address depends on type of TE link.
             TE link IP address size is zero if the link is unnumbered,
             four if the link IP address is IPv4, and sixteen if the
             link IP address is IPv6."

        OBJECT      teLinkRemoteIpAddr
        SYNTAX      InetAddress (SIZE(0|4|16))
        DESCRIPTION
            "Size of TE link IP address depends on type of TE link.
             TE link IP address size is zero if the link is unnumbered,
             four if the link IP address is IPv4, and sixteen if the
             link IP address is IPv6."




Dubuc, et al.               Standards Track                    [Page 39]

RFC 4220                MPLS TE Link MIB Module            November 2005


        OBJECT      teLinkRowStatus
        SYNTAX      RowStatus { active(1), notInService(2) }
        WRITE-SYNTAX RowStatus { active(1), notInService(2),
                                 createAndGo(4), destroy(6) }
        DESCRIPTION
            "Support for notReady(3) and createAndWait(5) is
             not required."

        -- teLinkDescriptorTable

        OBJECT      teLinkDescrRowStatus
        SYNTAX      RowStatus { active(1), notInService(2) }
        WRITE-SYNTAX RowStatus { active(1), notInService(2),
                                 createAndGo(4), destroy(6) }
        DESCRIPTION
            "Support for notReady(3) and createAndWait(5) is
             not required."

        -- teLinkSrlgTable

        OBJECT      teLinkSrlgRowStatus
        SYNTAX      RowStatus { active(1), notInService(2) }
        WRITE-SYNTAX RowStatus { active(1), notInService(2),
                                 createAndGo(4), destroy(6) }
        DESCRIPTION
            "Support for notReady(3) and createAndWait(5) is
             not required."

        -- teLinkBandwidthTable

        OBJECT      teLinkBandwidthRowStatus
        SYNTAX      RowStatus { active(1), notInService(2) }
        WRITE-SYNTAX RowStatus { active(1), notInService(2),
                                 createAndGo(4), destroy(6) }
        DESCRIPTION
            "Support for notReady(3) and createAndWait(5) is
             not required."

        -- componentLinkTable

        OBJECT      componentLinkRowStatus
        SYNTAX      RowStatus { active(1), notInService(2) }
        WRITE-SYNTAX RowStatus { active(1), notInService(2),
                                 createAndGo(4), destroy(6) }
        DESCRIPTION
            "Support for notReady(3) and createAndWait(5) is
             not required."




Dubuc, et al.               Standards Track                    [Page 40]

RFC 4220                MPLS TE Link MIB Module            November 2005


        -- componentLinkDescriptorTable

        OBJECT      componentLinkDescrRowStatus
        SYNTAX      RowStatus { active(1), notInService(2) }
        WRITE-SYNTAX RowStatus { active(1), notInService(2),
                                 createAndGo(4), destroy(6) }
        DESCRIPTION
            "Support for notReady(3) and createAndWait(5) is
             not required."

        -- componentLinkBandwidthTable

        OBJECT      componentLinkBandwidthRowStatus
        SYNTAX      RowStatus { active(1), notInService(2) }
        WRITE-SYNTAX RowStatus { active(1), notInService(2),
                                 createAndGo(4), destroy(6) }
        DESCRIPTION
            "Support for notReady(3) and createAndWait(5) is
             not required."

     ::= { teLinkCompliances 1 }

  teLinkModuleReadOnlyCompliance MODULE-COMPLIANCE
     STATUS current
     DESCRIPTION
         "Compliance statement for agents that support the
          monitoring of the TE link MIB module."
     MODULE -- this module

        MANDATORY-GROUPS    { teLinkGroup,
                              teLinkBandwidthGroup,
                              componentLinkBandwidthGroup }

        GROUP teLinkSrlgGroup
        DESCRIPTION
            "This group is mandatory for GMPLS enabled devices."

        GROUP teLinkPscGroup
        DESCRIPTION
            "This group is mandatory for devices that support the
             packet switching capability."

        GROUP teLinkTdmGroup
        DESCRIPTION
            "This group is mandatory for devices that support the TDM
             switching capability."

        -- teLinkTable



Dubuc, et al.               Standards Track                    [Page 41]

RFC 4220                MPLS TE Link MIB Module            November 2005


        OBJECT      teLinkAddressType
        SYNTAX      INTEGER { unknown(0), ipv4(1), ipv6(2) }
        MIN-ACCESS  read-only
        DESCRIPTION
            "Only ipv4(1) and ipv6(2) address types need to be
             supported for numbered links.  For unnumbered links, the
             unknown(0) address type needs to be supported."

        OBJECT      teLinkLocalIpAddr
        SYNTAX      InetAddress (SIZE(0|4|16))
        MIN-ACCESS  read-only
        DESCRIPTION
            "Size of TE link IP address depends on type of TE link.
             TE link IP address size is zero if the link is unnumbered,
             four if the link IP address is IPv4, and sixteen if the
             link IP address is IPv6."

        OBJECT      teLinkRemoteIpAddr
        SYNTAX      InetAddress (SIZE(0|4|16))
        MIN-ACCESS  read-only
        DESCRIPTION
            "Size of TE link IP address depends on type of TE link.
             TE link IP address size is zero if the link is unnumbered,
             four if the link IP address is IPv4, and sixteen if the
             link IP address is IPv6."

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

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

        OBJECT      teLinkRowStatus
        SYNTAX      RowStatus { active(1) }
        MIN-ACCESS  read-only
        DESCRIPTION
            "Write access is not required and active(1) is the
             only status that needs to be supported."

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




Dubuc, et al.               Standards Track                    [Page 42]

RFC 4220                MPLS TE Link MIB Module            November 2005


        -- teLinkDescriptorTable

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

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

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

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

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

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

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

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

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

        OBJECT      teLinkDescrMaxLspBandwidthPrio6



Dubuc, et al.               Standards Track                    [Page 43]

RFC 4220                MPLS TE Link MIB Module            November 2005


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

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

        OBJECT      teLinkDescrRowStatus
        SYNTAX      RowStatus { active(1) }
        MIN-ACCESS  read-only
        DESCRIPTION
            "Write access is not required and active(1) is the
             only status that needs to be supported."

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

        -- teLinkSrlgTable

        OBJECT      teLinkSrlgRowStatus
        SYNTAX      RowStatus { active(1) }
        MIN-ACCESS  read-only
        DESCRIPTION
            "Write access is not required and active(1) is the
             only status that needs to be supported."

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

        -- teLinkBandwidthTable

        OBJECT      teLinkBandwidthRowStatus
        SYNTAX      RowStatus { active(1) }
        MIN-ACCESS  read-only
        DESCRIPTION
            "Write access is not required and active(1) is the
             only status that needs to be supported."

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



Dubuc, et al.               Standards Track                    [Page 44]

RFC 4220                MPLS TE Link MIB Module            November 2005


        -- componentLinkTable

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

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

        OBJECT      componentLinkRowStatus
        SYNTAX      RowStatus { active(1) }
        MIN-ACCESS  read-only
        DESCRIPTION
            "Write access is not required and active(1) is the
             only status that needs to be supported."

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

        -- componentLinkDescriptorTable

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

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

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

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

        OBJECT      componentLinkDescrMaxLspBandwidthPrio1
        MIN-ACCESS  read-only



Dubuc, et al.               Standards Track                    [Page 45]

RFC 4220                MPLS TE Link MIB Module            November 2005


        DESCRIPTION
            "Write access is not required."

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

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

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

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

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

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

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

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

        OBJECT      componentLinkDescrRowStatus
        SYNTAX      RowStatus { active(1) }
        MIN-ACCESS  read-only
        DESCRIPTION
            "Write access is not required and active(1) is the



Dubuc, et al.               Standards Track                    [Page 46]

RFC 4220                MPLS TE Link MIB Module            November 2005


             only status that needs to be supported."

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

        -- componentLinkBandwidthTable

        OBJECT      componentLinkBandwidthRowStatus
        SYNTAX      RowStatus { active(1) }
        MIN-ACCESS  read-only
        DESCRIPTION
            "Write access is not required and active(1) is the
             only status that needs to be supported."

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

     ::= { teLinkCompliances 2 }

  -- Units of conformance

  teLinkGroup OBJECT-GROUP
     OBJECTS { teLinkAddressType,
               teLinkLocalIpAddr,
               teLinkRemoteIpAddr,
               teLinkMetric,
               teLinkProtectionType,
               teLinkWorkingPriority,
               teLinkResourceClass,
               teLinkIncomingIfId,
               teLinkOutgoingIfId,
               teLinkRowStatus,
               teLinkStorageType,
               teLinkDescrSwitchingCapability,
               teLinkDescrEncodingType,
               teLinkDescrRowStatus,
               teLinkDescrStorageType,
               componentLinkPreferredProtection,
               componentLinkCurrentProtection,
               componentLinkRowStatus,
               componentLinkStorageType,
               componentLinkDescrSwitchingCapability,
               componentLinkDescrEncodingType,
               componentLinkDescrRowStatus,



Dubuc, et al.               Standards Track                    [Page 47]

RFC 4220                MPLS TE Link MIB Module            November 2005


               componentLinkDescrStorageType
             }

     STATUS  current
     DESCRIPTION
            "Collection of objects needed for the management of
             resources associated with TE links."
     ::= { teLinkGroups 1 }

  teLinkSrlgGroup OBJECT-GROUP
     OBJECTS { teLinkSrlgRowStatus,
               teLinkSrlgStorageType
             }

     STATUS  current
     DESCRIPTION
            "Collection of objects needed for the management of
             SRLG resources associated with TE links."
     ::= { teLinkGroups 2 }

  teLinkBandwidthGroup OBJECT-GROUP
     OBJECTS { teLinkMaximumReservableBandwidth,
               teLinkDescrMaxLspBandwidthPrio0,
               teLinkDescrMaxLspBandwidthPrio1,
               teLinkDescrMaxLspBandwidthPrio2,
               teLinkDescrMaxLspBandwidthPrio3,
               teLinkDescrMaxLspBandwidthPrio4,
               teLinkDescrMaxLspBandwidthPrio5,
               teLinkDescrMaxLspBandwidthPrio6,
               teLinkDescrMaxLspBandwidthPrio7,
               teLinkBandwidthUnreserved,
               teLinkBandwidthRowStatus,
               teLinkBandwidthStorageType
             }

     STATUS  current
     DESCRIPTION
            "Collection of objects needed for the management of
             the bandwidth resources associated with TE links and
             component links."
     ::= { teLinkGroups 3 }

  componentLinkBandwidthGroup OBJECT-GROUP
     OBJECTS { componentLinkMaxResBandwidth,
               componentLinkDescrMaxLspBandwidthPrio0,
               componentLinkDescrMaxLspBandwidthPrio1,
               componentLinkDescrMaxLspBandwidthPrio2,
               componentLinkDescrMaxLspBandwidthPrio3,



Dubuc, et al.               Standards Track                    [Page 48]

RFC 4220                MPLS TE Link MIB Module            November 2005


               componentLinkDescrMaxLspBandwidthPrio4,
               componentLinkDescrMaxLspBandwidthPrio5,
               componentLinkDescrMaxLspBandwidthPrio6,
               componentLinkDescrMaxLspBandwidthPrio7,
               componentLinkBandwidthUnreserved,
               componentLinkBandwidthRowStatus,
               componentLinkBandwidthStorageType
             }

     STATUS  current
     DESCRIPTION
            "Collection of objects needed for the management of the
             bandwidth parameters associated with component links."
     ::= { teLinkGroups 4 }

  teLinkPscGroup OBJECT-GROUP
     OBJECTS { teLinkDescrMinLspBandwidth,
               teLinkDescrInterfaceMtu,
               componentLinkDescrMinLspBandwidth,
               componentLinkDescrInterfaceMtu
             }

     STATUS  current
     DESCRIPTION
            "Collection of objects needed for devices that are
             packet switch capable."
     ::= { teLinkGroups 5 }

  teLinkTdmGroup OBJECT-GROUP
     OBJECTS { teLinkDescrMinLspBandwidth,
               teLinkDescrIndication,
               componentLinkDescrMinLspBandwidth,
               componentLinkDescrIndication
             }

     STATUS  current
     DESCRIPTION
            "Collection of objects needed for devices that are
             TDM switching capable."
     ::= { teLinkGroups 6 }

  -- End of TE-LINK-STD-MIB
  END








Dubuc, et al.               Standards Track                    [Page 49]

RFC 4220                MPLS TE Link MIB Module            November 2005


10.  Security Considerations

  There are a number of management objects defined in this MIB module
  with a MAX-ACCESS clause of read-write and/or read-create.  Such
  objects may be considered sensitive or vulnerable in some network
  environments.  The support for SET operations in a non-secure
  environment without proper protection can have a negative effect on
  network operations.  These are the tables and objects and their
  sensitivity/vulnerability:

  -  All the tables in this MIB module have routing information in
     them, so they all have the same security attributes.  Unauthorized
     changes to attributes of these tables can disrupt resource
     allocation in the network.

  Some of the readable objects in this MIB module (i.e., objects with a
  MAX-ACCESS other than not-accessible) may be considered sensitive or
  vulnerable in some network environments.  It is thus important to
  control even GET and/or NOTIFY access to these objects and possibly
  to even encrypt the values of these objects when sending them over
  the network via SNMP.  These are the tables and objects and their
  sensitivity/vulnerability:

  -  IP address entries in the teLinkTable (teLinkLocalIpAddr and
     teLinkRemoteIpAddr) may reveal the internals of a network provider
     IP address space.

  SNMP versions prior to SNMPv3 did not include adequate security.
  Even if the network itself is secure (for example by using IPSec),
  even then, there is no control as to who on the secure network is
  allowed to access and GET/SET (read/change/create/delete) the objects
  in this MIB module.

  It is RECOMMENDED that implementers consider the security features as
  provided by the SNMPv3 framework (see [RFC3410], section 8),
  including full support for the SNMPv3 cryptographic mechanisms (for
  authentication and privacy).

  Further, deployment of SNMP versions prior to SNMPv3 is NOT
  RECOMMENDED.  Instead, it is RECOMMENDED to deploy SNMPv3 and to
  enable cryptographic security.  It is then a customer/operator
  responsibility to ensure that the SNMP entity giving access to an
  instance of this MIB module is properly configured to give access to
  the objects only to those principals (users) that have legitimate
  rights to indeed GET or SET (change/create/delete) them.






Dubuc, et al.               Standards Track                    [Page 50]

RFC 4220                MPLS TE Link MIB Module            November 2005


11.  Contributors

  Sudheer Dharanikota
  EMail: [email protected]

12.  Acknowledgements

  The authors would like to acknowledge the contribution of Dmitry
  Ryumkin.

13.  IANA Considerations

  The following "IANA Considerations" subsection requests IANA for a
  new assignment.  New assignments can only be made via Standards
  Action as specified in [RFC2434].

13.1.  IANA Considerations for the TE-LINK-STD-MIB

  The TE-LINK-STD-MIB should be rooted under the transmission subtree.
  The IANA has assigned { transmission 200 } to the TE-LINK-STD-MIB
  module specified in this document.

14.  References

14.1.  Normative References

  [IANAifType] "IANAifType MIB Module",
               http://www.iana.org/assignments/ianaiftype-mib.

  [IEEE]       IEEE, "IEEE Standard for Binary Floating-Point
               Arithmetic", Standard 754-1985, 1985 (ISBN 1-5593-7653-
               8).

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

  [RFC2434]    Narten, T. and H. Alvestrand, "Guidelines for Writing an
               IANA Considerations Section in RFCs", BCP 26, RFC 2434,
               October 1998.

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

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




Dubuc, et al.               Standards Track                    [Page 51]

RFC 4220                MPLS TE Link MIB Module            November 2005


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

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

  [RFC3471]    Berger, L., "Generalized Multi-Protocol Label Switching
               (GMPLS) Signaling Functional Description", RFC 3471,
               January 2003.

  [RFC3630]    Katz, D., Kompella, K. and D. Yeung, "Traffic
               Engineering (TE) Extensions to OSPF Version 2", RFC
               3630, September 2003.

  [RFC4201]    Kompella, K., Rekhter, Y. and L. Berger, "Link Bundling
               in MPLS Traffic Engineering (TE)", RFC 4201, October
               2005.

  [RFC4202]    Kompella, K., Ed. and Y. Rekhter, Ed., "Routing
               Extensions in Support of Generalized Multi-Protocol
               Label Switching (GMPLS)", RFC 4202, October 2005.

  [RFC4203]    Kompella, K., Ed. and Y. Rekhter, Ed., "OSPF Extensions
               in Support of Generalized Multi-Protocol Label Switching
               (GMPLS)", RFC 4203, October 2005.

  [RFC4206]    Kompella, K. and Y. Rekhter, "Label Switched Paths (LSP)
               Hierarchy with Generalized Multi-Protocol Label
               Switching (GMPLS) Traffic Engineering (TE)", RFC 4206,
               October 2005.

  [RFC4204]    Lang, J., Ed., "Link Management Protocol (LMP)", RFC
               4204, October 2005.

14.2.  Informative References

  [RFC3410]    Case, J., Mundy, R., Partain, D., and B. Stewart,
               "Introduction and Applicability Statements for
               Internet-Standard Management Framework", RFC 3410,
               December 2002.

  [RFC3945]    Mannie, E., "Generalized Multi-Protocol Label Switching
               (GMPLS) Architecture", RFC 3945, October 2004.







Dubuc, et al.               Standards Track                    [Page 52]

RFC 4220                MPLS TE Link MIB Module            November 2005


Authors' Addresses

  Martin Dubuc

  EMail: [email protected]


  Thomas D. Nadeau
  Cisco Systems
  1414 Massachusetts Ave.
  Boxborough, MA 01719

  Phone: +1-978-244-3051
  EMail: [email protected]


  Jonathan P. Lang
  Sonos, Inc.
  223 E. De La Guerra St.
  Santa Barbara, CA 93101

  EMail: [email protected]





























Dubuc, et al.               Standards Track                    [Page 53]

RFC 4220                MPLS TE Link MIB Module            November 2005


Full Copyright Statement

  Copyright (C) The Internet Society (2005).

  This document is subject to the rights, licenses and restrictions
  contained in BCP 78, and except as set forth therein, the authors
  retain all their rights.

  This document and the information contained herein are provided on an
  "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
  OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
  ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
  INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
  INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
  WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

Intellectual Property

  The IETF takes no position regarding the validity or scope of any
  Intellectual Property Rights or other rights that might be claimed to
  pertain to the implementation or use of the technology described in
  this document or the extent to which any license under such rights
  might or might not be available; nor does it represent that it has
  made any independent effort to identify any such rights.  Information
  on the procedures with respect to rights in RFC documents can be
  found in BCP 78 and BCP 79.

  Copies of IPR disclosures made to the IETF Secretariat and any
  assurances of licenses to be made available, or the result of an
  attempt made to obtain a general license or permission for the use of
  such proprietary rights by implementers or users of this
  specification can be obtained from the IETF on-line IPR repository at
  http://www.ietf.org/ipr.

  The IETF invites any interested party to bring to its attention any
  copyrights, patents or patent applications, or other proprietary
  rights that may cover technology that may be required to implement
  this standard.  Please address the information to the IETF at ietf-
  [email protected].

Acknowledgement

  Funding for the RFC Editor function is currently provided by the
  Internet Society.







Dubuc, et al.               Standards Track                    [Page 54]