Internet Engineering Task Force                Kishore Tiruveedhula, Ed.
Internet-Draft                                          Juniper Networks
Intended status: Standards Track                             Uwe Joorde
Expires: August 1, 2014                                 Deutsche Telekom
                                                        January 28, 2014


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

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
   the 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 August 1, 2014.

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
   (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



Kishore Tiruveedhula, et al.  Expires August 1, 2014            [Page 1]


Internet-Draft                  mLDP MIB                    January 2014


   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  . . . . . . . . . . . . . . . . . . . . . . . . .  3
   4.  Overview . . . . . . . . . . . . . . . . . . . . . . . . . . .  4
   5.  Future Considerations  . . . . . . . . . . . . . . . . . . . .  4
   6.  Structure of the MIB Module  . . . . . . . . . . . . . . . . .  4
     6.1.  Summary of mLDP Scalar Objects . . . . . . . . . . . . . .  5
     6.2.  Summary of mLDP Table Objects  . . . . . . . . . . . . . .  5
   7.  mLDP Scalar Objects  . . . . . . . . . . . . . . . . . . . . .  5
     7.1.  mplsMldpP2mpCapable  . . . . . . . . . . . . . . . . . . .  5
     7.2.  mplsMldpMp2mpCapable . . . . . . . . . . . . . . . . . . .  6
     7.3.  mplsMldpMbbCapable . . . . . . . . . . . . . . . . . . . .  6
     7.4.  mplsMldpMbbTime  . . . . . . . . . . . . . . . . . . . . .  6
     7.5.  mplsMldpNumFecsConfigured  . . . . . . . . . . . . . . . .  6
     7.6.  mplsMldpNumFecsActive  . . . . . . . . . . . . . . . . . .  6
   8.  mLDP Table Objects . . . . . . . . . . . . . . . . . . . . . .  6
     8.1.  LDP Peer Capability Table mplsLdpPeerCapabilityTable . . .  6
     8.2.  mLDP Session Stats Table: mplsMldpSessionStatsTable  . . .  6
     8.3.  mLDP Fec Table: mplsMldpFecTable . . . . . . . . . . . . .  6
     8.4.  mLDP Fec Branch Traffic statistics Table:
           mplsMldpFecBranchStatsTable  . . . . . . . . . . . . . . .  7
     8.5.  mLDP Fec Upstreaam Session Table:
           mplsMldpFecUpstreamSessTable . . . . . . . . . . . . . . .  7
     8.6.  mLDP Interface Traffic statistics Table:
           mplsMldpInterfaceStatsTable  . . . . . . . . . . . . . . .  7
   9.  The mLDP Notifications . . . . . . . . . . . . . . . . . . . .  7
   10. Relationship to Other MIB Modules  . . . . . . . . . . . . . .  7
     10.1. Relationship to the LSR MIB  . . . . . . . . . . . . . . .  8
     10.2. Relationship to the LDP MIB  . . . . . . . . . . . . . . .  8
     10.3. Diagramatic Representation . . . . . . . . . . . . . . . .  9
   11. Multicast MPLS Label Distribution Protocol MIB Definitions . .  9
   12. Security Considerations  . . . . . . . . . . . . . . . . . . . 34
   13. IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 36
   14. Acknowledgments  . . . . . . . . . . . . . . . . . . . . . . . 36
   15. References . . . . . . . . . . . . . . . . . . . . . . . . . . 36
     15.1. Normative References . . . . . . . . . . . . . . . . . . . 36
     15.2. Informative References . . . . . . . . . . . . . . . . . . 37
   Appendix A.  Change Log  . . . . . . . . . . . . . . . . . . . . . 38
   Appendix B.  Open Issues . . . . . . . . . . . . . . . . . . . . . 38






Kishore Tiruveedhula, et al.  Expires August 1, 2014            [Page 2]


Internet-Draft                  mLDP MIB                    January 2014


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
   the 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

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

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





Kishore Tiruveedhula, et al.  Expires August 1, 2014            [Page 3]


Internet-Draft                  mLDP MIB                    January 2014


4.  Overview

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

      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 .

   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 groupd 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 Interfac3: The mLDP traffic stats per
      Interface.

      - Traps when mLDP Fec LSP up, down.

5.  Future Considerations

   Any new opaque TLVs added for any other mLDP fetures, the opaque vaue
   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.





Kishore Tiruveedhula, et al.  Expires August 1, 2014            [Page 4]


Internet-Draft                  mLDP MIB                    January 2014


6.1.  Summary of mLDP Scalar Objects

   New scalar objects mplsMldpP2mpCapable and mplsMldpMp2mpCapable
   defined to include the capabilities of mLDP like P2MP, MP2MP
   capability information.

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

   New scalar object mplsMldpNumFecsConfigured which will give the total
   number of mLDP Fecs configured on the LSR.

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

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.

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

7.  mLDP Scalar Objects

   There are three scalars 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.







Kishore Tiruveedhula, et al.  Expires August 1, 2014            [Page 5]


Internet-Draft                  mLDP MIB                    January 2014


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

   The mplsMldpNumFecsConfigured provides a read-only counter of the
   number of mLDP Fecs configired on this LSR.

7.6.  mplsMldpNumFecsActive

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

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



Kishore Tiruveedhula, et al.  Expires August 1, 2014            [Page 6]


Internet-Draft                  mLDP MIB                    January 2014


   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 packes and number of bytes sent out on particualr
   downstream session or on outgoing interface.

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 packes 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 satte to UP and Down.

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.






Kishore Tiruveedhula, et al.  Expires August 1, 2014            [Page 7]


Internet-Draft                  mLDP MIB                    January 2014


10.1.  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.2.  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.

      mplsLdpLspFecTable

      mplsInSegmentLdpLspTable

      mplsOutSegmentLdpLspTable


























Kishore Tiruveedhula, et al.  Expires August 1, 2014            [Page 8]


Internet-Draft                  mLDP MIB                    January 2014


10.3.  Diagramatic Representation



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


           Figure 1 : Dependencies Between MIB Tables


                                 Figure 1

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



Kishore Tiruveedhula, et al.  Expires August 1, 2014            [Page 9]


Internet-Draft                  mLDP MIB                    January 2014


           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 "201401280000Z"  -- Jan 28, 2014
         ORGANIZATION "Multiprotocol Label Switching (mpls)
                       Working Group"
         CONTACT-INFO

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

                   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.



Kishore Tiruveedhula, et al.  Expires August 1, 2014           [Page 10]


Internet-Draft                  mLDP MIB                    January 2014


            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 "201401280000Z"  -- Jan 28, 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 YYY }
