Skip to main content

Definitions of Managed Objects for the LDP Point-to-Multipoint and Multipoint-to-Multipoint Label Switched Paths
draft-tiruveedhula-mpls-mldp-mib-03

The information below is for an old version of the document.
Document Type
This is an older version of an Internet-Draft whose latest revision state is "Replaced".
Authors Kishore Tiruveedhula , Uwe Joorde , Arvind Venkateswaran
Last updated 2014-10-10
Replaced by draft-ietf-mpls-mldp-mib
RFC stream (None)
Formats
Stream Stream state (No stream defined)
Consensus boilerplate Unknown
RFC Editor Note (None)
IESG IESG state I-D Exists
Telechat date (None)
Responsible AD (None)
Send notices to (None)
draft-tiruveedhula-mpls-mldp-mib-03
Internet Engineering Task Force                Kishore Tiruveedhula, Ed.
Internet-Draft                                          Juniper Networks
Intended status: Standards Track                              Uwe Joorde
Expires: April 13, 2015                                 Deutsche Telekom
                                                    Arvind Venkateswaran
                                                           Cisco Systems

                                                        October 10, 2014

   Definitions of Managed Objects for the LDP Point-to-Multipoint and
             Multipoint-to-Multipoint Label Switched Paths
                  draft-tiruveedhula-mpls-mldp-mib-03

Abstract

   This memo defines a portion of the Management Information Base (MIB)
   for use with network management protocols.  In particular it defines
   objects for managing multicast LDP point-to-multipoint (P2MP) and
   multipoint-to-multipoint (MP2MP) Label Switched Paths.  The MIB
   module defined in this document is extension of LDP MIB defined in
   RFC3815 which supports only for LDP point-to-point LSPs.

Status of This Memo

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

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

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

   This Internet-Draft will expire on April 13, 2015.

Copyright Notice

   Copyright (c) 2014 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

