Skip to main content

MPLS-TP Traffic Engineering (TE) Management Information Base (MIB)
draft-ietf-mpls-tp-te-mib-04

The information below is for an old version of the document.
Document Type
This is an older version of an Internet-Draft that was ultimately published as RFC 7453.
Authors Venkatesan Mahalingam , Kannan KV Sampath , Sam Aldrin , Thomas Nadeau
Last updated 2012-07-16
Replaces draft-vkst-mpls-tp-te-mib
RFC stream Internet Engineering Task Force (IETF)
Formats
Reviews
Additional resources Mailing list discussion
Stream WG state WG Document
Document shepherd (None)
IESG IESG state Became RFC 7453 (Proposed Standard)
Consensus boilerplate Unknown
Telechat date (None)
Responsible AD (None)
Send notices to (None)
draft-ietf-mpls-tp-te-mib-04
Network Working Group                                                   
INTERNET-DRAFT                                              M.Venkatesan
Intended Status: Standards Track                               Dell Inc.
Expires: January 16, 2013                              Kannan KV Sampath
                                                                 Aricent
                                                           Sam K. Aldrin
                                                     Huawei Technologies
                                                        Thomas D. Nadeau
                                                        Juniper Networks

                                                           July 15, 2012

  MPLS-TP Traffic Engineering (TE) Management Information Base (MIB)
                    draft-ietf-mpls-tp-te-mib-04.txt

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 of Tunnels, Identifiers,
   Label Switch Router and Textual conventions for Multiprotocol Label
   Switching (MPLS) based Transport Profile (TP).

Status of this Memo

   This Internet-Draft is submitted to IETF in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as Internet-
   Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt.

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

   This Internet-Draft will expire on January 16, 2013.

 

Venkatesan,  et al.        Expires January 16                   [Page 1]
INTERNET DRAFT                MPLS-TP MIB                  July 15, 2012

Copyright and License Notice

   Copyright (c) 2012 IETF Trust and the persons identified as the
   document authors. All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document. Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document. Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1  Introduction  . . . . . . . . . . . . . . . . . . . . . . . . .  3
   2. The Internet-Standard Management Framework  . . . . . . . . . .  3
   3. Overview  . . . . . . . . . . . . . . . . . . . . . . . . . . .  3
     3.1 Conventions used in this document  . . . . . . . . . . . . .  3
     3.2 Terminology  . . . . . . . . . . . . . . . . . . . . . . . .  3
     3.3 Acronyms . . . . . . . . . . . . . . . . . . . . . . . . . .  3
   4. Motivations . . . . . . . . . . . . . . . . . . . . . . . . . .  4
   5. Feature List  . . . . . . . . . . . . . . . . . . . . . . . . .  4
   6. Brief description of MIB Objects  . . . . . . . . . . . . . . .  4
     6.1.  mplsTunnelExtNodeConfigTable  . .  . . . . . . . . . . . .  5
     6.2.  mplsTunnelExtNodeIpMapTable . . .  . . . . . . . . . . . .  5
     6.3.  mplsTunnelExtNodeIccMapTable  . .  . . . . . . . . . . . .  6
     6.4.mplsTunnelExtTable . . . . . . . . . . . . . . . . . . . . .  6
   7. MIB Module Interdependencies  . . . . . . . . . . . . . . . . .  6
   8. Dependencies between MIB Module Tables  . . . . . . . . . . . .  8
   9. Example of MPLS-TP tunnel setup . . . . . . . . . . . . . . . .  8
   10. MPLS Textual Convention Extension MIB definitions  . . . . . . 13
   11. MPLS Identifier MIB definitions  . . . . . . . . . . . . . . . 16
   12. MPLS LSR Extension MIB definitions . . . . . . . . . . . . . . 20
   13. MPLS Tunnel Extension MIB definitions  . . . . . . . . . . . . 24
   14. Security Consideration . . . . . . . . . . . . . . . . . . . . 36
   15. IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 37
   16. References . . . . . . . . . . . . . . . . . . . . . . . . . . 37
     16.1 Normative References  . . . . . . . . . . . . . . . . . . . 37
     16.2  Informative References . . . . . . . . . . . . . . . . . . 38
   17. Acknowledgments  . . . . . . . . . . . . . . . . . . . . . . . 38
   18. Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 38

 

Venkatesan,  et al.        Expires January 16                   [Page 2]
INTERNET DRAFT                MPLS-TP MIB                  July 15, 2012

1  Introduction

   This memo defines a portion of the Management Information Base (MIB)
   for use with network management protocols in the Internet community.
   In particular, it describes managed objects of Tunnels, Identifiers,
   Label Switch Router and Textual conventions for Multiprotocol Label
   Switching (MPLS) based Transport Profile (TP).

   The existing MPLS TE [RFC3812] and GMPLS MIBs [RFC4802] do not
   support the transport network requirements of NON-IP based management
   and static bidirectional tunnels. This MIB module should be used in
   conjunction with the MPLS traffic Engineering MIB [RFC3812] and
   companion document MPLS Label Switch Router MIB [RFC3813] for MPLS
   based traffic engineering configuration and management.

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "MAY", and "OPTIONAL" in this document are to
   be interpreted as described in BCP 14, RFC2119.

