summaryrefslogtreecommitdiff
path: root/MIBS/telco-systems/binos/MPLS-LSR-MIB
diff options
context:
space:
mode:
authorDavid Leutgeb <david.leutgeb@mannundmouse.com>2023-12-05 12:25:34 +0100
committerDavid Leutgeb <david.leutgeb@mannundmouse.com>2023-12-05 12:25:34 +0100
commit98a672123c7872f6b9b75a9a2b6bb3aea504de6a (patch)
tree9b13bd7f563c3198047bd359195327cf28b3caf0 /MIBS/telco-systems/binos/MPLS-LSR-MIB
downloadmibs-98a672123c7872f6b9b75a9a2b6bb3aea504de6a.tar.gz
mibs-98a672123c7872f6b9b75a9a2b6bb3aea504de6a.zip
Initial commitHEADmain
Diffstat (limited to 'MIBS/telco-systems/binos/MPLS-LSR-MIB')
-rw-r--r--MIBS/telco-systems/binos/MPLS-LSR-MIB2179
1 files changed, 2179 insertions, 0 deletions
diff --git a/MIBS/telco-systems/binos/MPLS-LSR-MIB b/MIBS/telco-systems/binos/MPLS-LSR-MIB
new file mode 100644
index 0000000..0cdae64
--- /dev/null
+++ b/MIBS/telco-systems/binos/MPLS-LSR-MIB
@@ -0,0 +1,2179 @@
+-- *********************************************************************
+-- **
+-- ** BATM Advanced Communications.
+-- **
+-- *********************************************************************
+-- ** Filename: MPLS-LSR-MIB.mib
+-- ** Project: T-Metro Switches.
+-- ** Purpose: Private MIB
+-- *********************************************************************
+-- (c) Copyright, 2006, BATM Advanced Communications. All rights reserved.
+-- WARNING:
+--
+-- BY UTILIZING THIS FILE, YOU AGREE TO THE FOLLOWING:
+--
+-- This file is the property of BATM Advanced Communications and contains
+-- proprietary and confidential information. This file is made
+-- available to authorized BATM customers on the express
+-- condition that neither it, nor any of the information contained
+-- therein, shall be disclosed to third parties or be used for any
+-- purpose other than to replace, modify or upgrade firmware and/or
+-- software components of BATM manufactured equipment within the
+-- authorized customer's network, and that such transfer be
+-- completed in accordance with the instructions provided by
+-- BATM. Any other use is strictly prohibited.
+--
+-- EXCEPT AS RESTRICTED BY LAW, OR AS PROVIDED IN BATM'S LIMITED
+-- WARRANTY, THE SOFTWARE PROGRAMS CONTAINED IN THIS FILE ARE
+-- PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO, ANY IMPLIED WARRANTIES
+-- OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+--
+-- IN NO EVENT SHALL BATM BE LIABLE FOR ANY DAMAGES WHATSOEVER
+-- INCLUDING WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS
+-- PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION OR
+-- OTHER CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE, OR INABILITY
+-- TO USE, THE SOFTWARE CONTAINED IN THIS FILE.
+--
+-- ----------------------------------------------------------------------------
+--
+
+MPLS-LSR-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
+ Integer32, Unsigned32, zeroDotZero
+ FROM SNMPv2-SMI -- [RFC2578]
+ MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
+ FROM SNMPv2-CONF -- [RFC2580]
+ TruthValue, RowStatus, StorageType, RowPointer,
+ TEXTUAL-CONVENTION
+ FROM SNMPv2-TC -- [RFC2579]
+ InterfaceIndexOrZero, ifGeneralInformationGroup,
+ ifCounterDiscontinuityGroup
+ FROM IF-MIB -- [RFC2863]
+ mplsStdMIB, MplsLSPID, MplsLabel, MplsBitRate,
+ MplsOwner, MplsBurstSize
+ FROM MPLS-TC-PRIV-STDEXT-MIB -- [RFC3811]
+ AddressFamilyNumbers
+ FROM IANA-ADDRESS-FAMILY-NUMBERS-MIB -- [IANAFamily]
+ InetAddress, InetAddressType
+ FROM INET-ADDRESS-MIB -- [RFC3291]
+ prvtlmgrLsrEntityLsrIndex
+ FROM PRVT-LMGR-MIB
+ mpls FROM PRVT-CR-LDP-MIB;
+
+
+mplsLsrMIB MODULE-IDENTITY
+ LAST-UPDATED "200712060000Z"
+ ORGANIZATION "BATM Advanced Communication"
+ CONTACT-INFO
+ " BATM/Telco Systems Support team
+ Email:
+ For North America: techsupport@telco.com
+ For North Europe: support@batm.de, info@batm.de
+ For the rest of the world: techsupport@telco.com"
+
+ DESCRIPTION
+ "This MIB module contains managed object definitions for
+ the Multiprotocol Label Switching (MPLS) Router as
+ defined in: Rosen, E., Viswanathan, A., and R.
+ Callon, Multiprotocol Label Switching Architecture,
+ RFC 3031, January 2001.
+
+ Copyright (C) The Internet Society (2004). The
+ initial version of this MIB module was published
+ in RFC 3812. For full legal notices see the RFC
+ itself or see:
+ http://www.ietf.org/copyrights/ianamib.html"
+
+ -- Revision history.
+ REVISION
+ "200712060000Z"
+ DESCRIPTION
+ "Update the mib with new functionality and optimisations"
+ ::= { mpls 5 }
+
+
+-- Textual Conventions.
+
+MplsIndexType ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "This is an octet string that can be used as a table
+ index in cases where a large addressable space is
+ required such as on an LSR where many applications
+ may be provisioning labels.
+
+ Note that the string containing the single octet with
+ the value 0x00 is a reserved value used to represent
+ special cases. When this TEXTUAL-CONVENTION is used
+ as the SYNTAX of an object, the DESCRIPTION clause
+ MUST specify if this special value is valid and if so
+ what the special meaning is.
+
+ In systems that provide write access to the MPLS-LSR-STD
+ MIB, mplsIndexType SHOULD be used as a simple multi-digit
+ integer encoded as an octet string.
+ No further overloading of the meaning of an index SHOULD
+ be made.
+
+ In systems that do not offer write access to the MPLS-LSR-STD
+ MIB, the mplsIndexType may contain implicit formatting that is
+ specific to the implementation to convey additional
+ information such as interface index, physical card or
+ device, or application id. The interpretation of this
+ additional formatting is implementation dependent and
+ not covered in this document. Such formatting MUST
+ NOT impact the basic functionality of read-only access
+ to the MPLS-LSR-STD MIB by management applications that are
+ not aware of the formatting rules.
+
+ The MIB is implemented in PRVT-LMGR with write-access.
+ As specified above, PRVT-LMGR treats the index values of this type
+ as simple integer types.
+
+ In order to reduce the effort required to upgrade from earlier
+ versions of the MIB, and to simplify management of static LSPs,
+ this type is mapped on to an Integer32 in this implementation."
+ SYNTAX Integer32 (0..2147483647)
+
+MplsIndexNextType ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "When a MIB module is used for configuration, an object with
+ this SYNTAX always contains a legal value (a non-zero-length
+ string) for an index that is not currently used in the relevant
+ table. The Command Generator (Network Management Application)
+ reads this variable and uses the (non-zero-length string)
+ value read when creating a new row with an SNMP SET.
+
+ When the SET is performed, the Command Responder (agent) must
+ determine whether the value is indeed still unused; Two Network
+ Management Applications may attempt to create a row
+ (configuration entry) simultaneously and use the same value. If
+ it is currently unused, the SET succeeds and the Command
+ Responder (agent) changes the value of this object, according
+ to an implementation-specific algorithm. If the value is in
+ use, however, the SET fails. The Network Management
+ Application must then re-read this variable to obtain a new
+ usable value.
+
+ Note that the string containing the single octet with
+ the value 0x00 is a reserved value used to represent
+ the special case where no additional indexes can be
+ provisioned, or in systems that do not offer
+ write access, objects defined using this TEXTUAL-CONVENTION
+ MUST return the string containing the single
+ octet with the value 0x00.
+
+ The MplsIndexType is an Integer32 in this version of the MIB.
+ Accordingly, the MplsIndexNextType is also an Integer32, with
+ the special value of 0 indicating that no further index
+ values are available."
+ SYNTAX Integer32 (0..2147483647)
+-- Top level components of this MIB.
+
+-- Tables, Scalars
+mplsLsrObjects OBJECT IDENTIFIER ::= { mplsLsrMIB 1 }
+
+-- Notifications
+mplsLsrNotifications OBJECT IDENTIFIER ::= { mplsLsrMIB 2 }
+mplsLsrNotifyPrefix OBJECT IDENTIFIER ::= { mplsLsrNotifications 0 }
+
+
+-- Conformance
+mplsLsrConformance OBJECT IDENTIFIER ::= { mplsLsrMIB 3 }
+
+-- MPLS Interface Table.
+mplsInterfaceTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF MplsInterfaceEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An entry in this table is created by an LSR for
+ every interface capable of supporting MPLS. The
+ entry with index 0 represents the per-platform label
+ space and contains parameters that apply to all
+ interfaces that participate in the per-platform
+ label space. Other entries defined in this table
+ represent additional MPLS interfaces that may
+ participate in either the per-platform or
+ per-interface label spaces, or both. Additional
+ information about label space participation of an
+ interface is provided in the description clause of
+ mplsInterfaceLabelParticipType."
+ ::= { mplsLsrObjects 1 }
+
+mplsInterfaceEntry OBJECT-TYPE
+ SYNTAX MplsInterfaceEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A conceptual row in this table is created
+ automatically by an LSR for every interface capable
+ of supporting MPLS and which is configured to do so.
+ A conceptual row in this table will exist if and only if
+ a corresponding entry in ifTable exists with ifType =
+ mpls(166). If this associated entry in ifTable is
+ operationally disabled (thus removing MPLS
+ capabilities on that interface), the corresponding
+ entry in this table MUST be deleted shortly thereafter.
+ An conceptual row with index 0 is created if the LSR
+ supports per-platform labels. This conceptual row
+ represents the per-platform label space and contains
+ parameters that apply to all interfaces that participate
+ in the per-platform label space. Other conceptual rows
+ in this table represent MPLS interfaces that may
+ participate in either the per-platform or per-
+ interface label spaces, or both. Implementations
+ that either only support per-platform labels,
+ or have only them configured, may choose to return
+ just the mplsInterfaceEntry of 0 and not return
+ the other rows. This will greatly reduce the number
+ of objects returned. Further information about label
+ space participation of an interface is provided in
+ the DESCRIPTION clause of
+ mplsInterfaceLabelParticipType.
+
+ Private EXTENSION. This MIB table is also
+ indexed by the PRVT-LMGR product index."
+ INDEX { prvtlmgrLsrEntityLsrIndex, mplsInterfaceIndex }
+ ::= { mplsInterfaceTable 1 }
+
+MplsInterfaceEntry ::= SEQUENCE {
+ mplsInterfaceIndex InterfaceIndexOrZero,
+ mplsInterfaceLabelMinIn MplsLabel,
+ mplsInterfaceLabelMaxIn MplsLabel,
+ mplsInterfaceLabelMinOut MplsLabel,
+ mplsInterfaceLabelMaxOut MplsLabel,
+ mplsInterfaceTotalBandwidth MplsBitRate,
+ mplsInterfaceAvailableBandwidth MplsBitRate,
+ mplsInterfaceLabelParticipType BITS,
+ mplsInterfaceSwitchMngedLblSpace TruthValue
+}
+
+mplsInterfaceIndex OBJECT-TYPE
+ SYNTAX InterfaceIndexOrZero
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This is a unique index for an entry in the
+ MplsInterfaceTable. A non-zero index for an
+ entry indicates the ifIndex for the corresponding
+ interface entry of the MPLS-layer in the ifTable.
+ The entry with index 0 represents the per-platform
+ label space and contains parameters that apply to all
+ interfaces that participate in the per-platform label
+ space. Other entries defined in this table represent
+ additional MPLS interfaces that may participate in either
+ the per-platform or per-interface label spaces, or both."
+ REFERENCE
+ "RFC 2863 - The Interfaces Group MIB, McCloghrie, K.,
+ and F. Kastenholtz, June 2000"
+ ::= { mplsInterfaceEntry 2 }
+
+mplsInterfaceLabelMinIn OBJECT-TYPE
+ SYNTAX MplsLabel
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This is the minimum value of an MPLS label that this
+ LSR is willing to receive on this interface."
+ ::= { mplsInterfaceEntry 3 }
+
+mplsInterfaceLabelMaxIn OBJECT-TYPE
+ SYNTAX MplsLabel
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This is the maximum value of an MPLS label that this
+ LSR is willing to receive on this interface."
+ ::= { mplsInterfaceEntry 4 }
+
+mplsInterfaceLabelMinOut OBJECT-TYPE
+ SYNTAX MplsLabel
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This is the minimum value of an MPLS label that this
+ LSR is willing to send on this interface."
+ ::= { mplsInterfaceEntry 5 }
+
+mplsInterfaceLabelMaxOut OBJECT-TYPE
+ SYNTAX MplsLabel
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This is the maximum value of an MPLS label that this
+ LSR is willing to send on this interface."
+ ::= { mplsInterfaceEntry 6 }
+
+mplsInterfaceTotalBandwidth OBJECT-TYPE
+ SYNTAX MplsBitRate
+ UNITS "kilobits per second"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This value indicates the total amount of usable
+ bandwidth on this interface and is specified in
+ kilobits per second (Kbps). This variable is not
+ applicable when applied to the interface with index
+ 0. When this value cannot be measured, this value
+ should contain the nominal bandwidth."
+::= { mplsInterfaceEntry 7 }
+
+mplsInterfaceAvailableBandwidth OBJECT-TYPE
+ SYNTAX MplsBitRate
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This value indicates the total amount of available
+ bandwidth available on this interface and is
+ specified in kilobits per second (Kbps). This value
+ is calculated as the difference between the amount
+ of bandwidth currently in use and that specified in
+ mplsInterfaceTotalBandwidth. This variable is not
+ applicable when applied to the interface with index
+ 0. When this value cannot be measured, this value
+ should contain the nominal bandwidth."
+::= { mplsInterfaceEntry 8 }
+
+mplsInterfaceLabelParticipType OBJECT-TYPE
+ SYNTAX BITS {
+ perPlatform (0),
+ perInterface (1)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "If the value of the mplsInterfaceIndex for this
+ entry is zero, then this entry corresponds to the
+ per-platform label space for all interfaces configured
+ to use that label space. In this case the perPlatform(0)
+ bit MUST be set; the perInterface(1) bit is meaningless
+ and MUST be ignored.
+
+ The remainder of this description applies to entries
+ with a non-zero value of mplsInterfaceIndex.
+
+ If the perInterface(1) bit is set then the value of
+ mplsInterfaceLabelMinIn, mplsInterfaceLabelMaxIn,
+ mplsInterfaceLabelMinOut, and
+ mplsInterfaceLabelMaxOut for this entry reflect the
+ label ranges for this interface.
+
+ If only the perPlatform(0) bit is set, then the value of
+ mplsInterfaceLabelMinIn, mplsInterfaceLabelMaxIn,
+ mplsInterfaceLabelMinOut, and
+ mplsInterfaceLabelMaxOut for this entry MUST be
+ identical to the instance of these objects with
+ index 0.These objects may only vary from the entry
+ with index 0 if both the perPlatform(0) and perInterface(1)
+ bits are set.
+
+ In all cases, at a minimum one of the perPlatform(0) or
+ perInterface(1) bits MUST be set to indicate that
+ at least one label space is in use by this interface. In
+ all cases, agents MUST ensure that label ranges are
+ specified consistently and MUST return an
+ inconsistentValue error when they do not."
+ REFERENCE
+ "Rosen, E., Viswanathan, A., and R. Callon,
+ Multiprotocol Label Switching Architecture, RFC
+ 3031, January 2001."
+::= { mplsInterfaceEntry 9 }
+
+mplsInterfaceSwitchMngedLblSpace OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This value indicates whether or not the label space
+ for this interface is managed by the switch itself,
+ rather than by the Label Manager."
+::= { mplsInterfaceEntry 10 }
+
+-- End of mplsInterfaceTable
+
+-- In-segment Index next table.
+
+mplsInSegmentIndexNextTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF MplsInSegmentIndexNextEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This table contains the next appropriate value to be used
+ for mplsInSegmentIndex when creating entries in the
+ mplsInSegmentTable. If the number of unassigned entries is
+ exhausted, the mplsInSegmentIndexNext object will take the
+ value of 0."
+ ::= { mplsLsrObjects 3 }
+
+mplsInSegmentIndexNextEntry OBJECT-TYPE
+ SYNTAX MplsInSegmentIndexNextEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An entry in this table represents the next available
+ mplsInSegmentIndex for a specific Label Manager entity.
+ This MIB table is indexed by the PRVT-LMGR entity Index."
+ INDEX { prvtlmgrLsrEntityLsrIndex }
+ ::= { mplsInSegmentIndexNextTable 1 }
+
+MplsInSegmentIndexNextEntry ::= SEQUENCE {
+ mplsInSegmentIndexNext MplsIndexNextType
+}
+
+mplsInSegmentIndexNext OBJECT-TYPE
+ SYNTAX MplsIndexNextType
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This object contains the next available value to
+ be used for mplsInSegmentIndex when creating entries
+ in the mplsInSegmentTable.
+
+ The special value of 0 indicates that no new entries
+ can be created in this table.
+
+ Agents not allowing managers to create entries
+ in this table MUST set this object to this special
+ value."
+ ::= { mplsInSegmentIndexNextEntry 2 }
+
+-- End of mplsInSegmentIndexNextTable
+
+
+-- in-segment table.
+mplsInSegmentTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF MplsInSegmentEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This table contains a description of the incoming MPLS
+ segments (labels) to an LSR and their associated parameters.
+ The index for this table is mplsInSegmentIndex.
+ The index structure of this table is specifically designed
+ to handle many different MPLS implementations that manage
+ their labels both in a distributed and centralized manner.
+ The table is also designed to handle existing MPLS labels
+ as defined in RFC3031 as well as longer ones that may
+ be necessary in the future.
+
+ In cases where the label cannot fit into the
+ mplsInSegmentLabel object, the mplsInSegmentLabelPtr
+ will indicate this by being set to the first accessible
+ column in the appropriate extension table's row.
+ In this case an additional table MUST
+ be provided and MUST be indexed by at least the indexes
+ used by this table. In all other cases when the label is
+ represented within the mplsInSegmentLabel object, the
+ mplsInSegmentLabelPtr MUST be set to 0.0. Due to the
+ fact that MPLS labels may not exceed 24 bits, the
+ mplsInSegmentLabelPtr object is only a provision for
+ future-proofing the MIB module. Thus, the definition
+ of any extension tables is beyond the scope of this
+ MIB module.
+
+ Entries in the table cannot be created by management for
+ incoming MPLS segments associated with interfaces using the
+ Switch Managed Label Space (SMLS); that is when
+ mplsInterfaceSwitchMngedLblSpace is set to true for the
+ interface."
+ ::= { mplsLsrObjects 4 }
+
+mplsInSegmentEntry OBJECT-TYPE
+ SYNTAX MplsInSegmentEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An entry in this table represents one incoming
+ segment as is represented in an LSR's LFIB.
+ An entry can be created by a network
+ administrator or an SNMP agent, or an MPLS signaling
+ protocol. The creator of the entry is denoted by
+ mplsInSegmentOwner. An entry in this table is
+ indexed by the ifIndex of the incoming interface and
+ the (top) label.
+
+ The value of mplsInSegmentRowStatus cannot be active(1)
+ unless the ifTable entry corresponding to
+ mplsInSegmentInterface exists. An entry in this table
+ must match any incoming packets, and indicates an
+ instance of mplsXCEntry based on which forwarding
+ and/or switching actions are taken.
+
+ Private EXTENSION. This MIB table is also
+ indexed by the LMGR product Index."
+ INDEX { prvtlmgrLsrEntityLsrIndex,
+ mplsInSegmentIndex }
+ ::= { mplsInSegmentTable 1 }
+
+MplsInSegmentEntry ::= SEQUENCE {
+ mplsInSegmentIndex MplsIndexType,
+ mplsInSegmentInterface InterfaceIndexOrZero,
+ mplsInSegmentLabel MplsLabel,
+ mplsInSegmentLabelPtr RowPointer,
+ mplsInSegmentNPop Integer32,
+ mplsInSegmentAddrFamily AddressFamilyNumbers,
+ mplsInSegmentXCIndex MplsIndexType,
+ mplsInSegmentOwner MplsOwner,
+ mplsInSegmentTrafficParamPtr RowPointer,
+ mplsInSegmentRowStatus RowStatus,
+ mplsInSegmentStorageType StorageType
+}
+
+mplsInSegmentIndex OBJECT-TYPE
+ SYNTAX MplsIndexType
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The index for this in-segment.
+ The value 0 MUST not be used as an index."
+
+ ::= { mplsInSegmentEntry 2 }
+
+mplsInSegmentInterface OBJECT-TYPE
+ SYNTAX InterfaceIndexOrZero
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This object represents the
+ interface index for the incoming MPLS interface. A
+ value of zero represents all interfaces participating in
+ the per-platform label space. This may only be used
+ in cases where the incoming interface and label
+ are associated with the same mplsXCEntry. Specifically,
+ given a label and any incoming interface pair from the
+ per-platform label space, the outgoing label/interface
+ mapping remains the same. If this is not the case,
+ then individual entries MUST exist that
+ can then be mapped to unique mplsXCEntries."
+ ::= { mplsInSegmentEntry 3 }
+
+mplsInSegmentLabel OBJECT-TYPE
+ SYNTAX MplsLabel
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "If the corresponding instance of mplsInSegmentLabelPtr is
+ zeroDotZero then this object MUST contain the incoming label
+ associated with this in-segment. If not this object SHOULD
+ be zero and MUST be ignored."
+ ::= { mplsInSegmentEntry 4 }
+
+mplsInSegmentLabelPtr OBJECT-TYPE
+ SYNTAX RowPointer
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "If the label for this segment cannot be represented
+ fully within the mplsInSegmentLabel object,
+ this object MUST point to the first accessible
+ column of a conceptual row in an external table containing
+ the label. In this case, the mplsInSegmentTopLabel
+ object SHOULD be set to 0 and ignored. This object MUST
+ be set to zeroDotZero otherwise.
+
+ In the this implementation, this object points at an entry in
+ the gmplsLabelTable. Configuration of static LSPs using big
+ labels is not currently supported by PRVT-LMGR, and so the
+ gmplsLabelTable and this object are read-only."
+ DEFVAL { zeroDotZero }
+ ::= { mplsInSegmentEntry 5 }
+
+mplsInSegmentNPop OBJECT-TYPE
+ SYNTAX Integer32 (1..2147483647)
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The number of labels to pop from the incoming
+ packet. Normally only the top label is popped from
+ the packet and used for all switching decisions for
+ that packet. This is indicated by setting this
+ object to the default value of 1. If an LSR supports
+ popping of more than one label, this object MUST
+ be set to that number. This object cannot be modified
+ if mplsInSegmentRowStatus is active(1)."
+ DEFVAL { 1 }
+ ::= { mplsInSegmentEntry 6 }
+
+mplsInSegmentAddrFamily OBJECT-TYPE
+ SYNTAX AddressFamilyNumbers
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The IANA address family [IANAFamily] of packets
+ received on this segment, which is used at an egress
+ LSR to deliver them to the appropriate layer 3 entity.
+ A value of other(0) indicates that the family type is
+ either unknown or undefined; this SHOULD NOT be used
+ at an egress LSR. This object cannot be
+ modified if mplsInSegmentRowStatus is active(1)."
+ REFERENCE
+ "Internet Assigned Numbers Authority (IANA), ADDRESS
+ FAMILY NUMBERS, (http://www.iana.org/assignments/
+ address-family-numbers), for MIB see:
+ http://www.iana.org/assignments/
+ ianaaddressfamilynumbers-mib"
+ DEFVAL { other }
+ ::= { mplsInSegmentEntry 7 }
+
+mplsInSegmentXCIndex OBJECT-TYPE
+ SYNTAX MplsIndexType
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Index into the mplsXCTable which identifies which
+ cross-connect entry this segment is part of.
+
+ The value 0 indicates that this entry is not referred
+ to by any cross-connect entry.
+
+ When a cross-connect entry is created which this
+ in-segment is a part of, this object is automatically
+ updated to reflect the value of mplsXCIndex of that
+ cross-connect entry."
+ ::= { mplsInSegmentEntry 8 }
+
+mplsInSegmentOwner OBJECT-TYPE
+ SYNTAX MplsOwner
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Denotes the entity that created and is responsible
+ for managing this segment."
+ ::= { mplsInSegmentEntry 9 }
+
+mplsInSegmentTrafficParamPtr OBJECT-TYPE
+ SYNTAX RowPointer
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This variable represents a pointer to the traffic
+ parameter specification for this in-segment. This
+ value may point at an entry in the
+ mplsTrafficParamTable to indicate which
+ mplsTrafficParamEntry is to be assigned to this
+ segment. This value may optionally point at an
+ externally defined traffic parameter specification
+ table. A value of zeroDotZero indicates best-effort
+ treatment. By having the same value of this object,
+ two or more segments can indicate resource sharing
+ of such things as LSP queue space, etc.
+
+ This object cannot be modified if mplsInSegmentRowStatus
+ is active(1). For entries in this table that
+ are preserved after a re-boot, the agent MUST ensure
+ that their integrity be preserved, or this object should
+ be set to 0.0 if it cannot.
+ In this implementation, the object must point at an
+ entry in the mplsTrafficParamTable."
+ DEFVAL { zeroDotZero }
+ ::= { mplsInSegmentEntry 10 }
+
+mplsInSegmentRowStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This variable is used to create, modify, and/or
+ delete a row in this table. When a row in this
+ table has a row in the active(1) state, no
+ objects in this row can be modified except the
+ mplsInSegmentRowStatus and mplsInSegmentStorageType."
+ ::= { mplsInSegmentEntry 11 }
+
+mplsInSegmentStorageType OBJECT-TYPE
+ SYNTAX StorageType
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This variable indicates the storage type for this
+ object. The agent MUST ensure that this object's
+ value remains consistent with the associated
+ mplsXCEntry. Conceptual rows having the value
+ 'permanent' need not allow write-access to any
+ columnar objects in the row."
+ REFERENCE
+ "See RFC2579."
+ DEFVAL { volatile }
+ ::= { mplsInSegmentEntry 12 }
+
+-- End of mplsInSegmentTable
+
+-- Out-segment table.
+
+-- Private EXTENSION. The mplsOutSegmentIndexNext object is
+-- implemented as a row in a table to allow for multiple instances of
+-- PRVT-LMGR entities within a managed node.
+
+mplsOutSegmentIndexNextTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF MplsOutSegmentIndexNextEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This table contains the next appropriate value to be used
+ for mplsOutSegmentIndex when creating entries in the
+ mplsOutSegmentTable. If the number of unassigned entries is
+ exhausted, this object will take on the value of 0. To obtain
+ the mplsOutSegmentIndex value for a new entry, the manager
+ must first issue a management protocol retrieval operation to
+ obtain the current value of this object. The agent should
+ modify the value to reflect the next unassigned index after
+ each retrieval operation. After a manager retrieves a value
+ the agent will determine through its local policy when this
+ index value will be made available for reuse."
+ ::= { mplsLsrObjects 6 }
+
+mplsOutSegmentIndexNextEntry OBJECT-TYPE
+ SYNTAX MplsOutSegmentIndexNextEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An entry in this table represents the next available
+ mplsOutSegmentIndex for a specific Label Manager entity.
+ This MIB table is indexed by the PRVT-LMGR entity Index."
+
+ INDEX { prvtlmgrLsrEntityLsrIndex }
+ ::= { mplsOutSegmentIndexNextTable 1 }
+
+MplsOutSegmentIndexNextEntry ::= SEQUENCE {
+ mplsOutSegmentIndexNext Integer32
+ }
+
+mplsOutSegmentIndexNext OBJECT-TYPE
+ SYNTAX Integer32 (0..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This object contains the next available value to
+ be used for mplsOutSegmentIndex when creating entries
+ in the mplsOutSegmentTable.
+
+ The special value of 0 indicates that no new entries
+ can be created in this table.
+
+ Agents not allowing managers to create entries
+ in this table MUST set this object to this special
+ value."
+ ::= { mplsOutSegmentIndexNextEntry 2 }
+
+-- End of mplsOutSegmentIndexNextTable
+
+-- out-segment table.
+
+mplsOutSegmentTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF MplsOutSegmentEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This table contains a representation of the outgoing
+ segments from an LSR. An entry in this table represents
+ one outgoing segment. An entry can be created by a network
+ administrator or an SNMP agent, or an MPLS signaling
+ protocol. The object mplsOutSegmentOwner indicates the
+ creator of this entry."
+ ::= { mplsLsrObjects 7 }
+
+mplsOutSegmentEntry OBJECT-TYPE
+ SYNTAX MplsOutSegmentEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An entry in this table represents one outgoing
+ segment. An entry can be created by a network
+ administrator, an SNMP agent, or an MPLS signaling
+ protocol. The object mplsOutSegmentOwner indicates
+ the creator of this entry.The value of
+ mplsOutSegmentRowStatus cannot be active(1) unless
+ the ifTable entry corresponding to
+ mplsOutSegmentInterface exists.
+
+ Note that the indexing of this table uses a single,
+ arbitrary index (mplsOutSegmentIndex) to indicate
+ which out-segment (i.e.: label) is being switched to
+ from which in-segment (i.e: label) or in-segments.
+ This is necessary because it is possible to have an
+ equal-cost multi-path situation where two identical
+ out-going labels are assigned to the same
+ cross-connect (i.e.: they go to two different neighboring
+ LSRs); thus, requiring two out-segments. In order to
+ preserve the uniqueness of the references
+ by the mplsXCEntry, an arbitrary integer must be used as
+ the index for this table.
+
+ PRIVATE EXTENSION. This MIB table is also
+ indexed by the PRVT-LMGR product index."
+ INDEX { prvtlmgrLsrEntityLsrIndex,
+ mplsOutSegmentIndex }
+ ::= { mplsOutSegmentTable 1 }
+
+MplsOutSegmentEntry ::= SEQUENCE {
+ mplsOutSegmentIndex MplsIndexType,
+ mplsOutSegmentInterface InterfaceIndexOrZero,
+ mplsOutSegmentPushTopLabel TruthValue,
+ mplsOutSegmentTopLabel MplsLabel,
+ mplsOutSegmentTopLabelPtr RowPointer,
+ mplsOutSegmentNextHopAddrType InetAddressType,
+ mplsOutSegmentNextHopAddr InetAddress,
+ mplsOutSegmentXCIndex MplsIndexType,
+ mplsOutSegmentOwner MplsOwner,
+ mplsOutSegmentTrafficParamPtr RowPointer,
+ mplsOutSegmentRowStatus RowStatus,
+ mplsOutSegmentStorageType StorageType
+}
+
+mplsOutSegmentIndex OBJECT-TYPE
+ SYNTAX MplsIndexType
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This value contains a unique index for this row.
+ While a value of 0 is not valid as an index for entries
+ in this table, it can be supplied as a valid value
+ to index the mplsXCTable to represent entries for
+ which no out-segment has been configured or
+ exists."
+ ::= { mplsOutSegmentEntry 2 }
+
+mplsOutSegmentInterface OBJECT-TYPE
+ SYNTAX InterfaceIndexOrZero
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This value must contain the interface index of the
+ outgoing interface. This object cannot be modified
+ if mplsOutSegmentRowStatus is active(1). The
+ mplsOutSegmentRowStatus cannot be set to active(1)
+ until this object is set to a value corresponding to
+ a valid ifEntry."
+ ::= { mplsOutSegmentEntry 3 }
+
+mplsOutSegmentPushTopLabel OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This value indicates whether or not a top label
+ should be pushed onto the outgoing packet's label
+ stack. The value of this variable MUST be set to
+ true(1) if the outgoing interface does not support
+ pop-and-go (and no label stack remains). For example,
+ on ATM interface, or if the segment represents a
+ tunnel origination. Note that it is considered
+ an error in the case that mplsOutSegmentPushTopLabel
+ is set to false, but the cross-connect entry which
+ refers to this out-segment has a non-zero
+ mplsLabelStackIndex. The LSR MUST ensure that this
+ situation does not happen. This object cannot be
+ modified if mplsOutSegmentRowStatus is active(1)."
+ DEFVAL { true }
+ ::= { mplsOutSegmentEntry 4 }
+
+mplsOutSegmentTopLabel OBJECT-TYPE
+ SYNTAX MplsLabel
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "If mplsOutSegmentPushTopLabel is true then this
+ represents the label that should be pushed onto the
+ top of the outgoing packet's label stack. Otherwise
+ this value SHOULD be set to 0 by the management
+ station and MUST be ignored by the agent. This
+ object cannot be modified if mplsOutSegmentRowStatus
+ is active(1)."
+ DEFVAL { 0 }
+ ::= { mplsOutSegmentEntry 5 }
+
+mplsOutSegmentTopLabelPtr OBJECT-TYPE
+ SYNTAX RowPointer
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "If the label for this segment cannot be represented
+ fully within the mplsOutSegmentLabel object,
+ this object MUST point to the first accessible
+ column of a conceptual row in an external table containing
+ the label. In this case, the mplsOutSegmentTopLabel
+ object SHOULD be set to 0 and ignored. This object
+ MUST be set to zeroDotZero otherwise.
+
+ In the this implementation, this object points at an entry in
+ the gmplsLabelTable. Configuration of static LSPs using big
+ labels is not currently supported by PRVT-LMGR, and so the
+ gmplsLabelTable and this object are read-only."
+ DEFVAL { zeroDotZero }
+ ::= { mplsOutSegmentEntry 6 }
+
+mplsOutSegmentNextHopAddrType OBJECT-TYPE
+ SYNTAX InetAddressType
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Indicates the next hop Internet address type.
+ Only values unknown(0), ipv4(1) or ipv6(2)
+ have to be supported.
+
+ A value of unknown(0) is allowed only when
+ the outgoing interface is of type point-to-point.
+ If any other unsupported values are attempted in a set
+ operation, the agent MUST return an inconsistentValue
+ error."
+ REFERENCE
+ "See RFC3291."
+ ::= { mplsOutSegmentEntry 7 }
+
+mplsOutSegmentNextHopAddr OBJECT-TYPE
+ SYNTAX InetAddress
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The internet address of the next hop. The type of
+ this address is determined by the value of the
+ mplslOutSegmentNextHopAddrType object.
+
+ This object cannot be modified if
+ mplsOutSegmentRowStatus is active(1)."
+ ::= { mplsOutSegmentEntry 8 }
+
+mplsOutSegmentXCIndex OBJECT-TYPE
+ SYNTAX MplsIndexType
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Index into mplsXCTable which identifies which cross-
+ connect entry this segment is part of. A value of
+ zero indicates that this entry is not referred to by
+ any cross-connect entry. When a cross-connect entry
+ is created which this out-segment is a part of, this
+ object is automatically updated to reflect the value
+ of mplsXCIndex of that cross-connect entry."
+ DEFVAL { 0 }
+ ::= { mplsOutSegmentEntry 9 }
+
+mplsOutSegmentOwner OBJECT-TYPE
+ SYNTAX MplsOwner
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Denotes the entity which created and is responsible
+ for managing this segment."
+ ::= { mplsOutSegmentEntry 10 }
+
+mplsOutSegmentTrafficParamPtr OBJECT-TYPE
+ SYNTAX RowPointer
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This variable represents a pointer to the traffic
+ parameter specification for this out-segment. This
+ value may point at an entry in the
+ mplsTrafficParamTable to indicate which
+ mplsTrafficParamEntry is to be assigned to this
+ segment. This value may optionally point at an
+ externally defined traffic parameter specification
+ table. A value of zeroDotZero indicates best-effort
+ treatment. By having the same value of this object,
+ two or more segments can indicate resource sharing
+ of such things as LSP queue space, etc.
+
+ This object cannot be modified if
+ mplsOutSegmentRowStatus is active(1).
+ For entries in this table that
+ are preserved after a re-boot, the agent MUST ensure
+ that their integrity be preserved, or this object should
+ be set to 0.0 if it cannot.
+
+ In this implementation, the object must point at an
+ entry in the mplsTrafficParamTable."
+ DEFVAL { zeroDotZero }
+ ::= { mplsOutSegmentEntry 11 }
+
+mplsOutSegmentRowStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "For creating, modifying, and deleting this row.
+ When a row in this table has a row in the active(1)
+ state, no objects in this row can be modified
+ except the mplsOutSegmentRowStatus or
+ mplsOutSegmentStorageType."
+ ::= { mplsOutSegmentEntry 12 }
+
+mplsOutSegmentStorageType OBJECT-TYPE
+ SYNTAX StorageType
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This variable indicates the storage type for this
+ object. The agent MUST ensure that this object's value
+ remains consistent with the associated mplsXCEntry.
+ Conceptual rows having the value 'permanent'
+ need not allow write-access to any columnar
+ objects in the row."
+ DEFVAL { volatile }
+ ::= { mplsOutSegmentEntry 13 }
+
+
+-- End of mplsOutSegmentTable
+
+-- Cross-connect table.
+
+-- Private EXTENSION. The mplsXcIndexNext object is
+-- implemented as a row in a table to allow for multiple instances of
+-- PRVT-LMGR entities within a managed node.
+
+mplsXCIndexNextTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF MplsXCIndexNextEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This table contains the next appropriate value to be used
+ for mplsXCIndex when creating entries in the mplsXCTable.
+ If the number of unassigned entries is exhausted, this
+ object will take on the value of 0. To obtain the mplsXCIndex
+ value for a new entry, the manager must first issue a
+ management protocol retrieval operation to obtain the
+ current value of this object. The agent should modify the
+ value to reflect the next unassigned index after each
+ retrieval operation. After a manager retrieves a value the
+ agent will determine through its local policy when this
+ index value will be made available for reuse."
+ ::= { mplsLsrObjects 9 }
+
+mplsXCIndexNextEntry OBJECT-TYPE
+ SYNTAX MplsXCIndexNextEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An entry in this table represents the next available
+ mplsXcIndex for a specific Label Manager entity.
+ This MIB table is indexed by the PRVT-LMGR entity Index."
+
+ INDEX { prvtlmgrLsrEntityLsrIndex }
+ ::= { mplsXCIndexNextTable 1 }
+
+MplsXCIndexNextEntry ::= SEQUENCE {
+ mplsXCIndexNext Integer32
+ }
+
+mplsXCIndexNext OBJECT-TYPE
+ SYNTAX Integer32 (0..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This object contains the next available value to
+ be used for mplsXCIndex when creating entries in
+ the mplsXCTable. A special value of the zero length
+ string indicates that no more new entries can be created
+ in the relevant table. Agents not allowing managers
+ to create entries in this table MUST set this value
+ to the zero length string."
+ ::= { mplsXCIndexNextEntry 2 }
+
+-- Cross-connect table.
+
+mplsXCTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF MplsXCEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This table specifies information for switching
+ between LSP segments. It supports point-to-point,
+ point-to-multipoint and multipoint-to-point
+ connections. mplsLabelStackTable specifies the
+ label stack information for a cross-connect LSR and
+ is referred to from mplsXCTable."
+ ::= { mplsLsrObjects 10 }
+
+mplsXCEntry OBJECT-TYPE
+ SYNTAX MplsXCEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A row in this table represents one cross-connect
+ entry. It is indexed by the following objects:
+
+ - cross-connect index mplsXCIndex that uniquely
+ identifies a group of cross-connect entries
+
+ - in-segment index, mplsXCInSegmentIndex
+
+ - out-segment index, mplsXCOutSegmentIndex.
+
+ LSPs originating at this LSR:
+ These are represented by using the special
+ value of mplsXCInSegmentIndex set to the
+ value 0. In this case the mplsXCOutSegmentIndex
+ MUST not the value 0.
+
+ LSPs terminating at this LSR:
+ These are represented by using the special value
+ mplsXCOutSegmentIndex set to the value 0.
+
+ An entry can be created by a network administrator
+ or by an SNMP agent as instructed by an MPLS
+ signaling protocol.
+
+ PRIVATE EXTENSION. This MIB table is also
+ indexed by the PRVT-LMGR product index."
+ INDEX { prvtlmgrLsrEntityLsrIndex,
+ mplsXCIndex,
+ mplsXCInSegmentIndex,
+ mplsXCOutSegmentIndex }
+
+ ::= { mplsXCTable 1 }
+
+MplsXCEntry ::= SEQUENCE {
+ mplsXCIndex MplsIndexType,
+ mplsXCInSegmentIndex MplsIndexType,
+ mplsXCOutSegmentIndex MplsIndexType,
+ mplsXCLspId MplsLSPID,
+ mplsXCLabelStackIndex MplsIndexType,
+ mplsXCOwner MplsOwner,
+ mplsXCRowStatus RowStatus,
+ mplsXCStorageType StorageType,
+ mplsXCAdminStatus INTEGER,
+ mplsXCOperStatus INTEGER,
+ mplsXCUserData OCTET STRING
+ }
+
+mplsXCIndex OBJECT-TYPE
+ SYNTAX MplsIndexType
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Primary index for the conceptual row identifying a
+ group of cross-connect segments.
+
+ The value 0 is an invalid index."
+ ::= { mplsXCEntry 2 }
+
+mplsXCInSegmentIndex OBJECT-TYPE
+ SYNTAX MplsIndexType
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Incoming label index.
+
+ If this object is set to the value 0, this indicates
+ a special case outlined in the table's description above.
+
+ In this case no corresponding mplsInSegmentEntry
+ shall exist."
+ ::= { mplsXCEntry 3 }
+
+mplsXCOutSegmentIndex OBJECT-TYPE
+ SYNTAX MplsIndexType
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Index of out-segment for LSPs not terminating on
+ this LSR if not set to the value 0. If the segment
+ identified by this entry is terminating, then this
+ object MUST be set to the value 0 to indicate
+ that no corresponding mplsOutSegmentEntry shall exist."
+ ::= { mplsXCEntry 4 }
+
+mplsXCLspId OBJECT-TYPE
+ SYNTAX MplsLSPID
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This value identifies the label switched path that
+ this cross-connect entry belongs to. This object
+ cannot be modified if mplsXCRowStatus is active(1)
+ except for this object."
+ ::= { mplsXCEntry 5 }
+
+mplsXCLabelStackIndex OBJECT-TYPE
+ SYNTAX MplsIndexType
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Primary index into mplsLabelStackTable identifying a
+ stack of labels to be pushed beneath the top label.
+ Note that the top label identified by the out-
+ segment ensures that all the components of a
+ multipoint-to-point connection have the same
+ outgoing label. A value of 0 indicates that no
+ labels are to be stacked beneath the top label.
+ This object cannot be modified if mplsXCRowStatus is
+ active(1)."
+ ::= { mplsXCEntry 6 }
+
+mplsXCOwner OBJECT-TYPE
+ SYNTAX MplsOwner
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Denotes the entity that created and is responsible
+ for managing this cross-connect."
+ ::= { mplsXCEntry 7 }
+
+mplsXCRowStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "For creating, modifying, and deleting this row.
+ When a row in this table has a row in the active(1)
+ state, no objects in this row except this object
+ and the mplsXCStorageType can be modified. "
+ ::= { mplsXCEntry 8 }
+
+mplsXCStorageType OBJECT-TYPE
+ SYNTAX StorageType
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This variable indicates the storage type for this
+ object. The agent MUST ensure that the associated in
+ and out segments also have the same StorageType value
+ and are restored consistently upon system restart.
+ This value SHOULD be set to permanent(4) if created
+ as a result of a static LSP configuration.
+
+ Conceptual rows having the value 'permanent'
+ need not allow write-access to any columnar
+ objects in the row."
+ DEFVAL { volatile }
+ ::= { mplsXCEntry 9 }
+
+mplsXCAdminStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ up(1), -- ready to pass packets
+ down(2),
+ testing(3) -- in some test mode
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The desired operational status of this segment."
+ DEFVAL { up }
+ ::= { mplsXCEntry 10 }
+
+mplsXCOperStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ up(1), -- ready to pass packets
+ down(2),
+ testing(3), -- in some test mode
+ unknown(4), -- status cannot be determined
+ -- for some reason.
+ dormant(5),
+ notPresent(6), -- some component is missing
+ lowerLayerDown(7) -- down due to the state of
+ -- lower layer interfaces
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The actual operational status of this cross-connect."
+ ::= { mplsXCEntry 11 }
+
+mplsXCUserData OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (0..16))
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "User defined information for this cross-connect. This
+ information will be passed over the LSI on the
+ ATG_LSI_CONNECT_LSP_XC request from Label Manager as
+ xc_user_data. Note that if any user data is specified here, its
+ length must not be greater than the xc_user_data_size that was
+ specified on the ATG_LSI_REGISTER response to Label Manager."
+ ::= { mplsXCEntry 12 }
+
+-- End of mplsXCTable
+
+
+-- Label stack table.
+
+-- Private EXTENSION. The mplsLabelStackIndexNext object is
+-- implemented as a row in a table to allow for multiple instances of
+-- PRVT-LMGR entities within a managed node.
+
+mplsLabelStackIndexNextTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF MplsLabelStackIndexNextEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This table contains the next appropriate value to be used
+ for mplsLabelStackIndex when creating entries in the
+ mplsLabelStackTable. If the number of unassigned entries is
+ exhausted, this object will take on the value of 0. To obtain
+ the mplsLabelStackIndex value for a new entry, the manager
+ must first issue a management protocol retrieval operation to
+ obtain the current value of this object. The agent should
+ modify the value to reflect the next unassigned index after
+ each retrieval operation. After a manager retrieves a value
+ the agent will determine through its local policy when this
+ index value will be made available for reuse."
+ ::= { mplsLsrObjects 11 }
+
+mplsLabelStackIndexNextEntry OBJECT-TYPE
+ SYNTAX MplsLabelStackIndexNextEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An entry in this table represents the next available
+ mplsLabelStackIndex for a specific Label Manager entity.
+ This MIB table is indexed by the PRVT-LMGR entity Index."
+
+ INDEX { prvtlmgrLsrEntityLsrIndex }
+ ::= { mplsLabelStackIndexNextTable 1 }
+
+MplsLabelStackIndexNextEntry ::= SEQUENCE {
+ mplsLabelStackIndexNext Integer32
+ }
+
+mplsLabelStackIndexNext OBJECT-TYPE
+ SYNTAX Integer32 (0..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This object contains the next available value to
+ be used for mplsLabelStackIndex when creating entries
+ in the mplsLabelStackTable.
+ The special value 0 indicates that no more new
+ entries can be created in the relevant table. Agents
+ not allowing managers to create entries in this table
+ MUST set this value to 0."
+::= { mplsLabelStackIndexNextEntry 2 }
+
+mplsLabelStackTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF MplsLabelStackEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This table specifies the label stack to be pushed
+ onto a packet, beneath the top label. Entries into
+ this table are referred to from mplsXCTable. An entry in
+ this table represents one label which is to be pushed onto
+ an outgoing packet, beneath the top label. An entry can be
+ created by a network administrator or by an SNMP agent as
+ instructed by an MPLS signaling protocol."
+ ::= { mplsLsrObjects 13 }
+
+mplsLabelStackEntry OBJECT-TYPE
+ SYNTAX MplsLabelStackEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An entry in this table represents one label which is
+ to be pushed onto an outgoing packet, beneath the
+ top label. An entry can be created by a network
+ administrator or by an SNMP agent as instructed by
+ an MPLS signaling protocol.
+
+ PRIVATE EXTENSION. This MIB table is also
+ indexed by the PRVT-LMGR product index."
+ INDEX { prvtlmgrLsrEntityLsrIndex,
+ mplsLabelStackIndex,
+ mplsLabelStackLabelIndex }
+ ::= { mplsLabelStackTable 1 }
+
+MplsLabelStackEntry ::= SEQUENCE {
+ mplsLabelStackIndex MplsIndexType,
+ mplsLabelStackLabelIndex Unsigned32,
+ mplsLabelStackLabel MplsLabel,
+ mplsLabelStackLabelPtr RowPointer,
+ mplsLabelStackRowStatus RowStatus,
+ mplsLabelStackStorageType StorageType
+ }
+
+mplsLabelStackIndex OBJECT-TYPE
+ SYNTAX MplsIndexType
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Primary index for this row identifying a stack of
+ labels to be pushed on an outgoing packet, beneath
+ the top label.
+
+ An index of 0 MUST not be used."
+ ::= { mplsLabelStackEntry 2 }
+
+mplsLabelStackLabelIndex OBJECT-TYPE
+ SYNTAX Unsigned32 (1..2147483647)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Secondary index for this row identifying one label
+ of the stack. Note that an entry with a smaller
+ mplsLabelStackLabelIndex would refer to a label
+ higher up the label stack and would be popped at a
+ downstream LSR before a label represented by a
+ higher mplsLabelStackLabelIndex at a downstream
+ LSR."
+ ::= { mplsLabelStackEntry 3 }
+
+mplsLabelStackLabel OBJECT-TYPE
+ SYNTAX MplsLabel
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The label to pushed."
+ ::= { mplsLabelStackEntry 4 }
+
+mplsLabelStackLabelPtr OBJECT-TYPE
+ SYNTAX RowPointer
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "If the label for this segment cannot be represented
+ fully within the mplsLabelStackLabel object,
+ this object MUST point to the first accessible
+ column of a conceptual row in an external table containing
+ the label. In this case, the mplsLabelStackLabel
+ object SHOULD be set to 0 and ignored. This object
+ MUST be set to zeroDotZero otherwise.
+
+ In the this implementation, the object points at an entry in
+ the gmplsLabelTable. Configuration of static LSPs using big
+ labels is not currently supported by PRVT-LMGR, and so the
+ gmplsLabelTable and this object are read-only."
+ DEFVAL { zeroDotZero }
+ ::= { mplsLabelStackEntry 5 }
+
+mplsLabelStackRowStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "For creating, modifying, and deleting this row.
+ When a row in this table has a row in the active(1)
+ state, no objects in this row except this object
+ and the mplsLabelStackStorageType can be modified."
+ ::= { mplsLabelStackEntry 6 }
+
+mplsLabelStackStorageType OBJECT-TYPE
+ SYNTAX StorageType
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This variable indicates the storage type for this
+ object. This object cannot be modified if
+ mplsLabelStackRowStatus is active(1).
+ No objects are required to be writable for
+ rows in this table with this object set to
+ permanent(4).
+
+ The agent MUST ensure that all related entries
+ in this table retain the same value for this
+ object. Agents MUST ensure that the storage type
+ for all entries related to a particular mplsXCEntry
+ retain the same value for this object as the
+ mplsXCEntry's StorageType."
+ DEFVAL { volatile }
+ ::= { mplsLabelStackEntry 7 }
+
+-- End of mplsLabelStackTable
+
+-- Traffic Parameter table.
+
+-- Private EXTENSION. The mplsTrafficParamIndexNext object is
+-- implemented as a row in a table to allow for multiple instances of
+-- PRVT-LMGR entities within a managed node.
+
+mplsTrafficParamIndexNextTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF MplsTrafficParamIndexNextEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This table contains the next appropriate value to be used for
+ mplsTrafficParamIndex when creating entries in the
+ mplsTrafficParamTable. If the number of unassigned entries is
+ exhausted, this object will take on the value of 0. To obtain
+ the mplsTrafficParamIndex value for a new entry, the manager
+ must first issue a management protocol retrieval operation to
+ obtain the current value of this object. The agent should
+ modify the value to reflect the next unassigned index after
+ each retrieval operation. After a manager retrieves a value
+ the agent will determine through its local policy when this
+ index value will be made available for reuse."
+ ::= { mplsLsrObjects 16 }
+
+mplsTrafficParamIndexNextEntry OBJECT-TYPE
+ SYNTAX MplsTrafficParamIndexNextEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An entry in this table represents the next available
+ mplsTrafficParamIndex for a specific Label Manager entity.
+ This MIB table is indexed by the PRVT-LMGR entity Index."
+
+ INDEX { prvtlmgrLsrEntityLsrIndex }
+ ::= { mplsTrafficParamIndexNextTable 1 }
+
+MplsTrafficParamIndexNextEntry ::= SEQUENCE {
+ mplsTrafficParamIndexNext Integer32
+ }
+
+mplsTrafficParamIndexNext OBJECT-TYPE
+ SYNTAX Integer32 (0..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The next available index value for the
+ mplsTrafficParamTable."
+ ::= { mplsTrafficParamIndexNextEntry 2 }
+
+mplsTrafficParamTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF MplsTrafficParamEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This table specifies the Traffic Parameter objects
+ for in and out-segments. An entry in this table
+ represents the TrafficParam objects for one or more
+ in or out segments. A single entry can be pointed to
+ by multiple segments indicating resource sharing."
+ ::= { mplsLsrObjects 17 }
+
+mplsTrafficParamEntry OBJECT-TYPE
+ SYNTAX MplsTrafficParamEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An entry in this table represents the TrafficParam
+ objects for one or more in or out segments. A
+ single entry can be pointed to by multiple segments
+ indicating resource sharing.
+
+ PRIVATE EXTENSION. This MIB table is also
+ indexed by the PRVT-LMGR product index."
+ INDEX { prvtlmgrLsrEntityLsrIndex, mplsTrafficParamIndex }
+ ::= { mplsTrafficParamTable 1 }
+
+MplsTrafficParamEntry ::= SEQUENCE {
+ mplsTrafficParamIndex Integer32,
+ mplsTrafficParamMaxRate MplsBitRate,
+ mplsTrafficParamMeanRate MplsBitRate,
+ mplsTrafficParamMaxBurstSize MplsBurstSize,
+ mplsTrafficParamRowStatus RowStatus,
+ mplsTrafficParamStorageType StorageType
+ }
+
+mplsTrafficParamIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..2147483647)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Uniquely identifies this row of the table. Note
+ that zero represents an invalid index."
+ ::= { mplsTrafficParamEntry 2 }
+
+mplsTrafficParamMaxRate OBJECT-TYPE
+ SYNTAX MplsBitRate
+ UNITS "kilobits per second"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Maximum rate in kilobits/second."
+ ::= { mplsTrafficParamEntry 3 }
+
+mplsTrafficParamMeanRate OBJECT-TYPE
+ SYNTAX MplsBitRate
+ UNITS "kilobits per second"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Mean rate in kilobits/second."
+ ::= { mplsTrafficParamEntry 4 }
+
+mplsTrafficParamMaxBurstSize OBJECT-TYPE
+ SYNTAX MplsBurstSize
+ UNITS "bytes"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Maximum burst size in bytes."
+ ::= { mplsTrafficParamEntry 5 }
+
+mplsTrafficParamRowStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "For creating, modifying, and deleting this row."
+ ::= { mplsTrafficParamEntry 6 }
+
+mplsTrafficParamStorageType OBJECT-TYPE
+ SYNTAX StorageType
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The storage type for this object."
+ DEFVAL { volatile }
+ ::= { mplsTrafficParamEntry 7 }
+
+-- End of mplsTrafficParamTable
+
+-- Begin mplsInSegmentMapTable
+
+mplsInSegmentMapTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF MplsInSegmentMapEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This table specifies the mapping from the
+ mplsInSegmentIndex to the corresponding
+ mplsInSegmentInterface and mplsInSegmentLabel
+ objects. The purpose of this table is to
+ provide the manager with an alternative
+ means by which to locate in-segments."
+ ::= { mplsLsrObjects 14 }
+
+mplsInSegmentMapEntry OBJECT-TYPE
+ SYNTAX MplsInSegmentMapEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An entry in this table represents one interface
+ and incoming label pair.
+
+ In cases where the label cannot fit into the
+ mplsInSegmentLabel object, the mplsInSegmentLabelPtr
+ will indicate this by being set to the first accessible
+ column in the appropriate extension table's row,
+ and the mplsInSegmentLabel SHOULD be set to 0.
+ In all other cases when the label is
+ represented within the mplsInSegmentLabel object, the
+ mplsInSegmentLabelPtr MUST be 0.0.
+
+ Implementors need to be aware that if the value of
+ the mplsInSegmentMapLabelPtrIndex (an OID) has more
+ that 111 sub-identifiers, then OIDs of column
+ instances in this table will have more than 128
+ sub-identifiers and cannot be accessed using SNMPv1,
+ SNMPv2c, or SNMPv3."
+
+ INDEX { prvtlmgrLsrEntityLsrIndex,
+ mplsInSegmentMapInterface,
+ mplsInSegmentMapLabel,
+ mplsInSegmentMapLabelPtrIndex }
+ ::= { mplsInSegmentMapTable 1 }
+
+MplsInSegmentMapEntry ::= SEQUENCE {
+ mplsInSegmentMapInterface InterfaceIndexOrZero,
+ mplsInSegmentMapLabel MplsLabel,
+ mplsInSegmentMapLabelPtrIndex RowPointer,
+ mplsInSegmentMapIndex MplsIndexType
+ }
+
+mplsInSegmentMapInterface OBJECT-TYPE
+ SYNTAX InterfaceIndexOrZero
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This index contains the same value as the
+ mplsInSegmentIndex in the mplsInSegmentTable."
+ ::= { mplsInSegmentMapEntry 2 }
+
+mplsInSegmentMapLabel OBJECT-TYPE
+ SYNTAX MplsLabel
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This index contains the same value as the
+ mplsInSegmentLabel in the mplsInSegmentTable."
+ ::= { mplsInSegmentMapEntry 3 }
+
+mplsInSegmentMapLabelPtrIndex OBJECT-TYPE
+ SYNTAX RowPointer
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This index contains the same value as the
+ mplsInSegmentLabelPtr.
+
+ If the label for the InSegment cannot be represented
+ fully within the mplsInSegmentLabel object,
+ this index MUST point to the first accessible
+ column of a conceptual row in an external table containing
+ the label. In this case, the mplsInSegmentTopLabel
+ object SHOULD be set to 0 and ignored. This object MUST
+ be set to zeroDotZero otherwise.
+
+ In the this implementation, the object points at an entry in
+ the gmplsLabelTable."
+ ::= { mplsInSegmentMapEntry 4 }
+
+mplsInSegmentMapIndex OBJECT-TYPE
+ SYNTAX MplsIndexType
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The mplsInSegmentIndex that corresponds
+ to the mplsInSegmentInterface and
+ mplsInSegmentLabel, or the mplsInSegmentInterface
+ and mplsInSegmentLabelPtr, if applicable.
+
+ The value 0 MUST not be returned."
+ ::= { mplsInSegmentMapEntry 5 }
+
+-- End mplsInSegmentMapTable
+
+-- Notification Configuration
+
+-- mplsNotificationEnableTable
+
+prvtlmgrTrapEnableTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF PrvtlmgrTrapEnableEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The mplsXCTrapEnable Scalar allows a manager to
+ enable or disable TRAPs."
+ ::= { mplsLsrObjects 15 }
+
+prvtlmgrTrapEnableEntry OBJECT-TYPE
+ SYNTAX PrvtlmgrTrapEnableEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The mplsXCTrapEnable Scalar allows a manager to
+ enable or disable TRAPs.
+
+ PRIVATE EXTENSION. This MIB table is also
+ indexed by the LMGR product Index."
+ INDEX { prvtlmgrLsrEntityLsrIndex }
+ ::= { prvtlmgrTrapEnableTable 1 }
+
+PrvtlmgrTrapEnableEntry ::= SEQUENCE {
+ mplsXCTrapEnable TruthValue
+}
+
+mplsXCTrapEnable OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "If this object is set to true(1), then it enables
+ the emission of mplsXCUp and mplsXCDown
+ notifications; otherwise these notifications are not
+ emitted."
+ REFERENCE
+ "See also RFC3413 for explanation that
+ notifications are under the ultimate control of the
+ MIB module in this document."
+ DEFVAL { false }
+ ::= { prvtlmgrTrapEnableEntry 2 }
+
+-- End of prvtlmgrTrapEnableTable
+
+-- Cross-connect.
+
+mplsXCUp NOTIFICATION-TYPE
+ OBJECTS { mplsXCOperStatus, -- start of range
+ mplsXCOperStatus -- end of range
+ }
+ STATUS current
+ DESCRIPTION
+ "This notification is generated when the
+ mplsXCOperStatus object for one or more contiguous
+ entries in mplsXCTable are about to enter the up(1)
+ state from some other state. The included values of
+ mplsXCOperStatus MUST both be set equal to this
+ new state (i.e: up(1)). The two instances of
+ mplsXCOperStatus in this notification indicate the range
+ of indexes that are affected. Note that all the indexes
+ of the two ends of the range can be derived from the
+ instance identifiers of these two objects. For
+ cases where a contiguous range of cross-connects
+ have transitioned into the up(1) state at roughly
+ the same time, the device SHOULD issue a single
+ notification for each range of contiguous indexes in
+ an effort to minimize the emission of a large number
+ of notifications. If a notification has to be
+ issued for just a single cross-connect entry, then
+ the instance identifier (and values) of the two
+ mplsXCOperStatus objects MUST be the identical."
+ ::= { mplsLsrNotifyPrefix 1 }
+
+mplsXCDown NOTIFICATION-TYPE
+ OBJECTS {
+ mplsXCOperStatus, -- start of range
+ mplsXCOperStatus -- end of range
+ }
+ STATUS current
+ DESCRIPTION
+ "This notification is generated when the
+ mplsXCOperStatus object for one or more contiguous
+ entries in mplsXCTable are about to enter the
+ down(2) state from some other state. The included values
+ of mplsXCOperStatus MUST both be set equal to this
+ down(2) state. The two instances of mplsXCOperStatus
+ in this notification indicate the range of indexes
+ that are affected. Note that all the indexes of the
+ two ends of the range can be derived from the
+ instance identifiers of these two objects. For
+ cases where a contiguous range of cross-connects
+ have transitioned into the down(2) state at roughly
+ the same time, the device SHOULD issue a single
+ notification for each range of contiguous indexes in
+ an effort to minimize the emission of a large number
+ of notifications. If a notification has to be
+ issued for just a single cross-connect entry, then
+ the instance identifier (and values) of the two
+ mplsXCOperStatus objects MUST be identical."
+ ::= { mplsLsrNotifyPrefix 2 }
+
+-- End of notifications.
+
+-- Module compliance.
+
+mplsLsrGroups
+ OBJECT IDENTIFIER ::= { mplsLsrConformance 1 }
+
+mplsLsrCompliances
+ OBJECT IDENTIFIER ::= { mplsLsrConformance 2 }
+
+-- Compliance requirement for fully compliant implementations.
+
+mplsLsrModuleFullCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION "Compliance statement for agents that provide full
+ support for MPLS-LSR-MIB. Such devices can
+ then be monitored and also be configured using
+ this MIB module."
+
+ MODULE IF-MIB -- The Interfaces Group MIB, RFC 2863.
+ MANDATORY-GROUPS {
+ ifGeneralInformationGroup,
+ ifCounterDiscontinuityGroup
+ }
+
+ MODULE -- This module.
+ MANDATORY-GROUPS {
+ mplsInterfaceGroup,
+ mplsInSegmentGroup,
+ mplsOutSegmentGroup,
+ mplsXCGroup,
+ mplsLsrTrafficParamGroup
+ }
+
+ GROUP mplsLabelStackGroup
+ DESCRIPTION "This group is only mandatory for LSRs that wish to
+ support the modification of LSP label stacks.
+ "
+
+ GROUP mplsLsrNotificationGroup
+ DESCRIPTION "This group is only mandatory for those implementations
+ which can efficiently implement the notifications
+ contained in this group."
+
+ OBJECT mplsInSegmentRowStatus
+ SYNTAX RowStatus { active(1), notInService(2) }
+ WRITE-SYNTAX RowStatus { active(1), notInService(2),
+ createAndGo(4), destroy(6)
+ }
+ DESCRIPTION "Support for createAndWait and notReady is
+ not required."
+
+ OBJECT mplsOutSegmentNextHopAddrType
+ SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) }
+ DESCRIPTION "Only unknown(0), ipv4(1) and ipv6(2) support
+ is required."
+
+ OBJECT mplsOutSegmentNextHopAddr
+ SYNTAX InetAddress (SIZE(0|4|16))
+ DESCRIPTION "An implementation is only required to support
+ unknown(0), ipv4(1) and ipv6(2) sizes."
+
+ OBJECT mplsOutSegmentRowStatus
+ SYNTAX RowStatus { active(1), notInService(2) }
+ WRITE-SYNTAX RowStatus { active(1), notInService(2),
+ createAndGo(4), destroy(6)
+ }
+ DESCRIPTION "Support for createAndWait and notReady is not
+ required."
+
+ OBJECT mplsLabelStackRowStatus
+ SYNTAX RowStatus { active(1), notInService(2) }
+ WRITE-SYNTAX RowStatus { active(1), notInService(2),
+ createAndGo(4), destroy(6)
+ }
+ DESCRIPTION "Support for createAndWait and notReady is not
+ required."
+
+ OBJECT mplsXCRowStatus
+ SYNTAX RowStatus { active(1), notInService(2) }
+ WRITE-SYNTAX RowStatus { active(1), notInService(2),
+ createAndGo(4), destroy(6)
+ }
+ DESCRIPTION "Support for createAndWait and notReady is not
+ required."
+
+ ::= { mplsLsrCompliances 1 }
+
+-- Compliance requirement for read-only implementations.
+
+mplsLsrModuleReadOnlyCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION "Compliance requirement for implementations that only
+ provide read-only support for MPLS-LSR-MIB. Such
+ devices can then be monitored but cannot be configured
+ using this MIB module.
+ "
+
+ MODULE IF-MIB -- The interfaces Group MIB, RFC 2863
+ MANDATORY-GROUPS {
+ ifGeneralInformationGroup,
+ ifCounterDiscontinuityGroup
+ }
+
+ MODULE -- This module
+ MANDATORY-GROUPS {
+ mplsInterfaceGroup,
+ mplsInSegmentGroup,
+ mplsOutSegmentGroup,
+ mplsXCGroup,
+ mplsLsrTrafficParamGroup
+ }
+
+ GROUP mplsLabelStackGroup
+ DESCRIPTION "This group is only mandatory for LSRs that wish to
+ support the modification of LSP label stacks.
+ "
+
+ GROUP mplsLsrNotificationGroup
+ DESCRIPTION "This group is only mandatory for those implementations
+ which can efficiently implement the notifications
+ contained in this group.
+ "
+
+ -- mplsInSegmentTable
+ OBJECT mplsInSegmentLabel
+ MIN-ACCESS read-only
+ DESCRIPTION "Write access is not required."
+
+ OBJECT mplsInSegmentLabelPtr
+ MIN-ACCESS read-only
+ DESCRIPTION "Write access is not required."
+
+ OBJECT mplsInSegmentNPop
+ SYNTAX Integer32 (1..1)
+ MIN-ACCESS read-only
+ DESCRIPTION "Write access is not required. This object
+ SHOULD be set to 1 if it is read-only.
+ "
+
+ OBJECT mplsInSegmentAddrFamily
+ MIN-ACCESS read-only
+ DESCRIPTION "Write access is not required. A value of other(0)
+ should be supported because there may be cases where
+ the agent may not know about or support any address
+ types.
+ "
+
+ OBJECT mplsInSegmentRowStatus
+ SYNTAX RowStatus { active(1) }
+ MIN-ACCESS read-only
+ DESCRIPTION "Write access is not required."
+
+ OBJECT mplsInSegmentStorageType
+ MIN-ACCESS read-only
+ DESCRIPTION "Write access is not required."
+
+ -- mplsOutSegmentTable
+ OBJECT mplsOutSegmentInterface
+ MIN-ACCESS read-only
+ DESCRIPTION "Write access is not required."
+
+ OBJECT mplsOutSegmentPushTopLabel
+ MIN-ACCESS read-only
+ DESCRIPTION "Write access is not required."
+
+ OBJECT mplsOutSegmentTopLabel
+ MIN-ACCESS read-only
+ DESCRIPTION "Write access is not required."
+
+ OBJECT mplsOutSegmentTopLabelPtr
+ MIN-ACCESS read-only
+ DESCRIPTION "Write access is not required."
+
+ OBJECT mplsOutSegmentNextHopAddrType
+ SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) }
+ MIN-ACCESS read-only
+ DESCRIPTION "Write access is not required. Only unknown(0),
+ ipv4(1) and ipv6(2) support is required.
+ "
+
+ OBJECT mplsOutSegmentNextHopAddr
+ SYNTAX InetAddress (SIZE(0|4|16))
+ MIN-ACCESS read-only
+ DESCRIPTION "Write access is not required. An implementation is
+ only required to support unknown(0), ipv4(1) and
+ ipv6(2) sizes."
+
+ OBJECT mplsOutSegmentRowStatus
+ SYNTAX RowStatus { active(1) }
+ MIN-ACCESS read-only
+ DESCRIPTION "Write access is not required."
+
+ OBJECT mplsOutSegmentStorageType
+ MIN-ACCESS read-only
+ DESCRIPTION "Write access is not required."
+
+ -- mplsXCTable
+ OBJECT mplsXCLabelStackIndex
+ MIN-ACCESS read-only
+ DESCRIPTION "Write access is not required."
+
+ OBJECT mplsXCAdminStatus
+ MIN-ACCESS read-only
+ DESCRIPTION "Read only support is required."
+
+ OBJECT mplsXCRowStatus
+ SYNTAX RowStatus { active(1) }
+ MIN-ACCESS read-only
+ DESCRIPTION "Write access is not required."
+
+ OBJECT mplsXCStorageType
+ MIN-ACCESS read-only
+ DESCRIPTION "Write access is not required."
+
+ OBJECT mplsLabelStackLabel
+ MIN-ACCESS read-only
+ DESCRIPTION "Write access is not required."
+
+ OBJECT mplsLabelStackLabelPtr
+ MIN-ACCESS read-only
+ DESCRIPTION "Write access is not required."
+
+ OBJECT mplsLabelStackRowStatus
+ MIN-ACCESS read-only
+ DESCRIPTION "Write access is not required."
+
+ OBJECT mplsLabelStackStorageType
+ MIN-ACCESS read-only
+ DESCRIPTION "Write access is not required."
+
+ ::= { mplsLsrCompliances 2 }
+
+-- Units of conformance.
+
+mplsInterfaceGroup OBJECT-GROUP
+ OBJECTS {
+ mplsInterfaceLabelMinIn,
+ mplsInterfaceLabelMaxIn,
+ mplsInterfaceLabelMinOut,
+ mplsInterfaceLabelMaxOut,
+ mplsInterfaceTotalBandwidth,
+ mplsInterfaceAvailableBandwidth,
+ mplsInterfaceLabelParticipType,
+ mplsInterfaceSwitchMngedLblSpace
+ }
+ STATUS current
+ DESCRIPTION
+ "Collection of objects needed for MPLS interface
+ and interface performance information."
+ ::= { mplsLsrGroups 1 }
+
+mplsInSegmentGroup OBJECT-GROUP
+ OBJECTS {
+ mplsInSegmentIndexNext,
+ mplsInSegmentInterface,
+ mplsInSegmentLabel,
+ mplsInSegmentLabelPtr,
+ mplsInSegmentNPop,
+ mplsInSegmentAddrFamily,
+ mplsInSegmentXCIndex,
+ mplsInSegmentOwner,
+ mplsInSegmentRowStatus,
+ mplsInSegmentStorageType,
+ mplsInSegmentTrafficParamPtr,
+ mplsInSegmentMapIndex
+ }
+ STATUS current
+ DESCRIPTION
+ "Collection of objects needed to implement an in-
+ segment."
+ ::= { mplsLsrGroups 2 }
+
+mplsOutSegmentGroup OBJECT-GROUP
+ OBJECTS {
+ mplsOutSegmentIndexNext,
+ mplsOutSegmentInterface,
+ mplsOutSegmentPushTopLabel,
+ mplsOutSegmentTopLabel,
+ mplsOutSegmentTopLabelPtr,
+ mplsOutSegmentNextHopAddrType,
+ mplsOutSegmentNextHopAddr,
+ mplsOutSegmentXCIndex,
+ mplsOutSegmentOwner,
+ mplsOutSegmentRowStatus,
+ mplsOutSegmentStorageType,
+ mplsOutSegmentTrafficParamPtr
+ }
+ STATUS current
+ DESCRIPTION
+ "Collection of objects needed to implement an out-
+ segment."
+ ::= { mplsLsrGroups 3 }
+
+mplsXCGroup OBJECT-GROUP
+ OBJECTS {
+ mplsXCIndexNext,
+ mplsXCLspId,
+ mplsXCLabelStackIndex,
+ mplsXCOwner,
+ mplsXCStorageType,
+ mplsXCAdminStatus,
+ mplsXCOperStatus,
+ mplsXCRowStatus,
+ mplsXCTrapEnable,
+ mplsXCUserData
+ }
+ STATUS current
+ DESCRIPTION
+ "Collection of objects needed to implement a
+ cross-connect entry."
+ ::= { mplsLsrGroups 4 }
+
+mplsLabelStackGroup OBJECT-GROUP
+ OBJECTS {
+ mplsLabelStackLabel,
+ mplsLabelStackLabelPtr,
+ mplsLabelStackRowStatus,
+ mplsLabelStackStorageType,
+ mplsLabelStackIndexNext
+ }
+ STATUS current
+ DESCRIPTION
+ "Objects needed to support label stacking."
+ ::= { mplsLsrGroups 8 }
+
+mplsLsrNotificationGroup NOTIFICATION-GROUP
+ NOTIFICATIONS {
+ mplsXCUp,
+ mplsXCDown
+ }
+ STATUS current
+ DESCRIPTION
+ "Set of notifications implemented in this
+ module."
+ ::= { mplsLsrGroups 9 }
+
+mplsLsrTrafficParamGroup OBJECT-GROUP
+ OBJECTS {
+ mplsTrafficParamIndexNext,
+ mplsTrafficParamMaxRate,
+ mplsTrafficParamMeanRate,
+ mplsTrafficParamMaxBurstSize,
+ mplsTrafficParamRowStatus,
+ mplsTrafficParamStorageType
+ }
+ STATUS current
+ DESCRIPTION
+ "Optional Traffic Param table objects."
+ ::= { mplsLsrGroups 10 }
+
+
+-- End of MPLS-LSR-MIB
+END