Kishore Tiruveedhula, et Expires April 13, 2015                 [Page 1]
Internet-Draft                  mLDP MIB                    October 2014

   (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.  Conventions . . . . . . . . . . . . . . . . . . . . . . . . .   4
   4.  Overview  . . . . . . . . . . . . . . . . . . . . . . . . . .   4
   5.  Future Considerations . . . . . . . . . . . . . . . . . . . .   5
   6.  Structure of the MIB Module . . . . . . . . . . . . . . . . .   5
     6.1.  Summary of mLDP Scalar Objects  . . . . . . . . . . . . .   5
     6.2.  Summary of mLDP Table Objects . . . . . . . . . . . . . .   5
   7.  mLDP Scalar Objects . . . . . . . . . . . . . . . . . . . . .   6
     7.1.  mplsMldpP2mpCapable . . . . . . . . . . . . . . . . . . .   6
     7.2.  mplsMldpMp2mpCapable  . . . . . . . . . . . . . . . . . .   6
     7.3.  mplsMldpMbbCapable  . . . . . . . . . . . . . . . . . . .   6
     7.4.  mplsMldpMbbTime . . . . . . . . . . . . . . . . . . . . .   6
     7.5.  mplsMldpNumFecs . . . . . . . . . . . . . . . . . . . . .   6
     7.6.  mplsMldpNumFecsActive . . . . . . . . . . . . . . . . . .   6
     7.7.  mplsMldpPlrCapable  . . . . . . . . . . . . . . . . . . .   6
     7.8.  mplsMldpMptCapable  . . . . . . . . . . . . . . . . . . .   7
     7.9.  mplsMldpProtLsrCapable  . . . . . . . . . . . . . . . . .   7
     7.10. mplsMldpNodeProtCapable . . . . . . . . . . . . . . . . .   7
   8.  mLDP Table Objects  . . . . . . . . . . . . . . . . . . . . .   7
     8.1.  LDP Peer Capability Table mplsLdpPeerCapabilityTable  . .   7
     8.2.  mLDP Session Stats Table: mplsMldpSessionStatsTable . . .   7
     8.3.  mLDP Fec Table: mplsMldpFecTable  . . . . . . . . . . . .   7
     8.4.  mLDP Fec Branch Traffic statistics Table:
           mplsMldpFecBranchStatsTable . . . . . . . . . . . . . . .   7
     8.5.  mLDP Fec Upstreaam Session Table:
           mplsMldpFecUpstreamSessTable  . . . . . . . . . . . . . .   8
     8.6.  mLDP Interface Traffic statistics Table:
           mplsMldpInterfaceStatsTable . . . . . . . . . . . . . . .   8
   9.  The mLDP Notifications  . . . . . . . . . . . . . . . . . . .   8
   10. Relationship to Other MIB Modules . . . . . . . . . . . . . .   8
     10.1.  Diagrammatic Representation  . . . . . . . . . . . . . .   8
     10.2.  Relationship to the LSR MIB  . . . . . . . . . . . . . .   9
     10.3.  Relationship to the LDP MIB  . . . . . . . . . . . . . .   9
   11. Multicast MPLS Label Distribution Protocol MIB Definitions  .  10
   12. Security Considerations . . . . . . . . . . . . . . . . . . .  32
   13. IANA Considerations . . . . . . . . . . . . . . . . . . . . .  33
   14. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . .  33

Kishore Tiruveedhula, et Expires April 13, 2015                 [Page 2]
Internet-Draft                  mLDP MIB                    October 2014

   15. References  . . . . . . . . . . . . . . . . . . . . . . . . .  33
     15.1.  Normative References . . . . . . . . . . . . . . . . . .  33
     15.2.  Informative References . . . . . . . . . . . . . . . . .  35
   Appendix A.  Change Log . . . . . . . . . . . . . . . . . . . . .  36
   Appendix B.  Open Issues  . . . . . . . . . . . . . . . . . . . .  36

1.  Introduction

   This memo defines a portion of the Management Information Base (MIB)
   for use with network management protocols.  In particular it defines
   objects for managing multicast LDP point-to-multipoint (P2MP) and
   multipoint-to-multipoint (MP2MP) Label Switched Paths.  The MIB
   module defined in this document is extension of LDP MIB defined in
   RFC3815 which supports only for LDP point-to-point LSPs.

   The RFC3815 describes only unicast Managed objects for the Label
   distribution protocol.  The RFC6388 describes LDP protocol
   extenstions for the point to multipoint and multipoint to multipoint
   LSPs.  The RFC 6826 describes multicast LDP inband signalling for
   P2MP and MP2MP LSPs.

   This document defines a MIB module for managing and controlling mLDP
   P2MP and MP2MP LSPs.  It builds on the objects and tables defined in
   [RFC3815] for mLDP MIB.

2.  The Internet-Standard Management Framework

   [[CREF1: The title and text for this section has been copied from the
   official boilerplate, and should not be modified unless the official
   boilerplate text from the OPS Area web site has changed.  See RFC4818
   section 3.1 for a discussion of the boilerplate section.]]

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

Kishore Tiruveedhula, et Expires April 13, 2015                 [Page 3]
Internet-Draft                  mLDP MIB                    October 2014

3.  Conventions

   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 BCP 14, RFC 2119
   [RFC2119].

4.  Overview

   This document focusses on the management of following multicast LDP
   (mLDP) features, which were defined after unicast LDP [RFC5036].

      RFC6388: Label Distribution Protocol Extensions for Point-to-
      Multipoint and Multipoint-to-Multipoint Label Switched Paths.

      RFC6826: Multipoint LDP In-Band Signaling for Point-to-Multipoint
      and Multipoint-to-Multipoint Label Switched Paths.

      RFC7060: Using LDP Multipoint Extensions on Targeted LDP Sessions.

      [MoFRR] Multicast only Fast Re-Route draft-ietf-rtgwg-mofrr-03 .

      [MLDP_NODE_PROT] mLDP Node Protection.

   For all the above features, the mLDP MIB needs to include the
   following information:

      - Session Capability (P2MP, MP2MP) information: configured
      capability, negotiated capability.

      - mLDP FECs: include opaque information (Generic LSP Identifier,
      source and group address) and MoFRR enable.

      - Primary and backup upstream session when mLDP MoFRR enabled.

      - Active and inactive upstream session for make before break.

      - mLDP Traffic stats per mLDP Fec: The traffic stats for mLDP fec.

      - mLDP Traffic stats per per Interface: The mLDP traffic stats per
      Interface.

      - Traps when mLDP Fec LSP up, down.

Kishore Tiruveedhula, et Expires April 13, 2015                 [Page 4]
Internet-Draft                  mLDP MIB                    October 2014

5.  Future Considerations

   Any new opaque TLVs added for any other mLDP fetures, the opaque
   value object in the mplsMldpFecTable need to be enhanced accordingly.

6.  Structure of the MIB Module

   This section describes the structure of the mLDP MIB.  In this MIB
   MPLS-MLDP-STD-MIB, scalar objects, table objects and notifications
   are defined.  Following section describes in details about each
   object.

6.1.  Summary of mLDP Scalar Objects

   New scalar objects mplsMldpP2mpCapable and mplsMldpMp2mpCapable are
   defined to provide the mLDP capabilities of P2MP, MP2MP support.

   New scalar objects mplsMldpMbbCapable and mplsMldpMbbTime are defined
   to provide MBB capability information.

   New scalar object mplsMldpNumFecs which will give the total number of
   mLDP FECs setup on the LSR.

   Another New scalar object mplsMldpNumFecsActive, which will give the
   total number of active mLDP FECs.

   New scalar objects mplsMldpPlrCapable, mplsMldpMptCapable,
   mplsMldpProtLsrCapable and mplsMldpNodeProtCapable are defined to
   provide mLDP node protection capabilities.

6.2.  Summary of mLDP Table Objects

   mplsLdpPeerCapabilityTable to include peer capability information.

   mplsMldpSessionStatsTable : This table contains the number of mLDP
   FECs received and advertised to particular LDP session.

   mplsMldpFecTable: This table is similar to point to point
   mplsLdpFecTable and will have mLDP specific Fec information.

   mplsMldpFecBranchStatsTable : This table contains the traffic
   statistics for the given mLDP FECs on particular interface.

   mplsMldpFecUpstreamSessTable : Includes the upstream session info for
   the particular mLDP Fec and also includes the primary or backup
   upstream session, that may be used for mLDP MoFRR.

Kishore Tiruveedhula, et Expires April 13, 2015                 [Page 5]
Internet-Draft                  mLDP MIB                    October 2014

   mplsMldpInterfaceStatsTable : This table contains the traffic
   statistics for all mLDP related FECs.

7.  mLDP Scalar Objects

   There are ten scalars, listed below are defined for this MIB module.

7.1.  mplsMldpP2mpCapable

   The mplsMldpP2mpCapable scalar object denotes whether the LSR is
   capable of supporting multicast LDP with Point-to-Multipoint
   capability.

7.2.  mplsMldpMp2mpCapable

   The mplsMldpMp2mpCapable scalar object denotes whether the LSR is
   capable of supporting multicast LDP with Multipoint-to-Multipoint
   LSPs.

7.3.  mplsMldpMbbCapable

   The mplsMldpMbbCapable scalar object denotes whether the LSR is
   capable of supporting multicast LDP with MBB (make before break)
   feature mentioned in the section 8 of RFC 6388 .

7.4.  mplsMldpMbbTime

   The mplsMldpMbbTime scalar object denotes MBB time for which LSR is
   waiting for MBB Ack from upstream node.  This timer helps LSR to
   prevent waiting indefinitely for the MBB Notification from upstream
   node.

7.5.  mplsMldpNumFecs

   The mplsMldpNumFecs provides a read-only counter of the number of
   mLDP FECs setup on this LSR.

7.6.  mplsMldpNumFecsActive

   The mplsMldpNumFecsActive provides a read-only counter of the number
   of mLDP FECs Active on this LSR.

7.7.  mplsMldpPlrCapable

   The mplsMldpPlrCapable scalar object denotes whether the LSR is
   capable of supporting PLR capability as specified in the section 5.1
   of [MLDP_NODE_PROT]

Kishore Tiruveedhula, et Expires April 13, 2015                 [Page 6]
Internet-Draft                  mLDP MIB                    October 2014

7.8.  mplsMldpMptCapable

   The mplsMldpMptCapable scalar object denotes whether the LSR is
   capable of supporting MPT capability as specified in the section 5.2
   of [MLDP_NODE_PROT]

7.9.  mplsMldpProtLsrCapable

   The mplsMldpProtLsrCapable scalar object denotes whether the LSR is
   capable of supporting the "Protected LSR" capability as specified in
   the section 5.3 of [MLDP_NODE_PROT]

7.10.  mplsMldpNodeProtCapable

   The mplsMldpNodeProtCapable scalar object denotes whether the LSR is
   capable of supporting the "Node Protection" capability as specified
   in the section 5.4 of [MLDP_NODE_PROT]

8.  mLDP Table Objects

8.1.  LDP Peer Capability Table mplsLdpPeerCapabilityTable

   The new table mplsLdpPeerCapabilityTable is read-only table, which
   contains learned capability information from LDP peer.  This table
   augments the mplsLdpPeerTable, which is defined in RFC 3815.

8.2.  mLDP Session Stats Table: mplsMldpSessionStatsTable

   The mplsMldpSessionStatsTable is a read-only table which contains
   mLDP statistical information on sessions.  This table augments the
   mplsLdpSessionStatsTable, which is defined in the RFC 3815.

8.3.  mLDP Fec Table: mplsMldpFecTable

   The mplsMldpFecTable is a table which contains FEC (Forwarding
   Equivalence Class) information relating to point to multi-point and
   multipoint to multipoint LDP LSP.  Each entry/row represents a single
   FEC Element.  This table is similar LDP LSP FEC Table,
   mplsLdpLspFecTable, which is defined in the RFC 3815, which
   associates FECs with the LSPs.

8.4.  mLDP Fec Branch Traffic statistics Table:
      mplsMldpFecBranchStatsTable

   This table mplsMldpFecBranchStatsTable gives the information about
   number of packets and number of bytes sent out on particualr
   downstream session or on outgoing interface.

Kishore Tiruveedhula, et Expires April 13, 2015                 [Page 7]
Internet-Draft                  mLDP MIB                    October 2014

8.5.  mLDP Fec Upstreaam Session Table: mplsMldpFecUpstreamSessTable

   The mplsMldpFecUpstreamSessTable is a read-only table which contains
   mLDP upstream session information for mLDP Fec.  This table is
   similar to mplsInSegmentLdpLspTable.  This table will also have
   information about primary, backup upstream session, and also
   indicates whether the label is in MBB request or MBB Ack received
   state.

8.6.  mLDP Interface Traffic statistics Table:
      mplsMldpInterfaceStatsTable

   This table mplsMldpInterfaceStatsTable gives the information about
   number of mLDP packets and number of mLDP bytes sent and received on
   particualr interface for all mLDP FECs.

9.  The mLDP Notifications

   The RFC 3815 defined some of the notifications related to session and
   P2P Fec. In this MIB, the following notification added to support
   mLDP features.

   The mplsMldpFecUp and mplsMldpFecDown notifications are generated
   when mLDP FEC changes the state to UP and Down.

   The mplsMldpMoFrrStatusChange notification is generated when mLDP
   MoFRR status switches from primary to backup path and vice versa.

10.  Relationship to Other MIB Modules

   This section describes relationships between MIB tables defined in
   this document as part of MPLS-MLDP-STD-MIB, and the tables defined in
   MPLS-LDP-STD-MIB [RFC3815] and MPLS-LSR-STD-MIB [RFC3813].

   The Figure 1 shows the diagrammatic representation of the
   relationship between MPLS-MLDP-STD-MIB, MPLS-LDP-STD-MIB and MPLS-
   LSR-STD-MIB.  An arrow in the Figure shows that the MIB table pointed
   from contains a reference to the MIB table pointed to.

10.1.  Diagrammatic Representation

Kishore Tiruveedhula, et Expires April 13, 2015                 [Page 8]
Internet-Draft                  mLDP MIB                    October 2014

       mplsMldpFecTable
           |
           |
           v
          mplsLdpLspFecTable
              |      |    |
              |      |    +----------------+
              |      |                     |
              |      +---------------+     v
              |                      |     mplsMldpFecUpstreamSessTable
              +--->mplsXCTable--+    |
                                |    |
                                |    |
                                |    |
                                |  mplsMldpFecBranchStatsTable
                                |        |
                                |        |
                                |        |
       mplsInSegmentTable<------+        |
                                |        |
                                v        |
                    mplsOutSegmentTable<-+

           Figure 1 : Dependencies Between MIB Tables

                                 Figure 1

10.2.  Relationship to the LSR MIB

   The LSR MIB [RFC3813] have below tables, which cross connects the
   incoming label to outgoing label.  Below Tables will be used for mLDP
   also in the similar way as in the point to point LDP LSPs.

      mplsXCTable

      mplsInSegmentTable

      mplsOutSegmentTable

10.3.  Relationship to the LDP MIB

   The MIB module defined in this document is extension of MPLS-LDP-STD-
   MIB to support multicast LDP features.

   Below optional tables in MPLS-LDP-STD-MIB, will also be used in mLDP
   for associating the mLDP LSPs to LSR-MIB tables.

Kishore Tiruveedhula, et Expires April 13, 2015                 [Page 9]
Internet-Draft                  mLDP MIB                    October 2014

      mplsLdpLspFecTable

      mplsInSegmentLdpLspTable

      mplsOutSegmentLdpLspTable

11.  Multicast MPLS Label Distribution Protocol MIB Definitions

   MPLS-MLDP-STD-MIB DEFINITIONS ::= BEGIN
   IMPORTS
      MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
      Unsigned32, Counter32, Counter64, TimeTicks
         FROM SNMPv2-SMI                                    -- RFC 2578
      MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
         FROM SNMPv2-CONF                                   -- RFC 2580
      TruthValue, RowStatus, StorageType, TimeStamp
         FROM SNMPv2-TC                                     -- RFC 2579

      InterfaceIndex
           FROM IF-MIB                                     --  [RFC2020]

      mplsStdMIB, MplsLdpIdentifier
         FROM MPLS-TC-STD-MIB                               -- RFC 3811

      MplsIndexType
         FROM MPLS-LSR-STD-MIB                              -- RFC 3813

      IndexInteger, IndexIntegerNextFree
         FROM DIFFSERV-MIB                                  -- RFC 3289

      InetAddress, InetAddressType
         FROM INET-ADDRESS-MIB                              -- RFC 4001

      mplsLdpStdMIB
         FROM MPLS-LDP-STD-MIB                              -- RFC 3815
      ;

    mplsMldpStdMIB MODULE-IDENTITY
         LAST-UPDATED "201410100000Z"  -- Oct 10, 2014
         ORGANIZATION "Multiprotocol Label Switching (mpls)
                       Working Group"
         CONTACT-INFO

             "     Kishore Tiruveedhula
                   Juniper Networks
                   Email: kishoret@juniper.net

Kishore Tiruveedhula, et Expires April 13, 2015                [Page 10]
Internet-Draft                  mLDP MIB                    October 2014

                   Uwe Joorde
                   Deutsche Telekom
                   Email: Uwe.Joorde@telekom.de

                   Arvind Venkateswaran
                   Cisco Systems
                   EMail: arvvenka@cisco.com

                   Comments about this document should be emailed
                   directly to the MPLS working group mailing list at
                   mpls@lists.ietf.org"

         DESCRIPTION
           "Copyright (c) 2009 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 in effect on the
            date of publication of this document
            (http://trustee.ietf.org/license-info). Please review these
            documents carefully, as they describe your rights and
            restrictions with respect to this document.

            The initial version of this MIB module was published in
            RFC XXXX. For full legal notices see the RFC itself or see:
            http://www.ietf.org/copyrights/ianamib.html
-- RFC Editor. Please replace XXXX with the RFC number for this
-- document and remove this note.

            This MIB module contains managed object definitions for mLDP LSPS
            defined in Label Distribution Protocol Extensions Point-to-Multipoint and
            Multipoint-to-Multipoint Label Switched Paths, RFC 6388, November
            2011."

         REVISION "201410100000Z"  -- Oct 10, 2014
         DESCRIPTION
           "Initial version issued as part of RFC XXXX."
-- RFC Editor. Please replace XXXX with the RFC number for this
-- document and remove this note.

         ::= { mplsStdMIB 99 }
-- RFC Editor. Please replace 99 with the codepoint issued by IANA
-- and remove this note.

   -- Top level components of this MIB module.

   -- notifications

Kishore Tiruveedhula, et Expires April 13, 2015                [Page 11]
Internet-Draft                  mLDP MIB                    October 2014

   mplsMldpNotifications OBJECT IDENTIFIER ::= { mplsMldpStdMIB 0 }
   -- tables, scalars
   mplsMldpScalars       OBJECT IDENTIFIER ::= { mplsMldpStdMIB 1 }
   mplsMldpObjects       OBJECT IDENTIFIER ::= { mplsMldpStdMIB 2 }

  -- MPLS mLDP LSP scalars.

   mplsMldpP2mpCapable OBJECT-TYPE
         SYNTAX      INTEGER {
                       enable(1),
                       disable(2)
                     }
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
            "This object provides the P2MP capability of the LSR."

         REFERENCE
           "Section 2.1 of [RFC6388]."

      ::= { mplsMldpScalars 1 }

  mplsMldpMp2mpCapable OBJECT-TYPE
         SYNTAX      INTEGER {
                       enable(1),
                       disable(2)
                     }
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
           "This object provides MP2MP capability of the LSR."

         REFERENCE
           "Section 3.1 of [RFC6388]."

      ::= { mplsMldpScalars 2 }

  mplsMldpMbbCapable OBJECT-TYPE
         SYNTAX      INTEGER {
                       enable(1),
                       disable(2)
                     }
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
           "This object provides MBB (make before break) capability of the LSR."

Kishore Tiruveedhula, et Expires April 13, 2015                [Page 12]
Internet-Draft                  mLDP MIB                    October 2014

         REFERENCE
           "Section 8.3 of [RFC6388]."

      ::= { mplsMldpScalars 3 }

     mplsMldpMbbTime OBJECT-TYPE
         SYNTAX      Unsigned32 (1..300)
         UNITS       "seconds"
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
           "The 32-bit unsigned integer value provides the time for waiting MBB Ack
            from upstream node."

         DEFVAL { 30 }
         ::= { mplsMldpScalars 4 }

   mplsMldpNumFecs OBJECT-TYPE
      SYNTAX        Unsigned32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
           "The number of active and passive mLdp Fecs on this device."

      ::= { mplsMldpScalars 5 }

   mplsMldpNumFecsActive OBJECT-TYPE
      SYNTAX        Unsigned32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
           "The number of mLdp FECs Active on this device. The mLDP FEC is
           considered active if the mplsMldpFecOperStatus is up(1)."

      ::= { mplsMldpScalars 6 }

   mplsMldpPlrCapable OBJECT-TYPE
         SYNTAX      INTEGER {
                       enable(1),
                       disable(2)
                     }
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
           "This object provides Point of Local Repair (PLR)
            capability of the LSR."

Kishore Tiruveedhula, et Expires April 13, 2015                [Page 13]
Internet-Draft                  mLDP MIB                    October 2014

         REFERENCE
           "Section 5.1 of [MLDP_NODE_PROT]."

      ::= { mplsMldpScalars 7 }

   mplsMldpMptCapable OBJECT-TYPE
         SYNTAX      INTEGER {
                       enable(1),
                       disable(2)
                     }
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
           "This object provides  Merge Point (MPT) capability of the LSR."

         REFERENCE
           "Section 5.2 of [MLDP_NODE_PROT]."

      ::= { mplsMldpScalars 8 }

   mplsMldProtLsrCapable OBJECT-TYPE
         SYNTAX      INTEGER {
                       enable(1),
                       disable(2)
                     }
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
           "This object provides Protected LSR capability."

         REFERENCE
           "Section 5.3 of [MLDP_NODE_PROT]."

      ::= { mplsMldpScalars 9 }

   mplsMldProtNodeProtCapable OBJECT-TYPE
         SYNTAX      INTEGER {
                       enable(1),
                       disable(2)
                     }
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
           "This object provides Node Protection capability of the LSR."

         REFERENCE
           "Section 5.3 of [MLDP_NODE_PROT]."

Kishore Tiruveedhula, et Expires April 13, 2015                [Page 14]
Internet-Draft                  mLDP MIB                    October 2014

      ::= { mplsMldpScalars 10 }

   -- End of MPLS mLDP scalars.

   -- MPLS mLDP tables.

     --
     -- The MPLS LDP Peer Capability Table
     --

     mplsLdpPeerCapabilityTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF MplsLdpPeerCapabilityEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
             "This table will have learned information relating to Mldp.
         ::= { mplsMldpObjects 1 }

     mplsLdpPeerCapabilityEntry OBJECT-TYPE
         SYNTAX      MplsLdpPeerCapabilityEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
             "Information about a single Peer which is related
             to a Session.  This table is augmented by
             the mplsLdpSessionTable."
         INDEX       { mplsLdpEntityLdpId,
                       mplsLdpEntityIndex,
                       mplsLdpPeerLdpId }

         ::= { mplsLdpPeerCapabilityTable 1 }

     mplsLdpPeerCapabilityEntry ::= SEQUENCE {
         mplsLdpPeerLdpId                MplsLdpIdentifier,
         mplsLdpPeerCapability           Integer32,
     }

     mplsLdpPeerCapability OBJECT-TYPE
         SYNTAX      BITS {
                        none (0),
                        p2mp (1),
                        mp2mp(2),
                        mbb  (3),
                        upstream-label-assignment  (4),
                        dynamic (5),
                        plr (6),
                        mpt (7),
                        prot-lsr (8),

Kishore Tiruveedhula, et Expires April 13, 2015                [Page 15]
Internet-Draft                  mLDP MIB                    October 2014

                        node-prot (9)
                     }
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
           " This will indicate the LDP capability information about peer.
           The p2mp indicates peer supports P2MP Capability.
           The mp2mp indicates peer supports MP2MP Capability.
           The mbb indicates peer supports MBB Capability.
           The upstream-label-assignment indicates peer supports Upstream label
           assignment Capability.
           The dynamic indicates peer supports dynamic Capability.
           The plr indicates Point of Local Repair Capability.
           The mpt indicates Point of Merge Point Capability.
           The prot-lsr indicates Protected LSR Capability.
           The node-prot indicates Node Protection LSR Capability.
           "

         REFERENCE
         "RFC6388, Section 2.1 for P2MP Capability TLV.
         and the section 3.1 for MP2MP Capability TLV.
         The RFC6388 for MBB Capability TLV.
         RFC5561 Section 9 for Dynamic Capability Announcement TLV.
         RFC6389 Section 3 for Upstream Label Assignment Capability TLV.
         Section 5 of MLDP_NODE_PROT describes for Point of Local Repair (plr)
         capability,  Merge Point (mpt)  capability,
         The Protected LSR (port-lsr) and Node Protection (node-prot) Capability. "

         ::= { mplsLdpPeerCapability 2 }

     --
     -- The MPLS mLDP Session Statistics Table
     --

     mplsMldpSessionStatsTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF MplsMldpSessionStatsEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
             "A table of statistics related to mLDP on Sessions.
             This table AUGMENTS the mplsLdpSessionStatsTable."
         ::= { mplsMldpObjects 2 }

     mplsMldpSessionStatsEntry OBJECT-TYPE
         SYNTAX      MplsMldpSessionStatsEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION

Kishore Tiruveedhula, et Expires April 13, 2015                [Page 16]
Internet-Draft                  mLDP MIB                    October 2014

             "An entry in this table represents mLDP statistical
             information on a single session between an LDP
             Entity and LDP Peer."

         AUGMENTS       { mplsLdpSessionStatsEntry }
         ::= { mplsmMldpSessionStatsTable 1 }

     MplsMldpSessionStatsEntry ::= SEQUENCE {
         mplsMldpSessionStatsNumFecsSent           Counter32,
         mplsMldpSessionStatsNumMbbReqSentState    Counter32,
         mplsMldpSessionStatsNumFecsRcvd           Counter32,
         mplsMldpSessionStatsNumMbbReqRcvdState    Counter32,
         mplsMldpSessionStatsNumMbbResetAckByTimer Counter32
     }

     mplsMldpSessionStatsNumFecsSent OBJECT-TYPE
         SYNTAX      Counter32
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
             "This object counts the number of mLDP FECs sent on this
             session. If the FEC is withdrawn, then this number is
             decremented.

             Discontinuities in the value of this counter can occur
             at re-initialization of the management system, and at
             other times as indicated by the value of
             mplsLdpSessionDiscontinuityTime."

         ::= { mplsMldpSessionStatsEntry 1 }

     mplsMldpSessionStatsNumMbbReqSentState OBJECT-TYPE
         SYNTAX      Counter32
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
             "This object counts the number of mLDP FECs sent on this
             session and waiting for MBB Ack. This counter will get incremented
             when MBB req sent for a label on this session and will get
             decremented when the MBB Ack received.

         ::= { mplsMldpSessionStatsEntry 2 }

     mplsMldpSessionStatsNumFecsRcvd OBJECT-TYPE
         SYNTAX      Counter32
         MAX-ACCESS  read-only
         STATUS      current

Kishore Tiruveedhula, et Expires April 13, 2015                [Page 17]
Internet-Draft                  mLDP MIB                    October 2014

         DESCRIPTION
             "This object counts the number of mLDP FECs received on this
             session. If the FEC is withdrawn from the downstream session,
             then this is decremented.

             Discontinuities in the value of this counter can occur
             at re-initialization of the management system, and at
             other times as indicated by the value of
             mplsLdpSessionDiscontinuityTime."

         ::= { mplsMldpSessionStatsEntry 3 }

    mplsMldpSessionStatsNumMbbReqRcvdState OBJECT-TYPE
         SYNTAX      Counter32
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
             "This object counts the number of mLDP FECs received on this
             session and waiting for sending MBB Ack. This counter will get
             incremented when MBB req is received for a label on this session
             and will get decremented when the MBB Ack sent."

         ::= { mplsMldpSessionStatsEntry 4 }

    mplsMldpSessionStatsNumMbbResetAckByTimer OBJECT-TYPE
         SYNTAX      Counter32
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
             "This object counts the number mLDP FECs for which the MBB Ack is
             reset by MBB timer, in which the LSR is waiting for MBB ack.

         ::= { mplsMldpSessionStatsEntry 5 }

     --
     -- Mpls mLDP FEC Table
     --

     mplsMldpFecTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF MplsFecEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
             "This table represents the FEC
             (Forwarding Equivalence Class)
             Information associated with an mLDP LSP."

Kishore Tiruveedhula, et Expires April 13, 2015                [Page 18]
Internet-Draft                  mLDP MIB                    October 2014

         ::= { mplsMldpObjects 3 }

     mplsMldpFecEntry OBJECT-TYPE
         SYNTAX      MplsMldpFecEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
             "Each row represents a single mLDP FEC Element."
         INDEX       { mplsMldpFecIndex }

         ::= { mplsMldpFecTable 1 }

     MplsMldpFecEntry ::= SEQUENCE {
         mplsMldpFecIndex               IndexInteger,
         mplsMldpFecType                INTEGER,
         mplsMldpFecRootAddrType        InetAddressType,
         mplsMldpFecRootAddr            InetAddress,
         mplsMldpFecOpaqueType          INTEGER,
         mplsMldpFecOpaqueGenLspId      Unsigned32,
         mplsMldpFecOpaqueTransitSourceOrBidirAddrType   InetAddressType,
         mplsMldpFecOpaqueTransitSourceOrBidirAddr       InetAddress,
         mplsMldpFecOpaqueTransitGroupAddrType           InetAddressType,
         mplsMldpFecOpaqueTransitGroupAddr               InetAddress,
         mplsMldpFecAdminStatus         INTEGER,
         mplsMldpFecOperStatus          INTEGER,
         mplsMldpFecMoFrr               INTEGER,
         mplsMldpFecLsrState            INTEGER,
         mplsMldpFecUpTime              TimeStamp
     }

     mplsMldpFecIndex OBJECT-TYPE
         SYNTAX      IndexInteger
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
             "The index which uniquely identifies this entry."

         ::= { mplsMldpFecEntry 1 }

     mplsMldpFecType  OBJECT-TYPE
         SYNTAX      INTEGER {
                        p2mp(6),
                        mp2mpUpstream(7),
                        mp2mpDownstream(8)
                     }
         MAX-ACCESS  read-only

Kishore Tiruveedhula, et Expires April 13, 2015                [Page 19]
Internet-Draft                  mLDP MIB                    October 2014

         STATUS      current
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
             "The type of the FEC.  If the value of this object
             is 6, then it is P2MP Fec Type, and 7, 8 are correspond to
             MP2MP upstream and downstream type."

         REFERENCE
             "RFC6388, Section 2.2. The P2MP FEC Element and the section 3.3
             for the MP2MP Fec elements."

         ::= { mplsMldpFecEntry 2 }

     mplsMldpFecRootAddrType  OBJECT-TYPE
         SYNTAX      InetAddressType
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
             "The value of this object is the type of the
             Internet address.  The value of this object,
             decides how the value of the mplsMldpFecRootAddr object
             is interpreted."
         REFERENCE
             "RFC6388, Section 2.2. The P2MP FEC Element and the section 3.3
             for the MP2MP Fec elements."

         ::= { mplsMldpFecEntry 3 }

     mplsMldpFecRootAddr     OBJECT-TYPE
         SYNTAX      InetAddress
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
             "The value of this object is interpreted based
             on the value of the mplsMldpFecRootAddrType object.
             This is ingress node address for the mLDP LSP."

         REFERENCE
             "RFC6388, Section 2.2. The P2MP FEC Element and the section 3.3
             for the MP2MP Fec elements."

         ::= { mplsMldpFecEntry 4 }

     mplsMldpFecOpaqueType  OBJECT-TYPE
         SYNTAX      INTEGER {
                        genericLspId(1),

Kishore Tiruveedhula, et Expires April 13, 2015                [Page 20]
Internet-Draft                  mLDP MIB                    October 2014

                        transitIpv4Source(3),
                        transitIpv6Source(4),
                        transitIpv4Bidir(5),
                        transitIpv6Bidir(6)
                     }
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
           "This is opaque type of the mLDP FEC. The value of this object is
           shown below.

             1 - The Generic LSP Identifier
             3 - Transit IPv4 Source TLV
             4 - Transit IPv6 Source TLV
             5 - Transit IPv4 Bidir TLV
             6 - Transit IPv6 Bidir TLV.
             "
         ::= { mplsMldpFecEntry 5 }

      mplsMldpFecOpaqueGenLspId OBJECT-TYPE
         SYNTAX      Unsigned32
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
             "The 32-bit unsigned integer value which is to represent Generic
             LSP ID. This value is only valid if the mplsMldpFecOpaqueType is
             genericLspId(1), otherwise 0 must be returned."

         REFERENCE
             "RFC6388, Section 2.3.1."

         ::= { mplsMldpFecEntry 6 }

     mplsMldpFecOpaqueTransitSourceOrBidirAddrType        OBJECT-TYPE
         SYNTAX      InetAddressType
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
             "The value of this object is the type of the
             Internet address.  The value of this object,
             decides how the value of the  mplsMldpFecOpaqueTransitSourceOrBidirAddr
             object is interpreted."
         REFERENCE
             "RFC6826, Section 3.1."

         ::= { mplsMldpFecEntry 7 }

     mplsMldpFecOpaqueTransitSourceOrBidirAddr OBJECT-TYPE

Kishore Tiruveedhula, et Expires April 13, 2015                [Page 21]
Internet-Draft                  mLDP MIB                    October 2014

         SYNTAX      InetAddress
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
             "The value of this object is interpreted based
             on the value of the mplsMldpFecOpaqueTransitSourceOrBidirAddrType
              object.  This is source node address for the mLDP inband LSP."

         REFERENCE
             "RFC6826, Section 3.1."

         ::= { mplsMldpFecEntry 8 }

     mplsMldpFecOpaqueTransitGroupAddrType        OBJECT-TYPE
         SYNTAX      InetAddressType
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
             "The value of this object is the type of the
             Internet address.  The value of this object,
             decides how the value of the  mplsMldpFecOpaqueTransitGroupAddr
             object is interpreted."

         REFERENCE
             "RFC6826, Section 3.2."

         ::= { mplsMldpFecEntry 9 }

     mplsMldpFecOpaqueTransitGroupAddr OBJECT-TYPE
         SYNTAX      InetAddress
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
             "The value of this object is interpreted based
             on the value of the mplsMldpFecOpaqueTransitGroupAddrType
              object.  This is group node address for the mLDP inband LSP."

         REFERENCE
             "RFC6826, Section 3.2."

         ::= { mplsMldpFecEntry 10 }

   mplsMldpFecAdminStatus OBJECT-TYPE
      SYNTAX       INTEGER {
                      up(1),        -- ready to pass data
                      down(2)       -- out of service
                    }

Kishore Tiruveedhula, et Expires April 13, 2015                [Page 22]
Internet-Draft                  mLDP MIB                    October 2014

      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
           "Indicates the admin status of this mLDP FEC."

      DEFVAL { up }

      ::= { mplsMldpFecEntry 11 }

   mplsMldpFecOperStatus OBJECT-TYPE
      SYNTAX        INTEGER {
                      up(1),             -- ready to pass data
                      down(2)            -- out of service
                    }
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
           "Indicates the actual operational status of this mLDP Fec."

      ::= { mplsMldpFecEntry 12 }

     mplsMldpFecMoFrr OBJECT-TYPE
         SYNTAX      INTEGER {
                       enable(1),
                       disable(2)
                     }
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
            "This object provides whether MoFRR enabled for this mLDP FEC.
            on this mLDP FEC. As mentioned in the section 3.2 of [MoFRR],
            When this is enabled, then mLDP may select two upstream sessions,
            one is priamry and other one is backup. The backup traffic is
            discarded when the primary upstream session is UP. When the
            primary upstream session goes down, the traffic from the backup
            upstream session will be forwarded to downsteam.
             "

      ::= { mplsMldpFecEntry 13 }

   mplsMldpFecLsrState OBJECT-TYPE
      SYNTAX        INTEGER {
                       egress(1),
                       bud(2),
                       transit(3),
                       ingress(4)
                    }
      MAX-ACCESS    read-only

Kishore Tiruveedhula, et Expires April 13, 2015                [Page 23]
Internet-Draft                  mLDP MIB                    October 2014

      STATUS        current
      DESCRIPTION
           "Indicates the role of FEC either egress, bud, transit or ingress"

      ::= { mplsMldpFecEntry 14 }

   mplsMldpFecUpTime OBJECT-TYPE
      SYNTAX        TimeStamp
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
          "This values shows Fec UP time. This is time since mplsMldpFecOperStatus is UP."

      ::= { mplsMldpFecEntry 15 }

   -- MPLS mLDP LSP Branch Traffic Stats Table.

   mplsMldpFecBranchStatsTable  OBJECT-TYPE
      SYNTAX        SEQUENCE OF MplsMldpFecBranchStatsEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
           "This table provides mLDP Fec branch MPLS Traffic Stats
            information."

      ::= { mplsMldpObjects 4 }

   mplsMldpFecBranchStatsEntry OBJECT-TYPE
      SYNTAX        MplsMldpFecBranchStatsEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
           "An entry in this table is created by the LSR for each
            downstream branch (out-segment) from this LSR for this mLDP
            LSP. Each downstream session may represent a single out-segment.

            Each entry in the table is indexed by the four identifiers
            of the mLDP LSP, and the out-segment that identifies the
            outgoing branch."

         INDEX       { mplsLdpEntityLdpId,
                       mplsLdpEntityIndex,
                       mplsLdpPeerLdpId,
                       mplsMldpFecBranchFecIndex,
                       mplsMldpFecBranchOutSegIndex
                     }

      ::= { mplsMldpFecBranchStatsTable 1 }

Kishore Tiruveedhula, et Expires April 13, 2015                [Page 24]
Internet-Draft                  mLDP MIB                    October 2014

   MplsMldpFecBranchStatsEntry ::= SEQUENCE {
         mplsMldpFecBranchFecIndex          MplsIndexType,
         mplsMldpFecBranchOutSegIndex       MplsIndexType,
         mplsMldpFecBranchStatsPackets      Counter64,
         mplsMldpFecBranchStatsBytes        Counter64,
         mplsMldpFecBranchStatsDiscontinuityTime TimeStamp
   }

   mplsMldpFecBranchFecIndex          OBJECT-TYPE
      SYNTAX        MplsIndexType
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
             "This index identifies the mLDP FEC entry in the
              mplsMldpFecTable.  This is same as mplsMldpFecIndex."

         ::= { mplsMldpFecBranchStatsEntry 1 }

   mplsMldpFecBranchOutSegIndex          OBJECT-TYPE
      SYNTAX        MplsIndexType
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
           "This object identifies an outgoing branch from this mLDP LSP
            Its value is unique within the context of the mLDP LSP.

             This contains the same value as the mplsOutSegmentIndex in the
             MPLS-LSR-STD-MIBs mplsOutSegmentTable."

         ::= { mplsMldpFecBranchStatsEntry 2 }

   mplsMldpFecBranchStatsPackets OBJECT-TYPE
      SYNTAX        Counter64
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
           "This object represent the 64-bit value, which gives the number
            of packets forwarded by the mLDP LSP onto this branch.
            This object should be read in conjunction with
            mplsMldpFecBranchStatsDiscontinuityTime."

      ::= { mplsMldpFecBranchStatsEntry 3 }

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

Kishore Tiruveedhula, et Expires April 13, 2015                [Page 25]
Internet-Draft                  mLDP MIB                    October 2014

      DESCRIPTION
           "This object represent the 64-bit value, which gives the number
            of bytes forwarded by the mLDP LSP onto this branch.
            This object should be read in conjunction with
            mplsMldpFecBranchStatsDiscontinuityTime."

      ::= { mplsMldpFecBranchStatsEntry 4 }

   mplsMldpFecBranchStatsDiscontinuityTime OBJECT-TYPE
      SYNTAX      TimeStamp
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
           "The value of sysUpTime on the most recent occasion at which
            any one or more of this rows Counter32 or Counter64 objects
            experienced a discontinuity. If no such discontinuity has
            occurred since the last re-initialization of the local
            management subsystem, then this object contains a zero
            value."
      ::= { mplsMldpFecBranchStatsEntry 5 }

   -- End of mplsMldpFecBranchStatsTable

   -- MPLS mLDP LSP Upstream Session Table.

   mplsMldpFecUpstreamSessTable  OBJECT-TYPE
      SYNTAX        SEQUENCE OF MplsMldpFecUpstreamSessEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
           "This table provides mLDP Fec upstream Session information."

      ::= { mplsMldpObjects 5 }

   mplsMldpFecUpstreamSessEntry OBJECT-TYPE
      SYNTAX        MplsMldpFecUpstreamSessEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
           "An entry in this table is created by the LSR for each
            upstream session (in-segment) from this LSR for this mLDP
            LSP. Each upstream session may represent a single in-segment.

            Each entry in the table is indexed by the four identifiers
            of the mLDP LSP, and the in-segment that identifies the
            incoming traffic."

Kishore Tiruveedhula, et Expires April 13, 2015                [Page 26]
Internet-Draft                  mLDP MIB                    October 2014

         INDEX       { mplsLdpEntityLdpId,
                       mplsLdpEntityIndex,
                       mplsLdpPeerLdpId,
                       mplsMldpFecUpstreamSessFecIndex,
                       mplsMldpFecUpstreamSessInSegIndex
                     }

      ::= { mplsMldpFecUpstreamSessTable 1 }

   MplsmLdpFecUpstreamSessEntry ::= SEQUENCE {
         mplsMldpFecUpstreamSessFecIndex     MplsIndexType,
         mplsMldpFecUpstreamSessInSegIndex   MplsIndexType,
         mplsMldpFecUpstreamSessPrimary      INTEGER,
         mplsMldpFecUpstreamSessActive       INTEGER,
         mplsMldpFecUpstreamSessPackets      Counter64,
         mplsMldpFecUpstreamSessBytes        Counter64,
         mplsMldpFecUpstreamSessDiscontinuityTime TimeStamp
   }

   mplsMldpFecUpstreamSessFecIndex          OBJECT-TYPE
      SYNTAX        MplsIndexType
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
             "This index identifies the mLDP FEC entry in the
              mplsMldpFecTable."

         ::= { mplsMldpFecUpstreamSessEntry 1 }

   mplsMldpFecUpstreamSessInSegIndex          OBJECT-TYPE
      SYNTAX        MplsIndexType
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
           "This object identifies an upstream session from this mLDP LSP
            Its value is unique within the context of the mLDP LSP.

             This contains the same value as the mplsInSegmentIndex in the
             MPLS-LSR-STD-MIBs mplsInSegmentTable."

         ::= { mplsMldpFecUpstreamSessEntry 2 }

    mplsMldpFecUpstreamSessPrimary  OBJECT-TYPE
         SYNTAX      INTEGER {
                        primary(1),
                        backup(2)
                     }

Kishore Tiruveedhula, et Expires April 13, 2015                [Page 27]
Internet-Draft                  mLDP MIB                    October 2014

         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
             "This indicated wether the received traffic from upstream is
             primary or backup. This is valid only if the MoFRR
             (mplsMldpFecMoFrr) is enabled on this FEC."

         ::= { mplsMldpFecUpstreamSessEntry 3 }

    mplsMldpFecUpstreamSessActive  OBJECT-TYPE
         SYNTAX      INTEGER {
                        active(1),
                        inactive(2)
                     }
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
         "This indicates whether the upstream session is active, means the
         LSR programmed the forwarding engine to receive the traffic from
         this upstream session. This will be Inactive if the LSR is wating
         for MBB Ack."

         ::= { mplsMldpFecUpstreamSessEntry 4 }

   mplsMldpFecUpstreamSessPackets      OBJECT-TYPE
      SYNTAX        Counter64
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
           "This object represent the 64-bit value, which gives the number
            of packets received by the mLDP LSP from this upstream
            session.  This object should be read in conjunction with
            mplsMldpFecUpstreamSessDiscontinuityTime."

      ::= { mplsMldpFecUpstreamSessEntry 5 }

   mplsMldpFecUpstreamSessBytes      OBJECT-TYPE
      SYNTAX        Counter64
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
           "This object represent the 64-bit value, which gives the number
            of bytes received by the mLDP LSP from this upstream
            session.  This object should be read in conjunction with
            mplsMldpFecUpstreamSessDiscontinuityTime."

      ::= { mplsMldpFecUpstreamSessEntry 6 }

Kishore Tiruveedhula, et Expires April 13, 2015                [Page 28]
Internet-Draft                  mLDP MIB                    October 2014

   mplsMldpFecUpstreamSessDiscontinuityTime OBJECT-TYPE
      SYNTAX      TimeStamp
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
           "The value of sysUpTime on the most recent occasion at which
            any one or more of this rows Counter32 or Counter64 objects
            experienced a discontinuity. If no such discontinuity has
            occurred since the last re-initialization of the local
            management subsystem, then this object contains a zero
            value."
      ::= { mplsMldpFecUpstreamSessEntry 7 }

   -- End of mplsMldpFecBranchStatsTable

   -- MPLS mLDP Interface Traffic Stats Table.

   mplsMldpInterfaceStatsTable  OBJECT-TYPE
      SYNTAX        SEQUENCE OF MplsMldpInterfaceStatsEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
           "This table provides mLDP  Traffic Stats on specified interface."

      ::= { mplsMldpObjects 6 }

   mplsMldpInterfaceStatsEntry OBJECT-TYPE
      SYNTAX        MplsMldpInterfaceStatsEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
           "An entry in this table is created by the LSR for each
            downstream branch (out-segment) from this LSR for this mLDP
            LSP. Each downstream session may represent a single out-segment.

            Each entry in the table is indexed by the four identifiers
            of the mLDP LSP, and the out-segment that identifies the
            outgoing branch."

         INDEX       { mplsMldpInterfaceIndex
                     }

      ::= { mplsMldpInterfaceStatsTable 1 }

   MplsMldpInterfaceStatsEntry ::= SEQUENCE {
         mplsMldpInterfaceIndex                 InterfaceIndex,
         mplsMldpInterfaceStatsSentPackets      Counter64,

Kishore Tiruveedhula, et Expires April 13, 2015                [Page 29]
Internet-Draft                  mLDP MIB                    October 2014

         mplsMldpInterfaceStatsSentBytes        Counter64,
         mplsMldpInterfaceStatsRecvPackets      Counter64,
         mplsMldpInterfaceStatsRecvBytes        Counter64
   }

   mplsMldpInterfaceIndex          OBJECT-TYPE
      SYNTAX        InterfaceIndex
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
             "This index identifies the specific interface. "

         ::= { mplsMldpInterfaceStatsEntry 1 }

   mplsMldpInterfaceStatsSentPackets OBJECT-TYPE
      SYNTAX        Counter64
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
            "This is 64 bit value, which gives the number of packets
            forwarded by all mLDP LSPs onto this interface."

      ::= { mplsMldpInterfaceStatsEntry 2 }

   mplsMldpInterfaceStatsSentBytes OBJECT-TYPE
      SYNTAX        Counter64
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
            "This is 64 bit value, which gives the number of bytes
            forwarded by all mLDP LSPs onto this interface."

      ::= { mplsMldpInterfaceStatsEntry 3 }

  mplsMldpInterfaceRecvPackets OBJECT-TYPE
      SYNTAX        Counter64
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
            "This is 64 bit value, which gives the number of packets
            received by all mLDP LSPs from this interface."

      ::= { mplsMldpInterfaceStatsEntry 4 }

   mplsMldpInterfaceStatsRecvBytes OBJECT-TYPE
      SYNTAX        Counter64
      MAX-ACCESS    read-only

Kishore Tiruveedhula, et Expires April 13, 2015                [Page 30]
Internet-Draft                  mLDP MIB                    October 2014

      STATUS        current
      DESCRIPTION
            "This is 64 bit value, which gives the number of bytes
            received by all mLDP LSPs from this interface."

      ::= { mplsMldpInterfaceStatsEntry 5 }

   -- End of mplsMldpInterfaceStatsTable

   -- Notifications.

   mplsMldpFecUp NOTIFICATION-TYPE
      OBJECTS     {
         mplsMldpFecAdminStatus,
         mplsMldpFecOperStatus
      }
      STATUS      current
      DESCRIPTION
           "This notification is generated when a mplsMldpFecOperStatus
            object changes from down to up."

      ::= { mplsMldpNotifications 1 }

   mplsMldpFecDown NOTIFICATION-TYPE
      OBJECTS     {
         mplsMldpFecAdminStatus,
         mplsMldpFecOperStatus
      }
      STATUS      current
      DESCRIPTION
           "This notification is generated when a mplsMldpFecOperStatus
            object changes from up to down."

      ::= { mplsMldpNotifications 2 }

   mplsMldpMoFrrStatusChange NOTIFICATION-TYPE
      OBJECTS     {
         mplsMldpFecUpstreamSessPrimary,
      }
      STATUS      current
      DESCRIPTION
           "This notification is generated when a mplsMldpFecUpstreamSessPrimary
            object changes from primary to backup and vice versa."

            ::= { mplsMldpNotifications 3 }

   -- End of notifications.

Kishore Tiruveedhula, et Expires April 13, 2015                [Page 31]
Internet-Draft                  mLDP MIB                    October 2014

12.  Security Considerations

   This MIB module is useful for the configuration of certain objects
   and monitoring of mLDP LSPs.

   There are no management objects defined in this MIB module that have
   a MAX-ACCESS clause of read-write and/or read-create.  So, if this
   MIB module is implemented correctly, then there is no risk that an
   intruder can alter or create any management objects of this MIB
   module via direct SNMP SET 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:

   o  mplsMldpFecTable

   o  mplsLdpPeerCapabilityTable

   o  mplsMldpSessionStatsTable

   o  mplsMldpFecBranchStatsTable

   o  mplsMldpFecUpstreamSessTable

   o  mplsMldpInterfaceStatsTable

   o  mplsMldpNumFecs

   o  mplsMldpNumFecsActive

   o  mplsMldpMbbTime

   Above listed tables and objects show information about the mLDP LSPs,
   its route through the network, and its traffic statistics.  Knowledge
   of this information could be used to compromise the network, or
   simply to breach confidentiality.  If an Administrator does not want
   to reveal this information, these tables and objects should be
   considered sensitive/vulnerable.

   SNMP versions prior to SNMPv3 did not include adequate security.
   Even if the network itself is secure (for example by using IPsec),
   there is no control as to who on the secure network is allowed to

Kishore Tiruveedhula, et Expires April 13, 2015                [Page 32]
Internet-Draft                  mLDP MIB                    October 2014

   access and GET/SET (read/change/create/delete) the objects in this
   MIB module.

   Implementations SHOULD provide the security features described by the
   SNMPv3 framework (see [RFC3410]), and implementations claiming
   compliance to the SNMPv3 standard MUST include full support for
   authentication and privacy via the User-based Security Model (USM)
   [RFC3414] with the AES cipher algorithm [RFC3826].  Implementations
   MAY also provide support for the Transport Security Model (TSM)
   [RFC5591] in combination with a secure transport such as SSH
   [RFC5592] or TLS/DTLS [RFC6353].

   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.

13.  IANA Considerations

   This is new MPLS MIB module, contained in this document and IANA is
   requested to assign an oid under the mplsStdMIB subtree to the MPLS-
   MDLP-STD-MIB module specified in this document.

14.  Acknowledgments

   The authors wish to thank Santosh Esale, Alia Atlas and Martin Ehlers
   for doing the detailed review.  Thanks to Adrian Farrel and Raveendra
   Torvi for their input to this work and for many helpful suggestions.

15.  References

15.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., Ed., Perkins, D., Ed., and J.
              Schoenwaelder, Ed., "Structure of Management Information
              Version 2 (SMIv2)", STD 58, RFC 2578, April 1999.

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

Kishore Tiruveedhula, et Expires April 13, 2015                [Page 33]
Internet-Draft                  mLDP MIB                    October 2014

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

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

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

   [RFC3815]  Cucchiara, J., Sjostrand, H., and J. Luciani, "Definitions
              of Managed Objects for the Multiprotocol Label Switching
              (MPLS), Label Distribution Protocol (LDP)", RFC 3815, June
              2004.

   [RFC5036]  Andersson, L., Minei, I., and B. Thomas, "LDP
              Specification", RFC 5036, October 2007.

   [RFC5561]  Thomas, B., Raza, K., Aggarwal, S., Aggarwal, R., and JL.
              Le Roux, "LDP Capabilities", RFC 5561, July 2009.

   [RFC6388]  Wijnands, IJ., Minei, I., Kompella, K., and B. Thomas,
              "Label Distribution Protocol Extensions for Point-to-
              Multipoint and Multipoint-to-Multipoint Label Switched
              Paths", RFC 6388, November 2011.

   [RFC6826]  Wijnands, IJ., Eckert, T., Leymann, N., and M. Napierala,
              "Multipoint LDP In-Band Signaling for Point-to-Multipoint
              and Multipoint-to-Multipoint Label Switched Paths", RFC
              6826, January 2013.

   [RFC7060]  Napierala, M., Rosen, E., and IJ. Wijnands, "Using LDP
              Multipoint Extensions on Targeted LDP Sessions", RFC 7060,
              November 2013.

   [RFC6389]  Aggarwal, R. and JL. Le Roux, "MPLS Upstream Label
              Assignment for LDP", RFC 6389, November 2011.

Kishore Tiruveedhula, et Expires April 13, 2015                [Page 34]
Internet-Draft                  mLDP MIB                    October 2014

15.2.  Informative References

   [RFC2223]  Postel, J. and J. Reynolds, "Instructions to RFC Authors",
              RFC 2223, October 1997.

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

   [RFC2629]  Rose, M., "Writing I-Ds and RFCs using XML", RFC 2629,
              June 1999.

   [RFC4181]  Heard, C., "Guidelines for Authors and Reviewers of MIB
              Documents", BCP 111, RFC 4181, September 2005.

   [RFC4001]  Daniele, M., Haberman, B., Routhier, S., and J.
              Schoenwaelder, "Textual Conventions for Internet Network
              Addresses", RFC 4001, February 2005.

   [MoFRR]    Karan, , Filsfils, , Farinacci, , Leymann, , Joorde, , and
              Henderickx, "Multicast only Fast Re-Route", draft-ietf-
              rtgwg-mofrr-03.txt (work in progress), 2012.

   [MLDP_NODE_PROT]
              Wijnands, , Rosen, , Raza, , Tantsura, , Leymann, , and
              Zhao, "mLDP Node Protection", draft-ietf-mpls-mldp-node-
              protection-00.txt (work in progress), 2013.

Kishore Tiruveedhula, et Expires April 13, 2015                [Page 35]
Internet-Draft                  mLDP MIB                    October 2014

Appendix A.  Change Log

Appendix B.  Open Issues

Authors' Addresses

   Kishore Tiruveedhula (editor)
   Juniper Networks
   10 Technology Park Drive
   Westford MA  01886
   USA

   Phone: +1 9785898861
   EMail: kishoret@juniper.net

   Uwe Joorde
   Deutsche Telekom
   Dahlweg 100
   Munster  48153
   Germany

   EMail: Uwe.Joorde@telekom.de

   Arvind Venkateswaran
   Cisco Systems
   510 McCarthy Blvd
   Milpitas CA  95035
   USA

   EMail: arvvenka@cisco.com

Kishore Tiruveedhula, et Expires April 13, 2015                [Page 36]