mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
11147d3bbf
* Extract DiscoveryItem and move some things to better places. Extract model class Fix up model construction. I have problem with construction... Makeshift model working. Switch constructor to factory. discover() and create() Support legacy discovery. Remove uneeded custom pollers Remove netonix custom detection as we try ucd on all os now. Add a few yaml procs. Fix a couple things. More processor discovery conversions Move Calix e7 to standard hrProcessorLoad, but it doesn't fully implement the HR-MIB, move things around to make it work. Add a few yaml procs. Fix a couple things. Correct some stupid mib stuff. Move more, drop php 5.3 Add netscaler which uses string indexes. Port fiberhome to yaml and use skip_values More conversions. BroadcomProcessorUsage Trait Serveriron and Ironware share some mibs. Create a common abstract os for them. Add yaml support for mib specification in each data entry Make legacy discover_processor() set 0 for hrDeviceIndex Untangle Dell switch OS processors Use use shared OS for groups if they don't have a specific group. fix silly mib mistake Make index optional Move HR and UCD to Traits and out of Processor. * forgot to update the fortiswitch index * Make sgos and avaya-ers match the old index. * fix comware test data * fix merge errors * fix dsm and remove pointless empty modules * file not found exception is in the wrong place. * Updated processor development docs
2180 lines
79 KiB
Plaintext
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
|