-- RFC Editor. Please replace YYY with the codepoint issued by IANA
-- and remove this note.

   -- Top level components of this MIB module.


   -- notifications
   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-create
         STATUS      current
         DESCRIPTION
             "This is P2MP capability of the LSR.  If this object is
             changed from 'disable' to 'enable' or 'enable' to 'disable' then
             LDP will close all mLDP sessions and then attempt to establish a
             new session to negotiate this capability  with the Peer.

             If the LSR supports the RFC 5561, LDP Capabilities, then LSR may
             use the Capability message to exchange new capability information."
      ::= { mplsMldpScalars 1 }


  mplsMldpMp2mpCapable OBJECT-TYPE
         SYNTAX      INTEGER {
                       enable(1),
                       disable(2)



Kishore Tiruveedhula, et al.  Expires August 1, 2014           [Page 11]


Internet-Draft                  mLDP MIB                    January 2014


                     }
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
             "This is MP2MP capability of the LSR.  If this object is
             changed from 'disable' to 'enable' or 'enable' to 'disable' then
             LDP will close all mLDP sessions and then attempt to establish a
             new session to negotiate this capability  with the Peer.

             If the LSR supports the RFC 5561, LDP Capabilities, then LSR may
             use the Capability message to exchange new capability information."
      ::= { mplsMldpScalars 2 }


  mplsMldpMbbCapable OBJECT-TYPE
         SYNTAX      INTEGER {
                       enable(1),
                       disable(2)
                     }
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
             "This is MBB (make before break) capability of the LSR.  If this object is
             changed from 'disable' to 'enable' or 'enable' to 'disable' then
             LDP will close all mLDP sessions and then attempt to establish a
             new session to negotiate this capability  with the Peer.

             If the LSR supports the RFC 5561, LDP Capabilities, then LSR may
             use the Capability message to exchange new capability information."
      ::= { mplsMldpScalars 3 }

     mplsMldpMbbTime OBJECT-TYPE
         SYNTAX      Unsigned32 (1..300)
         UNITS       "seconds"
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
             "The 16-bit integer value which is the proposed wait time for
             waiting MBB Ack from upstream node."
         DEFVAL { 30 }
         ::= { mplsMldpScalars 4 }


   mplsMldpNumFecsConfigured OBJECT-TYPE
      SYNTAX        Unsigned32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION



Kishore Tiruveedhula, et al.  Expires August 1, 2014           [Page 12]


Internet-Draft                  mLDP MIB                    January 2014


           "The number of mLdp Fecs configured 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 }

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



Kishore Tiruveedhula, et al.  Expires August 1, 2014           [Page 13]


Internet-Draft                  mLDP MIB                    January 2014


         SYNTAX      INTEGER {
                        p2mp (0x01),
                        mp2mp(0x02),
                        mbb  (0x03),
                        ula  (0x04),
                        dynamic (0x05)
                     }
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
             " This will indicate the LDP capability information about peer.  "

         ::= { 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
             "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



Kishore Tiruveedhula, et al.  Expires August 1, 2014           [Page 14]


Internet-Draft                  mLDP MIB                    January 2014


         SYNTAX      Counter32
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
             "This object counts the number of mLDP Fecs sent on this
             session.

             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
         DESCRIPTION
             "This object counts the number of mLDP Fecs received on this
             session.

             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



Kishore Tiruveedhula, et al.  Expires August 1, 2014           [Page 15]


Internet-Draft                  mLDP MIB                    January 2014


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

     mplsMldpFecObjects OBJECT IDENTIFIER ::=
                                { mplsMldpObjects 2 }

     mplsMldpFecLastChange OBJECT-TYPE
         SYNTAX  TimeStamp
         MAX-ACCESS read-only
         STATUS current
         DESCRIPTION
             "The value of sysUpTime at the time of the most
             recent addition/deletion of an entry
             to/from the mplsMldpFectTable or
             the most recent change in values to any objects
             in the mplsMldpFecTable.

             If no such changes have occurred since the last
             re-initialization of the local management subsystem,
             then this object contains a zero value."

        ::= { mplsMldpFecObjects 1 }

     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 al.  Expires August 1, 2014           [Page 16]


Internet-Draft                  mLDP MIB                    January 2014


         ::= { mplsMldpFecObjects 2 }


     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,
         mplsMldpFecMoFrr               INTEGER,
         mplsMldpFecType                INTEGER,
         mplsMldpFecRootAddrType        InetAddressType,
         mplsMldpFecRootAddr            InetAddress,
         mplsMldpFecOpaqueType          INTEGER,
         mplsMldpFecOpaqueValue         MplsMldpFecOpaqueValue,
         mplsMldpFecAdminStatus         INTEGER,
         mplsMldpFecOperStatus          INTEGER,
         mplsMldpFecRowStatus           RowStatus
         mplsMldpFecStorageType         StorageType,
         mplsMldpFecLsrState            INTEGER,
     }

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

         ::= { mplsMldpFecEntry 1 }

     mplsMldpFecMoFrr OBJECT-TYPE
         SYNTAX      INTEGER {
                       enable(1),
                       disable(2)
                     }
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
             "This is MoFRR configuration on this mLDP FEC. If this object
             changed to 'enable', then mLDP tries to select two upstream
             sessions, one is priamry and other one is backup. The backup



Kishore Tiruveedhula, et al.  Expires August 1, 2014           [Page 17]


Internet-Draft                  mLDP MIB                    January 2014


             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.

             When this object changed from 'disable' to 'enable', there will be
             two upstream sessions, one is primary and other one is backup. Two
             different labels will be advertised to primary and backup upstream
             sessions.
             when this object changed from  'disable' to 'enable' then
             LDP will withdraw label on the backup upstream session."

      ::= { mplsMldpFecEntry 2 }

     mplsMldpFecType  OBJECT-TYPE
         SYNTAX      INTEGER {
                        P2MP(0x06),
                        MP2MPUpstream(0x07)
                        MP2MPDownstream(0x08)
                     }
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
             "The type of the FEC.  If the value of this object
             is 0x06, then it is P2MP Fec Type, and 0x7, 0x8 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 3 }

     mplsMldpFecRootAddrType  OBJECT-TYPE
         SYNTAX      InetAddressType
         MAX-ACCESS  read-create
         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 4 }

     mplsMldpFecRootAddr     OBJECT-TYPE



