diff options
| author | David Leutgeb <david.leutgeb@mannundmouse.com> | 2023-12-05 12:25:34 +0100 |
|---|---|---|
| committer | David Leutgeb <david.leutgeb@mannundmouse.com> | 2023-12-05 12:25:34 +0100 |
| commit | 98a672123c7872f6b9b75a9a2b6bb3aea504de6a (patch) | |
| tree | 9b13bd7f563c3198047bd359195327cf28b3caf0 /MIBS/hp/HP-SN-MPLS-LSR-MIB | |
| download | mibs-main.tar.gz mibs-main.zip | |
Diffstat (limited to 'MIBS/hp/HP-SN-MPLS-LSR-MIB')
| -rw-r--r-- | MIBS/hp/HP-SN-MPLS-LSR-MIB | 1807 |
1 files changed, 1807 insertions, 0 deletions
diff --git a/MIBS/hp/HP-SN-MPLS-LSR-MIB b/MIBS/hp/HP-SN-MPLS-LSR-MIB new file mode 100644 index 0000000..7721878 --- /dev/null +++ b/MIBS/hp/HP-SN-MPLS-LSR-MIB @@ -0,0 +1,1807 @@ + + + + + + + + + +HP-SN-MPLS-LSR-MIB DEFINITIONS ::= BEGIN + +IMPORTS + MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, + Integer32, Counter32, Unsigned32, Counter64, Gauge32 + FROM SNMPv2-SMI + MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP + FROM SNMPv2-CONF + TruthValue, RowStatus, StorageType, RowPointer, + TimeStamp + FROM SNMPv2-TC + InterfaceIndex, InterfaceIndexOrZero + FROM IF-MIB + mplsMIB, MplsLSPID, MplsLabel, MplsBitRate, MplsBurstSize, + MplsInitialCreationSource + FROM HP-SN-MPLS-TC-MIB + AddressFamilyNumbers + FROM IANA-ADDRESS-FAMILY-NUMBERS-MIB + InetAddressIPv4, InetAddressIPv6, InetAddressType + FROM INET-ADDRESS-MIB + snMpls + FROM HP-SN-ROOT-MIB; + +mplsLsrMIB MODULE-IDENTITY + LAST-UPDATED "200201041200Z" -- 4 January 2002 12:00:00 GMT + ORGANIZATION "Multiprotocol Label Switching (MPLS) Working Group" + CONTACT-INFO + " + Cheenu Srinivasan + Postal: Parama Networks, Inc. + 1030 Broad Street + Shrewsbury, NJ 07702 + Tel: +1-732-544-9120 x731 + Email: cheenu@paramanet.com + + Arun Viswanathan + Postal: Force10 Networks, Inc. + 1440 McCarthy Blvd + Milpitas, CA 95035 + Tel: +1-408-571-3516 + Email: arun@force10networks.com + + Thomas D. Nadeau + Postal: Cisco Systems, Inc. + 250 Apollo Drive + Chelmsford, MA 01824 + Tel: +1-978-244-3051 + Email: tnadeau@cisco.com + " + DESCRIPTION + "This MIB 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." + + -- Revision history. + REVISION + "200201041200Z" -- 4 January 2002 12:00:00 GMT + DESCRIPTION + "Initial revision, published as part of RFC XXXX." + ::= { mplsMIB 2 } + +-- 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 Configuration Table. + +mplsInterfaceConfTable OBJECT-TYPE + SYNTAX SEQUENCE OF MplsInterfaceConfEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table specifies per-interface MPLS capability + and associated information." + ::= { mplsLsrObjects 1 } + +mplsInterfaceConfEntry OBJECT-TYPE + SYNTAX MplsInterfaceConfEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry in this table is created by an LSR for + every interface capable of supporting MPLS. Each + entry in this table will exist only if a + corresponding entry in ifTable exists. If the + associated entry in ifTable is deleted, the + corresponding entry in this table must also be + deleted shortly thereafter. 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 + mplsInterfaceLabelParticipationType." + INDEX { mplsInterfaceConfIndex } + ::= { mplsInterfaceConfTable 1 } + +MplsInterfaceConfEntry ::= SEQUENCE { + mplsInterfaceConfIndex InterfaceIndexOrZero, + mplsInterfaceLabelMinIn MplsLabel, + mplsInterfaceLabelMaxIn MplsLabel, + mplsInterfaceLabelMinOut MplsLabel, + mplsInterfaceLabelMaxOut MplsLabel, + mplsInterfaceTotalBandwidth MplsBitRate, + mplsInterfaceAvailableBandwidth MplsBitRate, + mplsInterfaceLabelParticipationType BITS +} + +mplsInterfaceConfIndex OBJECT-TYPE + SYNTAX InterfaceIndexOrZero + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This is a unique index for an entry in the + MplsInterfaceConfTable. A non-zero index for an + entry indicates the ifIndex for the corresponding + interface entry in of the MPLS-layer in the ifTable. + Note that the per-platform label space may apply to + several interfaces, and therefore the configuration + of the per-platform label space interface parameters + will apply to all of the interfaces that are + participating in the per-platform label space." + REFERENCE + "RFC 2863 - The Interfaces Group MIB, McCloghrie, K., + and F. Kastenholtz, June 2000" + ::= { mplsInterfaceConfEntry 1 } + +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." + ::= { mplsInterfaceConfEntry 2 } + +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." + ::= { mplsInterfaceConfEntry 3 } + +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." + ::= { mplsInterfaceConfEntry 4 } + +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." + ::= { mplsInterfaceConfEntry 5 } + +mplsInterfaceTotalBandwidth OBJECT-TYPE + SYNTAX MplsBitRate + 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." +::= { mplsInterfaceConfEntry 6 } + +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." +::= { mplsInterfaceConfEntry 7 } + +mplsInterfaceLabelParticipationType OBJECT-TYPE + SYNTAX BITS { + perPlatform (0), + perInterface (1) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Either the perPlatform(0) or perInterface(1) bit + MUST be set. If the value of the + mplsInterfaceConfIndex for this entry is zero, then + only the perPlatform(0) bit MUST be set and the + perInterface(1) bit is meaningless. 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." + REFERENCE + "Rosen, E., Viswanathan, A., and R. Callon, + Multiprotocol Label Switching Architecture, RFC + 3031, January 2001." +::= { mplsInterfaceConfEntry 8 } + +-- End of mplsInterfaceConfTable + + +-- MPLS Interface Performance Table. + +mplsInterfacePerfTable OBJECT-TYPE + SYNTAX SEQUENCE OF MplsInterfacePerfEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table provides MPLS performance information on + a per-interface basis." + ::= { mplsLsrObjects 2 } + +mplsInterfacePerfEntry OBJECT-TYPE + SYNTAX MplsInterfacePerfEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry in this table is created by the LSR for + every interface capable of supporting MPLS. Its is + an extension to the mplsInterfaceConfEntry table." + AUGMENTS { mplsInterfaceConfEntry } + ::= { mplsInterfacePerfTable 1 } + +MplsInterfacePerfEntry ::= SEQUENCE { + -- incoming direction + mplsInterfaceInLabelsUsed Gauge32, + mplsInterfaceFailedLabelLookup Counter32, + + -- outgoing direction + mplsInterfaceOutLabelsUsed Gauge32, + mplsInterfaceOutFragments Counter32 + } + +mplsInterfaceInLabelsUsed OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This object counts the number of labels that are in + use at this point in time on this interface in the + incoming direction. If the interface participates in + the per-platform label space only, then this + instance of this object MUST be identical with the + instance with index 0. If the interface participates + in the per-interface label space, then this instance + of this object MUST represent the number of of per- + interface labels that are in use at this point in + time on this interface." + ::= { mplsInterfacePerfEntry 1 } + +mplsInterfaceFailedLabelLookup OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This object counts the number of labeled packets + that have been received on this interface and were + discarded because there was no matching cross- + connect entry. This object MUST count on a per- + interface basis regardless of which label space the + interface participates in." + ::= { mplsInterfacePerfEntry 2 } + +mplsInterfaceOutLabelsUsed OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This object counts the number of top-most labels in + the outgoing label stacks that are in use at this + point in time on this interface. This object MUST + count on a per-interface basis regardless of which + label space the interface participates in." + ::= { mplsInterfacePerfEntry 3 } + +mplsInterfaceOutFragments OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This object counts the number of outgoing MPLS + packets that required fragmentation before + transmission on this interface. This object MUST + count on a per-interface basis regardless of which + label space the interface participates in." +::= { mplsInterfacePerfEntry 4 } + +-- In-segment table. + +mplsInSegmentTable OBJECT-TYPE + SYNTAX SEQUENCE OF MplsInSegmentEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table contains a collection of incoming + segments to an LSR." + ::= { mplsLsrObjects 3 } + +mplsInSegmentEntry OBJECT-TYPE + SYNTAX MplsInSegmentEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry in this table represents one incoming + segment. 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 mplsInSegmentIfIndex exists." + INDEX { mplsInSegmentIfIndex, mplsInSegmentLabel } + ::= { mplsInSegmentTable 1 } + +MplsInSegmentEntry ::= SEQUENCE { + mplsInSegmentIfIndex InterfaceIndexOrZero, + mplsInSegmentLabel MplsLabel, + mplsInSegmentNPop Integer32, + mplsInSegmentAddrFamily AddressFamilyNumbers, + mplsInSegmentXCIndex Unsigned32, + mplsInSegmentOwner MplsInitialCreationSource , + mplsInSegmentTrafficParamPtr RowPointer, + mplsInSegmentRowStatus RowStatus, + mplsInSegmentStorageType StorageType +} + +mplsInSegmentIfIndex OBJECT-TYPE + SYNTAX InterfaceIndexOrZero + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This is a unique index for an entry in the + MplsInSegmentTable. This value represents the + interface index for the incoming MPLS interface. A + value of zero represents an incoming label from the + per-platform label space. In this case, the + mplsInSegmentLabel is interpreted to be an MPLS-type + label." + ::= { mplsInSegmentEntry 1 } + +mplsInSegmentLabel OBJECT-TYPE + SYNTAX MplsLabel + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The incoming label for this segment." + ::= { mplsInSegmentEntry 2 } + +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. Note that technologies which do not + support label popping should set this value to its + default value of 1. This object cannot be modified + if mplsInSegmentRowStatus is active(1)." + DEFVAL { 1 } + ::= { mplsInSegmentEntry 3 } + +mplsInSegmentAddrFamily OBJECT-TYPE + SYNTAX AddressFamilyNumbers + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The IANA address family [IANAFamily] of the incoming + packet. A value of other(0) indicates that the + family type is either unknown or undefined. This + object cannot be modified if mplsInSegmentRowStatus + is active(1)." + DEFVAL { other } + ::= { mplsInSegmentEntry 4 } + +mplsInSegmentXCIndex OBJECT-TYPE +SYNTAX Unsigned32 (0..4294967295) + 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 in-segment is a part of, this + object is automatically updated to reflect the value + of mplsXCIndex of that cross-connect entry." + DEFVAL { 0 } + ::= { mplsInSegmentEntry 5 } + +mplsInSegmentOwner OBJECT-TYPE + SYNTAX MplsInitialCreationSource + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "Denotes the entity that created and is responsible + for managing this segment. This object cannot be + modified if mplsInSegmentRowStatus is active(1)." + DEFVAL { unknown } + ::= { mplsInSegmentEntry 6 } + +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 zero-dot-zero indicates best-effort + treatment. By having the same value of this object, + two or more segments can indicate resource sharing. + This object cannot be modified if + mplsInSegmentRowStatus is active(1)." + ::= { mplsInSegmentEntry 7 } + +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." + ::= { mplsInSegmentEntry 8 } + +mplsInSegmentStorageType 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 + mplsInSegmentRowStatus is active(1). If this + variable is set to readOnly(5), and the + corresponding TFIB entry is removed, then the agent + must remove this row shortly thereafter." + ::= { mplsInSegmentEntry 9 } + +-- End of mplsInSegmentTable + + +-- In-segment performance table. + +mplsInSegmentPerfTable OBJECT-TYPE + SYNTAX SEQUENCE OF MplsInSegmentPerfEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table contains statistical information for + incoming MPLS segments to an LSR." + ::= { mplsLsrObjects 4 } + +mplsInSegmentPerfEntry OBJECT-TYPE + SYNTAX MplsInSegmentPerfEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry in this table contains statistical + information about one incoming segment which was + configured in the mplsInSegmentTable. The counters + in this entry should behave in a manner similar to + that of the interface." + AUGMENTS { mplsInSegmentEntry } + ::= { mplsInSegmentPerfTable 1 } + +MplsInSegmentPerfEntry ::= SEQUENCE { + mplsInSegmentOctets Counter32, + mplsInSegmentPackets Counter32, + mplsInSegmentErrors Counter32, + mplsInSegmentDiscards Counter32, + + -- high capacity counter + mplsInSegmentHCOctets Counter64, + + mplsInSegmentPerfDiscontinuityTime TimeStamp + } + +mplsInSegmentOctets OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This value represents the total number of octets + received by this segment." + ::= { mplsInSegmentPerfEntry 1 } + +mplsInSegmentPackets OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Total number of packets received by this segment." + ::= { mplsInSegmentPerfEntry 2 } + +mplsInSegmentErrors OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of errored packets received on this + segment." + ::= { mplsInSegmentPerfEntry 3 } + +mplsInSegmentDiscards OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of labeled packets received on this in- + segment, which were chosen to be discarded even + though no errors had been detected to prevent their + being transmitted. One possible reason for + discarding such a labeled packet could be to free up + buffer space." + ::= { mplsInSegmentPerfEntry 4 } + +mplsInSegmentHCOctets OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The total number of octets received. This is the 64 + bit version of mplsInSegmentOctets." + ::= { mplsInSegmentPerfEntry 5 } + +mplsInSegmentPerfDiscontinuityTime OBJECT-TYPE + SYNTAX TimeStamp + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The value of sysUpTime on the most recent occasion + at which any one or more of this segment's Counter32 + or Counter64 suffered a discontinuity. If no such + discontinuities have occurred since the last re- + initialization of the local management subsystem, + then this object contains a zero value." + ::= { mplsInSegmentPerfEntry 6 } + +-- End of mplsInSegmentPerfTable. + + +-- Out-segment table. + +mplsOutSegmentIndexNext OBJECT-TYPE + SYNTAX Unsigned32 (0..4294967295) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This object 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 5 } + + +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." + ::= { mplsLsrObjects 6 } + +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 or 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 + mplsOutSegmentIfIndex exists." + INDEX { mplsOutSegmentIndex } + ::= { mplsOutSegmentTable 1 } + +MplsOutSegmentEntry ::= SEQUENCE { + mplsOutSegmentIndex Unsigned32, + mplsOutSegmentIfIndex InterfaceIndexOrZero, + mplsOutSegmentPushTopLabel TruthValue, + mplsOutSegmentTopLabel MplsLabel, + mplsOutSegmentNextHopIpAddrType InetAddressType, + mplsOutSegmentNextHopIpv4Addr InetAddressIPv4, + mplsOutSegmentNextHopIpv6Addr InetAddressIPv6, + mplsOutSegmentXCIndex Unsigned32, + mplsOutSegmentOwner MplsInitialCreationSource , + mplsOutSegmentTrafficParamPtr RowPointer, + mplsOutSegmentRowStatus RowStatus, + mplsOutSegmentStorageType StorageType +} + +mplsOutSegmentIndex OBJECT-TYPE + SYNTAX Unsigned32(0..2147483647) + 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 this + row it can be supplied as a valid value to index + mplsXCTable to access entries for which no out- + segment has been configured." + ::= { mplsOutSegmentEntry 1 } + +mplsOutSegmentIfIndex OBJECT-TYPE + SYNTAX InterfaceIndexOrZero + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This value must contain the interface index of the + outgoing interface. This object may only take the + value of 0 during the create-and-wait row creation + operation if the management station has not yet set + the value of this object. 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." + DEFVAL { 0 } + ::= { mplsOutSegmentEntry 2 } + +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 if the outgoing interface does not support pop- + and-go (for example an ATM interface) or if it is 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)." + ::= { mplsOutSegmentEntry 3 } + +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 4 } + +mplsOutSegmentNextHopIpAddrType OBJECT-TYPE + SYNTAX InetAddressType + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "Indicates whether the next hop address is IPv4 or + IPv6. Note that a value of unknown (0) is valid + only when the outgoing interface is of type point-to- + point. This object cannot be modified if + mplsOutSegmentRowStatus is active(1)." + DEFVAL { unknown } + ::= { mplsOutSegmentEntry 5 } + +mplsOutSegmentNextHopIpv4Addr OBJECT-TYPE + SYNTAX InetAddressIPv4 + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "IPv4 Address of the next hop. Its value is + significant only when + mplsOutSegmentNextHopIpAddrType is ipV4 (1), + otherwise it SHOULD return a value of 0. This object + cannot be modified if mplsOutSegmentRowStatus is + active(1)." + ::= { mplsOutSegmentEntry 6 } + +mplsOutSegmentNextHopIpv6Addr OBJECT-TYPE + SYNTAX InetAddressIPv6 + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "IPv6 address of the next hop. Its value is + significant only when + mplsOutSegmentNextHopIpAddrType is ipV6 (2), + otherwise it SHOULD return a value of 0. This object + cannot be modified if mplsOutSegmentRowStatus is + active(1)." + ::= { mplsOutSegmentEntry 7 } + +mplsOutSegmentXCIndex OBJECT-TYPE + SYNTAX Unsigned32 (0..4294967295) + 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 8 } + +mplsOutSegmentOwner OBJECT-TYPE + SYNTAX MplsInitialCreationSource + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "Denotes the entity which created and is responsible + for managing this segment. This object cannot be + modified if mplsOutSegmentRowStatus is active(1)." + DEFVAL { unknown } + ::= { mplsOutSegmentEntry 9 } + +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 zero-dot-zero indicates best- + effort treatment. By having the same value of this + object, two or more segments can indicate resource + sharing. This object cannot be modified if + mplsOutSegmentRowStatus is active(1)." + ::= { mplsOutSegmentEntry 10 } + +mplsOutSegmentRowStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "For creating, modifying, and deleting this row." + ::= { mplsOutSegmentEntry 11 } + +mplsOutSegmentStorageType 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 + mplsOutSegmentRowStatus is active(1). If this + variable is set to readOnly(5), and the + corresponding TFIB entry is removed, then the agent + must remove this row shortly thereafter." + ::= { mplsOutSegmentEntry 12 } + +-- End of mplsOutSegmentTable + + +-- Out-segment performance table. + +mplsOutSegmentPerfTable OBJECT-TYPE + SYNTAX SEQUENCE OF MplsOutSegmentPerfEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table contains statistical information about + outgoing segments from an LSR. The counters in this + entry should behave in a manner similar to that of + the interface." + ::= { mplsLsrObjects 7 } + +mplsOutSegmentPerfEntry OBJECT-TYPE + SYNTAX MplsOutSegmentPerfEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry in this table contains statistical + information about one outgoing segment configured in + mplsOutSegmentTable." + AUGMENTS { mplsOutSegmentEntry } + ::= { mplsOutSegmentPerfTable 1 } + +MplsOutSegmentPerfEntry ::= SEQUENCE { + mplsOutSegmentOctets Counter32, + mplsOutSegmentPackets Counter32, + mplsOutSegmentErrors Counter32, + mplsOutSegmentDiscards Counter32, + + -- HC counter + mplsOutSegmentHCOctets Counter64, + + mplsOutSegmentPerfDiscontinuityTime TimeStamp + } + +mplsOutSegmentOctets OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This value contains the total number of octets sent + on this segment." + ::= { mplsOutSegmentPerfEntry 1 } + +mplsOutSegmentPackets OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This value contains the total number of packets sent + on this segment." + ::= { mplsOutSegmentPerfEntry 2 } + +mplsOutSegmentErrors OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Number of packets that could not be sent due to + errors on this segment." + ::= { mplsOutSegmentPerfEntry 3 } + +mplsOutSegmentDiscards OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of labeled packets received on this out- + segment, which were chosen to be discarded even + though no errors had been detected to prevent their + being transmitted. One possible reason for + discarding such a labeled packet could be to free up + buffer space." + ::= { mplsOutSegmentPerfEntry 4 } + +mplsOutSegmentHCOctets OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Total number of octets sent. This is the 64 bit + version of mplsOutSegmentOctets." + ::= { mplsOutSegmentPerfEntry 5 } + +mplsOutSegmentPerfDiscontinuityTime OBJECT-TYPE + SYNTAX TimeStamp + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The value of sysUpTime on the most recent occasion + at which any one or more of this segment's Counter32 + or Counter64 suffered a discontinuity. If no such + discontinuities have occurred since the last re- + initialization of the local management subsystem, + then this object contains a zero value." + ::= { mplsOutSegmentPerfEntry 6 } + + +-- End of mplsOutSegmentPerfTable. + +-- Cross-connect table. + +mplsXCIndexNext OBJECT-TYPE + SYNTAX Unsigned32 (0..4294967295) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This object contains an appropriate value to be used + for mplsXCIndex when creating entries in the + mplsXCTable. The value 0 indicates that no + unassigned entries are available. To obtain the + value of mplsXCIndex for a new entry in the + mplsXCTable, the manager issues a management + protocol retrieval operation to obtain the current + value of mplsXCIndex. After each retrieval + operation, the agent should modify the value to + reflect the next unassigned index. 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 8 } + +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 9 } + +mplsXCEntry OBJECT-TYPE + SYNTAX MplsXCEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A row in this table represents one cross-connect + entry. The following objects index it: + + - cross-connect index mplsXCIndex that uniquely + identifies a group of cross-connect entries + - interface index of the in-segment, + mplsInSegmentIfIndex + - incoming label(s), mplsInSegmentLabel + - out-segment index, mplsOutSegmentIndex + + Originating LSPs: + These are represented by using the special + combination of values mplsInSegmentIfIndex=0 and + mplsInSegmentLabel=0 as indexes. In this case the + mplsOutSegmentIndex MUST be non-zero. + + Terminating LSPs: + These are represented by using the special value + mplsOutSegmentIndex=0 as index. + + Special labels: + Entries indexed by reserved MPLS label values 0 + through 15 imply terminating LSPs and MUST have + mplsOutSegmentIfIndex = 0. Note that situations + where LSPs are terminated with incoming label equal + to 0, should have mplsInSegmentIfIndex = 0 as well, + but can be distinguished from originating LSPs + because the mplsOutSegmentIfIndex = 0. The + mplsOutSegmentIfIndex MUST only be set to 0 in + cases of terminating LSPs. + + An entry can be created by a network administrator + or by an SNMP agent as instructed by an MPLS + signaling protocol." + INDEX { + mplsXCIndex, + mplsInSegmentIfIndex, + mplsInSegmentLabel, + mplsOutSegmentIndex + } + ::= { mplsXCTable 1 } + +MplsXCEntry ::= SEQUENCE { + mplsXCIndex Unsigned32, + mplsXCLspId MplsLSPID, + mplsXCLabelStackIndex Unsigned32, + mplsXCIsPersistent TruthValue, + mplsXCOwner MplsInitialCreationSource , + mplsXCRowStatus RowStatus, + mplsXCStorageType StorageType, + mplsXCAdminStatus INTEGER, + mplsXCOperStatus INTEGER + } + +mplsXCIndex OBJECT-TYPE + SYNTAX Unsigned32 (1..2147483647) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Primary index for the conceptual row identifying a + group of cross-connect segments." + ::= { mplsXCEntry 1 } + +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)." + ::= { mplsXCEntry 2 } + +mplsXCLabelStackIndex OBJECT-TYPE + SYNTAX Unsigned32 (0..4294967295) + 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 3 } + +mplsXCIsPersistent OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "Denotes whether or not this cross-connect entry and + associated in- and out-segments should be restored + automatically after failures. This value MUST be + set to false in cases where this cross-connect entry + was created by a signaling protocol. This object + cannot be modified if mplsXCRowStatus is active(1)." + DEFVAL { false } + ::= { mplsXCEntry 4 } + +mplsXCOwner OBJECT-TYPE + SYNTAX MplsInitialCreationSource + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "Denotes the entity that created and is responsible + for managing this cross-connect. This object cannot + be modified if mplsXCRowStatus is active(1)." + ::= { mplsXCEntry 5 } + +mplsXCRowStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "For creating, modifying, and deleting this row." + ::= { mplsXCEntry 6 } + +mplsXCStorageType OBJECT-TYPE + SYNTAX StorageType + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "Defines the storage type for this object. This + object cannot be modified if mplsXCRowStatus is + active(1). If this variable is set to readOnly(5), + and the corresponding TFIB entry is removed, then + the agent must remove this row shortly thereafter." + ::= { mplsXCEntry 7 } + +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." + ::= { mplsXCEntry 8 } + +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 9 } + +-- End of mplsXCTable + + +-- Label stack table. +mplsMaxLabelStackDepth OBJECT-TYPE + SYNTAX Integer32 (1..2147483647) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The maximum stack depth supported by this LSR." +::= { mplsLsrObjects 10 } + +mplsLabelStackIndexNext OBJECT-TYPE + SYNTAX Unsigned32 (0..4294967295) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This object contains an appropriate value to be used + for mplsLabelStackIndex when creating entries in the + mplsLabelStackTable. The value 0 indicates that no + unassigned entries are available. To obtain an + mplsLabelStackIndex value for a new entry, the + manager issues a management protocol retrieval + operation to obtain the current value of this + object. After each retrieval operation, the agent + should modify the value to reflect the next + unassigned index. 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 } + +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." + ::= { mplsLsrObjects 12 } + +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." + INDEX { mplsLabelStackIndex, mplsLabelStackLabelIndex } + ::= { mplsLabelStackTable 1 } + +MplsLabelStackEntry ::= SEQUENCE { + mplsLabelStackIndex Unsigned32, + mplsLabelStackLabelIndex Unsigned32, + mplsLabelStackLabel MplsLabel, + mplsLabelStackRowStatus RowStatus, + mplsLabelStackStorageType StorageType + } + +mplsLabelStackIndex OBJECT-TYPE + SYNTAX Unsigned32 (1..2147483647) + 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." + ::= { mplsLabelStackEntry 1 } + +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 2 } + +mplsLabelStackLabel OBJECT-TYPE + SYNTAX MplsLabel + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The label to pushed." + ::= { mplsLabelStackEntry 3 } + +mplsLabelStackRowStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "For creating, modifying, and deleting this row." + ::= { mplsLabelStackEntry 4 } + +mplsLabelStackStorageType OBJECT-TYPE + SYNTAX StorageType + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "Defines the storage type for this object. If this + variable is set to readOnly(5), and the + corresponding TFIB entry is removed, then the agent + must remove this row shortly thereafter." + ::= { mplsLabelStackEntry 5 } + +-- End of mplsLabelStackTable + +-- Traffic Parameter table. + +mplsTrafficParamIndexNext OBJECT-TYPE + SYNTAX Unsigned32 (0..4294967295) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This object contains an appropriate value which will + be used for mplsTrafficParamIndex when creating + entries in the mplsTrafficParamTable. The value 0 + indicates that no unassigned entries are available. + To obtain the mplsTrafficParamIndex value for a new + entry, the manager issues a management protocol + retrieval operation to obtain the current value of + this object. After each retrieval operation, the + agent should modify the value to reflect the next + unassigned index. 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 13 } + +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." + ::= { mplsLsrObjects 14 } + +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." + INDEX { mplsTrafficParamIndex } + ::= { mplsTrafficParamTable 1 } + +MplsTrafficParamEntry ::= SEQUENCE { + mplsTrafficParamIndex Unsigned32, + mplsTrafficParamMaxRate MplsBitRate, + mplsTrafficParamMeanRate MplsBitRate, + mplsTrafficParamMaxBurstSize MplsBurstSize, + mplsTrafficParamRowStatus RowStatus, + mplsTrafficParamStorageType StorageType + } + +mplsTrafficParamIndex OBJECT-TYPE + SYNTAX Unsigned32 (1..2147483647) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Uniquely identifies this row of the table. Note + that zero represents an invalid index." + ::= { mplsTrafficParamEntry 1 } + +mplsTrafficParamMaxRate OBJECT-TYPE + SYNTAX MplsBitRate + UNITS "kilobits per second" + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "Maximum rate in kilobits/second." + ::= { mplsTrafficParamEntry 2 } + +mplsTrafficParamMeanRate OBJECT-TYPE + SYNTAX MplsBitRate + UNITS "kilobits per second" + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "Mean rate in kilobits/second." + ::= { mplsTrafficParamEntry 3 } + +mplsTrafficParamMaxBurstSize OBJECT-TYPE + SYNTAX MplsBurstSize + UNITS "bytes" + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "Maximum burst size in bytes." + ::= { mplsTrafficParamEntry 4 } + +mplsTrafficParamRowStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "For creating, modifying, and deleting this row." + ::= { mplsTrafficParamEntry 5 } + +mplsTrafficParamStorageType OBJECT-TYPE + SYNTAX StorageType + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The storage type for this object. If this variable + is set to readOnly(5), and the corresponding TFIB + entry is removed, then the agent must remove this + row shortly thereafter." + ::= { mplsTrafficParamEntry 6 } + +-- End of mplsTrafficParamTable + +-- Notification Configuration + +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." + DEFVAL { false } + ::= { mplsLsrObjects 15 } + +-- 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. The included values of + mplsXCOperStatus MUST both be set equal to this + other 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 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. The included values + of mplsXCOperStatus MUST both be set equal to this + other 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 the identical." + ::= { mplsLsrNotifyPrefix 2 } + +-- End of notifications. + + +-- Module compliance. + +mplsLsrGroups + OBJECT IDENTIFIER ::= { mplsLsrConformance 1 } + +mplsLsrCompliances + OBJECT IDENTIFIER ::= { mplsLsrConformance 2 } + +mplsLsrModuleCompliance MODULE-COMPLIANCE + STATUS current + DESCRIPTION + "Compliance statement for agents that support the + MPLS LSR MIB." + MODULE -- this module + + -- The mandatory groups have to be implemented + -- by all LSRs. However, they may all be supported + -- as read-only objects in the case where manual + -- configuration is unsupported. + + MANDATORY-GROUPS { + mplsInSegmentGroup, + mplsOutSegmentGroup, + mplsXCGroup, + mplsInterfaceGroup, + mplsPerfGroup, + mplsSegmentDiscontinuityGroup + } + + GROUP mplsHCInSegmentPerfGroup + DESCRIPTION + "This group is mandatory for those in-segment + entries for which the object + mplsInSegmentOutOctets wraps around too + quickly." + + GROUP mplsHCOutSegmentPerfGroup + DESCRIPTION + "This group is mandatory for those out-segment + entries for which the object + mplsOutSegmentOctets wraps around too quickly." + + GROUP mplsTrafficParamGroup + DESCRIPTION + "This group is mandatory for those LSRs that + support QoS resource reservation." + + -- Depending on whether the device implements + -- persistent cross-connects or not one of the + -- following two groups is mandatory. + + GROUP mplsXCIsPersistentGroup + DESCRIPTION + "This group is mandatory for devices which + support persistent cross-connects. The + following constraints apply: mplsXCIsPersistent + must at least be read-only returning true(2)." + GROUP mplsXCIsNotPersistentGroup + DESCRIPTION + "This group is mandatory for devices which + support non-persistent cross-connects. The + following constraints apply: mplsXCIsPersistent + must at least be read-only returning false(1)." + + + -- mplsInSegmentTable + + OBJECT mplsInSegmentXCIndex + DESCRIPTION + "Write access is not required." + + OBJECT mplsInSegmentNPop + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required. This object + should be set to 1 if it is read-only." + + OBJECT mplsInSegmentAddrFamily + 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 mplsInSegmentStorageType + SYNTAX INTEGER { other(1) } + MIN-ACCESS read-only + DESCRIPTION + "Only other(1) needs to be supported." + + -- mplsOutSegmentTable + + OBJECT mplsOutSegmentIfIndex + 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 mplsOutSegmentNextHopIpAddrType + MIN-ACCESS read-only + DESCRIPTION + "ipV6(3) need not be supported." + + OBJECT mplsOutSegmentNextHopIpv4Addr + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT mplsOutSegmentNextHopIpv6Addr + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT mplsOutSegmentRowStatus + SYNTAX INTEGER { + active(1), + notInService(2), + createAndGo(4), + destroy(6) + } + MIN-ACCESS read-only + DESCRIPTION + "The notReady(3) and createAndWait(5) states need + not be supported." + OBJECT mplsOutSegmentStorageType + SYNTAX INTEGER { other(1) } + MIN-ACCESS read-only + DESCRIPTION + "Only other(1) needs to be supported." + + -- mplsXCTable + + OBJECT mplsXCLabelStackIndex + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT mplsXCIsPersistent + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT mplsXCAdminStatus + SYNTAX INTEGER { up(1), down(2) } + MIN-ACCESS read-only + DESCRIPTION + "A value of testing(3) need not be supported." + OBJECT mplsXCOperStatus + SYNTAX INTEGER { up(1), down(2) } + DESCRIPTION + "Only up(1) and down(2) need to be supported." + + OBJECT mplsXCRowStatus + SYNTAX INTEGER { + active(1), + notInService(2), + createAndGo(4), + destroy(6) + } + MIN-ACCESS read-only + DESCRIPTION + "The notReady(3) and createAndWait(5) states need + not be supported." + + OBJECT mplsXCStorageType + SYNTAX INTEGER { other(1) } + MIN-ACCESS read-only + DESCRIPTION + "Only other(1) needs to be supported." + + ::= { mplsLsrCompliances 1 } + + +-- Units of conformance. + +mplsInterfaceGroup OBJECT-GROUP + OBJECTS { + mplsInterfaceLabelMinIn, + mplsInterfaceLabelMaxIn, + mplsInterfaceLabelMinOut, + mplsInterfaceLabelMaxOut, + mplsInterfaceTotalBandwidth, + mplsInterfaceAvailableBandwidth, + mplsInterfaceLabelParticipationType + } + STATUS current + DESCRIPTION + "Collection of objects needed for MPLS interface + configuration and performance information." + ::= { mplsLsrGroups 1 } + +mplsInSegmentGroup OBJECT-GROUP + OBJECTS { + mplsInSegmentNPop, + mplsInSegmentAddrFamily, + mplsInSegmentXCIndex, + mplsInSegmentOctets, + mplsInSegmentDiscards, + mplsInSegmentOwner, + mplsInSegmentRowStatus, + mplsInSegmentStorageType, + mplsInSegmentTrafficParamPtr + } + STATUS current + DESCRIPTION + "Collection of objects needed to implement an in- + segment." + ::= { mplsLsrGroups 2 } + +mplsOutSegmentGroup OBJECT-GROUP + OBJECTS { + mplsOutSegmentIndexNext, + mplsOutSegmentIfIndex, + mplsOutSegmentPushTopLabel, + mplsOutSegmentTopLabel, + mplsOutSegmentNextHopIpAddrType, + mplsOutSegmentNextHopIpv4Addr, + mplsOutSegmentNextHopIpv6Addr, + mplsOutSegmentXCIndex, + mplsOutSegmentOwner, + mplsOutSegmentOctets, + mplsOutSegmentDiscards, + mplsOutSegmentErrors, + mplsOutSegmentRowStatus, + mplsOutSegmentStorageType, + mplsOutSegmentTrafficParamPtr + } + STATUS current + DESCRIPTION + "Collection of objects needed to implement an out- + segment." + ::= { mplsLsrGroups 3 } + +mplsXCGroup OBJECT-GROUP + OBJECTS { + mplsXCIndexNext, + mplsXCLabelStackIndex, + mplsXCOwner, + mplsXCAdminStatus, + mplsXCOperStatus, + mplsXCRowStatus, + mplsXCTrapEnable, + mplsXCStorageType + } + STATUS current + DESCRIPTION + "Collection of objects needed to implement a + cross-connect entry." + ::= { mplsLsrGroups 4 } + +mplsXCOptionalGroup OBJECT-GROUP + OBJECTS { mplsXCLspId } + STATUS current + DESCRIPTION + "Collection of optional objects for implementing + a cross-connect entry." + ::= { mplsLsrGroups 5 } + +mplsPerfGroup OBJECT-GROUP + OBJECTS { + mplsInSegmentOctets, + mplsInSegmentPackets, + mplsInSegmentErrors, + mplsInSegmentDiscards, + mplsOutSegmentOctets, + mplsOutSegmentPackets, + mplsOutSegmentDiscards, + mplsInterfaceInLabelsUsed, + mplsInterfaceFailedLabelLookup, + mplsInterfaceOutFragments, + mplsInterfaceOutLabelsUsed + } + + STATUS current + DESCRIPTION + "Collection of objects providing performance + information + about an LSR." + ::= { mplsLsrGroups 6 } + +mplsHCInSegmentPerfGroup OBJECT-GROUP + OBJECTS { mplsInSegmentHCOctets } + STATUS current + DESCRIPTION + "Object(s) providing performance information + specific to out-segments for which the object + mplsInterfaceInOctets wraps around too quickly." + ::= { mplsLsrGroups 7 } + +mplsHCOutSegmentPerfGroup OBJECT-GROUP + OBJECTS { mplsOutSegmentHCOctets } + STATUS current + DESCRIPTION + "Object(s) providing performance information + specific to out-segments for which the object + mplsInterfaceOutOctets wraps around too + quickly." + ::= { mplsLsrGroups 8 } + +mplsTrafficParamGroup OBJECT-GROUP + OBJECTS { + mplsTrafficParamIndexNext, + mplsTrafficParamMaxRate, + mplsTrafficParamMeanRate, + mplsTrafficParamMaxBurstSize, + mplsTrafficParamRowStatus, + mplsTrafficParamStorageType + } + STATUS current + DESCRIPTION + "Object(s) required for supporting QoS resource + reservation." + ::= { mplsLsrGroups 9 } + +mplsXCIsPersistentGroup OBJECT-GROUP + OBJECTS { mplsXCIsPersistent } + STATUS current + DESCRIPTION + "Objects needed to support persistent cross- + connects." + ::= { mplsLsrGroups 10 } + +mplsXCIsNotPersistentGroup OBJECT-GROUP + OBJECTS { mplsXCIsPersistent } + STATUS current + DESCRIPTION + "Objects needed to support non-persistent cross- + connects." + ::= { mplsLsrGroups 11 } + +mplsLabelStackGroup OBJECT-GROUP + OBJECTS { + mplsLabelStackLabel, + mplsLabelStackRowStatus, + mplsLabelStackStorageType, + mplsMaxLabelStackDepth, + mplsLabelStackIndexNext + } + STATUS current + DESCRIPTION + "Objects needed to support label stacking." + ::= { mplsLsrGroups 12 } + +mplsSegmentDiscontinuityGroup OBJECT-GROUP + OBJECTS { + mplsInSegmentPerfDiscontinuityTime, + mplsOutSegmentPerfDiscontinuityTime + } + STATUS current + DESCRIPTION + " A collection of objects providing information + specific to segment discontinuities.." + ::= { mplsLsrGroups 13 } + +mplsLsrNotificationGroup NOTIFICATION-GROUP + NOTIFICATIONS { + mplsXCUp, + mplsXCDown + } + STATUS current + DESCRIPTION + "Set of notifications implemented in this module. + None is mandatory." + ::= { mplsLsrGroups 14 } + +END |