Network Working Group J. Cucchiara Internet-Draft Crescent Networks Expires February 2002 H. Sjostrand IP Unplugged J. Luciani Crescent Networks August 2001 Definitions of Managed Objects for the Multiprotocol Label Switching, Label Distribution Protocol (LDP) Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC 2026. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress". The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html Distribution of this document is unlimited. Please send comments to the Multiprotocol Label Switching (mpls) Working Group, mpls@uu.net. Copyright Notice Copyright (C) The Internet Society (2001). All Rights Reserved. Abstract This memo defines a portion of the Management Information Base (MIB) for use with network management protocols in the Internet community. In particular, it describes managed objects for the Multiprotocol Label Switching, Label Distribution Protocol (LDP). Expires February 2002 [Page 1] INTERNET-DRAFT MPLS LDP MIB August 2001 Table of Contents 1 Introduction ................................................. 3 2 The SNMP Management Framework ................................ 3 3 Structure of the MIB ......................................... 5 3.1 Overview ................................................... 5 3.2 Future Considerations ...................................... 5 3.3 Interface Indexing ......................................... 5 3.4 Differences from the LDP Specification ..................... 5 3.5 Discussion of MIB Groups ................................... 6 3.6 The MPLS LDP General Group ................................. 6 3.6.1 The LDP Entity Table ..................................... 6 3.6.2 Changing Values After Session Establishment .............. 7 3.6.3 mplsLdpEntityAdminStatus and mplsLdpEntityRowStatus ...... 7 3.6.4 The LDP Entity Generic Objects ........................... 8 3.6.5 The LDP Entity ATM Objects ............................... 8 3.6.6 The LDP Entity Frame Relay Objects ....................... 8 3.6.7 The LDP Entity Statistics Table .......................... 8 3.6.8 The LDP Peer Table ....................................... 9 3.6.9 The LDP Hello Adjacencies Table .......................... 9 3.6.10 The LDP Session Table ................................... 9 3.6.11 The LDP ATM Session Table ............................... 9 3.6.12 The LDP Frame Relay Session Table ....................... 9 3.6.13 The LDP Session Statistics Table ........................ 10 3.6.14 The LDP Session Peer Address Table ...................... 10 3.6.15 The Mapping Tables ...................................... 10 3.6.15.1 The LDP Session In Label Map Table .................... 11 3.6.15.2 The LDP Session Out Label Map Table ................... 11 3.6.15.3 The LDP Session XC Map Table .......................... 11 3.6.16 The FEC Table ........................................... 12 3.7 The LDP Notifications Group ................................ 12 3.7.1 LDP Notifications ........................................ 12 4 MPLS Label Distribution Protocol MIB Definitions ............. 13 5 Revision History ............................................. 69 5.1 Changes from .............. 69 5.2 Changes from .............. 70 5.3 Changes from .............. 70 5.4 Changes from .............. 72 5.5 Changes from .............. 74 5.6 Changes from .............. 75 5.7 Changes from .............. 76 5.8 Changes from .............. 77 6 Acknowledgments .............................................. 78 7 References ................................................... 79 8 Security Considerations ...................................... 81 9 Authors' Addresses ........................................... 82 10 Full Copyright Statement .................................... 83 Expires February 2002 [Page 2] INTERNET-DRAFT MPLS LDP MIB August 2001 1. Introduction This document defines a MIB for the Label Distribution Protocol (LDP). The Label Distribution Protocol (LDP) [18] is one of the MPLS protocols. This MIB allows a user to configure LDP sessions as well as monitor all LDP sessions on the device. This MIB also supports configuration for LDP using IP, ATM or FrameRelay media. The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [21]. 2. The SNMP Management Framework The SNMP Management Framework presently consists of five major components: o An overall architecture, described in RFC 2571 [RFC2571]. o Mechanisms for describing and naming objects and events for the purpose of management. The first version of this Structure of Management Information (SMI) is called SMIv1 and described in STD 16, RFC 1155 [RFC1155], STD 16, RFC 1212 [RFC1212] and RFC 1215 [RFC1215]. The second version, called SMIv2, is described in STD 58, RFC 2578 [RFC2578], STD 58, RFC 2579 [RFC2579] and STD 58, RFC 2580 [RFC2580]. o Message protocols for transferring management information. The first version of the SNMP message protocol is called SNMPv1 and described in STD 15, RFC 1157 [RFC1157]. A second version of the SNMP message protocol, which is not an Internet standards track protocol, is called SNMPv2c and described in RFC 1901 [RFC1901] and RFC 1906 [RFC1906]. The third version of the message protocol is called SNMPv3 and described in RFC 1906 [RFC1906], RFC 2572 [RFC2572] and RFC 2574 [RFC2574]. o Protocol operations for accessing management information. The first set of protocol operations and associated PDU formats is described in STD 15, RFC 1157 [RFC1157]. A second set of protocol operations and associated PDU formats is described in RFC 1905 [RFC1905]. o A set of fundamental applications described in RFC 2573 [RFC2573] and the view-based access control mechanism described in RFC 2575 [RFC2575]. A more detailed introduction to the current SNMP Management Framework can be found in RFC 2570 [RFC2570]. Expires February 2002 [Page 3] INTERNET-DRAFT MPLS LDP MIB August 2001 Managed objects are accessed via a virtual information store, termed the Management Information Base or MIB. Objects in the MIB are defined using the mechanisms defined in the SMI. This memo specifies a MIB module that is compliant to the SMIv2. A MIB conforming to the SMIv1 can be produced through the appropriate translations. The resulting translated MIB must be semantically equivalent, except where objects or events are omitted because no translation is possible (use of Counter64). Some machine readable information in SMIv2 will be converted into textual descriptions in SMIv1 during the translation process. However, this loss of machine readable information is not considered to change the semantics of the MIB. Expires February 2002 [Page 4] INTERNET-DRAFT MPLS LDP MIB August 2001 3. Structure of the MIB This section describes the structure of the LDP MIB. 3.1. Overview The MIB provides objects to configure/set-up potential LDP sessions on a specific LSR. A table is used to configure potential LDP Sessions, where each row in the table initiates a potential LDP Session. This is the mplsLdpEntityTable. Another table, the mplsLdpPeerTable, is a read-only table which records information learned via discovery or from the session initialization message. Each row in the Peer Table represents an LDP Peer. This table contains information which is specific to the Entity-Peer interactions but is not appropriate for the mplsLdpSessionTable. In other words, the Peer table contains information which is useful but is not strictly part of the Session. A third table is used to show the actual sessions which have been, or are in the process of being established. Each row represents a specific session between an Entity (on this LSR) and a peer. 3.2. Future Considerations The LDP Specification [18] does not specify the use of VPNs or multicast for LDP, and thus, objects related to these areas have not been included in the MIB. This MIB does not include VP merge configuration either. [30] does not yet describe this capability and so it has been excluded from the MIB. These areas need to be specified in the LDP Specification prior to being added in this or any other MIB. 3.3. Interface Indexing Interface Indexes as specified in [27] are used in the MIB. The descriptions of the ifIndexes denote which ifIndex is being used. NOTE: the use of ifIndex is for actual existing connections. 3.4. Differences from the LDP Specification Currently, there are 3 differences between this specification and the LDP Specification. As previously mentioned, this MIB is almost Expires February 2002 [Page 5] INTERNET-DRAFT MPLS LDP MIB August 2001 entirely based on the LDP specification. The differences are documented here in the hope to avoid any confusion between the two documents. The first difference is that the LDP Entity Table contains some DEFVAL clauses which are not specified explicitely in the LDP Specification. These values, although not documented in the LDP Specification are widely used by existing LDP MIB implementations and thus, have been adopted within this MIB. Please note, they can certainly be changed during row creation or a subsequent set request. A second difference is the mplsLdpEntityConfGenericLabelRangeTable. This table, although provided as a way to reserve a range of generic labels, does not exist in the LDP Specification. It was added to the MIB due to a request from the working group and because this table was considered useful for reserving a range of generic labels. The third difference is documented by the TEXTUAL-CONVENTION, MplsAtmVcIdentifier which is in the MPLS-TC-MIB [36]. This TC was added to restrict vci values to be greater than 31 as described in RFC 3032 [30]. 3.5. Discussion of MIB Groups Currently, there are six groups: the MPLS LDP General Group, the MPLS LDP Generic Group, the MPLS LDP ATM Group, the MPLS LDP Frame Relay Group, the MPLS Mapping Group and the MPLS LDP Notifications Group. The MPLS LDP General Group and the MPLS LDP Notifications Group should always be supported. The MPLS LDP Generic Group is specific to Generic labels and should be supported only if LDP is using Generic Labels. The MPLS LDP ATM Group is specific to ATM and should be supported only if LDP is using ATM. Likewise, the MPLS LDP Frame Relay group is specific to Frame Relay and should be supported only if LDP is using Frame Relay. The MPLS LDP Mapping group should be supported if and only if the tables, mplsInSegmentTable, mplsOutSegmentTable and mplsXCTable from the LSR MIB are supported. 3.6. The MPLS LDP General Group This group contains information about the specific LDP Entities which are associated with this agent. Each LSR must have at least one LDP Entity. 3.6.1. The LDP Entity Table The LDP Entity Table provides a way to configure the LSR for using LDP. There must be at least one LDP Entity for the LSR to support Expires February 2002 [Page 6] INTERNET-DRAFT MPLS LDP MIB August 2001 LDP. Each entry/row in this table represents a single LDP Entity. 3.6.2. Changing Values After Session Establishment According to the LDP specification [18] there is no way to manually modify a session once session initialization starts. One way to manually modify a session's parameters is by using SNMP to change the MIB objects related to that session. Please note special care should be taken if MIB objects which are used in the MPLS LDP Session Initialization need to be modified. If the modification of any of these MIB variables takes place anytime after the start of session intialization, then the entire session must be halted. Any information learned by that session must be discarded. The objects should then be modified, and session initialization started. For example, assume that a user wishes to change the configuration of a Label Range which is used by a Session that has already been established. The user should change the mplsLdpEntityAdminStatus to "disable(2)". Setting the mplsLdpEntityAdminStatus to "disable(2)" will cause the session to be torn down and all LSPs established due to that session will also be torn down. Also, all information related to that session should be removed from this MIB, and if the LSR MIB is implemented and the optional Mapping Table objects are implemented, then all information related to the LSPs in this session should be removed from these MIBs. [For more information please see the section on "The Mapping Tables".] At this point, the user could modify the Label Range. Lastly, the user should set the mplsLdpEntityAdminStatus to "enable(1)". At this point session initialization should occur. The LDP Entity goes through the Session Initialization in order to communicate the new Label Ranges to the Peer and establish new LSPs. 3.6.3. mplsLdpEntityAdminStatus and mplsLdpEntityRowStatus The mplsLdpEntityAdminStatus object could be viewed as having a subset of the functionality of the mplsLdpEntityRowStatus object. For example, the AdminStatus object has states of enable(1) and disable(2). Setting the mplsLdpEntityAdminStatus object to disable(2) and setting the mplsLdpEntityRowStatus object to notInService(2) are functionally the same. The motivation behind keeping the mplsLdpEntityAdminStatus object is that there could be situations where a user would be given write permission to the mplsLdpEntityAdminStatus object, but would not be given write permission to the mplsLdpEntityRowStatus object. Having write permission to the mplsLdpEntityRowStatus object would mean that a user would be able to destroy a row. This was the motivation for Expires February 2002 [Page 7] INTERNET-DRAFT MPLS LDP MIB August 2001 keeping the two objects. 3.6.4. The LDP Entity Generic Objects The mplsLdpEntityConfGenericLabelRangeTable is for configuring LDP for using Generic Labels ranges. Although the LDP Specification does not provide a way for configuring Label Ranges for Generic Labels, the MIB does provide a way to reserve a range of generic labels because this may be useful for LDP implementations which deploy generic labels. 3.6.5. The LDP Entity ATM Objects There exists two tables to configure LDP for using ATM. These tables are the mplsLdpEntityAtmParmsTable and the mplsLdpEntityConfAtmLabelRangeTable. The mplsLdpEntityAtmParmsTable provides a way to configure information which would be contained in the 'Optional Parameter' portion of an LDP PDU Initialization Message. The mplsLdpEntityConfAtmLabelRangeTable provides a way to configure information which would be contained in the 'ATM Label Range Components portion of an LDP PDU Intialization Message, see [30] and [18]. 3.6.6. The LDP Entity Frame Relay Objects There exists two tables to configure LDP for using Frame Relay. These tables are the mplsLdpEntityFrameRelayParmsTable and the mplsLdpEntityConfFrLabelRangeTable. The mplsLdpEntityFrameRelayParmsTable provides a way to configure information which would be contained in the 'Optional Parameter' portion of an LDP PDU Initialization Message. The mplsLdpEntityConfFrLabelRangeTable provides a way to configure information which would be contained in the Frame Relay Label Range Components portion of an LDP PDU Intialization Message, see [32] and [18]. 3.6.7. The LDP Entity Statistics Table The mplsLpdEntityStatsTable is a read-only table which contains statistical information related to failed attempts to establish sessions. Each row in this table is related to a single LDP entity Expires February 2002 [Page 8] INTERNET-DRAFT MPLS LDP MIB August 2001 and this table AUGMENTS an mplsLdpEntityEntry. This table could be used to give insight into how to reconfigure values so that a session could be successfully established. For example, if the mpslLdpSessionRejectedLabelRangeErrors Counter object was increasing, then this would indicate that the label range may need to be adjusted. 3.6.8. The LDP Peer Table The LDP Peer Table is a read-only table which contains information about LDP Peers known to LDP Entities. A row in this table is related to one or more rows in the Hello Adjacency Table and related to a single row in the Session Table. The values in the Peer table are relevant to a Peer and may or may not be the same values used in the session. For example, the Peer's PathLimit information is learned from the session initialization phase. The actual value for the PathVectorLimit is the Peer's value and may not be part of the session. There could be a mismatch in this value between the Entity and the Peer. In the event of a mismatch, then the session will use the PathLimit set by the Entity (and not the Peer). A separate table allows for a more comprehensive and coherent MIB model. 3.6.9. The LDP Hello Adjacencies Table This is a table of all adjacencies between all LDP Entities and all LDP Peers. A Session may have one or more adjacencies. 3.6.10. The LDP Session Table The LDP Session Table is a read-only table. Each entry in this table represents a single session between an LDP Entity and a Peer. The mplsLdpPeerEntry AUGMENTS entries in this table. 3.6.11. The LDP ATM Session Table The MPLS LDP ATM Session Table is a read-only table which contains session information specific to ATM. 3.6.12. The LDP Frame Relay Session Table The MPLS LDP Frame Relay Session Table is a read-only table which contains session information specific to Frame Relay. Expires February 2002 [Page 9] INTERNET-DRAFT MPLS LDP MIB August 2001 3.6.13. The LDP Session Statistics Table The MPLS LDP Session Stats Table is a read-only table which contains statistical information on sessions. 3.6.14. The LDP Session Peer Address Table The MPLS LDP Session Peer Address Table is a table which extends the mplsLdpSessionTable. This table is a read-only table which stores Addresses learned after session initialization via Address Message advertisement. 3.6.15. The Mapping Tables The Label Information Base (LIB) contains information about labels learned by the LSR. The LIB for LDP, CR-LDP and MPLS-RSVP (i.e. all currently defined MPLS protocols) is represented in the LSR MIB [23]. The LIB is represented by the LSR MIB's mplsXCTable (mpls Cross Connect Table), mplsInSegmentTable (mpls In Segment (ingress label) Table) and the mplsOutSegmentTable (mpls Out Segment (egress label) Table). The mplsXCTable models the cross-connection of the ingress label with a specific egress-label. The mplsInSegmentTable stores the ingress label's information, and the mplsOutSegmentTable stores the egress label's information. The LDP Session that created the LSP and the LSP's (ingress label, egress label) pair along with other information is contained in the LSR MIB's mplsXCTable, the mplsInSegmentTable and the mplsOutSegmentTable. In order to utilize the LSR MIB's mplsXCTable, mplsInSegmentTable and mplsOutSegmentTable for LDP sessions, there needed to be a mechanism to associate (or map) LDP sessions with LDP LSPs created as a result of those LDP sessions. The mapping tables in this MIB (mplsLdpSesInLabelMapTable, mplsLdpSesOutLabelMapTable and mplsLdpSesXCMapTable) are used to associate LDP LSP information in this MIB, with the relevant entries in the LSR MIB. The mplsInSegmentTable, the mplsOutSegmentTable and the mplsXCTable in the LSR MIB could contain rows which were created as a result of an LDP LSPs. Three mapping tables were added to this MIB to map LDP Sessions to these tables in the LSR MIB. These mapping tables are described in the next few subsections. Please note, these mapping tables are optional and need only to be implemented if the mplsInSegmentTable, mplsOutSegmentTable and mplsXCTable from the LSR MIB are implemented. In order to expedite development, these mapping objects have been Expires February 2002 [Page 10] INTERNET-DRAFT MPLS LDP MIB August 2001 made optional in the conformance section of the MIB. As discussed in the section, "Changing Values after Session Establishment", if a session is torn down, then all the information related to this session, must be removed from the both LDP MIB and, if implemented, from the LSR MIB. 3.6.15.1. The LDP Session In Label Map Table The mplsLdpSesInLabelMapTable provides a way to map LDP LSPs in the LSR MIB's mplsInSegmentTable to the LDP session which created them in this MIB's mplsLdpSessionTable. When a session is torn down, the mapping table, mplsLdpSesInLabelMapTable, provides a way to clean up the related LDP entries in the mplsInSegmentTable. If an LSP is terminated on this LSR then there will be an entry in the mapping table which maps the session and the entry in the mplsInSegmentTable. Please note, there may be entries which are also effected by session teardown in the mplsXCTable. (The relationship between the mplsInSegmentTable and the mplsXCTable and cleanup scenarios will need to be handled and are outside of the scope of this MIB.) This table is optional and only needs to be implemented if the LSR MIB's mplsInSegmentTable and/or mplsXCTable are implemented. 3.6.15.2. The LDP Session Out Label Map Table The mplsLdpSesOutLabelMapTable provides a way to map a LDP LSPs in the LSR MIB's mplsOutSegmentTable to the LDP session which created them in this MIB's mplsLdpSessionTable. When a session is torn down, the mapping table, mplsLdpSesOutLabelMapTable, provides a way to clean up the related LDP entries in the mplsOutSegmentTable. If an LSP is created by this LSR then there will be an entry in this table which maps the session and the entry in the mplsOutSegmentTable. Please note, there may be entries which are also effected by session teardown in the mplsXCTable. (The relationship between the mplsOutSegmentTable and the mplsXCTable and cleanup scenarios will need to be handled and are outside the scope of this MIB.) This table is optional and only needs to be implemented if the LSR MIB's mplsOutSegmentTable and/or mplsXCTable are implemented. 3.6.15.3. The LDP Session XC Map Table The mplsLdpSesXCMapTable provides a way to map LDP LSPs in the LSR MIB's mplsXCTable to the LDP session which created them in this MIB's mplsLdpSessionTable. When a session is torn down, the mapping table, mplsLdpSesXCMapTable, provides a way to clean up the related LDP Expires February 2002 [Page 11] INTERNET-DRAFT MPLS LDP MIB August 2001 entries in the mplsXCTable. If an LSP is cross-connected on this LSR, then there will be an entry in this mapping table which maps the session and the entry in the mplsXCTable. Please note, only true cross-connects are represented in the mplsLdpSesXCMapTable. This table is optional and only needs to be implemented if the LSR MIB's mplsXCTable is implemented. 3.6.16. The FEC Table The FEC Table is a table which contains FEC (Forwarding Equivalence Class) information. Each entry/row represents a single FEC Element. There is also a FEC Mapping table which maps FECs associated with the Cross-connects. 3.7. The LDP Notifications Group 3.7.1. LDP Notifications Currently, there are several notifications which are specific for LDP. These are described in this section. The mplsLdpInitSesThresholdExceeded notification indicates to the operator that there may be a misconfigured mplsLdpEntityEntry because the session associated with this Entity is not being established, and the Entity keeps trying to establish the session. A side effect of this situation is that a row in the mplsLdpSessionTable may not be reaching the operational state as indicated by the mplsLdpSesState object. If the value of mplsLdpEntityInitSesThreshold is 0 (zero) then this is equal to specifying the value of inifinity for the threshold, and the mplsLdpInitSesThresholdExceeded Trap will never be sent. The object, mplsLdpEntityPVLMisTrapEnabled is used to enable or disable the sending of the mplsLdpPVLMismatch trap. If enabled, then this trap is sent when there is a mismatch in the Path Vector Limits between the Entity and Peer during session initialization between that Entity and that Peer. In this situation a session could still be established between that entity and that peer. The session uses the value which is configured as the Entity's Path Vector Limit. However, a trap should be sent to indicate that a mismatch occurred. For further details, please see Section 3.5.3 of the LDP Specification [18]. The object, mplsLdpSesUpDownTrapEnable is used to enable or disable the sending of the mplsLdpSessionUp and mplsLdpSessionDown traps. If enabled, then these traps are sent when there is an appropriate Expires February 2002 [Page 12] INTERNET-DRAFT MPLS LDP MIB August 2001 change in the mplsLdpSesState object, e.g. when sessions change state (Up to Down for the mplsLdpSessionDown trap, or Down to Up for the mplsLdpSessionUp trap). 4. MPLS Label Distribution Protocol MIB Definitions MPLS-LDP-MIB DEFINITIONS ::= BEGIN IMPORTS OBJECT-TYPE, MODULE-IDENTITY, NOTIFICATION-TYPE, transmission, Integer32, Counter32, Unsigned32 FROM SNMPv2-SMI MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP FROM SNMPv2-CONF RowStatus, TimeInterval, TruthValue, TimeStamp, StorageType FROM SNMPv2-TC InterfaceIndex, InterfaceIndexOrZero FROM IF-MIB AtmVpIdentifier FROM ATM-TC-MIB AddressFamilyNumbers FROM IANA-ADDRESS-FAMILY-NUMBERS-MIB MplsAtmVcIdentifier, MplsLabel, MplsLdpGenAddr, MplsLdpIdentifier, MplsLdpLabelTypes, MplsLsrIdentifier FROM MPLS-TC-MIB ; mplsLdpMIB MODULE-IDENTITY LAST-UPDATED "200108161200Z" -- August 16, 2001 ORGANIZATION "Multiprotocol Label Switching (mpls) Working Group" CONTACT-INFO "Joan Cucchiara (jcucchiara@crescentnetworks.com) Crescent Networks Hans Sjostrand (hans@ipunplugged.com) ipUnplugged James V. Luciani (jluciani@crescentnetworks.com) Crescent Networks Working Group Chairs: George Swallow, email: swallow@cisco.com Vijay Srinivasan, email: vijay@cosinecom.com Expires February 2002 [Page 13] INTERNET-DRAFT MPLS LDP MIB August 2001 MPLS Working Group, email: mpls@uu.net " DESCRIPTION "This MIB contains managed object definitions for the 'Multiprotocol Label Switching, Label Distribution Protocol, LDP' document." ::= { mplsMIB XXXX} -- to be assigned --**************************************************************** mplsMIB OBJECT IDENTIFIER ::= { transmission xxxx } mplsLdpObjects OBJECT IDENTIFIER ::= { mplsLdpMIB 1 } mplsLdpNotifications OBJECT IDENTIFIER ::= { mplsLdpMIB 2 } mplsLdpConformance OBJECT IDENTIFIER ::= { mplsLdpMIB 3 } --**************************************************************** -- MPLS LDP Objects --**************************************************************** mplsLdpLsrObjects OBJECT IDENTIFIER ::= { mplsLdpObjects 1 } mplsLdpEntityObjects OBJECT IDENTIFIER ::= { mplsLdpObjects 2 } -- -- The MPLS Label Distribution Protocol's -- Label Switch Router Objects -- mplsLdpLsrId OBJECT-TYPE SYNTAX MplsLsrIdentifier MAX-ACCESS read-only STATUS current DESCRIPTION "The LSR's Identifier." ::= { mplsLdpLsrObjects 1 } mplsLdpLsrLoopDetectionCapable OBJECT-TYPE SYNTAX INTEGER { none(1), other(2), hopCount(3), pathVector(4), hopCountAndPathVector(5) } MAX-ACCESS read-only STATUS current DESCRIPTION "A indication of whether this Expires February 2002 [Page 14] INTERNET-DRAFT MPLS LDP MIB August 2001 Label Switch Router supports loop detection. none(1) -- Loop Detection is not supported on this LSR. other(2) -- Loop Detection is supported but by a method other than those listed below. hopCount(3) -- Loop Detection is supported by Hop Count only. pathVector(4) -- Loop Detection is supported by Path Vector only. hopCountAndPathVector(5) -- Loop Detection is supported by both Hop Count And Path Vector. Since Loop Detection is determined during Session Initialization, an individual session may not be running with loop detection. This object simply gives an indication of whether or not the LSR has the ability to support Loop Detection and which types." ::= { mplsLdpLsrObjects 2 } -- -- The MPLS Label Distribution Protocol Entity Objects -- mplsLdpEntityIndexNext OBJECT-TYPE SYNTAX Unsigned32 (0..4294967295) MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains an appropriate value to be used for mplsLdpEntityIndex when creating entries in the mplsLdpEntityTable. The value 0 indicates that no unassigned entries are available. To obtain the mplsLdpEntityIndex value for a new entry, the manager issues a management protocol retrieval operation to obtain the current value of this object. After each retrieval, the agent should modify the value to the next unassigned index." ::= { mplsLdpEntityObjects 1 } Expires February 2002 [Page 15] INTERNET-DRAFT MPLS LDP MIB August 2001 mplsLdpEntityTable OBJECT-TYPE SYNTAX SEQUENCE OF MplsLdpEntityEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains information about the MPLS Label Distribution Protocol Entities which exist on this Label Switch Router (LSR)." ::= { mplsLdpEntityObjects 2 } mplsLdpEntityEntry OBJECT-TYPE SYNTAX MplsLdpEntityEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in this table represents an LDP entity. An entry can be created by a network administrator or by an SNMP agent as instructed by LDP." INDEX { mplsLdpEntityLdpId, mplsLdpEntityIndex } ::= { mplsLdpEntityTable 1 } MplsLdpEntityEntry ::= SEQUENCE { mplsLdpEntityLdpId MplsLdpIdentifier, mplsLdpEntityIndex Unsigned32, mplsLdpEntityProtocolVersion Integer32, mplsLdpEntityAdminStatus INTEGER, mplsLdpEntityOperStatus INTEGER, mplsLdpEntityTcpDscPort Unsigned32, mplsLdpEntityUdpDscPort Unsigned32, mplsLdpEntityMaxPduLength Unsigned32, mplsLdpEntityKeepAliveHoldTimer Integer32, mplsLdpEntityHelloHoldTimer Integer32, mplsLdpEntityInitSesThreshold Integer32, mplsLdpEntityLabelDistMethod INTEGER, mplsLdpEntityLabelRetentionMode INTEGER, mplsLdpEntityPVLMisTrapEnable INTEGER, mplsLdpEntityPVL Integer32, mplsLdpEntityHopCountLimit Integer32, mplsLdpEntityTargPeer TruthValue, mplsLdpEntityTargPeerAddrType AddressFamilyNumbers, mplsLdpEntityTargPeerAddr MplsLdpGenAddr, mplsLdpEntityOptionalParameters MplsLdpLabelTypes, mplsLdpEntityDiscontinuityTime TimeStamp, mplsLdpEntityStorType StorageType, mplsLdpEntityRowStatus RowStatus } mplsLdpEntityLdpId OBJECT-TYPE SYNTAX MplsLdpIdentifier Expires February 2002 [Page 16] INTERNET-DRAFT MPLS LDP MIB August 2001 MAX-ACCESS not-accessible STATUS current DESCRIPTION "The LDP identifier." REFERENCE "LDP Specification, Section on LDP Identifiers." ::= { mplsLdpEntityEntry 1 } mplsLdpEntityIndex OBJECT-TYPE SYNTAX Unsigned32 (1..4294967295) MAX-ACCESS not-accessible STATUS current DESCRIPTION "This index is used as a secondary index to uniquely identify this row. Before creating a row in this table, the 'mplsLdpEntityIndexNext' object should be retrieved. That value should be used for the value of this index when creating a row in this table. (NOTE: if a value of zero (0) is retrieved, that indicates that no rows can be created in this table at this time. A secondary index (this object) is meaningful to some but not all, LDP implementations. For example in an LDP implementation which uses PPP would use this index to differentiate PPP sub-links." ::= { mplsLdpEntityEntry 2 } mplsLdpEntityProtocolVersion OBJECT-TYPE SYNTAX Integer32(1..65535) MAX-ACCESS read-create STATUS current DESCRIPTION "The version number of the LDP protocol which will be used in the session initialization message. Section 3.5.3 in the LDP Specification specifies that the version of the LDP protocol is negotiated during session establishment. The value of this object represents the value that is sent in the initialization message." REFERENCE "See RFC 3036, LDP Specification, Section 3.5.3 Initialization Message." DEFVAL { 1 } ::= { mplsLdpEntityEntry 3 } mplsLdpEntityAdminStatus OBJECT-TYPE SYNTAX INTEGER { enable(1), disable(2) Expires February 2002 [Page 17] INTERNET-DRAFT MPLS LDP MIB August 2001 } MAX-ACCESS read-create STATUS current DESCRIPTION "The administrative status of this LDP Entity. If this object is changed from 'enable' to 'disable' and this entity has already attempted to establish contact with a Peer (which implies that the 'mplsLdpEntityRowStatus' object has been set to 'active'), then all contact with that Peer is lost and all information from that Peer needs to be removed from the MIB. At this point the user is able to change values which are related to this entity. When the admin status is set back to 'up', then this Entity will attempt to establish new sessions with the Peer." DEFVAL { enable } ::= { mplsLdpEntityEntry 4 } mplsLdpEntityOperStatus OBJECT-TYPE SYNTAX INTEGER { unknown(0), enabled(1), disabled(2) } MAX-ACCESS read-only STATUS current DESCRIPTION "The operational status of this LDP Entity." ::= { mplsLdpEntityEntry 5 } mplsLdpEntityTcpDscPort OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-create STATUS current DESCRIPTION "The TCP Discovery Port for LDP. The default value is the well-known value of this port." DEFVAL { 646 } ::= { mplsLdpEntityEntry 6 } mplsLdpEntityUdpDscPort OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-create STATUS current Expires February 2002 [Page 18] INTERNET-DRAFT MPLS LDP MIB August 2001 DESCRIPTION "The UDP Discovery Port for LDP. The default value is the well-known value for this port." DEFVAL { 646 } ::= { mplsLdpEntityEntry 7 } mplsLdpEntityMaxPduLength OBJECT-TYPE SYNTAX Unsigned32 (0..65535) UNITS "octets" MAX-ACCESS read-create STATUS current DESCRIPTION "The maximum PDU Length that is sent in the Common Session Parameters of an Initialization Message. A value of 255 or less specifies the default maximum length of 4096 octets." REFERENCE "See Section on the 'Initialization Message' in the LDP Specification." DEFVAL { 4096 } ::= { mplsLdpEntityEntry 8 } mplsLdpEntityKeepAliveHoldTimer OBJECT-TYPE SYNTAX Integer32 (1..65535) UNITS "seconds" MAX-ACCESS read-create STATUS current DESCRIPTION "The two octet value which is the proposed keep alive hold timer for this LDP Entity." DEFVAL { 40 } ::= { mplsLdpEntityEntry 9 } mplsLdpEntityHelloHoldTimer OBJECT-TYPE SYNTAX Integer32 (0..65535) UNITS "seconds" MAX-ACCESS read-create STATUS current DESCRIPTION "The two octet value which is the proposed Hello hold timer for this LDP Entity. A value of 0 means use the default, which is 15 seconds for Link Hellos and 45 seconds for Targeted Hellos. A value of 65535 means infinite." DEFVAL { 0 } ::= { mplsLdpEntityEntry 10 } mplsLdpEntityInitSesThreshold OBJECT-TYPE SYNTAX Integer32 Expires February 2002 [Page 19] INTERNET-DRAFT MPLS LDP MIB August 2001 MAX-ACCESS read-create STATUS current DESCRIPTION "When attempting to establish a session with a given Peer, the given LDP Entity should send out the SNMP notification, 'mplsLdpInitSesThresholdExceeded', when the number of Session Initialization messages sent exceeds this threshold. The notification is used to notify an operator when this Entity and its Peer are possibily engaged in an endless sequence of messages as each NAKs the other's Initialization messages with Error Notification messages. Setting this threshold which triggers the notification is one way to notify the operator. A value of 0 (zero) for this object indicates that the threshold is infinity, and the SNMP notification will never be sent when the value of this object is 0 (zero)." REFERENCE "RFC 3036, Section 2.5.3 Session Initialization." DEFVAL { 8 } ::= { mplsLdpEntityEntry 11 } mplsLdpEntityLabelDistMethod OBJECT-TYPE SYNTAX INTEGER { downstreamOnDemand(1), downstreamUnsolicited(2) } MAX-ACCESS read-create STATUS current DESCRIPTION "For any given LDP session, the method of label distribution must be specified." ::= { mplsLdpEntityEntry 12 } mplsLdpEntityLabelRetentionMode OBJECT-TYPE SYNTAX INTEGER { conservative(1), liberal(2) } MAX-ACCESS read-create STATUS current DESCRIPTION "The LDP Entity can be configured to use either conservative or liberal label retention mode. Expires February 2002 [Page 20] INTERNET-DRAFT MPLS LDP MIB August 2001 If the value of this object is conservative(1) then advertized label mappings are retained only if they will be used to forward packets, i.e. if label came from a valid next hop. If the value of this object is liberal(2) then all advertized label mappings are retained whether they are from a valid next hop or not." ::= { mplsLdpEntityEntry 13 } mplsLdpEntityPVLMisTrapEnable OBJECT-TYPE SYNTAX INTEGER { enabled(1), disabled(2) } MAX-ACCESS read-create STATUS current DESCRIPTION "Indicates whether the 'mplsLdpPVLMismatch' trap should be generated. If the value of this object is 'enabled(1)' then the trap will generated. If the value of this object is 'disabled(2)' then the trap will not be generated. The DEFVAL is set to 'enabled(1)'." DEFVAL { enabled } ::= { mplsLdpEntityEntry 14 } mplsLdpEntityPVL OBJECT-TYPE SYNTAX Integer32 (0..255) MAX-ACCESS read-create STATUS current DESCRIPTION "If the value of this object is 0 (zero) then Loop Dection for Path Vectors is disabled. Otherwise, if this object has a value greater than zero, then Loop Dection for Path Vectors is enabled, and the Path Vector Limit is this value. Also, the value of the object, 'mplsLdpLsrLoopDetectionCapable', must be set to either 'pathVector(4)' or 'hopCountAndPathVector(5)', if this object has a value greater than 0 (zero)." ::= { mplsLdpEntityEntry 15 } mplsLdpEntityHopCountLimit OBJECT-TYPE SYNTAX Integer32 (0..255) Expires February 2002 [Page 21] INTERNET-DRAFT MPLS LDP MIB August 2001 MAX-ACCESS read-create STATUS current DESCRIPTION "If the value of this object is 0 (zero), then Loop Detection using Hop Counters is disabled. If the value of this object is greater than 0 (zero) then Loop Detection using Hop Counters is enabled, and this object specifies this Entity's maximum allowable value for the Hop Count. Also, the value of the object mplsLdpLsrLoopDetectionCapable must be set to either 'hopCount(3)' or 'hopCountAndPathVector(5)' if this object has a value greater than 0 (zero)." ::= { mplsLdpEntityEntry 16 } mplsLdpEntityTargPeer OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "If this LDP entity uses targeted peer then set this to true." DEFVAL { false } ::= { mplsLdpEntityEntry 17 } mplsLdpEntityTargPeerAddrType OBJECT-TYPE SYNTAX AddressFamilyNumbers MAX-ACCESS read-create STATUS current DESCRIPTION "The type of the internetwork layer address used for the Extended Discovery. This object indicates how the value of mplsLdpEntityTargPeerAddr is to be interpreted." ::= { mplsLdpEntityEntry 18 } mplsLdpEntityTargPeerAddr OBJECT-TYPE SYNTAX MplsLdpGenAddr MAX-ACCESS read-create STATUS current DESCRIPTION "The value of the internetwork layer address used for the Extended Discovery." ::= { mplsLdpEntityEntry 19 } mplsLdpEntityOptionalParameters OBJECT-TYPE Expires February 2002 [Page 22] INTERNET-DRAFT MPLS LDP MIB August 2001 SYNTAX MplsLdpLabelTypes MAX-ACCESS read-create STATUS current DESCRIPTION "Specifies the optional parameters for the LDP Initialization Message. If the value is generic(1) then no optional parameters will be sent in the LDP Initialization message associated with this Entity. If the value is atmParameters(2) then a row must be created in the mplsLdpEntityAtmParms Table, which corresponds to this entry. If the value is frameRelayParameters(3) then a row must be created in the mplsLdpEntityFrameRelayParms Table, which corresponds to this entry." ::= { mplsLdpEntityEntry 20 } mplsLdpEntityDiscontinuityTime 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 entity's counters suffered a discontinuity. The relevant counters are the specific instances associated with this entity of any Counter32, or Counter64 object contained in the 'mplsLdpEntityStatsTable'. If no such discontinuities have occurred since the last re-initialization of the local management subsytem, then this object contains a zero value." ::= { mplsLdpEntityEntry 21 } mplsLdpEntityStorType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "The storage type for this entry." ::= { mplsLdpEntityEntry 22 } mplsLdpEntityRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION Expires February 2002 [Page 23] INTERNET-DRAFT MPLS LDP MIB August 2001 "An object that allows entries in this table to be created and deleted using the RowStatus convention. Once the 'mplsLdpEntityAdminStatus' object has the value of 'up' and this object has the value of 'active' then the Entity will atttempt to contact an LDP Peer. If the value of this object is changed to 'notInService', then the Entity looses contact with the LDP Peer and all information related to that Peer must be removed from the MIB. This has the same effect as changing 'mplsLdpEntityAdminStatus' from 'enable' to 'disable'. When this object is set to 'active' and the value of the 'mplsLdpEntityAdminStatus' is 'enable' then this Entity will attempt to contact the Peer and establish new sessions." ::= { mplsLdpEntityEntry 23 } -- -- Ldp Entity Objects for Generic Labels -- mplsLdpEntityGenericObjects OBJECT IDENTIFIER ::= { mplsLdpEntityObjects 3 } -- -- The MPLS LDP Entity Configurable Generic Label Range Table -- mplsLdpEntityConfGenLRTable OBJECT-TYPE SYNTAX SEQUENCE OF MplsLdpEntityConfGenLREntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The MPLS LDP Entity Configurable Generic Label Range Table. The purpose of this table is to provide a mechanism for specifying a contiguous range of generic labels, or a 'label range' for LDP Entities. LDP Entities which use Generic Labels must have at least one entry in this table." ::= { mplsLdpEntityGenericObjects 1 } mplsLdpEntityConfGenLREntry OBJECT-TYPE SYNTAX MplsLdpEntityConfGenLREntry MAX-ACCESS not-accessible Expires February 2002 [Page 24] INTERNET-DRAFT MPLS LDP MIB August 2001 STATUS current DESCRIPTION "A row in the LDP Entity Configurable Generic Label Range Table. One entry in this table contains information on a single range of labels represented by the configured Upper and Lower Bounds pairs. NOTE: there is NO corresponding LDP message which relates to the information in this table, however, this table does provide a way for a user to 'reserve' a generic label range. NOTE: The ranges for a specific LDP Entity are UNIQUE and non-overlapping. A row will not be created unless a unique and non-overlapping range is specified." INDEX { mplsLdpEntityLdpId, mplsLdpEntityIndex, mplsLdpEntityConfGenLRMin, mplsLdpEntityConfGenLRMax } ::= { mplsLdpEntityConfGenLRTable 1 } MplsLdpEntityConfGenLREntry ::= SEQUENCE { mplsLdpEntityConfGenLRMin Unsigned32, mplsLdpEntityConfGenLRMax Unsigned32, mplsLdpEntityConfGenIfIndxOrZero InterfaceIndexOrZero, mplsLdpEntityConfGenLRStorType StorageType, mplsLdpEntityConfGenLRRowStatus RowStatus } mplsLdpEntityConfGenLRMin OBJECT-TYPE SYNTAX Unsigned32(0..1048575) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The minimum label configured for this range." ::= { mplsLdpEntityConfGenLREntry 1 } mplsLdpEntityConfGenLRMax OBJECT-TYPE SYNTAX Unsigned32(0..1048575) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The maximum label configured for this range." ::= { mplsLdpEntityConfGenLREntry 2 } mplsLdpEntityConfGenIfIndxOrZero OBJECT-TYPE Expires February 2002 [Page 25] INTERNET-DRAFT MPLS LDP MIB August 2001 SYNTAX InterfaceIndexOrZero MAX-ACCESS read-create STATUS current DESCRIPTION "This value represents either the InterfaceIndex of the 'ifLayer' where these Generic Label would be created, or 0 (zero). The value of zero means that the InterfaceIndex is not known. For example, if the InterfaceIndex is created subsequent to the Generic Label's creation, then it would not be known. However, if the InterfaceIndex is known, then it must be represented by this value. If an InterfaceIndex becomes known, then the network management entity (e.g. SNMP agent) responsible for this object MUST change the value from 0 (zero) to the value of the InterfaceIndex." ::= { mplsLdpEntityConfGenLREntry 3 } mplsLdpEntityConfGenLRStorType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "The storage type for this entry." ::= { mplsLdpEntityConfGenLREntry 4 } mplsLdpEntityConfGenLRRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "An object that allows entries in this table to be created and deleted using the RowStatus convention. There must exist at least one entry in this table for every LDP Entity that has a generic label configured. NOTE: This RowStatus object should have the same value of the 'mplsLdpEntityRowStatus' related to this entry." ::= { mplsLdpEntityConfGenLREntry 5 } -- -- Ldp Entity Objects for ATM -- mplsLdpEntityAtmObjects OBJECT IDENTIFIER ::= Expires February 2002 [Page 26] INTERNET-DRAFT MPLS LDP MIB August 2001 { mplsLdpEntityObjects 4 } mplsLdpEntityAtmParmsTable OBJECT-TYPE SYNTAX SEQUENCE OF MplsLdpEntityAtmParmsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains information about the ATM specific information which could be used in the 'Optional Parameters' and other ATM specific information." ::= { mplsLdpEntityAtmObjects 1 } mplsLdpEntityAtmParmsEntry OBJECT-TYPE SYNTAX MplsLdpEntityAtmParmsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in this table represents the ATM parameters and ATM information for this LDP entity." INDEX { mplsLdpEntityLdpId, mplsLdpEntityIndex } ::= { mplsLdpEntityAtmParmsTable 1 } MplsLdpEntityAtmParmsEntry ::= SEQUENCE { mplsLdpEntityAtmIfIndxOrZero InterfaceIndexOrZero, mplsLdpEntityAtmMergeCap INTEGER, mplsLdpEntityAtmLRComponents Unsigned32, mplsLdpEntityAtmVcDirectionality INTEGER, mplsLdpEntityAtmLsrConnectivity INTEGER, mplsLdpEntityDefaultControlVpi AtmVpIdentifier, mplsLdpEntityDefaultControlVci MplsAtmVcIdentifier, mplsLdpEntityUnlabTrafVpi AtmVpIdentifier, mplsLdpEntityUnlabTrafVci MplsAtmVcIdentifier, mplsLdpEntityAtmStorType StorageType, mplsLdpEntityAtmRowStatus RowStatus } mplsLdpEntityAtmIfIndxOrZero OBJECT-TYPE SYNTAX InterfaceIndexOrZero MAX-ACCESS read-create STATUS current DESCRIPTION "This value represents either the InterfaceIndex of the 'ifLayer' where the ATM Labels 'owned' by this entry were created, or 0 (zero). The value of zero means that the InterfaceIndex is not known. For example, Expires February 2002 [Page 27] INTERNET-DRAFT MPLS LDP MIB August 2001 if the InterfaceIndex is created subsequent to the ATM Label's creation, then it would not be known. However, if the InterfaceIndex is known, then it must be represented by this value. If an InterfaceIndex becomes known, then the network management entity (e.g. SNMP agent) responsible for this object MUST change the value from 0 (zero) to the value of the InterfaceIndex. If an ATM Label is being used in forwarding data, then the value of this object MUST be the InterfaceIndex." ::= { mplsLdpEntityAtmParmsEntry 1 } mplsLdpEntityAtmMergeCap OBJECT-TYPE SYNTAX INTEGER { notSupported(0), vcMerge(2) } MAX-ACCESS read-create STATUS current DESCRIPTION "Denotes the Merge Capability of this Entity." ::= { mplsLdpEntityAtmParmsEntry 2 } mplsLdpEntityAtmLRComponents OBJECT-TYPE SYNTAX Unsigned32 (1..65535) MAX-ACCESS read-create STATUS current DESCRIPTION "Number of Label Range Components in the Initialization message. This also represents the number of entries in the mplsLdpEntityConfAtmLRTable which correspond to this entry." ::= { mplsLdpEntityAtmParmsEntry 3 } mplsLdpEntityAtmVcDirectionality OBJECT-TYPE SYNTAX INTEGER { bidirectional(0), unidirectional(1) } MAX-ACCESS read-create STATUS current DESCRIPTION "If the value of this object is 'bidirectional(0)', a given VCI, within a given VPI, is used as a label for both directions independently. If the value of this object is 'unidirectional(1)', a given VCI within a VPI designates one direction." Expires February 2002 [Page 28] INTERNET-DRAFT MPLS LDP MIB August 2001 ::= { mplsLdpEntityAtmParmsEntry 4 } mplsLdpEntityAtmLsrConnectivity OBJECT-TYPE SYNTAX INTEGER { direct(1), indirect(2) } MAX-ACCESS read-create STATUS current DESCRIPTION "The peer LSR may be connected indirectly by means of an ATM VP so that the VPI values may be different on either endpoint so the label MUST be encoded entirely within the VCI field." DEFVAL { direct } ::= { mplsLdpEntityAtmParmsEntry 5 } mplsLdpEntityDefaultControlVpi OBJECT-TYPE SYNTAX AtmVpIdentifier MAX-ACCESS read-create STATUS current DESCRIPTION "The default VPI value for the non-MPLS connection. The default value of this is 0 (zero) but other values may be configured. This object allows a different value to be configured." DEFVAL { 0 } ::= { mplsLdpEntityAtmParmsEntry 6 } mplsLdpEntityDefaultControlVci OBJECT-TYPE SYNTAX MplsAtmVcIdentifier MAX-ACCESS read-create STATUS current DESCRIPTION "The Default VCI value for a non-MPLS connection. The default value of this is 32 but other values may be configured. This object allows a different value to be configured." DEFVAL { 32 } ::= { mplsLdpEntityAtmParmsEntry 7 } mplsLdpEntityUnlabTrafVpi OBJECT-TYPE SYNTAX AtmVpIdentifier MAX-ACCESS read-create STATUS current DESCRIPTION "VPI value of the VCC supporting unlabelled traffic. This non-MPLS connection is used to carry unlabelled (IP) Expires February 2002 [Page 29] INTERNET-DRAFT MPLS LDP MIB August 2001 packets. The default value is the same as the default value of the 'mplsLdpEntityDefaultControlVpi', however another value may be configured." DEFVAL { 0 } ::= { mplsLdpEntityAtmParmsEntry 8 } mplsLdpEntityUnlabTrafVci OBJECT-TYPE SYNTAX MplsAtmVcIdentifier MAX-ACCESS read-create STATUS current DESCRIPTION "VCI value of the VCC supporting unlabelled traffic. This non-MPLS connection is used to carry unlabelled (IP) packets. The default value is the same as the default value of the 'mplsLdpEntityDefaultControlVci', however another value may be configured." DEFVAL { 32 } ::= { mplsLdpEntityAtmParmsEntry 9 } mplsLdpEntityAtmStorType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "The storage type for this entry." ::= { mplsLdpEntityAtmParmsEntry 10 } mplsLdpEntityAtmRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "An object that allows entries in this table to be created and deleted using the RowStatus convention. NOTE: This RowStatus object should have the same value of the 'mplsLdpEntityRowStatus' related to this entry." ::= { mplsLdpEntityAtmParmsEntry 11 } -- -- The MPLS LDP Entity Configurable ATM Label Range Table -- mplsLdpEntityConfAtmLRTable OBJECT-TYPE SYNTAX SEQUENCE OF MplsLdpEntityConfAtmLREntry MAX-ACCESS not-accessible STATUS current DESCRIPTION Expires February 2002 [Page 30] INTERNET-DRAFT MPLS LDP MIB August 2001 "The MPLS LDP Entity Configurable ATM Label Range Table. The purpose of this table is to provide a mechanism for specifying a contiguous range of vpi's with a contiguous range of vci's, or a 'label range' for LDP Entities. LDP Entities which use ATM must have at least one entry in this table." ::= { mplsLdpEntityAtmObjects 2 } mplsLdpEntityConfAtmLREntry OBJECT-TYPE SYNTAX MplsLdpEntityConfAtmLREntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A row in the LDP Entity Configurable ATM Label Range Table. One entry in this table contains information on a single range of labels represented by the configured Upper and Lower Bounds VPI/VCI pairs. These are the same data used in the Initialization Message. NOTE: The ranges for a specific LDP Entity are UNIQUE and non-overlapping. For example, for a specific LDP Entity index, there could be one entry having ConfLowerBound vpi/vci == 0/32, and ConfUpperBound vpi/vci == 0/100, and a second entry for this same interface with ConfLowerBound vpi/vci == 0/101 and ConfUpperBound vpi/vci == 0/200. However, there could not be a third entry with ConfLowerBound vpi/vci == 0/200 and ConfUpperBound vpi/vci == 0/300 because this label range overlaps with the second entry (i.e. both entries now have 0/200). A row will not be created unless a unique and non-overlapping range is specified. Thus, row creation implies a one-shot row creation of LDP EntityID and ConfLowerBound vpi/vci and ConfUpperBound vpi/vci. At least one label range entry for a specific LDP Entity MUST include the default VPI/VCI values denoted in the LDP Entity Table." INDEX { mplsLdpEntityLdpId, mplsLdpEntityIndex, mplsLdpEntityConfAtmLRMinVpi, mplsLdpEntityConfAtmLRMinVci } ::= { mplsLdpEntityConfAtmLRTable 1 } Expires February 2002 [Page 31] INTERNET-DRAFT MPLS LDP MIB August 2001 MplsLdpEntityConfAtmLREntry ::= SEQUENCE { mplsLdpEntityConfAtmLRMinVpi AtmVpIdentifier, mplsLdpEntityConfAtmLRMinVci MplsAtmVcIdentifier, mplsLdpEntityConfAtmLRMaxVpi AtmVpIdentifier, mplsLdpEntityConfAtmLRMaxVci MplsAtmVcIdentifier, mplsLdpEntityConfAtmLRStorType StorageType, mplsLdpEntityConfAtmLRRowStatus RowStatus } mplsLdpEntityConfAtmLRMinVpi OBJECT-TYPE SYNTAX AtmVpIdentifier MAX-ACCESS not-accessible STATUS current DESCRIPTION "The minimum VPI number configured for this range." ::= { mplsLdpEntityConfAtmLREntry 1 } mplsLdpEntityConfAtmLRMinVci OBJECT-TYPE SYNTAX MplsAtmVcIdentifier MAX-ACCESS not-accessible STATUS current DESCRIPTION "The minimum VCI number configured for this range." ::= { mplsLdpEntityConfAtmLREntry 2 } mplsLdpEntityConfAtmLRMaxVpi OBJECT-TYPE SYNTAX AtmVpIdentifier MAX-ACCESS read-create STATUS current DESCRIPTION "The maximum VPI number configured for this range." ::= { mplsLdpEntityConfAtmLREntry 3 } mplsLdpEntityConfAtmLRMaxVci OBJECT-TYPE SYNTAX MplsAtmVcIdentifier MAX-ACCESS read-create STATUS current DESCRIPTION "The maximum VCI number configured for this range." ::= { mplsLdpEntityConfAtmLREntry 4 } mplsLdpEntityConfAtmLRStorType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "The storage type for this entry." ::= { mplsLdpEntityConfAtmLREntry 5 } Expires February 2002 [Page 32] INTERNET-DRAFT MPLS LDP MIB August 2001 mplsLdpEntityConfAtmLRRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "An object that allows entries in this table to be created and deleted using the RowStatus convention. There must exist at least one entry in this table for every LDP Entity that has 'mplsLdpEntityOptionalParameters' object with a value of 'atmSessionParameters'. NOTE: This RowStatus object should have the same value of the 'mplsLdpEntityRowStatus' related to this entry." ::= { mplsLdpEntityConfAtmLREntry 6 } -- -- Ldp Entity Objects for Frame Relay -- mplsLdpEntityFrameRelayObjects OBJECT IDENTIFIER ::= { mplsLdpEntityObjects 5 } mplsLdpEntityFrParmsTable OBJECT-TYPE SYNTAX SEQUENCE OF MplsLdpEntityFrParmsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains information about the Optional Parameters to specify what this Entity is going to specify for Frame Relay specific LDP Intialization Messages." ::= { mplsLdpEntityFrameRelayObjects 1 } mplsLdpEntityFrParmsEntry OBJECT-TYPE SYNTAX MplsLdpEntityFrParmsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in this table represents the Frame Relay optional parameters associated with the LDP entity." INDEX { mplsLdpEntityLdpId, mplsLdpEntityIndex } ::= { mplsLdpEntityFrParmsTable 1 } Expires February 2002 [Page 33] INTERNET-DRAFT MPLS LDP MIB August 2001 MplsLdpEntityFrParmsEntry ::= SEQUENCE { mplsLdpEntityFrIfIndxOrZero InterfaceIndexOrZero, mplsLdpEntityFrMergeCap INTEGER, mplsLdpEntityFrLRComponents Unsigned32, mplsLdpEntityFrLen INTEGER, mplsLdpEntityFrVcDirectionality INTEGER, mplsLdpEntityFrParmsStorType StorageType, mplsLdpEntityFrParmsRowStatus RowStatus } mplsLdpEntityFrIfIndxOrZero OBJECT-TYPE SYNTAX InterfaceIndexOrZero MAX-ACCESS read-create STATUS current DESCRIPTION "This value represents either the InterfaceIndex of the 'ifLayer' where the Frame Relay Labels 'owned' by this entry were created, or 0 (zero). The value of zero means that the InterfaceIndex is not known. For example, if the InterfaceIndex is created subsequent to the Frame Relay Label's creation, then it would not be known. However, if the InterfaceIndex is known, then it must be represented by this value. If an InterfaceIndex becomes known, then the network management entity (e.g. SNMP agent) responsible for this object MUST change the value from 0 (zero) to the value of the InterfaceIndex. If an Frame Relay Label is being used in forwarding data, then the value of this object MUST be the InterfaceIndex." ::= { mplsLdpEntityFrParmsEntry 1 } mplsLdpEntityFrMergeCap OBJECT-TYPE SYNTAX INTEGER { notSupported(0), supported(1) } MAX-ACCESS read-create STATUS current DESCRIPTION "This represents whether or not Frame Relay merge capability is supported." ::= { mplsLdpEntityFrParmsEntry 2 } mplsLdpEntityFrLRComponents OBJECT-TYPE SYNTAX Unsigned32 (1..65535) MAX-ACCESS read-create STATUS current DESCRIPTION "Number of LabelRange Components in the Initialization Expires February 2002 [Page 34] INTERNET-DRAFT MPLS LDP MIB August 2001 message. This also represents the number of entries in the mplsLdpEntityConfFrLRTable which correspond to this entry." ::= { mplsLdpEntityFrParmsEntry 3 } mplsLdpEntityFrLen OBJECT-TYPE SYNTAX INTEGER { tenDlciBits(0), twentyThreeDlciBits(2) } MAX-ACCESS read-create STATUS current DESCRIPTION "This object specifies the DLCI bits." ::= { mplsLdpEntityFrParmsEntry 4 } mplsLdpEntityFrVcDirectionality OBJECT-TYPE SYNTAX INTEGER { bidirectional(0), unidirection(1) } MAX-ACCESS read-create STATUS current DESCRIPTION "If the value of this object is 'bidirectional(0)', then the LSR supports the use of a given DLCI as a label for both directions independently. If the value of this object is 'unidirectional(1)', then the LSR uses the given DLCI as a label in only one direction." ::= { mplsLdpEntityFrParmsEntry 5 } mplsLdpEntityFrParmsStorType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "The storage type for this entry." ::= { mplsLdpEntityFrParmsEntry 6 } mplsLdpEntityFrParmsRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "An object that allows entries in this table to be created and deleted using the RowStatus convention. Expires February 2002 [Page 35] INTERNET-DRAFT MPLS LDP MIB August 2001 NOTE: This RowStatus object should have the same value of the 'mplsLdpEntityRowStatus' related to this entry." ::= { mplsLdpEntityFrParmsEntry 7 } -- -- Frame Relay Label Range Components -- mplsLdpEntityConfFrLRTable OBJECT-TYPE SYNTAX SEQUENCE OF MplsLdpEntityConfFrLREntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains information about the Optional Parameters to specify what this Entity is going to specify for Frame Relay specific LDP Intialization Messages." ::= { mplsLdpEntityFrameRelayObjects 2 } mplsLdpEntityConfFrLREntry OBJECT-TYPE SYNTAX MplsLdpEntityConfFrLREntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in this table represents the Frame Relay optional parameters associated with the LDP entity." INDEX { mplsLdpEntityLdpId, mplsLdpEntityIndex, mplsLdpConfFrMinDlci } ::= { mplsLdpEntityConfFrLRTable 1 } MplsLdpEntityConfFrLREntry ::= SEQUENCE { mplsLdpConfFrMinDlci Integer32, mplsLdpConfFrMaxDlci Integer32, mplsLdpConfFrStorType StorageType, mplsLdpConfFrRowStatus RowStatus } mplsLdpConfFrMinDlci OBJECT-TYPE SYNTAX Integer32(0..4194303) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The lower bound which is supported. This value should be the same as that in the Frame Relay Label Range Component's Minimum DLCI field." ::= { mplsLdpEntityConfFrLREntry 1 } Expires February 2002 [Page 36] INTERNET-DRAFT MPLS LDP MIB August 2001 mplsLdpConfFrMaxDlci OBJECT-TYPE SYNTAX Integer32 (0..4194303) MAX-ACCESS read-create STATUS current DESCRIPTION "The upper bound which is supported. This value should be the same as that in the Frame Relay Label Range Component's Maximum DLCI field." ::= { mplsLdpEntityConfFrLREntry 2 } mplsLdpConfFrStorType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "The storage type for this entry." ::= { mplsLdpEntityConfFrLREntry 3 } mplsLdpConfFrRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "An object that allows entries in this table to be created and deleted using the RowStatus convention. If the value of the object 'mplsLdpEntityOptionalParameters' contains the value of 'frameRelaySessionParameters(3)' then there must be at least one corresponding entry in this table. NOTE: This RowStatus object should have the same value of the 'mplsLdpEntityRowStatus' related to this entry." ::= { mplsLdpEntityConfFrLREntry 4 } -- -- The MPLS LDP Entity Statistics Table -- mplsLdpEntityStatsTable OBJECT-TYPE SYNTAX SEQUENCE OF MplsLdpEntityStatsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION Expires February 2002 [Page 37] INTERNET-DRAFT MPLS LDP MIB August 2001 "This table is a read-only table which augments the mplsLdpEntityTable. The purpose of this table is to keep statistical information about the LDP Entities on the LSR." ::= { mplsLdpEntityObjects 6 } mplsLdpEntityStatsEntry OBJECT-TYPE SYNTAX MplsLdpEntityStatsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A row in this table contains statistical information about an LDP Entity. Some counters contained in a row are for fatal errors received during a former LDP Session associated with this entry. For example, an Ldp Pdu received on a TCP connection during an LDP Session contains a fatal error. That error is counted here, because the session is terminated. If the error is NOT fatal (i.e. and the Session remains), then the error is counted in the mplsLdpSesStatsEntry." AUGMENTS { mplsLdpEntityEntry } ::= { mplsLdpEntityStatsTable 1 } MplsLdpEntityStatsEntry ::= SEQUENCE { mplsLdpAttemptedSessions Counter32, mplsLdpSesRejectedNoHelloErrors Counter32, mplsLdpSesRejectedAdErrors Counter32, mplsLdpSesRejectedMaxPduErrors Counter32, mplsLdpSesRejectedLRErrors Counter32, mplsLdpBadLdpIdentifierErrors Counter32, mplsLdpBadPduLengthErrors Counter32, mplsLdpBadMessageLengthErrors Counter32, mplsLdpBadTlvLengthErrors Counter32, mplsLdpMalformedTlvValueErrors Counter32, mplsLdpKeepAliveTimerExpErrors Counter32, mplsLdpShutdownNotifReceived Counter32, mplsLdpShutdownNotifSent Counter32 } mplsLdpAttemptedSessions OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "A count of the total attempted sessions for this LDP Entity." ::= { mplsLdpEntityStatsEntry 1 } Expires February 2002 [Page 38] INTERNET-DRAFT MPLS LDP MIB August 2001 mplsLdpSesRejectedNoHelloErrors OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "A count of the Session Rejected/No Hello Error Notification Messages sent or received by this LDP Entity." ::= { mplsLdpEntityStatsEntry 2 } mplsLdpSesRejectedAdErrors OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "A count of the Session Rejected/Parameters Advertisement Mode Error Notification Messages sent or received by this LDP Entity." ::= { mplsLdpEntityStatsEntry 3 } mplsLdpSesRejectedMaxPduErrors OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "A count of the Session Rejected/Parameters Max Pdu Length Error Notification Messages sent or received by this LDP Entity." ::= { mplsLdpEntityStatsEntry 4 } mplsLdpSesRejectedLRErrors OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "A count of the Session Rejected/Parameters Label Range Notification Messages sent or received by this LDP Entity." ::= { mplsLdpEntityStatsEntry 5 } mplsLdpBadLdpIdentifierErrors OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object counts the number of Bad LDP Identifier Fatal Errors detected by the session(s) (past and present) associated with this LDP Entity." Expires February 2002 [Page 39] INTERNET-DRAFT MPLS LDP MIB August 2001 REFERENCE "LDP Specification, Section 3.5.1.2." ::= { mplsLdpEntityStatsEntry 6 } mplsLdpBadPduLengthErrors OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object counts the number of Bad Pdu Length Fatal Errors detected by the session(s) (past and present) associated with this LDP Entity." REFERENCE "LDP Specification, Section 3.5.1.2." ::= { mplsLdpEntityStatsEntry 7 } mplsLdpBadMessageLengthErrors OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object counts the number of Bad Message Length Fatal Errors detected by the session(s) (past and present) associated with this LDP Entity." REFERENCE "LDP Specification, Section 3.5.1.2." ::= { mplsLdpEntityStatsEntry 8 } mplsLdpBadTlvLengthErrors OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object counts the number of Bad TLV Length Fatal Errors detected by the session(s) (past and present) associated with this LDP Entity." REFERENCE "LDP Specification, Section 3.5.1.2." ::= { mplsLdpEntityStatsEntry 9 } mplsLdpMalformedTlvValueErrors OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object counts the number of Malformed TLV Value Fatal Errors detected by the session(s) (past and present) associated with this LDP Entity." REFERENCE Expires February 2002 [Page 40] INTERNET-DRAFT MPLS LDP MIB August 2001 "LDP Specification, Section 3.5.1.2." ::= { mplsLdpEntityStatsEntry 10 } mplsLdpKeepAliveTimerExpErrors OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object counts the number of Session Keep Alive Timer Expired Errors detected by the session(s) (past and present) associated with this LDP Entity." REFERENCE "LDP Specification, Section 3.5.1.2." ::= { mplsLdpEntityStatsEntry 11 } mplsLdpShutdownNotifReceived OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object counts the number of Shutdown Notfications received related to session(s) (past and present) associated with this LDP Entity." ::= { mplsLdpEntityStatsEntry 12 } mplsLdpShutdownNotifSent OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object counts the number of Shutdown Notfications sent related to session(s) (past and present) associated with this LDP Entity." ::= { mplsLdpEntityStatsEntry 13 } -- -- The MPLS LDP Peer Table -- mplsLdpSessionObjects OBJECT IDENTIFIER ::= { mplsLdpObjects 3 } mplsLdpPeerTable OBJECT-TYPE SYNTAX SEQUENCE OF MplsLdpPeerEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Information about LDP peers known by Entities in the mplsLdpEntityTable. The information in this table Expires February 2002 [Page 41] INTERNET-DRAFT MPLS LDP MIB August 2001 is based on information from the Entity-Peer interaction during session initialization but is not appropriate for the mplsLdpSessionTable, because objects in this table may or may not be used in session establishment." ::= { mplsLdpSessionObjects 1 } mplsLdpPeerEntry OBJECT-TYPE SYNTAX MplsLdpPeerEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Information about a single Peer which is related to a Session. NOTE: this table is augmented by the mplsLdpSessionTable." INDEX { mplsLdpEntityLdpId, mplsLdpEntityIndex, mplsLdpPeerLdpId } ::= { mplsLdpPeerTable 1 } MplsLdpPeerEntry ::= SEQUENCE { mplsLdpPeerLdpId MplsLdpIdentifier, mplsLdpPeerLabelDistMethod INTEGER, mplsLdpPeerLoopDetectionForPV INTEGER, mplsLdpPeerPVL Integer32 } mplsLdpPeerLdpId OBJECT-TYPE SYNTAX MplsLdpIdentifier MAX-ACCESS not-accessible STATUS current DESCRIPTION "The LDP identifier of this LDP Peer." ::= { mplsLdpPeerEntry 1 } mplsLdpPeerLabelDistMethod OBJECT-TYPE SYNTAX INTEGER { downstreamOnDemand(1), downstreamUnsolicited(2) } MAX-ACCESS read-only STATUS current DESCRIPTION "For any given LDP session, the method of label distribution must be specified." ::= { mplsLdpPeerEntry 2 } mplsLdpPeerLoopDetectionForPV OBJECT-TYPE SYNTAX INTEGER { disabled(0), enabled(1) Expires February 2002 [Page 42] INTERNET-DRAFT MPLS LDP MIB August 2001 } MAX-ACCESS read-only STATUS current DESCRIPTION "An indication of whether loop detection based on path vectors is disabled or enabled for this Peer. If this object has a value of disabled(0), then loop detection is disabled. Otherwise, if this object has a value of enabled(1), then loop detection based on path vectors is enabled." ::= { mplsLdpPeerEntry 3 } mplsLdpPeerPVL OBJECT-TYPE SYNTAX Integer32 (0..255) MAX-ACCESS read-only STATUS current DESCRIPTION "If the value of 'mplsLdpPeerLoopDetectionForPV' for this entry is 'enabled(1)', the this object represents that Path Vector Limit for this peer. If the value of 'mplsLdpPeerLoopDetectionForPV' for this entry is 'disabled(0)', then this value should be 0 (zero)." ::= { mplsLdpPeerEntry 4 } -- -- The MPLS LDP Hello Adjacency Table -- mplsLdpHelloAdjacencyObjects OBJECT IDENTIFIER ::= { mplsLdpSessionObjects 2 } mplsLdpHelloAdjacencyTable OBJECT-TYPE SYNTAX SEQUENCE OF MplsLdpHelloAdjacencyEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table of Hello Adjacencies for Sessions." ::= { mplsLdpHelloAdjacencyObjects 1 } mplsLdpHelloAdjacencyEntry OBJECT-TYPE SYNTAX MplsLdpHelloAdjacencyEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION Expires February 2002 [Page 43] INTERNET-DRAFT MPLS LDP MIB August 2001 "Each row represents a single LDP Hello Adjacency. An LDP Session can have one or more Hello adjacencies." INDEX { mplsLdpEntityLdpId, mplsLdpEntityIndex, mplsLdpPeerLdpId, mplsLdpHelloAdjIndex } ::= { mplsLdpHelloAdjacencyTable 1 } MplsLdpHelloAdjacencyEntry ::= SEQUENCE { mplsLdpHelloAdjIndex Unsigned32, mplsLdpHelloAdjHoldTimeRem TimeInterval, mplsLdpHelloAdjType INTEGER } mplsLdpHelloAdjIndex OBJECT-TYPE SYNTAX Unsigned32 (1..4294967295) MAX-ACCESS not-accessible STATUS current DESCRIPTION "An identifier for this specific adjacency." ::= { mplsLdpHelloAdjacencyEntry 1 } mplsLdpHelloAdjHoldTimeRem OBJECT-TYPE SYNTAX TimeInterval MAX-ACCESS read-only STATUS current DESCRIPTION "The time remaining for this Hello Adjacency. This interval will change when the 'next' Hello message which corresponds to this Hello Adjacency is received." ::= { mplsLdpHelloAdjacencyEntry 2 } mplsLdpHelloAdjType OBJECT-TYPE SYNTAX INTEGER { link(1), targeted(2) } MAX-ACCESS read-only STATUS current DESCRIPTION "This adjacency is the result of a 'link' hello if the value of this object is link(1). Otherwise, it is a result of a 'targeted' hello, targeted(2)." ::= { mplsLdpHelloAdjacencyEntry 3 } -- -- The MPLS LDP Sessions Table Expires February 2002 [Page 44] INTERNET-DRAFT MPLS LDP MIB August 2001 -- mplsLdpSesUpDownTrapEnable OBJECT-TYPE SYNTAX INTEGER { enabled(1), disabled(2) } MAX-ACCESS read-write STATUS current DESCRIPTION "Indicates whether the traps, 'mplsLdpSesUp' and 'mplsLdpSesDown' will be generated or not. If the value of this object is 'enabled(1)' then the traps will generated. If the value of this object is 'disabled(2)' then the traps will not be generated. The DEFVAL is set to 'disabled(2)'." DEFVAL { disabled } ::= { mplsLdpSessionObjects 3 } mplsLdpSessionTable OBJECT-TYPE SYNTAX SEQUENCE OF MplsLdpSessionEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table of Sessions between the LDP Entities and LDP Peers. Each row represents a single session." ::= { mplsLdpSessionObjects 4 } mplsLdpSessionEntry OBJECT-TYPE SYNTAX MplsLdpSessionEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in this table represents information on a single session between an LDP Entity and LDP Peer. The information contained in a row is read-only. Please note: the Path Vector Limit for the Session is the value which is configured in the corresponding mplsLdpEntityEntry. The Peer's Path Vector Limit is in noted in the mplsLdpPeerTable. Values which may differ from those configured are noted in the objects of this table, the mplsLdpAtmSessionTable and the mplsLdpFrameRelaySessionTable. A value will Expires February 2002 [Page 45] INTERNET-DRAFT MPLS LDP MIB August 2001 differ if it was negotiated between the Entity and the Peer. Values may or may not be negotiated. For example, if the values are the same then no negotiation takes place. If they are negotiated, then they may differ." AUGMENTS { mplsLdpPeerEntry } ::= { mplsLdpSessionTable 1 } MplsLdpSessionEntry ::= SEQUENCE { mplsLdpSesState INTEGER, mplsLdpSesProtocolVersion Integer32, mplsLdpSesKeepAliveHoldTimeRem TimeInterval, mplsLdpSesMaxPduLen Unsigned32, mplsLdpSesDiscontinuityTime TimeStamp } mplsLdpSesState OBJECT-TYPE SYNTAX INTEGER { nonexistent(1), initialized(2), openrec(3), opensent(4), operational(5) } MAX-ACCESS read-only STATUS current DESCRIPTION "The current state of the session, all of the states 1 - 5 are based on the state machine for session negotiation behavior." ::= { mplsLdpSessionEntry 1 } mplsLdpSesProtocolVersion OBJECT-TYPE SYNTAX Integer32(1..65535) MAX-ACCESS read-only STATUS current DESCRIPTION "The version of the LDP Protocol which this session is using. This is the version of the LDP protocol which has been negotiated during session initialization." REFERENCE "RFC 3036, LDP Specification, Section 3.5.3 Initialization Message." ::= { mplsLdpSessionEntry 2 } mplsLdpSesKeepAliveHoldTimeRem OBJECT-TYPE SYNTAX TimeInterval MAX-ACCESS read-only Expires February 2002 [Page 46] INTERNET-DRAFT MPLS LDP MIB August 2001 STATUS current DESCRIPTION "The keep alive hold time remaining for this session." ::= { mplsLdpSessionEntry 3 } mplsLdpSesMaxPduLen OBJECT-TYPE SYNTAX Unsigned32 (1..65535) MAX-ACCESS read-only STATUS current DESCRIPTION "The value of maximum allowable length for LDP PDUs for this session. This value may have been negotiated during the Session Initialization." ::= { mplsLdpSessionEntry 4 } mplsLdpSesDiscontinuityTime 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 session's counters suffered a discontinuity. The relevant counters are the specific instances associated with this session of any Counter32 or Counter64 object contained in the mplsLdpSessionStatsTable. The initial value of this object is the value of sysUpTime when the entry was created in this table. Also, an NMS can distinguish when a session between a given Entity and Peer goes away and then is 're-established'. This value would change and thus indicate to the NMS that this is a different session." ::= { mplsLdpSessionEntry 5 } -- -- MPLS LDP ATM Session Information -- mplsLdpAtmSesTable OBJECT-TYPE SYNTAX SEQUENCE OF MplsLdpAtmSesEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table which relates Sessions in the 'mplsLdpSessionTable' and their label range intersections. There could be one Expires February 2002 [Page 47] INTERNET-DRAFT MPLS LDP MIB August 2001 or more label range intersections between an LDP Entity and LDP Peer using ATM as the underlying media. Each row represents a single label range intersection. NOTE: this table cannot use the 'AUGMENTS' clause because there is not necessarily a one-to-one mapping between this table and the mplsLdpSessionTable." ::= { mplsLdpSessionObjects 5 } mplsLdpAtmSesEntry OBJECT-TYPE SYNTAX MplsLdpAtmSesEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in this table represents information on a single label range intersection between an LDP Entity and LDP Peer. The information contained in a row is read-only." INDEX { mplsLdpEntityLdpId, mplsLdpEntityIndex, mplsLdpPeerLdpId, mplsLdpSesAtmLRLowerBoundVpi, mplsLdpSesAtmLRLowerBoundVci } ::= { mplsLdpAtmSesTable 1 } MplsLdpAtmSesEntry ::= SEQUENCE { mplsLdpSesAtmLRLowerBoundVpi AtmVpIdentifier, mplsLdpSesAtmLRLowerBoundVci MplsAtmVcIdentifier, mplsLdpSesAtmLRUpperBoundVpi AtmVpIdentifier, mplsLdpSesAtmLRUpperBoundVci MplsAtmVcIdentifier } mplsLdpSesAtmLRLowerBoundVpi OBJECT-TYPE SYNTAX AtmVpIdentifier MAX-ACCESS not-accessible STATUS current DESCRIPTION "The minimum VPI number for this range." ::= { mplsLdpAtmSesEntry 1 } mplsLdpSesAtmLRLowerBoundVci OBJECT-TYPE SYNTAX MplsAtmVcIdentifier MAX-ACCESS not-accessible STATUS current DESCRIPTION "The minimum VCI number for this range." Expires February 2002 [Page 48] INTERNET-DRAFT MPLS LDP MIB August 2001 ::= { mplsLdpAtmSesEntry 2 } mplsLdpSesAtmLRUpperBoundVpi OBJECT-TYPE SYNTAX AtmVpIdentifier MAX-ACCESS read-only STATUS current DESCRIPTION "The maximum VPI number for this range." ::= { mplsLdpAtmSesEntry 3 } mplsLdpSesAtmLRUpperBoundVci OBJECT-TYPE SYNTAX MplsAtmVcIdentifier MAX-ACCESS read-only STATUS current DESCRIPTION "The maximum VCI number for this range." ::= { mplsLdpAtmSesEntry 4 } -- -- MPLS LDP Frame Relay Session Information -- mplsLdpFrameRelaySesTable OBJECT-TYPE SYNTAX SEQUENCE OF MplsLdpFrameRelaySesEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table of Frame Relay label range intersections between the LDP Entities and LDP Peers. Each row represents a single label range intersection. NOTE: this table cannot use the 'AUGMENTS' clause because there is not necessarily a one-to-one mapping between this table and the mplsLdpSessionTable." ::= { mplsLdpSessionObjects 6 } mplsLdpFrameRelaySesEntry OBJECT-TYPE SYNTAX MplsLdpFrameRelaySesEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in this table represents information on a single label range intersection between an LDP Entity and LDP Peer. The information contained in a row is read-only." INDEX { mplsLdpEntityLdpId, mplsLdpEntityIndex, mplsLdpPeerLdpId, Expires February 2002 [Page 49] INTERNET-DRAFT MPLS LDP MIB August 2001 mplsLdpFrSesMinDlci } ::= { mplsLdpFrameRelaySesTable 1 } MplsLdpFrameRelaySesEntry ::= SEQUENCE { mplsLdpFrSesMinDlci Integer32, mplsLdpFrSesMaxDlci Integer32, mplsLdpFrSesLen INTEGER } mplsLdpFrSesMinDlci OBJECT-TYPE SYNTAX Integer32(0..4194303) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The lower bound of DLCIs which are supported." ::= { mplsLdpFrameRelaySesEntry 1 } mplsLdpFrSesMaxDlci OBJECT-TYPE SYNTAX Integer32 (0..4194303) MAX-ACCESS read-only STATUS current DESCRIPTION "The upper bound of DLCIs which are supported." ::= { mplsLdpFrameRelaySesEntry 2 } mplsLdpFrSesLen OBJECT-TYPE SYNTAX INTEGER { tenDlciBits(0), twentyThreeDlciBits(2) } MAX-ACCESS read-only STATUS current DESCRIPTION "This object specifies the DLCI bits." ::= { mplsLdpFrameRelaySesEntry 3 } -- -- The MPLS LDP Session Statistics Table -- mplsLdpSesStatsTable OBJECT-TYPE SYNTAX SEQUENCE OF MplsLdpSesStatsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table of statistics for Sessions between Expires February 2002 [Page 50] INTERNET-DRAFT MPLS LDP MIB August 2001 LDP Entities and LDP Peers." ::= { mplsLdpSessionObjects 7 } mplsLdpSesStatsEntry OBJECT-TYPE SYNTAX MplsLdpSesStatsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in this table represents statistical information on a single session between an LDP Entity and LDP Peer." AUGMENTS { mplsLdpPeerEntry } ::= { mplsLdpSesStatsTable 1 } MplsLdpSesStatsEntry ::= SEQUENCE { mplsLdpSesStatsUnkMesTypeErrors Counter32, mplsLdpSesStatsUnkTlvErrors Counter32 } mplsLdpSesStatsUnkMesTypeErrors OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object counts the number of Unknown Message Type Errors detected during 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 mplsLdpSesDiscontinuityTime." ::= { mplsLdpSesStatsEntry 1 } mplsLdpSesStatsUnkTlvErrors OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object counts the number of Unknown TLV Errors detected during 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." ::= { mplsLdpSesStatsEntry 2 } Expires February 2002 [Page 51] INTERNET-DRAFT MPLS LDP MIB August 2001 -- -- Mpls FEC Table -- mplsFecObjects OBJECT IDENTIFIER ::= { mplsLdpSessionObjects 8 } mplsFecIndexNext OBJECT-TYPE SYNTAX Unsigned32 (0..4294967295) MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains an appropriate value to be used for mplsFecIndex when creating entries in the mplsFecTable. The value 0 indicates that no unassigned entries are available. To obtain the mplsFecIndex value for a new entry, the manager issues a management protocol retrieval operation to obtain the current value of this object. After each retrieval, the agent should modify the value to the next unassigned index." ::= { mplsFecObjects 1 } mplsFecTable 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 LSP." ::= { mplsFecObjects 2 } mplsFecEntry OBJECT-TYPE SYNTAX MplsFecEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Each row represents a single FEC Element." INDEX { mplsFecIndex } ::= { mplsFecTable 1 } MplsFecEntry ::= SEQUENCE { mplsFecIndex Unsigned32, mplsFecType INTEGER, mplsFecAddrLength Integer32, mplsFecAddrFamily AddressFamilyNumbers, mplsFecAddr MplsLdpGenAddr, Expires February 2002 [Page 52] INTERNET-DRAFT MPLS LDP MIB August 2001 mplsFecStorType StorageType, mplsFecRowStatus RowStatus } mplsFecIndex OBJECT-TYPE SYNTAX Unsigned32(1..4294967295) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The index which uniquely identifies this entry." ::= { mplsFecEntry 1 } mplsFecType OBJECT-TYPE SYNTAX INTEGER { prefix(1), hostAddress(2) } MAX-ACCESS read-create STATUS current DESCRIPTION "The type of the FEC. If the value of this object is 'prefix(1)' then the FEC type described by this row is for address prefixes. If the value of this object is 'hostAddress(2)' then the FEC type described by this row is a host address." ::= { mplsFecEntry 2 } mplsFecAddrLength OBJECT-TYPE SYNTAX Integer32(0..255) MAX-ACCESS read-create STATUS current DESCRIPTION "If the value of 'mplsFecType' is 'prefix(1)' then the value of this object is the length in bits of the address prefix represented by 'mplsFecAddr', or if the length is zero then this is a special value which indicates that the prefix matches all addresses. In this case the prefix is also zero (i.e. 'mplsFecAddr' will have the value of zero.)" ::= { mplsFecEntry 3 } mplsFecAddrFamily OBJECT-TYPE SYNTAX AddressFamilyNumbers MAX-ACCESS read-create STATUS current DESCRIPTION "The value of this object is from the Address Family Numbers." Expires February 2002 [Page 53] INTERNET-DRAFT MPLS LDP MIB August 2001 ::= { mplsFecEntry 4 } mplsFecAddr OBJECT-TYPE SYNTAX MplsLdpGenAddr MAX-ACCESS read-create STATUS current DESCRIPTION "If the value of 'mplsFecType' is 'prefix(1)' then the value of this object is the address prefix. If the value of the 'mplsFecAddrLength' is object is zero, then this object should also be zero. If the value of the 'mplsFecType' is 'host(2)' then this is the host address." ::= { mplsFecEntry 5 } mplsFecStorType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "The storage type for this entry." ::= { mplsFecEntry 6 } mplsFecRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "An object that allows entries in this table to be created and deleted using the RowStatus convention." ::= { mplsFecEntry 7 } -- -- Mapping Tables between Sessions and the LSR MIB. -- -- -- SessionInLabels and InSegment -- mplsLdpSesInLabelMapTable OBJECT-TYPE SYNTAX SEQUENCE OF MplsLdpSesInLabelMapEntry MAX-ACCESS not-accessible STATUS current Expires February 2002 [Page 54] INTERNET-DRAFT MPLS LDP MIB August 2001 DESCRIPTION "A table of Session's Ingress Labels which are Mapped to the LSR MIB's mplsInSegmentTable. Each row represents a single Ingress Label." ::= { mplsLdpSessionObjects 9 } mplsLdpSesInLabelMapEntry OBJECT-TYPE SYNTAX MplsLdpSesInLabelMapEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in this table represents information on a single LDP LSP which is represented by a session's index triple (mplsLdpEntityLdpId, mplsLdpEntityIndex, mplsLdpPeerLdpId) AND the index tuple (mplsLdpSessionInLabel, mplsInSegmentIfIndex) from the LSR MIB's mplsInSegmentTable. The information contained in a row is read-only." INDEX { mplsLdpEntityLdpId, mplsLdpEntityIndex, mplsLdpPeerLdpId, mplsLdpSesInLabelIfIndex, mplsLdpSesInLabel } ::= { mplsLdpSesInLabelMapTable 1 } MplsLdpSesInLabelMapEntry ::= SEQUENCE { mplsLdpSesInLabelIfIndex InterfaceIndex, mplsLdpSesInLabel MplsLabel, mplsLdpSesInLabelType MplsLdpLabelTypes, mplsLdpSesInLabelConnType INTEGER } mplsLdpSesInLabelIfIndex OBJECT-TYPE SYNTAX InterfaceIndex MAX-ACCESS not-accessible STATUS current DESCRIPTION "The ifIndex of the 'mplsLdpSesInLabel' which should have the same value as the 'mplsInSegmentIfIndex' in the LSR MIB." ::= { mplsLdpSesInLabelMapEntry 1 } mplsLdpSesInLabel OBJECT-TYPE SYNTAX MplsLabel MAX-ACCESS not-accessible STATUS current DESCRIPTION "The incoming label of this LSP. This has the same value as the 'mplsInSegmentLabel' in the LSR MIB." Expires February 2002 [Page 55] INTERNET-DRAFT MPLS LDP MIB August 2001 ::= { mplsLdpSesInLabelMapEntry 2 } mplsLdpSesInLabelType OBJECT-TYPE SYNTAX MplsLdpLabelTypes MAX-ACCESS read-only STATUS current DESCRIPTION "The Layer 2 Label Type for 'mplsLdpInLabel'." ::= { mplsLdpSesInLabelMapEntry 3 } mplsLdpSesInLabelConnType OBJECT-TYPE SYNTAX INTEGER { unknown(1), xconnect(2), terminates(3) } MAX-ACCESS read-only STATUS current DESCRIPTION "The type of LSP connection. The possible values are: unknown(1) -- this may be the value if the LSP is in a state of flux. It is considered to be a temporary situation. xconnect(2) -- if the mapping between the session and the insegment is associated with an LSP which is a true cross-connection. terminates(3) -- if the mapping between the session and the insegment is associated with an LSP which terminates on this LSR and is not a cross-connection." ::= { mplsLdpSesInLabelMapEntry 4 } -- -- SessionOutLabels and OutSegment -- mplsLdpSesOutLabelMapTable OBJECT-TYPE SYNTAX SEQUENCE OF MplsLdpSesOutLabelMapEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table of Session's Egress Labels which are Mapped to the LSR MIB. Each row represents a single Egress Label." Expires February 2002 [Page 56] INTERNET-DRAFT MPLS LDP MIB August 2001 ::= { mplsLdpSessionObjects 10 } mplsLdpSesOutLabelMapEntry OBJECT-TYPE SYNTAX MplsLdpSesOutLabelMapEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in this table represents information on a single session between an LDP Entity and LDP Peer. The information contained in a row is read-only." INDEX { mplsLdpEntityLdpId, mplsLdpEntityIndex, mplsLdpPeerLdpId, mplsLdpSesOutLabelIfIndex, mplsLdpSesOutLabel } ::= { mplsLdpSesOutLabelMapTable 1 } MplsLdpSesOutLabelMapEntry ::= SEQUENCE { mplsLdpSesOutLabelIfIndex InterfaceIndex, mplsLdpSesOutLabel MplsLabel, mplsLdpSesOutLabelType MplsLdpLabelTypes, mplsLdpSesOutLabelConnType INTEGER, mplsLdpSesOutSegmentIndex Integer32 } mplsLdpSesOutLabelIfIndex OBJECT-TYPE SYNTAX InterfaceIndex MAX-ACCESS not-accessible STATUS current DESCRIPTION "The ifIndex of the 'mplsLdpSesOutLabel'." ::= { mplsLdpSesOutLabelMapEntry 1 } mplsLdpSesOutLabel OBJECT-TYPE SYNTAX MplsLabel MAX-ACCESS not-accessible STATUS current DESCRIPTION "The outgoing label of this LSP." ::= { mplsLdpSesOutLabelMapEntry 2 } mplsLdpSesOutLabelType OBJECT-TYPE SYNTAX MplsLdpLabelTypes MAX-ACCESS read-only STATUS current DESCRIPTION "The Layer 2 Label Type for 'mplsLdpOutLabel'." ::= { mplsLdpSesOutLabelMapEntry 3 } Expires February 2002 [Page 57] INTERNET-DRAFT MPLS LDP MIB August 2001 mplsLdpSesOutLabelConnType OBJECT-TYPE SYNTAX INTEGER { unknown(1), xconnect(2), starts(3) } MAX-ACCESS read-only STATUS current DESCRIPTION "The type of LSP connection. The possible values are: unknown(1) -- this may be the value if the LSP is in a state of flux. It is considered to be a temporary situation. xconnect(2) -- if the mapping between the session and the outsegment is associated with an LSP which is a true cross-connection. starts(3) -- if the mapping between the session and the insegment is associated with an LSP which starts on this LSR and is considered an ingress to the LSP." ::= { mplsLdpSesOutLabelMapEntry 4 } mplsLdpSesOutSegmentIndex OBJECT-TYPE SYNTAX Integer32(1..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION "This value should contain the same value as the 'mplsOutSegmentIndex' in the LSR MIB. NOTE: this value will never be zero, because this table only maps from Sessions to true outsegments." ::= { mplsLdpSesOutLabelMapEntry 5 } -- -- Sessions and XConnects (LIB Information) -- mplsLdpSesXCMapTable OBJECT-TYPE SYNTAX SEQUENCE OF MplsLdpSesXCMapEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION Expires February 2002 [Page 58] INTERNET-DRAFT MPLS LDP MIB August 2001 "A table of Session's Labels which are Mapped to the LSR MIB 's XConnect table. Each row represents a single cross connect." ::= { mplsLdpSessionObjects 11 } mplsLdpSesXCMapEntry OBJECT-TYPE SYNTAX MplsLdpSesXCMapEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in this table represents information on a single session between an LDP Entity and LDP Peer. The information contained in a row is read-only." INDEX { mplsLdpEntityLdpId, mplsLdpEntityIndex, mplsLdpPeerLdpId, mplsLdpSesInLabelIfIndex, mplsLdpSesInLabel, mplsLdpSesOutLabelIfIndex, mplsLdpSesOutLabel } ::= { mplsLdpSesXCMapTable 1 } MplsLdpSesXCMapEntry ::= SEQUENCE { mplsLdpSesXCIndex Integer32 } mplsLdpSesXCIndex OBJECT-TYPE SYNTAX Integer32(1..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION "This value should contain the same value as the 'mplsXCIndex' in the LSR MIB. NOTE: this value will never be zero, because this table only maps from Sessions to true cross connects." ::= { mplsLdpSesXCMapEntry 1 } -- -- XcrossConnectsFECs Table -- mplsXCsFecsTable OBJECT-TYPE SYNTAX SEQUENCE OF MplsXCsFecsEntry MAX-ACCESS not-accessible STATUS current Expires February 2002 [Page 59] INTERNET-DRAFT MPLS LDP MIB August 2001 DESCRIPTION "A table which shows the relationship between cross-connects and FECs. Each row represents a single cross connect to FEC association. This table is read-only." ::= { mplsLdpSessionObjects 13 } mplsXCsFecsEntry OBJECT-TYPE SYNTAX MplsXCsFecsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry represents a single cross connect to FEC association." INDEX { mplsLdpEntityLdpId, mplsLdpEntityIndex, mplsLdpPeerLdpId, mplsLdpSesInLabelIfIndex, mplsLdpSesInLabel, mplsLdpSesOutLabelIfIndex, mplsLdpSesOutLabel, mplsFecIndex } ::= { mplsXCsFecsTable 1 } MplsXCsFecsEntry ::= SEQUENCE { mplsXCFecOperStatus INTEGER, mplsXCFecOperStatusLastChange TimeStamp } mplsXCFecOperStatus OBJECT-TYPE SYNTAX INTEGER { unknown(1), inUse(2), notInUse(3) } MAX-ACCESS read-only STATUS current DESCRIPTION "An indication of the operational status of the FEC associated with this cross connect. unknown(1) - this is a temporary state which may indicate the LSP-FEC association is in a state of transition. inUse(2) - the FEC associated with the XC is currently being applied. Expires February 2002 [Page 60] INTERNET-DRAFT MPLS LDP MIB August 2001 notInUse(3) - the FEC associated with the XC is not being applied. Eventually, this entry may be aged out." ::= { mplsXCsFecsEntry 1 } mplsXCFecOperStatusLastChange OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "This value of sysUpTime when the mplsXCFecOperStatus last changed state." ::= { mplsXCsFecsEntry 2 } -- -- Address Message/Address Withdraw Message Information -- -- This information is associated with a specific Session -- because Label Address Messages are sent after session -- initialization has taken place. -- mplsLdpSesPeerAddrTable OBJECT-TYPE SYNTAX SEQUENCE OF MplsLdpSesPeerAddrEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table 'extends' the mplsLdpSessionTable. This table is used to store Label Address Information from Label Address Messages received by this LSR from Peers. This table is read-only and should be updated when Label Withdraw Address Messages are received, i.e. Rows should be deleted as apropriate. NOTE: since more than one address may be contained in a Label Address Message, this table 'extends', rather than 'AUGMENTS' the mplsLdpSessionTable's information." ::= { mplsLdpSessionObjects 12 } mplsLdpSesPeerAddrEntry OBJECT-TYPE SYNTAX MplsLdpSesPeerAddrEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in this table represents information on session's for a single next hop address which was advertised in an Address Message from the LDP peer. The information contained in a row is read-only." Expires February 2002 [Page 61] INTERNET-DRAFT MPLS LDP MIB August 2001 INDEX { mplsLdpEntityLdpId, mplsLdpEntityIndex, mplsLdpPeerLdpId, mplsLdpSesPeerAddrIndex } ::= { mplsLdpSesPeerAddrTable 1 } MplsLdpSesPeerAddrEntry ::= SEQUENCE { mplsLdpSesPeerAddrIndex Unsigned32, mplsLdpSesPeerNextHopAddrType AddressFamilyNumbers, mplsLdpSesPeerNextHopAddr MplsLdpGenAddr } mplsLdpSesPeerAddrIndex OBJECT-TYPE SYNTAX Unsigned32 (1..4294967295) MAX-ACCESS not-accessible STATUS current DESCRIPTION "An index which uniquely identifies this entry within a given session." ::= { mplsLdpSesPeerAddrEntry 1 } mplsLdpSesPeerNextHopAddrType OBJECT-TYPE SYNTAX AddressFamilyNumbers MAX-ACCESS read-only STATUS current DESCRIPTION "The internetwork layer address type of this Next Hop Address as specified in the Label Address Message associated with this Session. The value of this object indicates how to interpret the value of mplsLdpSessionPeerNextHopAddress." ::= { mplsLdpSesPeerAddrEntry 2 } mplsLdpSesPeerNextHopAddr OBJECT-TYPE SYNTAX MplsLdpGenAddr MAX-ACCESS read-only STATUS current DESCRIPTION "The value of the next hop address." REFERENCE "LDP Specification [18] defines only IPv4 for LDP Protocol Version 1, see section 3.4.3." ::= { mplsLdpSesPeerAddrEntry 3 } --- --- Notifications --- Expires February 2002 [Page 62] INTERNET-DRAFT MPLS LDP MIB August 2001 mplsLdpNotificationPrefix OBJECT IDENTIFIER ::= { mplsLdpNotifications 0 } mplsLdpInitSesThresholdExceeded NOTIFICATION-TYPE OBJECTS { mplsLdpEntityInitSesThreshold } STATUS current DESCRIPTION "This notification is generated when the value of the 'mplsLdpEntityInitSesThreshold' object is not zero, and the number of Session Initialization messages exceeds the value of the 'mplsLdpEntityInitSesThreshold' object." ::= { mplsLdpNotificationPrefix 1 } mplsLdpPVLMismatch NOTIFICATION-TYPE OBJECTS { mplsLdpEntityPVL, mplsLdpPeerPVL } STATUS current DESCRIPTION "This notification is generated when the value of the value of the 'mplsLdpEntityPVLMisTrapEnable' object is 'enabled(1)' and the 'mplsLdpEntityPVL' does NOT match the value of the 'mplsLdpPeerPVL' for a specific Entity." REFERENCE "LDP Specification, Section 3.5.3." ::= { mplsLdpNotificationPrefix 2 } mplsLdpSessionUp NOTIFICATION-TYPE OBJECTS { mplsLdpSesState, mplsLdpSesDiscontinuityTime, mplsLdpSesStatsUnkMesTypeErrors, mplsLdpSesStatsUnkTlvErrors } STATUS current DESCRIPTION "Generation of this trap occurs when the 'mplsLdpSesUpDownTrapEnable' object is 'enabled(1)' and the value of 'mplsLdpSesState' enters the 'operational(5)' state." ::= { mplsLdpNotificationPrefix 3 } mplsLdpSessionDown NOTIFICATION-TYPE Expires February 2002 [Page 63] INTERNET-DRAFT MPLS LDP MIB August 2001 OBJECTS { mplsLdpSesState, mplsLdpSesDiscontinuityTime, mplsLdpSesStatsUnkMesTypeErrors, mplsLdpSesStatsUnkTlvErrors } STATUS current DESCRIPTION "Generation of this trap occurs when the 'mplsLdpSesUpDownTrapEnable' object is 'enabled(1)' and the value of 'mplsLdpSesState' leaves the 'operational(5)' state." ::= { mplsLdpNotificationPrefix 4 } --**************************************************************** -- Module Conformance Statement --**************************************************************** mplsLdpGroups OBJECT IDENTIFIER ::= { mplsLdpConformance 1 } mplsLdpCompliances OBJECT IDENTIFIER ::= { mplsLdpConformance 2 } -- -- Compliance Statements -- mplsLdpModuleCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The basic implementation requirements for agents that support the MPLS LDP MIB." MODULE -- this module MANDATORY-GROUPS { mplsLdpGeneralGroup, mplsLdpNotificationsGroup } GROUP mplsLdpGenericGroup DESCRIPTION "This group must be supported if Generic Labels are used in the MPLS LDP implementation." GROUP mplsLdpAtmGroup DESCRIPTION "This group must be supported if ATM is used in the Expires February 2002 [Page 64] INTERNET-DRAFT MPLS LDP MIB August 2001 MPLS LDP implementation." GROUP mplsLdpFrameRelayGroup DESCRIPTION "This group must be supported if Frame Relay is used in the MPLS LDP implementation." GROUP mplsLdpMappingGroup DESCRIPTION "This group must be supported if the LSR MIB is implemented, specifically the mplsInSegmentTable, the mplsOutSegmentTable or the mplsXCTable." ::= { mplsLdpCompliances 1 } -- units of conformance mplsLdpGeneralGroup OBJECT-GROUP OBJECTS { mplsLdpLsrId, mplsLdpLsrLoopDetectionCapable, mplsLdpEntityIndexNext, mplsLdpEntityProtocolVersion, mplsLdpEntityAdminStatus, mplsLdpEntityOperStatus, mplsLdpEntityTcpDscPort, mplsLdpEntityUdpDscPort, mplsLdpEntityMaxPduLength, mplsLdpEntityKeepAliveHoldTimer, mplsLdpEntityHelloHoldTimer, mplsLdpEntityInitSesThreshold, mplsLdpEntityLabelDistMethod, mplsLdpEntityLabelRetentionMode, mplsLdpEntityPVLMisTrapEnable, mplsLdpEntityPVL, mplsLdpEntityHopCountLimit, mplsLdpEntityTargPeer, mplsLdpEntityTargPeerAddrType, mplsLdpEntityTargPeerAddr, mplsLdpEntityOptionalParameters, mplsLdpEntityDiscontinuityTime, mplsLdpEntityStorType, mplsLdpEntityRowStatus, mplsLdpAttemptedSessions, mplsLdpSesRejectedNoHelloErrors, mplsLdpSesRejectedAdErrors, mplsLdpSesRejectedMaxPduErrors, mplsLdpSesRejectedLRErrors, Expires February 2002 [Page 65] INTERNET-DRAFT MPLS LDP MIB August 2001 mplsLdpBadLdpIdentifierErrors, mplsLdpBadPduLengthErrors, mplsLdpBadMessageLengthErrors, mplsLdpBadTlvLengthErrors, mplsLdpMalformedTlvValueErrors, mplsLdpKeepAliveTimerExpErrors, mplsLdpShutdownNotifReceived, mplsLdpShutdownNotifSent, mplsLdpPeerLabelDistMethod, mplsLdpPeerLoopDetectionForPV, mplsLdpPeerPVL, mplsLdpHelloAdjHoldTimeRem, mplsLdpHelloAdjType, mplsLdpSesUpDownTrapEnable, mplsLdpSesState, mplsLdpSesProtocolVersion, mplsLdpSesKeepAliveHoldTimeRem, mplsLdpSesMaxPduLen, mplsLdpSesDiscontinuityTime, mplsLdpSesStatsUnkMesTypeErrors, mplsLdpSesStatsUnkTlvErrors, mplsLdpSesPeerNextHopAddrType, mplsLdpSesPeerNextHopAddr, mplsFecIndexNext, mplsFecType, mplsFecAddrFamily, mplsFecAddrLength, mplsFecAddr, mplsFecStorType, mplsFecRowStatus } STATUS current DESCRIPTION "Objects that apply to all MPLS LDP implementations." ::= { mplsLdpGroups 1 } mplsLdpGenericGroup OBJECT-GROUP OBJECTS { mplsLdpEntityConfGenIfIndxOrZero, mplsLdpEntityConfGenLRStorType, mplsLdpEntityConfGenLRRowStatus } STATUS current DESCRIPTION "Objects that apply to all MPLS LDP implementations using Generic Lables." ::= { mplsLdpGroups 2 } Expires February 2002 [Page 66] INTERNET-DRAFT MPLS LDP MIB August 2001 mplsLdpAtmGroup OBJECT-GROUP OBJECTS { mplsLdpEntityAtmIfIndxOrZero, mplsLdpEntityAtmMergeCap, mplsLdpEntityAtmLRComponents, mplsLdpEntityAtmVcDirectionality, mplsLdpEntityAtmLsrConnectivity, mplsLdpEntityDefaultControlVpi, mplsLdpEntityDefaultControlVci, mplsLdpEntityUnlabTrafVpi, mplsLdpEntityUnlabTrafVci, mplsLdpEntityAtmStorType, mplsLdpEntityAtmRowStatus, mplsLdpEntityConfAtmLRMaxVpi, mplsLdpEntityConfAtmLRMaxVci, mplsLdpEntityConfAtmLRStorType, mplsLdpEntityConfAtmLRRowStatus, mplsLdpSesAtmLRUpperBoundVpi, mplsLdpSesAtmLRUpperBoundVci } STATUS current DESCRIPTION "Objects that apply to all MPLS LDP implementations over ATM." ::= { mplsLdpGroups 3 } mplsLdpFrameRelayGroup OBJECT-GROUP OBJECTS { mplsLdpEntityFrIfIndxOrZero, mplsLdpEntityFrMergeCap, mplsLdpEntityFrLRComponents, mplsLdpEntityFrLen, mplsLdpEntityFrVcDirectionality, mplsLdpEntityFrParmsStorType, mplsLdpEntityFrParmsRowStatus, mplsLdpConfFrMaxDlci, mplsLdpConfFrStorType, mplsLdpConfFrRowStatus, mplsLdpFrSesMaxDlci, mplsLdpFrSesLen } STATUS current DESCRIPTION "Objects that apply to all MPLS LDP implementations over Frame Relay." ::= { mplsLdpGroups 4 } mplsLdpMappingGroup OBJECT-GROUP Expires February 2002 [Page 67] INTERNET-DRAFT MPLS LDP MIB August 2001 OBJECTS { mplsLdpSesInLabelType, mplsLdpSesInLabelConnType, mplsLdpSesOutLabelType, mplsLdpSesOutLabelConnType, mplsLdpSesOutSegmentIndex, mplsLdpSesXCIndex, mplsXCFecOperStatus, mplsXCFecOperStatusLastChange } STATUS current DESCRIPTION "These objects are optional and only need to be supported for LDP implementations which support the tables, mplsInSegmentTable, mplsOutSegmentTable and mplsXCTable, in the LSR MIB." ::= { mplsLdpGroups 5 } mplsLdpNotificationsGroup NOTIFICATION-GROUP NOTIFICATIONS { mplsLdpInitSesThresholdExceeded, mplsLdpPVLMismatch, mplsLdpSessionUp, mplsLdpSessionDown } STATUS current DESCRIPTION "The notification(s) which an MPLS LDP implemention is required to implement." ::= { mplsLdpGroups 6 } END Expires February 2002 [Page 68] INTERNET-DRAFT MPLS LDP MIB August 2001 5. Revision History This section should be removed when this document is published as an RFC. 5.1. Changes from There were three types of changes: the first change was that all the MPLS Textual Conventions from this MIB, the LSR and MPLS-TE MIBs were moved into a new document [36], "draft-ietf-mpls-tc-mib-00.txt". The Textual Conventions are now IMPORTED from [36]. The second type of change was updates based on comments from the IESG. These changes will be discussed below. The third type of changes were based on minor editorial changes from the co-authors. The "Introduction" and "Structure of the MIB" sections were reworded since they were repetitive. The "Overview" was rearranged. References were added to "The LDP Entity ATM Objects" and "The LDP Entity Frame Relay Objects" Sections. The Working Group mailing list and Chairs were added to the CONTACT- INFO. Updated the DESCRIPTION clause for the "mplsLdpEntityLdpId" object. Updated the mplsLdpEntityProtocolVersion to include a range (1..65535). Updated the "References" Section. Running the MIB through the smilint MIB compiler showed that some object names were longer than 32 characters, these were shortened to 32 characters or fewer. The following changes were from the co-authors. Other minor editorial changes such as fixing typographical errors, and removing MIB comments which are no longer meaningful. Page 17 (also page 46) the description was enhanced to describe the version field in the LDP header from RFC3036. Removed WellKnown from the tcp and upd port names. It's the ports that get set, and the default value is the well known (actually the registered) port number. Expires February 2002 [Page 69] INTERNET-DRAFT MPLS LDP MIB August 2001 mplsLdpEntityInitSesTrapEnable object is useless and was removed since setting mplsLdpEntityInitSesThreshold=0 acheives the same thing. Also removed it from the descriptive text in section 3. Page 47, mplsLdpSessionDiscontinuityTime The initial value of this was changed to be sysUpTime instead of zero. sysUpTime for when the session starts is more meaningful and was added to the Session Up/Down Traps also. Also, added the Session specific stats to the up/down traps. 5.2. Changes from All changes were from the second last call which took place Thursday, July 20th, until Thursday, July 27th, 2000 and are described in the remainder of this section. Remove the reference to the MPLS framework document. Add an mplsFecIndexNext type of object. Change the conformance of the FEC table objects to be part of the mplsLdpGeneralGroup. The mplsLdpEntityConfGenericTable is no longer needed because the functionality has been absorbed by the mplsLdpEntityConfGenericLabelRangeTable. The mplsLdpEntityConfGenericTable has been removed and the front section was updated accordingly. Other editorial issues, updating references, typos and so forth. 5.3. Changes from The majority of changes in this revision are based on Last Call comments which were received during the last call from Thursday, March 9, 2000 to Friday, March 17, 2000, or slightly thereafter. Also, changes were made to agree with the latest specifications. These changes are described in this section. Changes due to draft-ietf-mpls-ldp-07.txt and draft-ietf-mpls-ldp- 08.txt. Specifically, removing references to IPv4/IP and using router id, as appropriate. Removed vpMerge and vpAndVcMerge choices from the object, mplsLdpEntityAtmMergeCap. VP Merge is not described in [30]. The LIB Table was removed and replaced by mapping tables to map LDP LSPs created by LDP sessions to the mplsInSegment, mplsOutSegment and Expires February 2002 [Page 70] INTERNET-DRAFT MPLS LDP MIB August 2001 mplsXC tables in the LSR MIB. The conformance section was updated to include a Mapping Group which is to be implemented iff these LSR MIB tables (mplsInSegmentTable, mplsOutSegmentTable and mplsXCTable) are implemented. The front section was updated to include information on the Generic label table. Added more in the front section on on Row Creation/adminStatus/OperStatus in the LDP Entity and related tables. Added a generic label range table. NOTE: there is NO corresponding LDP message which relates to the information in this table, however, this table does provide a way for a user to 'reserve' a generic label range. A new TEXTUAL-CONVENTION, MplsAtmVcIdentifier was added. This TC has the same upper bounds as AtmVcIdentifier (from rfc2514) except that the lower bound is 32 (and not 0). The lower bound is 32 since this value is specified by [30]. Removed the scalar object mplsLsrLabelRetentionMode and added mplsLdpEntityLabelRetentionMode. The change was made to allow configuring the retention mode on a per LDP Entity basis, as opposed for the entire LSR. Typo in section 3.5.2 was fixed. Typo in the mplsLdpSessionUp notification description was fixed. Section 'LDP Notifications' was expanded to cover both the 'mplsLdpSessionUp' and 'mplsLdpSessionDown' traps. Also, the objects which enable and disable these traps have been described in this Section: The 'mplsLdpEntityHopCountLoopDetection' object and the 'mplsLdpEntityHopCount' object have been combined into the new object, 'mplsLdpEntityHopCountLimit'. MplsLabel has been updated to reflect the VPI value of 12 bits and not 8. Added DEFVAL clause to the 'mplsLdpEntityWellKnownDiscoveryPort' object. The default value is 646. Added UNITS and DEFVAL clauses to the 'mplsLdpEntityMaxPduLength' object. The default value is 4096 and the units is octets. Added DEFVAL clause to 'mplsLdpEntityProtocolVersion' object. The default value is 1. Expires February 2002 [Page 71] INTERNET-DRAFT MPLS LDP MIB August 2001 Added DEFVAL clause to 'mplsLdpEntityKeepAliveHoldTimer' of 40 seconds. Added DEFVAL clause to 'mplsLdpEntityInitSesThreshold' object. The default value is 8. The mplsLdpEntityWellKnownDiscoveryPort was changed into two objects, one for TCP and one for UDP. The names are Typo in the description for the The mplsLdpEntityPeerTable was (re-)named mplsLdpPeerTable. The mplsLdpSessionTable now AUGMENTs the mplsLdpPeerTable in order to show that these two tables are related. There has been wording added to the mplsLdpSessionEntry description and to the description for the mplsLdpPeerTable. 5.4. Changes from Editorial changes, fixing typo's, fixing wrapping lines, etc. Updated references for latest drafts, and added [31] and [32] to Reference Section. Added to the Acknowledgements Section. Changed the SYNTAX and DESCRIPTION of the 'mplsLdpLsrLoopDetectionCapable' object, so that it will also support the loop detection by hop count. Combined the 'mplsLdpEntityLoopDetectionForPV' and 'mplsLdpEntityPVL' objects. The functionality of the 'mplsLdpEntityLoopDectionForPV' is now denoted by the value of 0 (zero) in the 'mplsLdpEntityPVL' object. This results in one less object 'mplsLdpEntityLoopDectionForPV' but does not sacrifice functionality. Changed 'mplsLdpLibLabelType' into two objects: 'mplsLdpLibInLabelType' and differ from the egress label type. The MIB now reflects this. The following items were changed as a result of the Frame Relay Forum dropping support for 17-bit DLCIs: the MplsLabel TC description has been modified, and other Frame Relay Object descriptions were also modified (as specified in this section). The MplsLabel TC was also modified and reference 3. was added to the REFERENCE Clause. MplsLdpLabelTypes TC was modified to use an enum. Expires February 2002 [Page 72] INTERNET-DRAFT MPLS LDP MIB August 2001 InterfaceIndex support was added to the Entity information. This was specifically requested by several members of the working group. An additional table, mplsLdpEntityConfGenericTable as a way to configure Generic Labels, and an object, 'mplsLdpConfGenericIfIndexOrZero was added to map the InterfaceIndex used by Generic Labels. Objects were also added to the 'mplsLdpEntityAtmParmsTable' and the and 'mplsLdpEntityFrIfIndex', respectively. Changed the name of the 'mplsLdpEntityMtu' object to be 'mplsLdpEntityMaxPduLength' which is more consistent with the LDP Specification. Also, the description and SYNTAX were changed. Changed the SYNTAX of the 'mplsLdpSessionMaxPduLength' to unsigned32 and changed the Range from (0..65535) to (1..65535). Added and improved the front section discussion on SNMP Notifications. Also, modified the DESCRIPTION clause of the Added objects to enable/disable the sending of traps: Added an object to enable/disable sending traps for Sessions changing from Up to Down, or Down to Up. Added notifications to generate traps from session changing from Up to Down, or Down to up. Added a StorageType object to the Entity and associated tables which are configurable. Added a Discontinuity Time object to the Entity Table, Added discussion on row creation in the Entity and other associated Entity tables. This is a new Section in the Front part of the document called: Removed the 'mplsLdpEntityControlMethod'. Made 'mplsLdpFecLspId' as part of the INDEX for the FEC table. This is to allow FECs to map to multiple LSPs. Also add a RowPointer to a row in the Session Table. Added an operation status object, 'mplsLdpLspOperStatus' and a last Change object, 'mplsLdpLspLastChangeto the LIB Table. This will be used to detect whether an LSP has changed its status. Changed the name of the mplsLdpPeerTable to the mplsLdpEntityPeerTable. This table contains information relevant to Peers which are known to specific Entities. The indexing of this Expires February 2002 [Page 73] INTERNET-DRAFT MPLS LDP MIB August 2001 table has also changed to include the Row in the Entity Table that this Peer is known by. The mplsLdpHelloAdjacencyTable and the mplsLdpSessionTable have been moved under this table. Since Hello Adjacencies are related to Entity-Peer information and Sessions are related to Entity-Peer information this was seen as a comprehensive and coherent modelling. Associated descriptions in the front section and in the tables have been changed to reflect this change. Moved the 'mplsLdpConfFrLen' object from the 'mplsLdpEntityConfFrLabelRangeTable' to the 'mplsLdpEntityFrameRelayParmsTable' since the Frame Relay interface/port can only use one header length at a time, i.e. a specific FR interface supports one address length for all VCs on that interface. Also, changed the object so that it only supports 10 and 23 bit DLCI lengths. (The 17 bit length was dropped by the Frame Relay Forum and thus, is no longer required.) The name of this object was changed from 'mplsLdpConfFrLen' to 'mplsLdpEntityFrLen' to fit in with the 'mplsLdpEntityFrameRelayParmsTable'. Removed the seventeenDlciBits(1) value from the mplsLdpFrSessionLen object. (The 17 bit length was dropped by the Frame Relay Forum and thus, is no longer required.) Corrected the range of the 'mplsLdpEntityIndexNext' object to include 0 (zero). 5.5. Changes from Reworded the description of the mplsLdpAtmSessionTable to clarify that one or MORE label range intersection(s) is/are represented in this table. Reworded the description of the mplsLdpFrameRelaySessionTable to clarify that one or MORE label range intersection(s) is/are represented in this table. Added a new index, mplsLdpSessionPeerIndex, to the mplsLdpSessionPeerAddressTable. This new index uniquely identifies the entry within a given session. (Since adding mplsLdpSessionPeerNextHopAddressType, mplsLdpSessionPeerNextHopAddress to the INDEX clause of the mplsLdpSessionPeerAddressTable leaves a table with only indices and no objects, the work around was to add a new index which uniquely differentiates an entry within a given session.) Quite a few changes to the mplsLdpPeerTable. First, removed the mplsLdpPeerIndex from the mplsLdpPeerTable and other tables. This index served no purpose, so was removed. Second, removed the objects: mplsLdpPeerInternetworkAddrType, and Expires February 2002 [Page 74] INTERNET-DRAFT MPLS LDP MIB August 2001 mplsLdpPeerInternetworkAddr. Third, reworded the description of this table to include information which is known during Session Intialization attempts, the specific information has to do with Loop Dection based on Path Vectors. Since Section 3.5.3 of the LDP Spec when describing the PVLim says: "Although knowledge of a peer's path vector limit will not change an LSR's behavior, it does enable the LSR to alert an operator to a possible misconfiguration." and the object mplsLdpPeerPVL is sent as a varbind in the mplsLdpPVLMismatch notification. Removed the mplsLdpPeerIndex from the mplsLdpHelloAdjacencyTable. Removed the "IANA Address Family Numbers" MIB section. Updated the boiler.me from the ops web page dated Weds., Dec 22, 1999. Updated the Security Section from the ops web page. Added the following objects to the mplsLdpEntityTable: mplsLdpEntityControlMethod, mplsLdpEntityLoopDectionForPV, and mplsLdpEntityPathVectorLimit. Removed mplsLdpSessionLabelAdvertisement, mplsLdpSessionLoopDetectionForPV, and mplsLdpSessionPathVectorLimit from the mplsLdpSessionTable. Changed the mplsLdpPathVectorLimitMismatch Notification to send mplsLdpEntityPathVectorLimit (instead of mplsLdpSessionPathVectorLimit). Copied the MplsLabel TC from draft-ietf-mpls-lsr-mib-00.txt and replaced the MplsLdpGenAddr for mplsLdpLibInLabel and mpslLdpLibOutLabel with MplsLabel. The mplsLdpSessionIndex was removed throughout the MIB. This was replaced by the object mplsLdpSessionDiscontinuityTime. The motivation was to reduce the number of indices. The descriptions for the objects in the mplsLdpSessionStatsTable, mplsLdpSessionStatsUnknownMessageTypeErrors and mplsLdpSessionStatsUnknownTlvErrors, have been updated to include a reference to the mplsLdpSessionDiscontinuityTime object. 5.6. Changes from Added Scalar Objects: mplsLdpLsrLoopDetectionPresent, and mplsLdpEntityIndexNext. Expires February 2002 [Page 75] INTERNET-DRAFT MPLS LDP MIB August 2001 Added the following objects to the mplsLdpEntityTable: mplsLdpEntityProtocolVersion, mplsLdpEntityAdminStatus, mplsLdpEntityOperStatus, mplsLdpEntityTargetedPeer, mplsLdpEntityTargetedPeerAddrType, mplsLdpEntityTargetedPeerAddr, and mplsLdpEntityHelloHoldTimer. Changed the description of the mplsLdpEntityAtmParmsTable and added the following objects to this table: mplsLdpEntityAtmLsrConnectivity, mplsLdpEntityDefaultControlVpi, mplsLdpEntityDefaultControlVci, mplsLdpEntityUnlabTrafVpi, and mplsLdpEntityUnlabTrafVci. NOTE: the last four objects were in Version 01 of the MIB but were mistakenly omitted from Version 02. Now, they are back. Changed the indexing of the mplsLdpEntityConfAtmLabelRangeTable to include the minimum VPI/VCI. This is to ensure that indices in this table are unique. Changed the indexing of the mplsLdpEntityConfFrLabelRangeTable, to include the minimum DLCI value. This is to ensure that indices in this table are unique. Added [30] to Reference Section. 5.7. Changes from The MIB was updated to correspond to draft-ietf-mpls-ldp-06.txt of the LDP Specification [18]. The front section was updated. The MIB was made to be less ATM-centric. Essentially, the ATM specific objects where removed from the tables and placed in ATM specific Tables. A type was added to the base tables and a row is to be created in the ATM/FR/etc. type table. Apropos compliance statements were added to reflect the separation of ATM and Frame Relay objects into their respective tables. Objects for Loop Detection were removed from describing the LDP implementation (i.e. the scalars were removed) and Loop Dection objects were added to the Session Table. (Although as the LDP Specification indicates loop detection should be for an LSR within a domain.) The following tables were added: mplsLdpEntityAtmParmsTable, mplsLdpEntityConfAtmLabelRangeTable, mplsLdpFrameRelayParmsTable, mplsLdpConfFrLabelRangeTable, mplsLdpAtmSessionTable, mpslLdpFrameRelaySessionTable, mplsLdpSessionPeerAddressTable, mplsLdpLibTable, and the mplsLdpFecTable. Expires February 2002 [Page 76] INTERNET-DRAFT MPLS LDP MIB August 2001 The following notifications were added: notification for Session removal. The following objects were removed from the Session Table: mplsLdpSessionRole was removed (this can be determined by comparing LSR Ids and does not need to be explicitely in the MIB.) ATM specific objects (mplsLdpSessionAtmLabelRangeLowerBoundVpi mplsLdpSessionAtmLabelRangeLowerBoundVci, mplsLdpSessionAtmLabelRangeUpperBoundVpi mplsLdpSessionAtmLabelRangeUpperBoundVci) were removed and put into a separate table. Frame Relay objects were added in a separate table. Hello Adjacency Table was updated. The objects, mplsLdpSessionRejectedParamErrors, mplsLdpSessionRejectedNoHelloErrors, mplsLdpBadLdpIdentifierErrors, mplsLdpBadPduLengthErrors, mplsLdpBadMessageLengthErrors, mplsLdpBadTlvLengthErrors, mplsLdpMalformedTlvValueErrors, mplsLdpKeepAliveTimerExpiredErrors, mplsLdpShutdownNotifReceived, and mplsLdpShutdownNotifSent were added to the mplsLdpEntityStatsTable. The mplsLdpSessionStatsTable was added to count statics based on a per Session basis. The mplLdpPeerConfAtmLabelRangeTable has been removed. There is no need to configure information for a Peer. All information for a peer is learned, thus peer information is read-only. (Editorial) References were updated to reflect the documents which this version was based on. 5.8. Changes from Textual conventions were added for the LSR Identifier and the LDP Identifier. Top-level mib structure was added. The LDP MIB falls under a proposed hierarchy of mpls.mplsProtocols. The mib hierarchy within the LDP MIB was also changed. A new branch, under mpls.mplsProtocols.mplsLdpMIB.mplsLdpObjects was added. This branch is mplsLdpLsrObjects. Currently, this contains several new scalar objects: mplsLdpLsrID, mplsLdpLsrLoopDetectionPresent, mplsLdpLsrLoopDetectinAdminStatus, mplsLdpLsrPathVectorLimit, mplsLdpLsrHopCountLimit, mplsLdpLsrLoopPreventionPresent, mplsLdpLsrLoopPreventionAdminStatus, and mplsLdpLsrLabelRetentionMode. mplsLdpEntityTable is now indexed by mplsLdpEntityIdentifier, which Expires February 2002 [Page 77] INTERNET-DRAFT MPLS LDP MIB August 2001 is the LDP Identifier used in Session establishment. mplsLdpEntityLoopDetection and mplsLdpEntityLoopPrevention objects were removed from this table. The following objects were added to the mplsLdpEntityTable: mplsLdpEntityLabelSpaceType, mplsLdpEntityUnlabTrafVpi, mplsLdpEntityUnlabTrafVci, mplsLdpEntityMergeCapability, mplsLdpEntityVcDirectionality, and mplsLdpEntityLabelDistributionMethod. The following objects were added to the mplsLdpPeerEntityTable: mplsLdpPeerLabelDistributionMethod. The following object was removed from the mplsLdpEntityStatsTable: mplsLdpEntityEstablishedSessions. References were added and revised. 6. Acknowledgments The authors would like to thank the following people: Leigh McLellan, Geetha Brown, Geping Chen and Charlan Zhou from Nortel Networks, and Zoltan Takacs and Bo Augustsson from Ericsson. Also, some members of the working group were very helpful with comments and corrections to the MIB; the authors would like to thank Adrian Farrel of Movaz Networks, and Alan Kullberg from NetPlane Systems. Expires February 2002 [Page 78] INTERNET-DRAFT MPLS LDP MIB August 2001 7. References [RFC2571] Harrington, D., Presuhn, R., and B. Wijnen, "An Architecture for Describing SNMP Management Frameworks", RFC 2571, April 1999. [RFC1155] Rose, M., and K. McCloghrie, "Structure and Identification of Management Information for TCP/IP-based Internets", STD 16, RFC 1155, May 1990. [RFC1212] Rose, M., and K. McCloghrie, "Concise MIB Definitions", STD 16, RFC 1212, March 1991. [RFC1215] M. Rose, "A Convention for Defining Traps for use with the SNMP", RFC 1215, March 1991. [RFC2578] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M., and S. Waldbusser, "Structure of Management Information Version 2 (SMIv2)", STD 58, RFC 2578, April 1999. [RFC2579] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M., and S. Waldbusser, "Textual Conventions for SMIv2", STD 58, RFC 2579, April 1999. [RFC2580] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M., and S. Waldbusser, "Conformance Statements for SMIv2", STD 58, RFC 2580, April 1999. [RFC1157] Case, J., Fedor, M., Schoffstall, M., and J. Davin, "Simple Network Management Protocol", STD 15, RFC 1157, May 1990. [RFC1901] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Introduction to Community-based SNMPv2", RFC 1901, January 1996. [RFC1906] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Transport Mappings for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1906, January 1996. [RFC2572] Case, J., Harrington D., Presuhn R., and B. Wijnen, "Message Processing and Dispatching for the Simple Network Management Protocol (SNMP)", RFC 2572, April 1999. [RFC2574] Blumenthal, U., and B. Wijnen, "User-based Security Model (USM) for version 3 of the Simple Network Management Protocol (SNMPv3)", RFC 2574, April 1999. [RFC1905] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Protocol Operations for Version 2 of the Simple Network Expires February 2002 [Page 79] INTERNET-DRAFT MPLS LDP MIB August 2001 Management Protocol (SNMPv2)", RFC 1905, January 1996. [RFC2573] Levi, D., Meyer, P., and B. Stewart, "SNMPv3 Applications", RFC 2573, April 1999. [RFC2575] Wijnen, B., Presuhn, R., and K. McCloghrie, "View-based Access Control Model (VACM) for the Simple Network Management Protocol (SNMP)", RFC 2575, April 1999. [RFC2570] Case, J., Mundy, R., Partain, D., and B. Stewart, "Introduction to Version 3 of the Internet-standard Network Management Framework", RFC 2570, April 1999. [17] Narten, T., and H. Alvestrand, "Guidelines for Writing an IANA Considerations Section in RFCs.", RFC 2434, IBM, Maxware, October 1998 [18] Andersson, L., Doolan, P., Feldman, N., Fredette, A., and B. Thomas, "LDP Specification", RFC 3036, January 2001. [19] Rosen, E., Viswananthan, A., and R. Callon, "Multiprotocol Label Switching Architecture", RFC 3031, January 2001. [20] Jamoussi, B., editor, "Constraint-Based LSP Setup using LDP", draft-ietf-mpls-cr-ldp-05.txt, February 2001. [21] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, Harvard University, March 1997 [22] Bradner, S., "The Internet Standards Process -- Revision 3", BCP 9, RFC 2026, Harvard University, October 1996 [23] Srinivansan, C., Viswanathan, A., and T. Nadeau "MPLS Label Switch Router Management Information Base Using SMIv2", draft-ietf-mpls- lsr-mib-07.txt, January 2001. [24] Greene, M., Cucchiara, J., and J. Luciani, "Definition of Managed Objects for the NBMA Next Hop Resolution Protocol (NHRP)", RFC 2677, August 1999. [25] Internet Assigned Numbers Authority (IANA), ADDRESS FAMILY NUMBERS, (http://www.isi.edu/in-notes/iana/assignments/address-family- numbers), for MIB (ftp://ftp.isi.edu/mib/ianaaddressfamilynumbers.mib). [26] Noto, M., E. Spiegel, K. Tesink, editors, "Definition of Textual Conventions and OBJECT-IDENTITIES for ATM Management", RFC 2514, February 1999. Expires February 2002 [Page 80] INTERNET-DRAFT MPLS LDP MIB August 2001 [27] McCloghrie, K., F. Kastenholz, "The Interfaces Group MIB using SMIv2", RFC 2863, June 2000. [28] Tesink, K. (ed.) "Definitions of Managed Objects for ATM Management", RFC 2515, February 1999. [29] Grossman, D., and J. Heinanen, "Multiprotocol Encapsulation over ATM Adaptation Layer 5", RFC 2684, September 1999. [30] Davie, B., Lawrence, J., McCloghrie, K., Rosen, E., Swallow, G., Rekhter, Y. and P. Doolan, "MPLS using LDP and ATM VC Switching", RFC 3035, January 2001. [31] Rosen, E., Tappan, D., Fedorkow, G., Rekhter, Y., Farinacci, D., Li, T. and A. Conta, "MPLS Label Stack Encoding", RFC 3032, January 2001. [32] Conta, A., Doolan, P., and A. Malis, "Use of Label Switching on Frame Relay Networks Specification", RFC 3034, January 2001. [33] Boscher, C., Cheval, P., Wu L. and E. Gray, "LDP State Machine", draft-ietf-mpls-ldp-state-04.txt, March 2000. [34] Thomas, B. and E. Gray, "LDP Applicability", RFC 3037, January 2001. [35] Daniele, M., Haberman, B., Routhier, S. and J. Schoenwaelder, "Textual Coventions for Internet Network Addresses", RFC 2851, June 2000. [36] Nadeau, T., Cucchiara, J., Srinivasan, C., Viswanathan, A. and H. Sjostrand, "Definitions of Textual Conventions and OBJECT- IDENTITIES for Multi-Protocol Label Switching Management", April 2001. 8. Security Considerations There are a number of management objects defined in this MIB that have 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. There are a number of managed objects in this MIB that may contain sensitive information. These are contained in the mplsLdpEntityTable. The objects contained in this table are responsible for setting up or Expires February 2002 [Page 81] INTERNET-DRAFT MPLS LDP MIB August 2001 tearing down LSPs. It is thus important to control even GET access to these objects and possibly to even encrypt the values of these object when sending them over the network via SNMP. Not all versions of SNMP provide features for such a secure environment. SNMPv1 by itself is not a secure environment. Even if the network itself is secure (for example by using IPSec), even then, there is no control as to who on the secure network is allowed to access and GET/SET (read/change/create/delete) the objects in this MIB. It is recommended that the implementers consider the security features as provided by the SNMPv3 framework. Specifically, the use of the User-based Security Model RFC 2574 [RFC2574] and the View- based Access Control Model RFC 2575 [RFC2575] is recommended. It is then a customer/user responsibility to ensure that the SNMP entity giving access to an instance of this MIB, 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. 9. Authors' Addresses James V. Luciani Crescent Networks 900 Chelmsford Street Lowell, MA 01851 USA Email: jluciani@crescentnetworks.com Hans Sjostrand ipUnplugged P.O. Box 101 60 S-121 28 Stockholm, Sweden Phone: +46 8 725 5930 Email: hans@ipunplugged.com Joan Cucchiara Crescent Networks 900 Chelmsford Street Lowell, MA 01851 USA Phone: (978) 275-3183 Email: jcucchiara@crescentnetworks.com Expires February 2002 [Page 82] INTERNET-DRAFT MPLS LDP MIB August 2001 10. Full Copyright Statement Copyright (C) The Internet Society (2001). All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns. This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Expires February 2002 [Page 83] INTERNET-DRAFT MPLS LDP MIB August 2001