Kishore Tiruveedhula, et al.  Expires August 1, 2014           [Page 18]


Internet-Draft                  mLDP MIB                    January 2014


         SYNTAX      InetAddress
         MAX-ACCESS  read-create
         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 5 }


     mplsMldpFecOpaqueType  OBJECT-TYPE
         SYNTAX      INTEGER {
                        generic-lsp-id(0x01),
                        transit-ipv4-source(0x03)
                        transit-ipv6-source(0x04)
                        transit-ipv4-bidir(0x05)
                        transit-ipv6-bidir(0x06)
                     }
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
             "The type of the FEC.  If the value of this object
             is 0x06, then it is P2MP Fec Type, and 0x7, 0x8 are correspond to
             MP2MP upstream and downstream type.

             0x01 - The Generic LSP Identifier
             0x03 - Transit IPv4 Source TLV
             0x04 - Transit IPv6 Source TLV
             0x05 - Transit IPv4 Bidir TLV
             0x06 - Transit IPv6 Bidir TLV.
             "
         ::= { mplsMldpFecEntry 6 }

     mplsMldpFecOpaqueValue     OBJECT-TYPE
         SYNTAX      MplsMldpFecOpaqueValue
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
             "This object contains the opaque value of mLDP Fec. This opaque
             value depends in the type mplsMldpFecOpaqueType. "

         ::= { mplsMldpFecEntry 7 }




Kishore Tiruveedhula, et al.  Expires August 1, 2014           [Page 19]


Internet-Draft                  mLDP MIB                    January 2014


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

      DEFVAL { up }

      ::= { mplsMldpFecEntry 8 }

   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 9 }

     mplsMldpFecRowStatus OBJECT-TYPE
         SYNTAX      RowStatus
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
             "The status of this conceptual row.  If the value of this
             object is 'active(1)', then none of the writable objects
             of this entry can be modified, except to set this object
             to 'destroy(6)'.

             NOTE: if this row is being referenced by any entry in
             the mplsLdpLspFecTable, then a request to destroy
             this row, will result in an inconsistentValue error."

         ::= { mplsMldpFecEntry 10 }

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



Kishore Tiruveedhula, et al.  Expires August 1, 2014           [Page 20]


Internet-Draft                  mLDP MIB                    January 2014


             Conceptual rows having the value 'permanent(4)'
             need not allow write-access to any columnar
             objects in the row."
         DEFVAL { nonVolatile }

         ::= { mplsMldpFecEntry 11 }

   mplsMldpFecLsrState OBJECT-TYPE
      SYNTAX        INTEGER {
                       egress(0x01),
                       bud(0x02),
                       transit(0x03),
                       ingress(0x04),
                    }
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
           "Indicates the role of fec either egress, bud, transit or ingress"

      ::= { mplsMldpFecEntry 12 }

     MplsMldpFecOpaqueValue ::= CHOICE {
         mplsMldpFecOpaqueGenLspId           Unsigned32,
         mplsMldpFecOpaqueTransitSource      MplsMldpFecOpaqueTransitSourceEntry,
         mplsMldpFecOpaqueTransitBidir       MplsMldpFecOpaqueTransitBidirEntry,
     }

     mplsMldpFecOpaqueGenLspId OBJECT-TYPE
         SYNTAX      Unsigned32
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
             "The 32-bit unsigned integer value which is to represent Generic
             LSP ID. "

         REFERENCE
             "RFC6388, Section 2.3.1."

         ::= { mplsMldpFecOpaqueValue 1 }

     MplsMldpFecOpaqueTransitSourceEntry ::= SEQUENCE {
         mplsMldpFecOpaqueTransitSourceAddrType        InetAddressType,
         mplsMldpFecOpaqueTransitSourceAddr            InetAddress,
         mplsMldpFecOpaqueTransitGroupAddrType         InetAddressType,
         mplsMldpFecOpaqueTransitGroupAddr             InetAddress,
     }

     mplsMldpFecOpaqueTransitSourceAddrType        OBJECT-TYPE



Kishore Tiruveedhula, et al.  Expires August 1, 2014           [Page 21]