2. 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
   RFC3410 [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,
   RFC2578, STD 58, RFC2579 and STD58, RFC2580.

3. Overview

3.1 Conventions used in this document

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

3.2 Terminology

   This document uses terminology from the MPLS architecture document
   [RFC3031], MPLS Traffic Engineering Management information [RFC3812],
   MPLS Label Switch Router MIB [RFC3813] and MPLS-TP Identifiers
   document [RFC6370].
 

Venkatesan,  et al.        Expires January 16                   [Page 3]
INTERNET DRAFT                MPLS-TP MIB                  July 15, 2012

3.3 Acronyms

   GMPLS: Generalized Multi-Protocol Label Switching
   ICC: ITU Carrier Code
   IP: Internet Protocol
   LSP: Label Switching Path
   LSR: Label Switching Router
   MIB: Management Information Base
   MPLS: Multi-Protocol Label Switching
   MPLS-TP: MPLS Transport Profile
   OSPF: Open Shortest Path First
   PW: Pseudowire
   TE: Traffic Engineering
   TP: Transport Profile

4. Motivations

   This document provide extensions to existing MPLS MIB modules in
   order to support configuration of MPLS-TP tunnels in IP and NON-IP
   environments.

5. Feature List

   The MPLS transport profile MIB module is designed to satisfy the
   following requirements and constraints:

   The MIB module supports point-to-point, co-routed bi-directional
   associated bi-directional tunnels.

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

      -  The mplsTunnelTable [RFC3812] to be also used for MPLS-TP
         tunnels

      -  The mplsTunnelTable is extended to support MPLS-TP specific
         objects.

      -  A node configuration table (mplsTunnelExtNodeConfigTable)
         is used to translate the Global_Node_ID or ICC to the local
         identifier in order to index mplsTunnelTable.

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

6. Brief description of MIB Objects

 

Venkatesan,  et al.        Expires January 16                   [Page 4]
INTERNET DRAFT                MPLS-TP MIB                  July 15, 2012

   The objects described in this section support the functionality
   described in documents [RFC5654] and [RFC6370].  The tables support
   both IP compatible and ICC based tunnel configurations.

6.1.  mplsTunnelExtNodeConfigTable

   The mplsTunnelExtNodeConfigTable is used to assign a local identifier
   for a given ICC or Global_Node_ID combination as defined in
   [RFC6370]. An ICC is a string of one to six characters, each
   character being either alphabetic (i.e. A-Z) or numeric (i.e. 0-9)
   characters. Alphabetic characters in the ICC should be represented
   with upper case letters. In the IP compatible mode,
   Global_Node_ID, is used to uniquely identify a node.

   Each ICC or Global_Node_ID contains one unique entry in the
   table representing a node. Every node is assigned a local identifier
   within a range of 0 to 16777215. This local identifier is used for
   indexing into mplsTunnelTable as mplsTunnelIngressLSRId and
   mplsTunnelEgressLSRId.

   For IP compatible environment, MPLS-TP tunnel is indexed by Tunnel
   Index, Tunnel Instance, Source Global_ID, Source Node_ID, Destination
   Global_ID and Destination Node_ID.

   For ICC based environment, MPLS-TP tunnel is indexed by Tunnel Index,
   Tunnel Instance, Source ICC and Destination ICC.

   As mplsTunnelTable is indexed by mplsTunnelIndex,
   mplsTunnelInstance, mplsTunnelIngressLSRId, and
   mplsTunnelEgressLSRId, the MPLS-TP tunnel identifiers cannot be
   used directly.

   The mplsTunnelExtNodeConfigTable will be used to store an entry for
   ICC or Global_Node_ID with a local identifier to be used as LSR ID
   in mplsTunnelTable. As the regular TE tunnels use IP address as LSR
   ID, the local identifier should be below the first valid IP address,
   which is 16777216[1.0.0.0].

6.2.  mplsTunnelExtNodeIpMapTable

   The read-only mplsTunnelExtNodeIpMaptable is used to query the local
   identifier assigned and stored in mplsTunnelExtNodeConfigTable for 
   a given Global_Node_ID. In order to query the local identifier,
   in the IP compatible mode, this table is indexed with Global_Node_ID.
   In the IP compatible mode for a TP tunnel, Global_Node_ID
   is used.

 

Venkatesan,  et al.        Expires January 16                   [Page 5]
INTERNET DRAFT                MPLS-TP MIB                  July 15, 2012

   A separate query is made to get the local identifier of both
   Ingress and Egress Global_Node_ID identifiers. These local
   identifiers are used as mplsTunnelIngressLSRId and
   mplsTunnelEgressLSRId, while indexing mplsTunnelTable.

6.3.  mplsTunnelExtNodeIccMapTable

   The read-only mplsTunnelExtNodeIccMapTable is used to query the local
   identifier assigned and stored in the mplsTunnelExtNodeConfigTable
   for a given ICC.

   A separate query is made to get the local identifier of both
   Ingress and Egress ICC. These local identifiers are used as
   mplsTunnelIngressLSRId and mplsTunnelEgressLSRId,
   while indexing mplsTunnelTable.

6.4.mplsTunnelExtTable

   mplsTunnelExtTable extends the mplsTunnelTable to add MPLS-TP tunnel
   specific additional objects. All the additional attributes specific
   to TP tunnel are contained in this extended table and could be
   accessed with the mplsTunnelTable indices.

6.5 mplsTunnelExtReversePerfTable

   This table augments the mplsTunnelTable to provide per-tunnel packet
   performance information for the reverse direction of a bidirectional
   tunnel. It can be seen as supplementing the mplsTunnelPerfTable,
   which augments the mplsTunnelTable.

7. MIB Module Interdependencies

   This section provides an overview of the relationship between the
   MPLS-TP TE MIB module and other MPLS MIB modules.

   The arrows in the following diagram show a 'depends on'
   relationship. A relationship "MIB module A depends on MIB module B"
   means that MIB module A uses an object, object identifier, or
   textual convention defined in MIB module B, or that MIB module A
   contains a pointer (index or RowPointer) to an object in
   MIB module B.

 

Venkatesan,  et al.        Expires January 16                   [Page 6]
INTERNET DRAFT                MPLS-TP MIB                  July 15, 2012

       MPLS-TC-EXT-STD-MIB
          ^
          |
          |
          +<---- MPLS-ID-STD-MIB
                        ^
          |             |
          +<---- MPLS-TE-EXT-STD-MIB
          |             |
          |             V
          |      MPLS-TE-STD-MIB
          |             |
          |             |
          |             V
          |      MPLS-LSR-STD-MIB
          |             ^
          |             |
          |             |
          +------MPLS-LSR-EXT-STD-MIB

       Thus:

        -  All the new MPLS extension MIB modules depend on
           MPLS-TC-EXT-STD-MIB.

        -  MPLS-ID-STD-MIB contains references to objects in
           MPLS-TE-STD-MIB [RFC3812].

        -  MPLS-TE-EXT-STD-MIB contains references to objects in
           MPLS-TE-STD-MIB [RFC3812].

        -  MPLS-LSR-EXT-STD-MIB contains references to objects in
           MPLS-LSR-STD-MIB [RFC3813].

   MPLS-TE-STD-MIB [RFC3812] is extended by MPLS-TE-EXT-STD-MIB
   MIB module for associating the reverse direction tunnel
   information.

   Note that the nature of the 'extends' relationship
   is a sparse augmentation so that the entry in the
   mplsTunnelExtTable has the same index values as the in the
   mplsTunnelTable.

   MPLS-LSR-STD-MIB [RFC3813] is extended by MPLS-LSR-EXT-STD-MIB
   MIB module for pointing back to the tunnel entry for easy tunnel
   access from XC entry.

   Note that the nature of the 'extends' relationship
 

Venkatesan,  et al.        Expires January 16                   [Page 7]
INTERNET DRAFT                MPLS-TP MIB                  July 15, 2012

   is a sparse augmentation so that the entry in the
   mplsXCExtTable has the same index values as the in the mplsXCTable.

8. Dependencies between MIB Module Tables

   The tables in MPLS-TE-EXT-STD-MIB are related as shown on the diagram
   below.  The arrows indicate a reference from one table to another.

                   mplsTunnelExtNodeConfigTable
                            ^              mplsXCExtTable
                            |               |      ^
                            |     +---------+      |
                            |     |                |
                            |     V                V
                      mplsTunnelTable ---->mplsXCTable
                            ^
                            |
                            |
                      mplsTunnelExtTable

   An existing mplsTunnelTable uses the mplsTunnelExtNodeConfigTable
   table to map the Global_Node_ID and/or ICC with the local number in
   order to accommodate in the existing tunnel table's ingress/egress
   LSR-id.

   New mplsTunnelExtTable table provides the reverse direction LSP
   information for the existing tunnel table in order to achieve
   bidirectional LSPs.

   mplsXCExtTable is extended from mplsLsrXCTable to provide
   backward reference to tunnel entry.

9. Example of MPLS-TP Tunnel Setup
   In this section, we provide an example of the IP based MPLS-TP
   bidirectional tunnel setup. This example provides the usage of 
   MPLS-TP Tunnel MIB along with the extended new MIB modules introduced
   in this document.

   Do note that a MPLS-TP tunnel could be setup statically as well as
   signaled via control plane. This example considers accessing MIB
   objects on a head-end for a static MPLS-TP tunnel. 
   Only relevant objects which are applicable for MPLS-TP tunnel are 
   illustrated here.

   In mplsTunnelExtNodeConfigTable:

   {
   -- Non-IP Ingress LSR-Id (Index to the table)
 

Venkatesan,  et al.        Expires January 16                   [Page 8]
INTERNET DRAFT                MPLS-TP MIB                  July 15, 2012

     mplsTunnelExtNodeConfigLocalId              = 1,

     mplsTunnelExtNodeConfigGlobalId             = 1234,
     mplsTunnelExtNodeConfigNodeId               = 10,
   -- Mandatory parameters needed to activate the row go here
     mplsTunnelExtNodeConfigRowStatus         = createAndGo (4)

   -- Non-IP Egress LSR-Id (Index to the table)
     mplsTunnelExtNodeConfigLocalId              = 2,
     mplsTunnelExtNodeConfigGlobalId             = 1234,
     mplsTunnelExtNodeConfigNodeId               = 20,
   -- Mandatory parameters needed to activate the row go here
     mplsTunnelExtNodeConfigRowStatus         = createAndGo (4)
   }

   This will create an entry in the mplsTunnelExtNodeConfigTable for a
   Global_Node_ID. A separate entry is made for both Ingress LSR
   and Egress LSR.

   The following read-only mplsTunnelExtNodeIpMapTable table is
   populated automatically upon creating an entry in 
   mplsTunnelExtNodeConfigTable and this table is used to retrieve
   the local identifier for the given Global_Node_ID.

   In mplsTunnelExtNodeIpMapTable:

   {
   -- Global_ID (Index to the table)
     mplsTunnelExtNodeIpMapGlobalId             = 1234,
   -- Node Identifier (Index to the table)
     mplsTunnelExtNodeIpMapNodeId               = 10,
     mplsTunnelExtNodeIpMapLocalId              = 1

   -- Global_ID (Index to the table)
     mplsTunnelExtNodeIpMapGlobalId             = 1234,
   -- Node Identifier (Index to the table)
     mplsTunnelExtNodeIpMapNodeId               = 20,
     mplsTunnelExtNodeIpMapLocalId              = 2
   }

9.1 Example of MPLS-TP co-routed bidirectional tunnel setup

   The following denotes the configured co-routed bidirectional
   tunnel "head" entry:

9.1.1 mplsTunnelEntry

     In mplsTunnelTable:
 

Venkatesan,  et al.        Expires January 16                   [Page 9]
INTERNET DRAFT                MPLS-TP MIB                  July 15, 2012

   {
     mplsTunnelIndex              = 1,
     mplsTunnelInstance           = 1,
   -- Local map number created in mplsTunnelExtNodeConfigTable for
   -- Ingress LSR-Id
     mplsTunnelIngressLSRId       = 1,

   -- Local map number created in mplsTunnelExtNodeConfigTable for
   -- Egress LSR-Id
     mplsTunnelEgressLSRId        = 2,
     mplsTunnelName               = "TP co-routed bidirectional LSP",
     mplsTunnelDescr              = "East to West",
     mplsTunnelIsIf               = true (1),
   --  RowPointer MUST point to the first accessible column
     mplsTunnelXCPointer          =
                                mplsXCLspId.4.0.0.0.1.1.0.4.0.0.0.1,
     mplsTunnelSignallingProto    = none (1),
     mplsTunnelSetupPrio          = 0,
     mplsTunnelHoldingPrio        = 0,
     mplsTunnelSessionAttributes  = 0,
     mplsTunnelLocalProtectInUse  = false (0),
   --  RowPointer MUST point to the first accessible column
     mplsTunnelResourcePointer    = mplsTunnelResourceMaxRate.5,
     mplsTunnelInstancePriority   = 1,
     mplsTunnelHopTableIndex      = 1,
     mplsTunnelIncludeAnyAffinity = 0,
     mplsTunnelIncludeAllAffinity = 0,
     mplsTunnelExcludeAnyAffinity = 0,
     mplsTunnelRole               = head (1),
   -- Mandatory parameters needed to activate the row go here
     mplsTunnelRowStatus          = createAndGo (4)
   }

9.1.2 mplsTunnelExtEntry

   -- An MPLS extension table
   In mplsTunnelExtTable:
   {
     -- This opposite direction tunnel pointer MAY be point to 0.0 
     -- if co-routed bidirectional tunnel is managed by single tunnel
     -- entry 
     mplsTunnelExtOppositeDirTnlPtr       = 0.0
   }

   We must next create the appropriate in-segment and out-segment
   entries. These are done in [RFC3813] using the mplsInSegmentTable
   and mplsOutSegmentTable.

 

Venkatesan,  et al.        Expires January 16                  [Page 10]
INTERNET DRAFT                MPLS-TP MIB                  July 15, 2012

9.1.3 Forward direction mplsOutSegmentEntry

   For the forward direction.

   In mplsOutSegmentTable:
   {
      mplsOutSegmentIndex          = 0x0000001,
      mplsOutSegmentInterface      = 13, -- outgoing interface
      mplsOutSegmentPushTopLabel   = true(1),
      mplsOutSegmentTopLabel       = 22, -- outgoing label

      -- RowPointer MUST point to the first accessible column.
      mplsOutSegmentTrafficParamPtr   = 0.0,
      mplsOutSegmentRowStatus         = createAndGo (4)
   }

9.1.4 Reverse direction mplsInSegmentEntry

     For the reverse direction.

   In mplsInSegmentTable:
   {
      mplsInSegmentIndex           = 0x0000001
      mplsInSegmentLabel           = 21, -- incoming label
      mplsInSegmentNPop            = 1,
      mplsInSegmentInterface       = 13, -- incoming interface

      -- RowPointer MUST point to the first accessible column.
      mplsInSegmentTrafficParamPtr    = 0.0,
      mplsInSegmentRowStatus          = createAndGo (4)
   }

   Next, two cross-connect entries are created in the mplsXCTable of the
   MPLS-LSR-STD-MIB [RFC3813], thereby associating the newly created
   segments together.

9.1.5 Forward direction mplsXCEntry

   In mplsXCTable:
   {
      mplsXCIndex                = 0x01,
      mplsXCInSegmentIndex       = 0x00000000,
      mplsXCOutSegmentIndex      = 0x00000001,
      mplsXCLspId                = 0x0102 -- unique ID
      -- only a single outgoing label
      mplsXCLabelStackIndex      = 0x00,
      mplsXCRowStatus            = createAndGo(4)

 

Venkatesan,  et al.        Expires January 16                  [Page 11]
INTERNET DRAFT                MPLS-TP MIB                  July 15, 2012

   }

9.1.6 Reverse direction mplsXCEntry

   In mplsXCTable:
   {
      mplsXCIndex                = 0x01,
      mplsXCInSegmentIndex       = 0x00000001,
      mplsXCOutSegmentIndex      = 0x00000000,
      mplsXCLspId                = 0x0102 -- unique ID
      -- only a single outgoing label
      mplsXCLabelStackIndex      = 0x00,
      mplsXCRowStatus            = createAndGo(4)
   }

   This table entry is extended by entry in the
   mplsXCExtTable.  Note that the nature of the 'extends'
   relationship is a sparse augmentation so that the entry in the
   mplsXCExtTable has the same index values as the entry in
   the mplsXCTable.

9.1.5 Forward direction mplsXCExtEntry

   In mplsXCExtTable (0x01, 0x00000000, 0x00000001)
   {
     -- Back pointer from XC table to Tunnel table
     mplsXCExtTunnelPointer         = mplsTunnelName.1.1.1.2
     mplsXCExtOppositeDirXCPtr         = 
                                 mplsXCLspId.4.0.0.0.1.4.0.0.0.1.1.0
   }

9.1.6 Reverse direction mplsXCExtEntry

   Next for the reverse direction:

   In mplsXCExtTable (0x01, 0x00000001, 0x00000000)
   {
     -- Back pointer from XC table to Tunnel table
     mplsXCExtTunnelPointer         = mplsTunnelName.1.1.1.2
     mplsXCExtOppositeDirXCPtr         = 
                                 mplsXCLspId.4.0.0.0.1.1.0.4.0.0.0.1
   }

9.1.7 mplsTunnelExtReversePerfTable

   The mplsTunnelExtReversePerfTable SHOULD be populated incase
   the single tunnel entry is used for co-routed bidirectional tunnel
   setup. The mplsTunnelPerfTable will have the forward direction
 

Venkatesan,  et al.        Expires January 16                  [Page 12]
INTERNET DRAFT                MPLS-TP MIB                  July 15, 2012

   LSP performance counters and mplsTunnelExtReversePerfTable will have
   the reverse direction LSP performance counters.

9.2 Example of MPLS-TP associated bidirectional tunnel setup

   The MPLS-TP associated bidirectional tunnel has two different
   direction tunnels[Forward and Reverse LSPs] and these are
   associated together using mplsTunnelExtTable. Two different
   tunnel entries for both forward and reverse direction MAY be used
   for co-routed bidirectional tunnel as well.

   The following denotes the configured associated bidirectional
   forward tunnel "head" entry:

9.2.1 Forward direction mplsTunnelEntry

     In mplsTunnelTable:

   {
     mplsTunnelIndex              = 1,
     mplsTunnelInstance           = 1,
   -- Local map number created in mplsTunnelExtNodeConfigTable for
   -- Ingress LSR-Id
     mplsTunnelIngressLSRId       = 1,

   -- Local map number created in mplsTunnelExtNodeConfigTable for 
   -- Egress LSR-Id
     mplsTunnelEgressLSRId        = 2,
     mplsTunnelName               = "TP associated bi-directional
                                     forward LSP",
     mplsTunnelDescr              = "East to West",
     mplsTunnelIsIf               = true (1),
   --  RowPointer MUST point to the first accessible column
     mplsTunnelXCPointer          =
                                mplsXCLspId.4.0.0.0.1.1.0.4.0.0.0.1,
     mplsTunnelSignallingProto    = none (1),
     mplsTunnelSetupPrio          = 0,
     mplsTunnelHoldingPrio        = 0,
     mplsTunnelSessionAttributes  = 0,
     mplsTunnelLocalProtectInUse  = false (0),
   --  RowPointer MUST point to the first accessible column
     mplsTunnelResourcePointer    = mplsTunnelResourceMaxRate.5,
     mplsTunnelInstancePriority   = 1,
     mplsTunnelHopTableIndex      = 1,
     mplsTunnelIncludeAnyAffinity = 0,
     mplsTunnelIncludeAllAffinity = 0,
     mplsTunnelExcludeAnyAffinity = 0,
     mplsTunnelRole               = head (1),
 

Venkatesan,  et al.        Expires January 16                  [Page 13]
INTERNET DRAFT                MPLS-TP MIB                  July 15, 2012

   -- Mandatory parameters needed to activate the row go here
     mplsTunnelRowStatus          = createAndGo (4)
   }

9.2.2 Forward direction mplsTunnelExtEntry

   For Associated bidirectional forward LSP,
   In mplsTunnelExtTable:
   {
     mplsTunnelExtOppositeDirPtr.1.1.1.2       = mplsTunnelName.2.1.2.1
   }

9.2.3 Forward direction mplsOutSegmentTable

   For the forward direction.

   In mplsOutSegmentTable:
   {
      mplsOutSegmentIndex          = 0x0000001,
      mplsOutSegmentInterface      = 13, -- outgoing interface
      mplsOutSegmentPushTopLabel   = true(1),
      mplsOutSegmentTopLabel       = 22, -- outgoing label

      -- RowPointer MUST point to the first accessible column.
      mplsOutSegmentTrafficParamPtr   = 0.0,
      mplsOutSegmentRowStatus         = createAndGo (4)
   }

9.2.4 Forward direction mplsXCEntry

   In mplsXCTable:
   {
      mplsXCIndex                = 0x01,
      mplsXCInSegmentIndex       = 0x00000000,
      mplsXCOutSegmentIndex      = 0x00000001,
      mplsXCLspId                = 0x0102 -- unique ID
      -- only a single outgoing label
      mplsXCLabelStackIndex      = 0x00,
      mplsXCRowStatus            = createAndGo(4)

   }

9.2.5 Forward direction mplsXCExtEntry

   In mplsXCExtTable (0x01, 0x00000000, 0x00000001)
   {
     -- Back pointer from XC table to Tunnel table
     mplsXCExtTunnelPointer         = mplsTunnelName.1.1.1.2
 

Venkatesan,  et al.        Expires January 16                  [Page 14]
INTERNET DRAFT                MPLS-TP MIB                  July 15, 2012

     mplsXCExtOppositeDirXCPtr         = 
                                mplsXCLspId.4.0.0.0.1.4.0.0.0.1.1.0
   }

9.2.6 Forward direction mplsTunnelEntry

   The following denotes the configured associated bidirectional
   reverse tunnel "tail" entry:

       In mplsTunnelTable:

   {
     mplsTunnelIndex              = 2,
     mplsTunnelInstance           = 1,
   -- Local map number created in mplsTunnelExtNodeConfigTable for 
   -- Ingress LSR-Id
     mplsTunnelIngressLSRId       = 2,
   -- Local map number created in mplsTunnelExtNodeConfigTable for 
   -- Egress LSR-Id
     mplsTunnelEgressLSRId        = 1,
     mplsTunnelName               = "TP associated bi-directional
                                     reverse LSP",
     mplsTunnelDescr              = "West to East",
     mplsTunnelIsIf               = true (1),
   --  RowPointer MUST point to the first accessible column
     mplsTunnelXCPointer          =
                                mplsXCLspId.4.0.0.0.1.4.0.0.0.1.1.0,
     mplsTunnelSignallingProto    = none (1),
     mplsTunnelSetupPrio          = 0,
     mplsTunnelHoldingPrio        = 0,
     mplsTunnelSessionAttributes  = 0,
     mplsTunnelLocalProtectInUse  = false (0),

   --  RowPointer MUST point to the first accessible column
     mplsTunnelResourcePointer    = mplsTunnelResourceMaxRate.5,
     mplsTunnelInstancePriority   = 1,
     mplsTunnelHopTableIndex      = 1,
     mplsTunnelIncludeAnyAffinity = 0,
     mplsTunnelIncludeAllAffinity = 0,
     mplsTunnelExcludeAnyAffinity = 0,
     mplsTunnelRole               = head (1),
   -- Mandatory parameters needed to activate the row go here
     mplsTunnelRowStatus          = createAndGo (4)
   }

9.2.7 Reverse direction mplsTunnelExtEntry

   For Associated bidirectional reverse LSP,
 

Venkatesan,  et al.        Expires January 16                  [Page 15]
INTERNET DRAFT                MPLS-TP MIB                  July 15, 2012

   In mplsTunnelExtTable:
   {
     mplsTunnelExtOppositeDirPtr.2.1.2.1       = mplsTunnelName.1.1.1.2
   }

9.2.8 Reverse direction mplsInSegmentEntry

   We must next create the appropriate in-segment and out-segment
   entries. These are done in [RFC3813] using the mplsInSegmentTable 
   and mplsOutSegmentTable.

   In mplsInSegmentTable:
   {
      mplsInSegmentIndex           = 0x0000001
      mplsInSegmentLabel           = 21, -- incoming label
      mplsInSegmentNPop            = 1,
      mplsInSegmentInterface       = 13, -- incoming interface

      -- RowPointer MUST point to the first accessible column.
      mplsInSegmentTrafficParamPtr    = 0.0,
      mplsInSegmentRowStatus          = createAndGo (4)
   }

   Next, two cross-connect entries are created in the mplsXCTable of the
   MPLS-LSR-STD-MIB [RFC3813], thereby associating the newly created
   segments together.

9.2.9 Reverse direction mplsXCEntry

   In mplsXCTable:
   {
      mplsXCIndex                = 0x01,
      mplsXCInSegmentIndex       = 0x00000001,
      mplsXCOutSegmentIndex      = 0x00000000,
      mplsXCLspId                = 0x0102 -- unique ID
      -- only a single outgoing label
      mplsXCLabelStackIndex      = 0x00,
      mplsXCRowStatus            = createAndGo(4)
   }

   This table entry is extended by entry in the
   mplsXCExtTable.  Note that the nature of the 'extends'
   relationship is a sparse augmentation so that the entry in the
   mplsXCExtTable has the same index values as the entry in
   the mplsXCTable.

9.2.10 Reverse direction mplsXCExtEntry
 

Venkatesan,  et al.        Expires January 16                  [Page 16]
INTERNET DRAFT                MPLS-TP MIB                  July 15, 2012

   Next for the reverse direction:

   In mplsXCExtTable (0x01, 0x00000001, 0x00000000)
   {
     -- Back pointer from XC table to Tunnel table
     mplsXCExtTunnelPointer         = mplsTunnelName.1.1.1.2
     mplsXCExtOppositeDirXCPtr         = 
                              mplsXCLspId.4.0.0.0.1.1.0.4.0.0.0.1
   }

10. MPLS Textual Convention Extension MIB definitions
   MPLS-TC-EXT-STD-MIB DEFINITIONS ::= BEGIN

   IMPORTS
      MODULE-IDENTITY, Unsigned32
         FROM SNMPv2-SMI               -- [RFC2578]

      TEXTUAL-CONVENTION
         FROM SNMPv2-TC                -- [RFC2579]

      mplsStdMIB
         FROM MPLS-TC-STD-MIB          -- [RFC3811]

      ;

   mplsTcExtStdMIB MODULE-IDENTITY

      LAST-UPDATED
         "201207150000Z" -- July 15, 2012
      ORGANIZATION
         "Multiprotocol Label Switching (MPLS) Working Group"
      CONTACT-INFO
         "
                Venkatesan Mahalingam
                Dell Inc,
                350 Holger way, San Jose, CA, USA
          Email: venkat.mahalingams@gmail.com

                Kannan KV Sampath
                Aricent,
                India
          Email: Kannan.Sampath@aricent.com

                Sam Aldrin
                Huawei Technologies
                2330 Central Express Way,
                Santa Clara, CA 95051, USA
          Email:  aldrin.ietf@gmail.com
 

Venkatesan,  et al.        Expires January 16                  [Page 17]
INTERNET DRAFT                MPLS-TP MIB                  July 15, 2012

                Thomas D. Nadeau
                Juniper Networks
                10 Technology Park Drive, 
                Westford, MA 01886             
          Email: tnadeau@juniper.net
         "
      DESCRIPTION
          "Copyright (c) 2012 IETF Trust and the persons identified
           as the document authors.  All rights reserved.

           This MIB module contains Textual Conventions for
           MPLS based transport networks."

      -- Revision history.

      REVISION
         "201207150000Z" -- July 15, 2012
      DESCRIPTION
           "MPLS Textual Convention Extensions"

      ::= { mplsStdMIB xxx } -- xxx to be replaced with correct value

   MplsGlobalId ::= TEXTUAL-CONVENTION

      STATUS      current
      DESCRIPTION
           "This object contains the Textual Convention of IP based
            operator unique identifier (Global_ID), the Global_ID can
            contain the 2-octet or 4-octet value of the operator's
            Autonomous System Number (ASN).

            It is expected that the Global_ID will be derived from
            the globally unique ASN of the autonomous system hosting
            the PEs containing the actual AIIs.
            The presence of a Global_ID based on the operator's
            ASN ensures that the AII will be globally unique.

            When the Global_ID is derived from a 2-octet AS number,

            the two high-order octets of this 4-octet identifier
            MUST be set to zero.
            Further ASN 0 is reserved.  A Global_ID of zero means
            that no Global_ID is present.  Note that a Global_ID of
            zero is limited to entities contained within a single
            operator and MUST NOT be used across an NNI.
            A non-zero Global_ID MUST be derived from an ASN owned by
 

Venkatesan,  et al.        Expires January 16                  [Page 18]
INTERNET DRAFT                MPLS-TP MIB                  July 15, 2012

            the operator."
      SYNTAX  OCTET STRING (SIZE (4))

   MplsNodeId ::= TEXTUAL-CONVENTION
      DISPLAY-HINT "d"
      STATUS      current
      DESCRIPTION
          "The Node_ID is assigned within the scope of the Global_ID.
           The value 0(or 0.0.0.0 in dotted decimal notation) is
           reserved and MUST NOT be used.

           When IPv4 addresses are in use, the value of this object
           can be derived from the LSR's IPv4 loop back address. 
           When IPv6 addresses are in use, the value of this object
           can be a 32-bit value unique within the scope of
           a Global_ID.

           Note that, when IP reach ability is not needed, the 32-bit
           Node_ID is not required to have any association
           with the IPv4 address space."
      SYNTAX  Unsigned32

   MplsIccId ::= TEXTUAL-CONVENTION
      STATUS      current
      DESCRIPTION
           "The ICC is a string of one to six characters, each
            character being either alphabetic (i.e.  A-Z) or
            numeric (i.e. 0-9) characters.
            Alphabetic characters in the ICC SHOULD be represented

            with upper case letters."
      SYNTAX  OCTET STRING (SIZE (1..6))

     -- MPLS-TC-EXT-STD-MIB module ends
     END

11. MPLS Identifier MIB definitions

    MPLS-ID-STD-MIB DEFINITIONS ::= BEGIN

    IMPORTS
     MODULE-IDENTITY, OBJECT-TYPE
        FROM SNMPv2-SMI                                 -- [RFC2578]
     MODULE-COMPLIANCE, OBJECT-GROUP
        FROM SNMPv2-CONF                                -- [RFC2580]
     mplsStdMIB
        FROM MPLS-TC-STD-MIB                            -- [RFC3811]
     MplsGlobalId, MplsIccId, MplsNodeId
 

Venkatesan,  et al.        Expires January 16                  [Page 19]
INTERNET DRAFT                MPLS-TP MIB                  July 15, 2012

        FROM MPLS-TC-EXT-STD-MIB
     ;

   mplsIdStdMIB MODULE-IDENTITY
     LAST-UPDATED
        "201207150000Z" -- July 15, 2012
     ORGANIZATION
        "Multiprotocol Label Switching (MPLS) Working Group"

     CONTACT-INFO
        "
               Venkatesan Mahalingam
               Dell Inc,
               350 Holger way, San Jose, CA, USA
     Email: venkat.mahalingams@gmail.com

               Kannan KV Sampath
               Aricent,
               India
         Email: Kannan.Sampath@aricent.com

               Sam Aldrin
               Huawei Technologies
               2330 Central Express Way,
               Santa Clara, CA 95051, USA
         Email:  aldrin.ietf@gmail.com

               Thomas D. Nadeau
               Juniper Networks
               10 Technology Park Drive,
               Westford, MA 01886             
         Email: tnadeau@juniper.net
       "
     DESCRIPTION
         "Copyright (c) 2012 IETF Trust and the persons identified
          as the document authors.  All rights reserved.

          This MIB module contains generic object definitions for
          MPLS Traffic Engineering in transport networks."

     -- Revision history.

     REVISION
         "201207150000Z" -- July 15, 2012
     DESCRIPTION
          "MPLS identifiers MIB object extension"

 

Venkatesan,  et al.        Expires January 16                  [Page 20]
INTERNET DRAFT                MPLS-TP MIB                  July 15, 2012

     ::= { mplsStdMIB xxx } -- xxx to be replaced with correct value

     -- Notifications
     mplsIdNotifications OBJECT IDENTIFIER ::= { mplsIdStdMIB 0 }
     -- tables, scalars
     mplsIdObjects       OBJECT IDENTIFIER ::= { mplsIdStdMIB 1 }
     -- conformance
     mplsIdConformance   OBJECT IDENTIFIER ::= { mplsIdStdMIB 2 }

     -- MPLS common objects

   mplsIdGlobalId OBJECT-TYPE
        SYNTAX      MplsGlobalId
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "This object allows the administrator to assign a unique
             operator identifier also called MPLS-TP Global_ID."
        REFERENCE
            "MPLS-TP Identifiers [RFC6370]."
       ::= { mplsIdObjects 1 }

   mplsIdIcc OBJECT-TYPE
        SYNTAX      MplsIccId
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "This object allows the operator or service provider to
             assign a unique MPLS-TP ITU-T Carrier Code (ICC) to a
             network."
        REFERENCE
            "MPLS-TP Identifiers [RFC6370]."
       ::= { mplsIdObjects 2 }

   mplsIdNodeId OBJECT-TYPE
        SYNTAX      MplsNodeId
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "This object allows the operator or service provider to
             assign a unique MPLS-TP Node_ID.

             The Node_ID is assigned within the scope of
             the Global_ID."
        REFERENCE
            "MPLS-TP Identifiers [RFC6370]."
       ::= { mplsIdObjects 3 }
 

Venkatesan,  et al.        Expires January 16                  [Page 21]
INTERNET DRAFT                MPLS-TP MIB                  July 15, 2012

    -- Module compliance.

   mplsIdGroups
      OBJECT IDENTIFIER ::= { mplsIdConformance 1 }

   mplsIdCompliances
      OBJECT IDENTIFIER ::= { mplsIdConformance 2 }

   -- Compliance requirement for fully compliant implementations.

   mplsIdModuleFullCompliance MODULE-COMPLIANCE
      STATUS current
      DESCRIPTION
           "Compliance statement for agents that provide full
             support the MPLS-ID-STD-MIB module."

      MODULE -- this module

         -- The mandatory group has to be implemented by all
         -- LSRs that originate/terminate MPLS-TP paths.

         MANDATORY-GROUPS    {
            mplsIdScalarGroup
         }

          ::= { mplsIdCompliances 1 }

   -- Compliance requirement for read-only implementations.

   mplsIdModuleReadOnlyCompliance MODULE-COMPLIANCE
      STATUS current
      DESCRIPTION
           "Compliance statement for agents that provide full
             support the MPLS-ID-STD-MIB module."

      MODULE -- this module

         -- The mandatory group has to be implemented by all
         -- LSRs that originate/terminate MPLS-TP paths.

         MANDATORY-GROUPS    {
            mplsIdScalarGroup
         }

        ::= { mplsIdCompliances 2 }
 

Venkatesan,  et al.        Expires January 16                  [Page 22]
INTERNET DRAFT                MPLS-TP MIB                  July 15, 2012

     -- Units of conformance.

    mplsIdScalarGroup OBJECT-GROUP
      OBJECTS { mplsIdGlobalId,
                mplsIdNodeId,
                mplsIdIcc

      }
      STATUS  current
      DESCRIPTION
          "Scalar object needed to implement MPLS TP path."
      ::= { mplsIdGroups 1 }

    -- MPLS-ID-STD-MIB module ends
    END

12. MPLS LSR Extension MIB definitions

   MPLS-LSR-EXT-STD-MIB DEFINITIONS ::= BEGIN

   IMPORTS
      MODULE-IDENTITY, OBJECT-TYPE
         FROM SNMPv2-SMI                                 -- [RFC2578]
      MODULE-COMPLIANCE, OBJECT-GROUP
         FROM SNMPv2-CONF                                -- [RFC2580]
      mplsStdMIB
         FROM MPLS-TC-STD-MIB                            -- [RFC3811]
      RowPointer
         FROM SNMPv2-TC                                  -- [RFC2579]
      mplsXCIndex, mplsXCInSegmentIndex, mplsXCOutSegmentIndex,
      mplsInSegmentGroup, mplsOutSegmentGroup, mplsXCGroup,
      mplsPerfGroup, mplsLsrNotificationGroup
         FROM MPLS-LSR-STD-MIB;                          -- [RFC3813]

   mplsLsrExtStdMIB MODULE-IDENTITY
      LAST-UPDATED
        "201207150000Z" -- July 15, 2012
      ORGANIZATION
         "Multiprotocol Label Switching (MPLS) Working Group"
      CONTACT-INFO
         "
                Venkatesan Mahalingam
                Dell Inc,
                350 Holger way, San Jose, CA, USA
          Email: venkat.mahalingams@gmail.com

                Kannan KV Sampath
 

Venkatesan,  et al.        Expires January 16                  [Page 23]
INTERNET DRAFT                MPLS-TP MIB                  July 15, 2012

                Aricent,
                India
          Email: Kannan.Sampath@aricent.com

                Sam Aldrin
                Huawei Technologies
                2330 Central Express Way,
                Santa Clara, CA 95051, USA

          Email:  aldrin.ietf@gmail.com

               Thomas D. Nadeau
               Juniper Networks
               10 Technology Park Drive, Westford, MA 01886             
         Email: tnadeau@juniper.net
        "
      DESCRIPTION
          "Copyright (c) 2012 IETF Trust and the persons identified
           as the document authors.  All rights reserved.

           This MIB module contains generic object definitions for

           MPLS LSR in transport networks."

      -- Revision history.

      REVISION
        "201207150000Z" -- July 15, 2012
      DESCRIPTION
           "MPLS LSR specific MIB objects extension"

      ::= { mplsStdMIB xxx } -- xxx to be replaced with correct value

   -- Notifications
   mplsLsrExtNotifications OBJECT IDENTIFIER 
                            ::= { mplsLsrExtStdMIB 0 }
   -- tables, scalars
   mplsLsrExtObjects       OBJECT IDENTIFIER 
                            ::= { mplsLsrExtStdMIB 1 }
   -- conformance
   mplsLsrExtConformance   OBJECT IDENTIFIER 
                            ::= { mplsLsrExtStdMIB 2 }

   -- MPLS LSR common objects
   mplsXCExtTable  OBJECT-TYPE
       SYNTAX        SEQUENCE OF MplsXCExtEntry
 

Venkatesan,  et al.        Expires January 16                  [Page 24]
INTERNET DRAFT                MPLS-TP MIB                  July 15, 2012

       MAX-ACCESS    not-accessible
       STATUS        current
       DESCRIPTION
          "This table sparse augments the mplsXCTable of
           MPLS-LSR-STD-MIB [RFC3813] to provide MPLS-TP specific
           information about associated tunnel information"
       REFERENCE
          "1. Multiprotocol Label Switching (MPLS) Label Switching
           Router (LSR) Management Information Base (MIB), RFC 3813."
   ::= { mplsLsrExtObjects 1 }

   mplsXCExtEntry  OBJECT-TYPE
       SYNTAX        MplsXCExtEntry
       MAX-ACCESS    not-accessible

       STATUS        current
       DESCRIPTION
          "An entry in this table extends the cross connect
           information represented by an entry in
           the mplsXCTable in MPLS-LSR-STD-MIB [RFC3813] through
           a sparse augmentation.  An entry can be created by
           a network administrator via SNMP SET commands, or in
           response to signaling protocol events."
       REFERENCE
          "1. Multiprotocol Label Switching (MPLS) Label Switching
           Router (LSR) Management Information Base (MIB), RFC 3813."

     INDEX { mplsXCIndex, mplsXCInSegmentIndex,
           mplsXCOutSegmentIndex }
    ::= { mplsXCExtTable 1 }

   MplsXCExtEntry ::= SEQUENCE {
      mplsXCExtTunnelPointer        RowPointer,
      mplsXCExtOppositeDirXCPtr     RowPointer
   }

   mplsXCExtTunnelPointer OBJECT-TYPE
       SYNTAX        RowPointer
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
          "This read-only object indicates the back pointer to
           the tunnel entry segment."
       REFERENCE
          "1. Multiprotocol Label Switching (MPLS) Label Switching
           Router (LSR) Management Information Base (MIB), RFC 3813."
    ::= { mplsXCExtEntry 1 }
 

Venkatesan,  et al.        Expires January 16                  [Page 25]
INTERNET DRAFT                MPLS-TP MIB                  July 15, 2012

   mplsXCExtOppositeDirXCPtr OBJECT-TYPE
       SYNTAX        RowPointer
       MAX-ACCESS    read-create
       STATUS        current
       DESCRIPTION
          "This object indicates the pointer to the opposite
           direction XC entry.  This object cannot be modified if
           mplsXCRowStatus for the corresponding entry in the
           mplsXCTable is active(1)."
       REFERENCE
          "1. Multiprotocol Label Switching (MPLS) Label Switching
           Router (LSR) Management Information Base (MIB), RFC 3813."
    ::= { mplsXCExtEntry 2 }

    mplsLsrExtGroups
       OBJECT IDENTIFIER ::= { mplsLsrExtConformance 1 }
    mplsLsrExtCompliances
       OBJECT IDENTIFIER ::= { mplsLsrExtConformance 2 }

    -- Compliance requirement for fully compliant implementations.

    mplsLsrExtModuleFullCompliance MODULE-COMPLIANCE
        STATUS current
        DESCRIPTION
           "Compliance statement for agents that provide full support
            for MPLS-LSR-EXT-STD-MIB.
            The mandatory group has to be implemented by all LSRs
            that originate, terminate, or act as transit for
            TE-LSPs/tunnels.
            In addition, depending on the type of tunnels supported,
            other groups become mandatory as explained below."

     MODULE MPLS-LSR-STD-MIB -- The MPLS-LSR-STD-MIB, RFC3813

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

     MODULE -- this module

     MANDATORY-GROUPS    {
 

Venkatesan,  et al.        Expires January 16                  [Page 26]
INTERNET DRAFT                MPLS-TP MIB                  July 15, 2012

       mplsXCExtGroup
     }

     ::= { mplsLsrExtCompliances 1 }

    -- Compliance requirement for implementations that provide
    -- read-only access.

     mplsLsrExtModuleReadOnlyCompliance MODULE-COMPLIANCE
       STATUS current
       DESCRIPTION
          "Compliance requirement for implementations that only
           provide read-only support for MPLS-LSR-EXT-STD-MIB.
           Such devices can then be monitored but cannot be
           configured using this MIB module."

     MODULE MPLS-LSR-STD-MIB

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

     MODULE -- this module

     MANDATORY-GROUPS {
        mplsXCExtGroup
     }

     OBJECT      mplsXCExtTunnelPointer
     SYNTAX      RowPointer
     MIN-ACCESS  read-only
     DESCRIPTION
        "The only valid value for Tunnel Pointer is mplsTunnelTable
         entry."

    ::= { mplsLsrExtCompliances 2 }

     mplsXCExtGroup  OBJECT-GROUP
     OBJECTS {
         mplsXCExtTunnelPointer,
         mplsXCExtOppositeDirXCPtr 
     }
     STATUS  current
 

Venkatesan,  et al.        Expires January 16                  [Page 27]
INTERNET DRAFT                MPLS-TP MIB                  July 15, 2012

     DESCRIPTION
         "This object should be supported in order to access
         the tunnel entry from XC entry."
     ::= { mplsLsrExtGroups 1 }

    -- MPLS-LSR-EXT-STD-MIB module ends
    END

13. MPLS Tunnel Extension MIB definitions

     MPLS-TE-EXT-STD-MIB DEFINITIONS ::= BEGIN

     IMPORTS
        MODULE-IDENTITY, OBJECT-TYPE, Counter32,
           Counter64, zeroDotZero
           FROM SNMPv2-SMI                               -- [RFC2578]
        MODULE-COMPLIANCE, OBJECT-GROUP
           FROM SNMPv2-CONF                              -- [RFC2580]
        TruthValue, RowStatus, RowPointer, StorageType
           FROM SNMPv2-TC                                -- [RFC2579]
        MplsGlobalId, MplsNodeId, MplsIccId
           FROM MPLS-TC-EXT-STD-MIB
        mplsStdMIB, MplsTunnelIndex, MplsTunnelInstanceIndex,
        MplsExtendedTunnelId
           FROM MPLS-TC-STD-MIB                          -- [RFC3811]
        mplsTunnelIndex, mplsTunnelInstance, mplsTunnelIngressLSRId,
        mplsTunnelEgressLSRId
           FROM MPLS-TE-STD-MIB                          -- [RFC3812]
        ;

     mplsTeExtStdMIB MODULE-IDENTITY
        LAST-UPDATED
            "201207150000Z" -- July 15, 2012
        ORGANIZATION
           "Multiprotocol Label Switching (MPLS) Working Group"
        CONTACT-INFO
           "
                  Venkatesan Mahalingam
                  Dell Inc,
                  350 Holger way, San Jose, CA, USA
            Email: venkat.mahalingams@gmail.com

                  Kannan KV Sampath
                  Aricent,

                  India
 

Venkatesan,  et al.        Expires January 16                  [Page 28]
INTERNET DRAFT                MPLS-TP MIB                  July 15, 2012

            Email: Kannan.Sampath@aricent.com

                  Sam Aldrin
                  Huawei Technologies
                  2330 Central Express Way,
                  Santa Clara, CA 95051, USA
            Email:  aldrin.ietf@gmail.com

               Thomas D. Nadeau
               Juniper Networks
               10 Technology Park Drive, Westford, MA 01886             
         Email: tnadeau@juniper.net
          "
        DESCRIPTION
            "Copyright (c) 2012 IETF Trust and the persons identified
             as the document authors.  All rights reserved.

             This MIB module contains generic object definitions for
             MPLS Traffic Engineering in transport networks."

        -- Revision history.

        REVISION
           "201207150000Z" -- July 15, 2012

        DESCRIPTION
             "MPLS TE MIB objects extension"

        ::= { mplsStdMIB xxx } -- xxx to be replaced 
                               -- with correct value

     -- Top level components of this MIB module.

     -- Notifications
     mplsTeExtNotifications OBJECT IDENTIFIER 
                                      ::= { mplsTeExtStdMIB 0 }
     -- tables, scalars
     mplsTeExtObjects       OBJECT IDENTIFIER 
                                      ::= { mplsTeExtStdMIB 1 }
     -- conformance
     mplsTeExtConformance   OBJECT IDENTIFIER 
                                      ::= { mplsTeExtStdMIB 2 }

    -- Start of MPLS Transport Profile Node configuration table
      mplsTunnelExtNodeConfigTable OBJECT-TYPE
       SYNTAX        SEQUENCE OF MplsTunnelExtNodeConfigEntry
       MAX-ACCESS    not-accessible
 

Venkatesan,  et al.        Expires January 16                  [Page 29]
INTERNET DRAFT                MPLS-TP MIB                  July 15, 2012

       STATUS        current
       DESCRIPTION
             "This table allows the administrator to map a node or
              LSR Identifier (IP compatible [Global_Node_ID] or ICC)
              with a local identifier.

              This table is created to reuse the existing
              mplsTunnelTable for MPLS based transport network
              tunnels also.
              Since the MPLS tunnel's Ingress/Egress LSR identifiers'
              size (Unsigned32) value is not compatible for
              MPLS-TP tunnel i.e. Global_Node_Id of size 8 bytes and
              ICC of size 6 bytes, there exists a need to map the
              Global_Node_ID or ICC with the local identifier of size
              4 bytes (Unsigned32) value in order
              to index (Ingress/Egress LSR identifier)
              the existing mplsTunnelTable."
       ::= { mplsTeExtObjects 1 }

      mplsTunnelExtNodeConfigEntry OBJECT-TYPE
       SYNTAX        MplsTunnelExtNodeConfigEntry
       MAX-ACCESS    not-accessible
       STATUS        current
       DESCRIPTION

              "An entry in this table represents a mapping
              identification for the operator or service provider
              with node or LSR.

              As per [RFC6370], this mapping is

              represented as Global_Node_ID or ICC.

              Note: Each entry in this table should have a unique
              Global_ID and Node_ID combination."
        INDEX { mplsTunnelExtNodeConfigLocalId }
        ::= { mplsTunnelExtNodeConfigTable 1 }

      MplsTunnelExtNodeConfigEntry ::= SEQUENCE {
            mplsTunnelExtNodeConfigLocalId     MplsExtendedTunnelId,
            mplsTunnelExtNodeConfigGlobalId    MplsGlobalId,
            mplsTunnelExtNodeConfigNodeId      MplsNodeId,
            mplsTunnelExtNodeConfigIccId       MplsIccId,
            mplsTunnelExtNodeConfigRowStatus   RowStatus,
            mplsTunnelExtNodeConfigStorageType StorageType

 

Venkatesan,  et al.        Expires January 16                  [Page 30]
INTERNET DRAFT                MPLS-TP MIB                  July 15, 2012

      }

      mplsTunnelExtNodeConfigLocalId  OBJECT-TYPE
         SYNTAX        MplsExtendedTunnelId
         MAX-ACCESS    not-accessible
         STATUS        current
         DESCRIPTION
           "This object is used in accommodating the bigger
            size Global_Node_ID and/or ICC with lower size LSR
            identifier in order to index the mplsTunnelTable.

            The Local Identifier is configured between 1 and 16777215,
            as valid IP address range starts from 16777216(01.00.00.00).
            This range is chosen to identify the mplsTunnelTable's
            Ingress/Egress LSR-id is IP address or Local identifier,
            if the configured range is not IP address, administrator is
            expected to retrieve the complete information 
            (Global_Node_ID or ICC) from mplsTunnelExtNodeConfigTable. 
            This way, existing mplsTunnelTable is reused for 
            bidirectional
            tunnel extensions for MPLS based transport networks.

            This Local Identifier allows the administrator to assign
            a unique identifier to map Global_Node_ID and/or ICC."
         ::= { mplsTunnelExtNodeConfigEntry 1 }

      mplsTunnelExtNodeConfigGlobalId  OBJECT-TYPE
         SYNTAX        MplsGlobalId
         MAX-ACCESS    read-write
         STATUS        current
         DESCRIPTION
           "This object indicates the Global Operator Identifier.
            This object value should be zero when
            mplsTunnelExtNodeConfigIccId is configured with non-null
            value."
         REFERENCE
               "MPLS-TP Identifiers [RFC6370]."
         ::= { mplsTunnelExtNodeConfigEntry 2 }

      mplsTunnelExtNodeConfigNodeId  OBJECT-TYPE
         SYNTAX        MplsNodeId
         MAX-ACCESS    read-write
         STATUS        current
         DESCRIPTION
            "This object indicates the Node_ID within the operator.
            This object value should be zero when 
            mplsTunnelExtNodeConfigIccId is configured with non-null 
 

Venkatesan,  et al.        Expires January 16                  [Page 31]
INTERNET DRAFT                MPLS-TP MIB                  July 15, 2012

            value."
         REFERENCE
               "MPLS-TP Identifiers [RFC6370]."
         ::= { mplsTunnelExtNodeConfigEntry 3 }

      mplsTunnelExtNodeConfigIccId OBJECT-TYPE
           SYNTAX      MplsIccId
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
              "This object allows the operator or service provider to
               configure a unique MPLS-TP ITU-T Carrier Code (ICC)
               either for Ingress ID or Egress ID.

               This object value should be zero when
               mplsTunnelExtNodeConfigGlobalId and 
               mplsTunnelExtNodeConfigNodeId are assigned with non-zero
               value."
           REFERENCE
               "MPLS-TP Identifiers [RFC6370]."
         ::= { mplsTunnelExtNodeConfigEntry 4 }

      mplsTunnelExtNodeConfigRowStatus OBJECT-TYPE
         SYNTAX        RowStatus
         MAX-ACCESS    read-create
         STATUS        current
         DESCRIPTION
            "This object allows the administrator to create, modify,
             and/or delete a row in this table."
         ::= { mplsTunnelExtNodeConfigEntry 5 }

      mplsTunnelExtNodeConfigStorageType OBJECT-TYPE
         SYNTAX        StorageType
         MAX-ACCESS    read-create
         STATUS        current
         DESCRIPTION
          "This variable indicates the storage type for this
           object.
           Conceptual rows having the value 'permanent'
           need not allow write-access to any columnar
           objects in the row."
         DEFVAL { volatile }
         ::= { mplsTunnelExtNodeConfigEntry 6 }

     -- End of MPLS Transport Profile Node configuration table

 

Venkatesan,  et al.        Expires January 16                  [Page 32]
INTERNET DRAFT                MPLS-TP MIB                  July 15, 2012

     -- Start of MPLS Transport Profile Node IP compatible 
     -- mapping table

    mplsTunnelExtNodeIpMapTable OBJECT-TYPE
       SYNTAX        SEQUENCE OF MplsTunnelExtNodeIpMapEntry

       MAX-ACCESS    not-accessible
       STATUS        current
       DESCRIPTION
           "This read-only table allows the administrator to retrieve
            the local identifier for a given Global_Node_ID in an IP
            compatible operator environment.

            This table MAY be used in on-demand and/or proactive
            OAM operations to get the Ingress/Egress LSR identifier
            (Local Identifier) from Src-Global_Node_ID
            or Dst-Global_Node_ID and the Ingress and Egress LSR
            identifiers are used to retrieve the tunnel entry.

            This table returns nothing when the associated entry
            is not defined in mplsTunnelExtNodeConfigTable."
       ::= { mplsTeExtObjects 2 }

      mplsTunnelExtNodeIpMapEntry OBJECT-TYPE
       SYNTAX        MplsTunnelExtNodeIpMapEntry
       MAX-ACCESS    not-accessible
       STATUS        current
       DESCRIPTION
             "An entry in this table represents a mapping of
              Global_Node_ID with the local identifier.

              An entry in this table is created automatically when
              the Local identifier is associated with Global_ID and
              Node_Id in the mplsTunnelExtNodeConfigTable.

              Note: Each entry in this table should have a unique
              Global_ID and Node_ID combination."
        INDEX { mplsTunnelExtNodeIpMapGlobalId,
                mplsTunnelExtNodeIpMapNodeId
              }
        ::= { mplsTunnelExtNodeIpMapTable 1 }

      MplsTunnelExtNodeIpMapEntry ::= SEQUENCE {
            mplsTunnelExtNodeIpMapGlobalId    MplsGlobalId,
            mplsTunnelExtNodeIpMapNodeId      MplsNodeId,
            mplsTunnelExtNodeIpMapLocalId     MplsExtendedTunnelId
      }

 

Venkatesan,  et al.        Expires January 16                  [Page 33]
INTERNET DRAFT                MPLS-TP MIB                  July 15, 2012

      mplsTunnelExtNodeIpMapGlobalId  OBJECT-TYPE
         SYNTAX        MplsGlobalId
         MAX-ACCESS    not-accessible
         STATUS        current
         DESCRIPTION
           "This object indicates the Global_ID."
         ::= { mplsTunnelExtNodeIpMapEntry 1 }

      mplsTunnelExtNodeIpMapNodeId  OBJECT-TYPE
         SYNTAX        MplsNodeId
         MAX-ACCESS    not-accessible
         STATUS        current
         DESCRIPTION
           "This object indicates the Node_ID within the
            operator."
         ::= { mplsTunnelExtNodeIpMapEntry 2 }

      mplsTunnelExtNodeIpMapLocalId  OBJECT-TYPE
         SYNTAX        MplsExtendedTunnelId
         MAX-ACCESS    read-only
         STATUS        current
         DESCRIPTION
           "This object contains an IP compatible local identifier
            which is defined in mplsTunnelExtNodeConfigTable."
         ::= { mplsTunnelExtNodeIpMapEntry 3 }

      -- End MPLS Transport Profile Node IP compatible table

      -- Start of MPLS Transport Profile Node ICC based table

      mplsTunnelExtNodeIccMapTable OBJECT-TYPE
       SYNTAX        SEQUENCE OF MplsTunnelExtNodeIccMapEntry
       MAX-ACCESS    not-accessible
       STATUS        current
       DESCRIPTION
          "This read-only table allows the administrator to retrieve
           the local identifier for a given ICC operator in an ICC
           operator environment.

           This table MAY be used in on-demand and/or proactive
           OAM operations to get the Ingress/Egress LSR
           identifier (Local Identifier) from Src-ICC
           or Dst-ICC and the Ingress and Egress LSR
           identifiers are used to retrieve the tunnel entry.
           This table returns nothing when the associated entry
           is not defined in mplsTunnelExtNodeConfigTable."
       ::= { mplsTeExtObjects 3 }

 

Venkatesan,  et al.        Expires January 16                  [Page 34]
INTERNET DRAFT                MPLS-TP MIB                  July 15, 2012

      mplsTunnelExtNodeIccMapEntry OBJECT-TYPE
       SYNTAX        MplsTunnelExtNodeIccMapEntry
       MAX-ACCESS    not-accessible
       STATUS        current
       DESCRIPTION
             "An entry in this table represents a mapping of ICC with
              the local identifier.

              An entry in this table is created automatically when
              the Local identifier is associated with ICC in
              the mplsTunnelExtNodeConfigTable."
        INDEX { mplsTunnelExtNodeIccMapIccId }
        ::= { mplsTunnelExtNodeIccMapTable 1 }

      MplsTunnelExtNodeIccMapEntry ::= SEQUENCE {
            mplsTunnelExtNodeIccMapIccId      MplsIccId,
            mplsTunnelExtNodeIccMapLocalId    MplsExtendedTunnelId
      }

      mplsTunnelExtNodeIccMapIccId OBJECT-TYPE
           SYNTAX      MplsIccId
           MAX-ACCESS  not-accessible
           STATUS      current
           DESCRIPTION
              "This object allows the operator or service provider to
               configure a unique MPLS-TP ITU-T Carrier Code (ICC)
               either for Ingress or Egress LSR ID.

               The ICC is a string of one to six characters, each
               character being either alphabetic (i.e.  A-Z) or
               numeric (i.e. 0-9) characters. Alphabetic characters
               in the ICC should be represented with upper case
               letters."
           ::= { mplsTunnelExtNodeIccMapEntry 1 }

      mplsTunnelExtNodeIccMapLocalId  OBJECT-TYPE
         SYNTAX        MplsExtendedTunnelId
         MAX-ACCESS    read-only
         STATUS        current
         DESCRIPTION
           "This object contains an ICC based local identifier
            which is defined in mplsTunnelExtNodeConfigTable."

         ::= { mplsTunnelExtNodeIccMapEntry 2 }

   -- End MPLS Transport Profile Node ICC based table
 

Venkatesan,  et al.        Expires January 16                  [Page 35]
INTERNET DRAFT                MPLS-TP MIB                  July 15, 2012

   -- Start of MPLS Tunnel table extension

     mplsTunnelExtTable OBJECT-TYPE
       SYNTAX        SEQUENCE OF MplsTunnelExtEntry
       MAX-ACCESS    not-accessible
       STATUS        current
       DESCRIPTION
         "This table represents MPLS-TP specific extensions to
          mplsTunnelTable.

          As per MPLS-TP Identifiers [RFC6370], LSP_ID for IP based
          co-routed bidirectional tunnel,

          A1-{Global_ID::Node_ID::Tunnel_Num}::Z9-{Global_ID::
          Node_ID::Tunnel_Num}::LSP_Num

          LSP_ID for IP based associated bidirectional tunnel,
          A1-{Global_ID::Node_ID::Tunnel_Num::LSP_Num}::
          Z9-{Global_ID::Node_ID::Tunnel_Num::LSP_Num}

          mplsTunnelTable is reused for forming the LSP_ID
          as follows,

          Source Tunnel_Num is mapped with mplsTunnelIndex,
          Source Node_ID is mapped with
          mplsTunnelIngressLSRId, Destination Node_ID is
          mapped with mplsTunnelEgressLSRId LSP_Num is mapped with
          mplsTunnelInstance.

          Source Global_Node_ID and/or ICC and Destination
          Global_Node_ID and/or ICC are maintained in the
          mplsTunnelExtNodeConfigTable and 
          mplsTunnelExtNodeConfigLocalId is used to create an entry
          in mplsTunnelTable."
       REFERENCE
             "MPLS-TP Identifiers [RFC6370]."
       ::= { mplsTeExtObjects 4 }

      mplsTunnelExtEntry OBJECT-TYPE
      SYNTAX        MplsTunnelExtEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
            "An entry in this table represents MPLS-TP
             specific additional tunnel configurations."
      INDEX {
        mplsTunnelIndex,
        mplsTunnelInstance,
 

Venkatesan,  et al.        Expires January 16                  [Page 36]
INTERNET DRAFT                MPLS-TP MIB                  July 15, 2012

        mplsTunnelIngressLSRId,
        mplsTunnelEgressLSRId
       }
       ::= { mplsTunnelExtTable 1 }

      MplsTunnelExtEntry ::= SEQUENCE {
           mplsTunnelExtOppositeDirPtr          RowPointer,
           mplsTunnelExtOppositeDirTnlValid  TruthValue,
           mplsTunnelExtDestTnlIndex         MplsTunnelIndex,
           mplsTunnelExtDestTnlLspIndex      MplsTunnelInstanceIndex,
           mplsTunnelExtDestTnlValid         TruthValue
      }

      mplsTunnelExtOppositeDirPtr  OBJECT-TYPE
         SYNTAX        RowPointer
         MAX-ACCESS    read-create
         STATUS        current
         DESCRIPTION
            "This object is applicable only for the bidirectional
             tunnel that has the forward and reverse LSPs in the
             same tunnel or in the different tunnels.

             This object holds the opposite direction tunnel entry
             if the bidirectional tunnel is setup by configuring two
             tunnel entries in mplsTunnelTable.

             The value of zeroDotZero indicates single tunnel entry
             is used for bidirectional tunnel setup."
          DEFVAL   { zeroDotZero }
           ::= { mplsTunnelExtEntry 1 }

      mplsTunnelExtOppositeDirTnlValid  OBJECT-TYPE
         SYNTAX        TruthValue
         MAX-ACCESS    read-create
         STATUS        current
         DESCRIPTION
            "Denotes whether or not this tunnel uses 
             mplsTunnelExtOppositeDirPtr for identifying the opposite
             direction tunnel information. Note that if this variable
             is set to true then the mplsTunnelExtOppositeDirPtr should 
             point to the first accessible row of the opposite
             direction tunnel." 
         DEFVAL { false }
           ::= { mplsTunnelExtEntry 2 }  

      mplsTunnelExtDestTnlIndex  OBJECT-TYPE
         SYNTAX        MplsTunnelIndex
         MAX-ACCESS    read-create
 

Venkatesan,  et al.        Expires January 16                  [Page 37]
INTERNET DRAFT                MPLS-TP MIB                  July 15, 2012

         STATUS        current
         DESCRIPTION
            "This object is applicable only for the bidirectional
             tunnel that has the forward and reverse LSPs in the
             same tunnel or in the different tunnels.

             This object holds the same value as that of the
             mplsTunnelIndex of mplsTunnelEntry if the forward and
             reverse LSPs are in the same tunnel. Otherwise,
             this object holds the value of the other direction
             associated LSP's mplsTunnelIndex from a different
             tunnel.

             The values of this object and the
             mplsTunnelExtDestTnlLspIndex object together can be used
             to identify an opposite direction LSP i.e. if the
             mplsTunnelIndex and mplsTunnelInstance hold the value
             for forward LSP, this object and 
             mplsTunnelExtDestTnlLspIndex can be used to retrieve
             the reverse direction LSP and vice versa.

             This object and mplsTunnelExtDestTnlLspIndex values
             provide the first two indices of tunnel entry and
             the remaining indices can be derived as follows,
             if both the forward and reverse LSPs are present in
             the same tunnel, the opposite direction LSP's Ingress
             and Egress Identifier will be same for both the LSPs,
             else the Ingress and Egress Identifiers should be
             swapped in order to index the other direction tunnel."

            ::= { mplsTunnelExtEntry 3 }

      mplsTunnelExtDestTnlLspIndex  OBJECT-TYPE
         SYNTAX        MplsTunnelInstanceIndex
         MAX-ACCESS    read-create
         STATUS        current
         DESCRIPTION
            "This object is applicable only for the bidirectional
             tunnel that has the forward and reverse LSPs in the
             same tunnel or in the different tunnels.

             This object should contain different value if both the
             forward and reverse LSPs present in the same tunnel.

             This object can contain same value or different values
             if the forward and reverse LSPs present in the different
             tunnels."

 

Venkatesan,  et al.        Expires January 16                  [Page 38]
INTERNET DRAFT                MPLS-TP MIB                  July 15, 2012

            ::= { mplsTunnelExtEntry 4 }

      mplsTunnelExtDestTnlValid  OBJECT-TYPE
         SYNTAX        TruthValue
         MAX-ACCESS    read-create
         STATUS        current
         DESCRIPTION
            "Denotes whether or not this tunnel uses 
             mplsTunnelExtDestTnlIndex and 
             mplsTunnelExtDestTnlLspIndex for identifying
             the opposite direction tunnel information. Note that if 
             this variable is set to true then the 
             mplsTunnelExtDestTnlIndex and 
             mplsTunnelExtDestTnlLspIndex objects should have
             the valid opposite direction tunnel indices."
         DEFVAL { false }
           ::= { mplsTunnelExtEntry 5 }  

      -- End of MPLS Tunnel table extension

      mplsTunnelExtReversePerfTable  OBJECT-TYPE
        SYNTAX  SEQUENCE OF MplsTunnelExtReversePerfEntry
        MAX-ACCESS not-accessible
        STATUS  current
        DESCRIPTION
          "This table extends the mplsTunnelTable to provide
           per-tunnel packet performance information for the reverse
           direction of a bidirectional tunnel.  It can be seen as
           supplementing the mplsTunnelPerfTable, which augments the
           mplsTunnelTable.

           For links that do not transport packets, these packet
           counters cannot be maintained.  For such links, attempts
           to read the objects in this table will return
           noSuchInstance."
        REFERENCE
          "1. Multiprotocol Label Switching (MPLS) Traffic
              Engineering (TE)Management Information Base (MIB),
              RFC 3812."
      ::= { mplsTeExtObjects 5 }

      mplsTunnelExtReversePerfEntry OBJECT-TYPE
        SYNTAX  MplsTunnelExtReversePerfEntry
        MAX-ACCESS not-accessible
        STATUS  current
        DESCRIPTION
          "An entry in this table is created by the LSR for every
           bidirectional MPLS tunnel where packets are visible to the
 

Venkatesan,  et al.        Expires January 16                  [Page 39]
INTERNET DRAFT                MPLS-TP MIB                  July 15, 2012

           LSR."
      INDEX {
        mplsTunnelIndex,
        mplsTunnelInstance,
        mplsTunnelIngressLSRId,
        mplsTunnelEgressLSRId
       }
      ::= { mplsTunnelExtReversePerfTable 1 }

      MplsTunnelExtReversePerfEntry ::= SEQUENCE {
        mplsTunnelExtReversePerfPackets     Counter32,
        mplsTunnelExtReversePerfHCPackets   Counter64,
        mplsTunnelExtReversePerfErrors      Counter32,
        mplsTunnelExtReversePerfBytes       Counter32,
        mplsTunnelExtReversePerfHCBytes     Counter64
      }

      mplsTunnelExtReversePerfPackets OBJECT-TYPE
        SYNTAX  Counter32
        MAX-ACCESS read-only
        STATUS  current
        DESCRIPTION
          "Number of packets forwarded on the tunnel in the reverse
           direction if it is bidirectional.

           This object represents the 32-bit value of the least
           significant part of the 64-bit value if both
           mplsTunnelExtReversePerfHCPackets and this object
           are returned.

           For links that do not transport packets, this packet
           counter cannot be maintained.  For such links, this value
           will return noSuchInstance."
      ::= { mplsTunnelExtReversePerfEntry 1 }

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

           For links that do not transport packets, this packet
           counter cannot be maintained.  For such links, this value
           will return noSuchInstance."
      ::= { mplsTunnelExtReversePerfEntry 2 }
 

Venkatesan,  et al.        Expires January 16                  [Page 40]
INTERNET DRAFT                MPLS-TP MIB                  July 15, 2012

      mplsTunnelExtReversePerfErrors OBJECT-TYPE
        SYNTAX  Counter32
        MAX-ACCESS read-only
        STATUS  current
        DESCRIPTION
          "Number of errored packets received on the tunnel in
           the reverse direction if it is bidirectional.  For links
           that do not transport packets, this packet counter cannot
           be maintained.  For such links, this value will return
           noSuchInstance."
      ::= { mplsTunnelExtReversePerfEntry 3 }

      mplsTunnelExtReversePerfBytes OBJECT-TYPE
        SYNTAX  Counter32
        MAX-ACCESS read-only
        STATUS  current
        DESCRIPTION
          "Number of bytes forwarded on the tunnel in the reverse
           direction if it is bidirectional.

           This object represents the 32-bit value of the least
           significant part of the 64-bit value if both
           mplsTunnelExtReversePerfHCBytes and this object are returned.

           For links that do not transport packets, this packet
           counter cannot be maintained.  For such links, this value
           will return noSuchInstance."
      ::= { mplsTunnelExtReversePerfEntry 4 }

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

           For links that do not transport packets, this packet
           counter cannot be maintained.  For such links, this value
           will return noSuchInstance."
      ::= { mplsTunnelExtReversePerfEntry 5 }

     -- Notifications.
     -- Notification objects need to be added here.
     -- End of notifications.

     -- Module compliance.

 

Venkatesan,  et al.        Expires January 16                  [Page 41]
INTERNET DRAFT                MPLS-TP MIB                  July 15, 2012

     mplsTeExtGroups
        OBJECT IDENTIFIER ::= { mplsTeExtConformance 1 }

     mplsTeExtCompliances
        OBJECT IDENTIFIER ::= { mplsTeExtConformance 2 }

     -- Compliance requirement for fully compliant implementations.

     mplsTeExtModuleFullCompliance MODULE-COMPLIANCE
        STATUS current
        DESCRIPTION
             "Compliance statement for agents that provide full
               support the MPLS-TE-EXT-STD-MIB module."

        MODULE -- this module

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

           MANDATORY-GROUPS    {
              mplsTunnelExtGroup
           }

           GROUP mplsTunnelExtIpOperatorGroup

           DESCRIPTION
               "This group is mandatory for devices which support
                configuration of IP based identifier tunnels."

           GROUP mplsTunnelExtIccOperatorGroup

           DESCRIPTION
               "This group is mandatory for devices which support
                configuration of ICC based tunnels."

            ::= { mplsTeExtCompliances 1 }

     -- Compliance requirement for read-only implementations.

     mplsTeExtModuleReadOnlyCompliance MODULE-COMPLIANCE
        STATUS current
        DESCRIPTION
             "Compliance statement for agents that provide full
 

Venkatesan,  et al.        Expires January 16                  [Page 42]
INTERNET DRAFT                MPLS-TP MIB                  July 15, 2012

               support the MPLS-TE-EXT-STD-MIB module."

        MODULE -- this module

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

           MANDATORY-GROUPS    {
              mplsTunnelExtGroup
           }

           GROUP mplsTunnelExtIpOperatorGroup
           DESCRIPTION
               "This group is mandatory for devices which support
                configuration of IP based identifier tunnels."

           GROUP mplsTunnelExtIccOperatorGroup

           DESCRIPTION
               "This group is mandatory for devices which support
                configuration of ICC based tunnels."

          ::= { mplsTeExtCompliances 2 }

       -- Units of conformance.

       mplsTunnelExtGroup OBJECT-GROUP
          OBJECTS {
            mplsTunnelExtOppositeDirPtr,
            mplsTunnelExtOppositeDirTnlValid,
            mplsTunnelExtDestTnlIndex,
            mplsTunnelExtDestTnlLspIndex,
            mplsTunnelExtDestTnlValid,
            mplsTunnelExtReversePerfPackets,
            mplsTunnelExtReversePerfHCPackets,
            mplsTunnelExtReversePerfErrors,
            mplsTunnelExtReversePerfBytes,
            mplsTunnelExtReversePerfHCBytes
        }

        STATUS  current
        DESCRIPTION
 

Venkatesan,  et al.        Expires January 16                  [Page 43]
INTERNET DRAFT                MPLS-TP MIB                  July 15, 2012

             "Necessary, but not sufficient, set of objects to
               implement tunnels.  In addition, depending on the
               operating environment, the following groups are
               mandatory."
        ::= { mplsTeExtGroups 1 }

     mplsTunnelExtIpOperatorGroup  OBJECT-GROUP
        OBJECTS { mplsTunnelExtNodeConfigGlobalId,
                  mplsTunnelExtNodeConfigNodeId,
                  mplsTunnelExtNodeConfigRowStatus,
                  mplsTunnelExtNodeConfigStorageType,
                  mplsTunnelExtNodeIpMapLocalId
        }
        STATUS  current
        DESCRIPTION
             "Object(s) needed to implement IP compatible tunnels."
        ::= { mplsTeExtGroups 2 }

     mplsTunnelExtIccOperatorGroup  OBJECT-GROUP
        OBJECTS { mplsTunnelExtNodeConfigIccId,
                  mplsTunnelExtNodeConfigRowStatus,
                  mplsTunnelExtNodeConfigStorageType,
                  mplsTunnelExtNodeIccMapLocalId
        }
        STATUS  current
        DESCRIPTION
             "Object(s) needed to implement ICC based tunnels."
        ::= { mplsTeExtGroups 3 }

     -- MPLS-TE-EXT-STD-MIB module ends
     END

14. Security Consideration

      There is a number of management objects defined in this MIB module
      that has a MAX-ACCESS clause of read-write.. 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.

      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:
 

Venkatesan,  et al.        Expires January 16                  [Page 44]
INTERNET DRAFT                MPLS-TP MIB                  July 15, 2012

      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 supports 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 principles (users) that
      have legitimate rights to indeed GET or SET (change/create/delete)
      them.

15. IANA Considerations

   To be added in a later version of this document.

16. References

16.1 Normative References

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

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

    [RFC2580] McCloghrie, K., Perkins, D., and J. Schoenwaelder,

                "Conformance Statements for SMIv2", STD 58, RFC 2580,
                April 1999.

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

16.2  Informative References
 

Venkatesan,  et al.        Expires January 16                  [Page 45]
INTERNET DRAFT                MPLS-TP MIB                  July 15, 2012

    [RFC3812] Srinivasan, C., Viswanathan, A., and T. Nadeau,
               "Multiprotocol Label Switching (MPLS) Traffic Engineering
                (TE) Management Information Base (MIB)", RFC 3812, June
                2004.

    [RFC3813] Srinivasan, C., Viswanathan, A., and T. Nadeau,
               "Multiprotocol Label Switching (MPLS) Label Switching
              (LSR) Router Management Information Base (MIB)", RFC 3813,
                June 2004. 

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

    [RFC3811] Nadeau, T., Ed., and J. Cucchiara, Ed., "Definitions of
                Textual Conventions (TCs) for Multiprotocol Label
                Switching (MPLS) Management", RFC 3811, June 2004.

    [RFC4802] Nadeau, T., Ed., and A. Farrel, Ed., "Generalized         
                Multiprotocol Label Switching (GMPLS) Traffic
                Engineering          Management Information Base", RFC
                4802, February 2007.
   [RFC5654] Niven-Jenkins, B., Ed., Brungard, D., Ed., Betts, M., Ed.,
               Sprecher, N., and S. Ueno, "Requirements of an MPLS
               Transport Profile", RFC 5654, September 2009.

   [RFC6370] Bocci, M., Swallow, G., and E. Gray, "MPLS Transport
               Profile       (MPLS-TP) Identifiers", RFC 6370, September
               2011.

17. Acknowledgments

   The authors would like to thank Francesco Fondelli, Josh Littlefield,
   Agrahara Kiran Koushik, Metrri Jain, Muly Ilan and Joan Cucchiara 
   for their valuable comments.

18. Authors' Addresses

   Sam Aldrin
   Huawei Technologies
   2330 Central Express Way,
   Santa Clara, CA 95051, USA
   Email:  aldrin.ietf@gmail.com

   Thomas D. Nadeau
   Juniper Networks
   10 Technology Park Drive, Westford, MA 01886             
   Email: tnadeau@juniper.net
 

Venkatesan,  et al.        Expires January 16                  [Page 46]
INTERNET DRAFT                MPLS-TP MIB                  July 15, 2012

   Venkatesan Mahalingam
   Dell Inc.
   350 Holger way, San Jose, CA, USA
   Email: venkat.mahalingams@gmail.com

   Kannan KV Sampath
   Aricent
   India
   Email: Kannan.Sampath@aricent.com

Venkatesan,  et al.        Expires January 16                  [Page 47]