mibs/MIBS/telco-systems/binos/MPLS-LSR-MIB
2023-12-05 12:25:34 +01:00

2180 lines
79 KiB
Plaintext

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