Internet-Draft                  mLDP MIB                    January 2014


         SYNTAX      InetAddressType
         MAX-ACCESS  read-create
         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  mplsMldpFecOpaqueTransitSourceAddr
             object is interpreted."
         REFERENCE
             "RFC6826, Section 3.1."

         ::= { MplsMldpFecOpaqueTransitSourceEntry 1 }

     mplsMldpFecOpaqueTransitSourceAddr OBJECT-TYPE
         SYNTAX      InetAddress
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
             "The value of this object is interpreted based
             on the value of the 'mplsMldpFecOpaqueTransitSourceAddrType'
              object.  This is source node address for the mLDP inband LSP."

         REFERENCE
             "RFC6826, Section 3.1."

         ::= { MplsMldpFecOpaqueTransitSourceEntry 2 }

     mplsMldpFecOpaqueTransitGroupAddrType        OBJECT-TYPE
         SYNTAX      InetAddressType
         MAX-ACCESS  read-create
         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."

         ::= { MplsMldpFecOpaqueTransitSourceEntry 3 }

     mplsMldpFecOpaqueTransitGroupAddr OBJECT-TYPE
         SYNTAX      InetAddress
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
             "The value of this object is interpreted based



Kishore Tiruveedhula, et al.  Expires August 1, 2014           [Page 22]


Internet-Draft                  mLDP MIB                    January 2014


             on the value of the 'mplsMldpFecOpaqueTransitGroupAddrType'
              object.  This is group node address for the mLDP inband LSP."

         REFERENCE
             "RFC6826, Section 3.2."

         ::= { MplsMldpFecOpaqueTransitSourceEntry 4 }


     MplsMldpFecOpaqueTransitBidirEntry ::= SEQUENCE {
         mplsMldpFecOpaqueTransitBidirRPAddrType        InetAddressType,
         mplsMldpFecOpaqueTransitBidirRPAddr            InetAddress,
         mplsMldpFecOpaqueTransitBidirGroupAddrType     InetAddressType,
         mplsMldpFecOpaqueTransitBidirGroupAddr         InetAddress,
     }

     mplsMldpFecOpaqueTransitBidirRPAddrType        OBJECT-TYPE
         SYNTAX      InetAddressType
         MAX-ACCESS  read-create
         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  'mplsMldpFecOpaqueTransitBidirRPAddr'
             object is interpreted."
         REFERENCE
             "RFC6826, Section 3.3."

         ::= { MplsMldpFecOpaqueTransitBidirEntry 1 }

     mplsMldpFecOpaqueTransitBidirRPAddr OBJECT-TYPE
         SYNTAX      InetAddress
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
             "The value of this object is interpreted based
             on the value of the 'mplsMldpFecOpaqueTransitBidirRPAddrType'
              object.  This is RP (Rendezvous Point) node address for
              the mLDP inband LSP."

         REFERENCE
             "RFC6826, Section 3.3."

         ::= { MplsMldpFecOpaqueTransitBidirEntry 2 }

     mplsMldpFecOpaqueTransitGroupAddrType        OBJECT-TYPE
         SYNTAX      InetAddressType
         MAX-ACCESS  read-create



Kishore Tiruveedhula, et al.  Expires August 1, 2014           [Page 23]


Internet-Draft                  mLDP MIB                    January 2014


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

         ::= { MplsMldpFecOpaqueTransitBidirEntry 3 }

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

         REFERENCE
             "RFC6826, Section 3.3."

         ::= { MplsMldpFecOpaqueTransitBidirEntry 4 }

   -- 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 3 }

   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



Kishore Tiruveedhula, et al.  Expires August 1, 2014           [Page 24]


Internet-Draft                  mLDP MIB                    January 2014


            outgoing branch."

         INDEX       { mplsLdpEntityLdpId,
                       mplsLdpEntityIndex,
                       mplsLdpPeerLdpId,
                       mplsMldpFecBranchFecIndex
                       mplsMldpFecBranchOutSegIndex
                     }

      ::= { mplsMldpFecBranchStatsTable 1 }

   MplsMldpFecBranchStatsEntry ::= SEQUENCE {
         mplsMldpFecBranchFecIndex          MplsIndexType,
         mplsMldpFecBranchOutSegIndex       MplsIndexType,
         mplsMldpFecBranchStatsPackets      Counter32,
         mplsMldpFecBranchStatsHCPackets    Counter32,
         mplsMldpFecBranchStatsBytes        Counter32,
         mplsMldpFecBranchStatsHCBytes      Counter32,
         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-MIB's mplsOutSegmentTable."

         ::= { MplsMldpFecBranchStatsEntry 2 }

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



Kishore Tiruveedhula, et al.  Expires August 1, 2014           [Page 25]


Internet-Draft                  mLDP MIB                    January 2014


      STATUS        current
      DESCRIPTION
           "Number of packets forwarded by the mLDP LSP onto this branch.
            This object should represents the 32-bit value of the least
            significant part of the 64-bit value if both
            mplsMldpFecBranchStatsHCPackets is returned.
            This object should be read in conjunction with
            mplsMldpFecBranchStatsDiscontinuityTime."

      ::= { MplsMldpFecBranchStatsEntry 3 }

   mplsMldpFecBranchStatsHCPackets OBJECT-TYPE
      SYNTAX        Counter64
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
           "High capacity counter for number of packets forwarded by the
            mLDP onto this branch.
            This object should be read in conjunction with
            mplsMldpFecBranchStatsDiscontinuityTime."

      ::= { MplsMldpFecBranchStatsEntry 4 }

   mplsMldpFecBranchStatsBytes OBJECT-TYPE
      SYNTAX        Counter32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
           "Number of bytes forwarded by the mLDP LSP onto this branch.
            This object should represents the 32-bit value of the least
            significant part of the 64-bit value if both
            mplsMldpFecBranchStatsHCBytes is returned.
            This object should be read in conjunction with
            mplsMldpFecBranchStatsDiscontinuityTime."

      ::= { MplsMldpFecBranchStatsEntry 5 }

   mplsMldpFecBranchStatsHCBytes OBJECT-TYPE
      SYNTAX        Counter64
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
           "High capacity counter for number of bytes forwarded
            by the mLDP LSP onto this branch.
            This object should be read in conjunction with
            mplsMldpFecBranchStatsDiscontinuityTime."

      ::= { MplsMldpFecBranchStatsEntry 6 }



Kishore Tiruveedhula, et al.  Expires August 1, 2014           [Page 26]


Internet-Draft                  mLDP MIB                    January 2014


   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 row's 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 7 }

   -- 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 4 }

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

         INDEX       { mplsLdpEntityLdpId,
                       mplsLdpEntityIndex,
                       mplsLdpPeerLdpId,
                       mplsMldpFecUpstreamSessFecIndex
                       mplsMldpFecUpstreamSessInSegIndex
                     }

      ::= { mplsMldpFecBranchStatsTable 1 }



Kishore Tiruveedhula, et al.  Expires August 1, 2014           [Page 27]


Internet-Draft                  mLDP MIB                    January 2014


   MplsmLdpFecUpstreamSessEntry ::= SEQUENCE {
         mplsMldpFecUpstreamSessFecIndex     MplsIndexType,
         mplsMldpFecUpstreamSessInSegIndex   MplsIndexType,
         mplsMldpFecUpstreamSessPrimary      INTEGER,
         mplsMldpFecUpstreamSessActive       INTEGER,
         mplsMldpFecUpstreamSessPackets      Counter32,
         mplsMldpFecUpstreamSessHCPackets    Counter32,
         mplsMldpFecUpstreamSessBytes        Counter32,
         mplsMldpFecUpstreamSessHCBytes      Counter32,
         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-MIB's mplsInSegmentTable."

         ::= { MplsmLdpFecUpstreamSessEntry 2 }

    mplsMldpFecUpstreamSessPrimary  OBJECT-TYPE
         SYNTAX      INTEGER {
                        primary(0x01),
                        backup(0x02)
                     }
         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."




Kishore Tiruveedhula, et al.  Expires August 1, 2014           [Page 28]


Internet-Draft                  mLDP MIB                    January 2014


         ::= { MplsmLdpFecUpstreamSessEntry 3 }

    mplsMldpFecUpstreamSessActive  OBJECT-TYPE
         SYNTAX      INTEGER {
                        Active(0x01),
                        Inactive(0x02)
                     }
         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        Counter32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
           "Number of packets received by the mLDP LSP from this upstream
           session.  This object should represents the 32-bit value of
           the least significant part of the 64-bit value if both
           mplsMldpFecUpstreamSessHCPackets is returned.
           This object should be read in conjunction with
           mplsMldpFecUpstreamSessDiscontinuityTime."

      ::= { MplsmLdpFecUpstreamSessEntry 5 }

   mplsMldpFecUpstreamSessHCPackets OBJECT-TYPE
      SYNTAX        Counter64
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
           "High capacity counter for number of packets received
            by the mLDP LSP from this upstream session.
            This object should be read in conjunction with
            mplsMldpFecUpstreamSessDiscontinuityTime."

      ::= { MplsmLdpFecUpstreamSessEntry 6 }

   mplsMldpFecUpstreamSessBytes      OBJECT-TYPE
      SYNTAX        Counter32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION



Kishore Tiruveedhula, et al.  Expires August 1, 2014           [Page 29]


Internet-Draft                  mLDP MIB                    January 2014


           "Number of bytes received by the mLDP LSP from this upstream
           session.  This object should represents the 32-bit value of
           the least significant part of the 64-bit value if both
           mplsMldpFecUpstreamSessHCPackets is returned.
           This object should be read in conjunction with
           mplsMldpFecUpstreamSessDiscontinuityTime."

      ::= { MplsmLdpFecUpstreamSessEntry 7 }

   mplsMldpFecUpstreamSessHCBytes OBJECT-TYPE
      SYNTAX        Counter64
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
           "High capacity counter for number of bytes received
            by the mLDP LSP from this upstream session.
            This object should be read in conjunction with
            mplsMldpFecUpstreamSessDiscontinuityTime."

      ::= { MplsmLdpFecUpstreamSessEntry 8 }

   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 row's 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 9 }

   -- 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 5 }




Kishore Tiruveedhula, et al.  Expires August 1, 2014           [Page 30]


Internet-Draft                  mLDP MIB                    January 2014


   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      Counter32,
         mplsMldpInterfaceStatsSentHCPackets    Counter32,
         mplsMldpInterfaceStatsSentBytes        Counter32,
         mplsMldpInterfaceStatsSentHCBytes      Counter32,
         mplsMldpInterfaceStatsRecvPackets      Counter32,
         mplsMldpInterfaceStatsRecvHCPackets    Counter32,
         mplsMldpInterfaceStatsRecvBytes        Counter32,
         mplsMldpInterfaceStatsRecvHCBytes      Counter32,
   }

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

         ::= { MplsMldpInterfaceStatsEntry 1 }

   mplsMldpInterfaceStatsSentPackets OBJECT-TYPE
      SYNTAX        Counter32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
            "Number of packets forwarded by all mLDP LSPs onto
            this interface.
            This object should represents the 32-bit value of the least
            significant part of the 64-bit value if both



Kishore Tiruveedhula, et al.  Expires August 1, 2014           [Page 31]


Internet-Draft                  mLDP MIB                    January 2014


            mplsMldpInterfaceStatsSentHCPackets is returned. "

      ::= { MplsMldpInterfaceStatsEntry 2 }

   mplsMldpInterfaceStatsSentHCPackets OBJECT-TYPE
      SYNTAX        Counter64
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
           "High capacity counter for number of packets forwarded by the
            all mLDP LSPs onto this interface.  "

      ::= { MplsMldpInterfaceStatsEntry 3 }

   mplsMldpInterfaceStatsSentBytes OBJECT-TYPE
      SYNTAX        Counter32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
           "Number of bytes received and forwarded by all mLDP LSPs onto this
           interface.
            This object should represents the 32-bit value of the least
            significant part of the 64-bit value if both
            mplsMldpInterfaceStatsSentHCBytes is returned."

      ::= { MplsMldpInterfaceStatsEntry 4 }

   mplsMldpInterfaceStatsSentHCBytes OBJECT-TYPE
      SYNTAX        Counter64
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
           "High capacity counter for number of bytes forwarded
            by the mLDP LSP onto this branch."

            ::= { MplsMldpInterfaceStatsEntry 5 }


  mplsMldpInterfaceRecvPackets OBJECT-TYPE
      SYNTAX        Counter32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
            "Number of packets received by all mLDP LSPs onto
            this interface.
            This object should represents the 32-bit value of the least
            significant part of the 64-bit value if both
            mplsMldpInterfaceStatsRecvHCPackets is returned. "



Kishore Tiruveedhula, et al.  Expires August 1, 2014           [Page 32]


Internet-Draft                  mLDP MIB                    January 2014


      ::= { MplsMldpInterfaceStatsEntry 6 }

   mplsMldpInterfaceStatsRecvHCPackets OBJECT-TYPE
      SYNTAX        Counter64
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
           "High capacity counter for number of packets received by the
            all mLDP LSPs onto this interface.  "

      ::= { MplsMldpInterfaceStatsEntry 7 }

   mplsMldpInterfaceStatsRecvBytes OBJECT-TYPE
      SYNTAX        Counter32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
           "Number of bytes received by all mLDP LSPs onto this
           interface.
            This object should represents the 32-bit value of the least
            significant part of the 64-bit value if both
            mplsMldpInterfaceStatsRecvHCBytes is returned."

      ::= { MplsMldpInterfaceStatsEntry 8 }

   mplsMldpInterfaceStatsRecvHCBytes OBJECT-TYPE
      SYNTAX        Counter64
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
           "High capacity counter for number of bytes received
            by the all mLDP LSPs onto this interface."

            ::= { MplsMldpInterfaceStatsEntry 9 }


   -- End of mplsMldpInterfaceStatsTable

   -- Notifications.

   mplsMldpFecNotificationEnable OBJECT-TYPE
      SYNTAX        TruthValue
      MAX-ACCESS    read-write
      STATUS        current
      DESCRIPTION
           "If this object is true(1), then it enables the generation of
            mplsMldpFecUp and mplsMldpFecDown notifications.
            Otherwise these notifications are not emitted."



Kishore Tiruveedhula, et al.  Expires August 1, 2014           [Page 33]


Internet-Draft                  mLDP MIB                    January 2014


      DEFVAL { false }
      ::= { mplsMldpObjects 6 }

   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 }

   -- End of notifications.


12.  Security Considerations

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

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

   o  The mplsMldpFecTable contain objects that can be used to provision
      mLDP LSPS.  Unauthorized access to objects in these tables could
      result in disruption of traffic in the network if the mLDP LSP has
      already established.




Kishore Tiruveedhula, et al.  Expires August 1, 2014           [Page 34]


Internet-Draft                  mLDP MIB                    January 2014


   o  The use of stronger mechanisms, such as SNMPv3 security, should be
      considered where possible.  Specifically, the SNMPv3 View-based
      Access Control Model (VACM) and User-based Security Model (USM)
      MUST be used with any v3 agent which implements this MIB module.
      Administrators SHOULD also consider whether read access to these
      objects is allowed, since read access may be undesirable under
      certain circumstances as described below.

   o  The use of this MIB module depends on the use of certain objects
      within MPLS-MLDP-STD-MIB defined in [RFC3815].  Note that those
      objects are also subject to the same security considerations, and
      any vulnerability to those objects could compromise the mLDP LSP
      in the network.  The security section of [RFC3815] MUST be applied
      in conjunction with this security section.

   o  This MIB module may be used in conjunction with that MIB module.
      If MPLS-LSR-STD-MIB is implemented on an LSR, then access to its
      objects can compromise any mLDP MPLS LSPS.  MPLS-LSR-STD-MIB is
      defined in [RFC3813] which has its own security section that MUST
      be applied in conjunction with this security section if both MIB
      modules are supported.

   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  mplsMldpFecBranchStatsTable

   o  mplsmLdpFecUpstreamSessTable

   o  mplsMldpSessionStatsTable

   o  mplsLdpPeerCapabilityTable

   o  mplsMldpNumFecsConfigured

   o  mplsMldpNumFecsActive

   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.



Kishore Tiruveedhula, et al.  Expires August 1, 2014           [Page 35]


Internet-Draft                  mLDP MIB                    January 2014


   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
   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, contianed 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, Martin Ehlers
   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",



Kishore Tiruveedhula, et al.  Expires August 1, 2014           [Page 36]


Internet-Draft                  mLDP MIB                    January 2014


              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.

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

15.2.  Informative References

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




Kishore Tiruveedhula, et al.  Expires August 1, 2014           [Page 37]


Internet-Draft                  mLDP MIB                    January 2014


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

Appendix A.  Change Log

Appendix B.  Open Issues

Authors' Addresses

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

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


   Uwe Joorde
   Deutsche Telekom
   Dahlweg 100
   Munster  48153
   Germany

   EMail: Uwe.Joorde@telekom.de










Kishore Tiruveedhula, et al.  Expires August 1, 2014           [Page 38]