-- extracted from draft-nadeau-mpls-gmpls-te-mib-00.txt -- at Tue May 1 06:04:36 2001 MPLS-TE-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, experimental, Integer32, Unsigned32, Counter32, Counter64, TimeTicks, TimeStamp FROM SNMPv2-SMI MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP FROM SNMPv2-CONF TEXTUAL-CONVENTION, TruthValue, RowStatus, RowPointer, StorageType, DisplayString FROM SNMPv2-TC InterfaceIndexOrZero FROM IF-MIB MplsBitRate, MplsBurstSize, MplsLSPID, MplsLabel, mplsTunnelIndex, mplsTunnelInstance, mplsTunnelIngressLSRId, mplsTunnelEgressLSRId FROM MPLS-TC-MIB InetAddressIPv4, InetAddressIPv6 FROM INET-ADDRESS-MIB; mplsTeMIB MODULE-IDENTITY LAST-UPDATED "200104271200Z" -- April 27, 2001 12:00:00 EST ORGANIZATION "Multiprotocol Label Switching (MPLS) Working Group" CONTACT-INFO " Thomas D. Nadeau Cisco Systems, Inc. tnadeau@cisco.com Cheenu Srinivasan Alphion cheenu@optosphere.com Arun Viswanathan Force10 Networks, Inc. arun@force10networks.com Adrian Farrel Movaz Networks, Inc. afarrel@movaz.com Edward Harrison Data Connection Ltd. eph@dataconnection.com Tim Hall Data Connection Ltd. TimHall@dataconnection.com ccamp@ops.ietf.org" DESCRIPTION "This MIB module contains managed object definitions for GMPLS Traffic Engineering (TE) as defined in: Extensions to RSVP for LSP Tunnels, Awduche et al, Internet Draft , February 2001; Constraint-Based LSP Setup using LDP, B. Jamoussi, Internet Draft , July 2000; Requirements for Traffic Engineering Over MPLS, Awduche, D., J. Malcolm, J., Agogbua, J., O'Dell, M., J. McManus, , September 1999., and Generalized Multi-Protocol Label Switching (GMPLS) Architecture, Ashwood-Smith, P, et al, Internet Draft , February 2001. Generalized MPLS - Signaling Functional Description, Ashwood-Smith, P., et. al, Internet Draft , March 2001, Generalized MPLS Signaling - CR-LDP Extensions, Ashwood-Smith, P., et al., Internet Draft , March 2001, Generalized MPLS Signaling - RSVP-TE Extensions, Ashwood-Smith, P., et. al., Internet Draft , March, 2001." -- Revision history. REVISION "200104301200Z" -- 16 July 1999 12:00:00 GMT DESCRIPTION "Initial draft version." ::= { experimental XXX } -- To Be Assigned by IANA -- Textual Conventions. MplsGeneralizedLabel ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "This value represents a generalized MPLS Label. The label contents are specific to the label being represented." SYNTAX Unsigned64 MplsGeneralizedLabelTypes ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "The label types that are defined for Generalized MPLS." SYNTAX INTEGER { MplsLabel(1), GeneralizedLabel(2), WavebandLabel(3) } -- Top level components of this MIB. -- tables, scalars gmplsTeNotifications OBJECT IDENTIFIER ::= { gmplsTeMIB 0 } gmplsTeObjects OBJECT IDENTIFIER ::= { gmplsTeMIB 1 } gmplsTeConformance OBJECT IDENTIFIER ::= { gmplsTeMIB 2 } -- GMPLS Tunnel scalars. gmplsTunnelsConfigured OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of tunnels configured on this device which are have the GMPLS functionallity configured. A tunnel is considered configured if the gmplsTunnelRowStatus is active(1)." ::= { gmplsTeScalars 1 } gmplsTunnelActive OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of GMPLS tunnels active on this device. A tunnel is considered active if the gmplsTunnelOperStatus is up(1)." ::= { gmplsTeScalars 2 } -- End of GMPLS Tunnel scalars. -- GMPLS tunnel table. gmplsTunnelTable OBJECT-TYPE SYNTAX SEQUENCE OF GmplsTunnelEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The gmplsTunnelTable allows new GMPLS tunnels to be created between an LSR and a remote endpoint, and existing tunnels to be reconfigured or removed. This table extends the mplsTunnelTable found in the MPLS-TE-MIB. Entries in this table MUST correspond to those entries in the MPLS-TE-MIB which are to be used with GMPLS functionallity. Entries in the gmplsTunneltable and mplsTunnelTable may be created independently, however, to activate a GMPLS tunnel there MUST be an entry in both tables with the same index values. Managers should create a corresponding mplsTunnelEntry in the mplsTunnelTable if a row in this table is created first, and put that row in the create-and-wait state. If an entry in this table is destroyed or disabled, this indicates that the GMPLS functionallity on this tunnel is disabled. Ed Note: We should outline all 4 possible cases here when we have some more time." ::= { gmplsTeObjects 1 } gmplsTunnelEntry OBJECT-TYPE SYNTAX GmplsTunnelEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in this table represents an MPLS tunnel which has GMPLS configured." INDEX { mplsTunnelIndex, mplsTunnelInstance, mplsTunnelIngressLSRId, mplsTunnelEgressLSRId } ::= { gmplsTunnelTable 1 } GmplsTunnelEntry ::= SEQUENCE { gmplsTunnelAdminStatus INTEGER, gmplsTunnelOperStatus INTEGER, gmplsTunnelRowStatus RowStatus, gmplsTunnelStorageType StorageType, gmplsTunnelLSPEncoding INTEGER, gmplsTunnelLinkProtection BITS, gmplsTunnelGPid Unsigned32, gmplsTunnelRNC Unsigned32, gmplsTunnelSignalType Unsigned32, gmplsTunnelRGT Unsigned32, gmplsTunnelSecondary TruthValue, gmplsTunnelBiDirectional TruthValue } mplsTunnelAdminStatus OBJECT-TYPE SYNTAX INTEGER { up(1), -- GMPLS feature enabled down(2), -- GMPLS feature disabled testing(3) -- put in testing state } MAX-ACCESS read-create STATUS current DESCRIPTION "Indicates the desired operational status of this GMPLS tunnel." ::= { mplsTunnelEntry 1 } gmplsTunnelOperStatus OBJECT-TYPE SYNTAX INTEGER { up(1), down(2), testing(3), unknown(4), dormant(5), notPresent(6), lowerLayerDown(7) } MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates the actual operational status of GMPLS on this tunnel, which is typically but not limited to, a function of the state of individual segments of this tunnel and the state of the corresponding mplsTunnelEntry. The states of this value are defined as follows. up(1) -- ready to pass packets down(2) testing(3) -- in some test mode unknown(4) -- status cannot be determined dormant(5) -- some component is missing notPresent(6) lowerLayerDown(7) -- down due to the state of lower layer interfaces " ::= { gmplsTunnelEntry 1 } gmplsTunnelRowStatus 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." ::= { gmplsTunnelEntry 2 } gmplsTunnelStorageType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "This variable indicates the storage type for this object. This storage type must mimic that of the corresponding mplsTunnelEntry to ensure predictable behavior." ::= { gmplsTunnelEntry 3 } gmplsTunnelLSPEncoding OBJECT-TYPE SYNTAX INTEGER { tunnelLspPacket (1), tunnelLspEthernetV2Dix (2), tunnelLspAnsiPdh (3), tunnelLspEtsiPdh (4), tunnelLspSdhItutG7071996 (5), tunnelLspSonetAnsiT11051995 (6), tunnelLspDigitalWrapper (7), tunnelLspLambda (8), tunnelLspFiber (9), tunnelLspEthernet8023 (10) tunnelLspSdhItutG7072000 (11) tunnelLspSonetAnsiT11052000(12) } MAX-ACCESS read-create STATUS current DESCRIPTION "This object indicates the encoding of the LSP being requested. It is only required when a generalized label request will be used for this LSP. A value of 0 in this object indicates that a generalized label request will not be used to set up this LSP. Each type is defined specifically as: tunnelLspPacket (1) - tunnelLspEthernetV2Dix (2) - tunnelLspAnsiPdh (3) - tunnelLspEtsiPdh (4) - tunnelLspSdhItutG7071996 (5) - tunnelLspSonetAnsiT11051995 (6) - tunnelLspDigitalWrapper (7) - tunnelLspLambda (8) - tunnelLspFiber (9) - tunnelLspEthernet8023 (10) - tunnelLspSdhItutG7072000 (11) - tunnelLspSonetAnsiT11052000(12) - Ed Note: Should these be assigned and maintained by IANA?" ::= { gmplsTunnelEntry 4 } gmplsTunnelLinkProtection OBJECT-TYPE SYNTAX BITS { extraTraffic(0), unprotected(1), shared (2), dedicatedOneToOne (3), dedicatedOnePlusOne(4), enhanced(5) } MAX-ACCESS read-create STATUS current DESCRIPTION "This bitmask indicates the level of link protection required. A value of zero (no bits set) indicates that any protection may be used. The following describes these bitfields: extraTraffic Indicates that the LSP should use links that are protecting other (primary) traffic. Such LSPs may be preempted when the links carrying the (primary) traffic being protected fail. unprotected Indicates that the LSP should not use any link layer protection. shared Indicates that a shared link layer protection scheme, such as 1:N protection, should be used to support the LSP. dedicatedOneToOne Indicates that a dedicated link layer protection scheme, i.e., 1:1 protection, should be used to support the LSP. dedicatedOnePlusOne Indicates that a dedicated link layer protection scheme, i.e., 1+1 protection, should be used to support the LSP. enhanced Indicates that a protection scheme that is more reliable than Dedicated 1+1 should be used, e.g., 4 fiber BLSR/MS-SPRING. " ::= { gmplsTunnelEntry 5 } gmplsTunnelGPID OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-create STATUS current DESCRIPTION "This object indicates the payload carried by the LSP. It is only required when GMPLS will be used for this LSP." by mplsTunnelLSPEncodingType. For Ethernet and packet LSPs, the standard Ethertype values may also be used. Ed note: Should IANA maintain these values? Is there a better way of doing this? Say, having an enum for these values, plus another bit mask for the ethertypes and a flag to tell which to use? Currently the following values are valid. unknown(0), ds1SF(1), ds1ESF(2), ds3M23(3) ds3CBitParity(4), asynchE4(5), asynchDS3T3(6), asynchE3(7), bitsynchE3(8), bytesynchE3(9), asynchDS2T2(10), bitsynchDS2T2(11), bytesynchDS2T2(12), asynchE1(13), bytesynchE1(14), bytesynch31ByDS0(15), asynchDS1T1(16), bitsynchDS1T1(17), bytesynchDS1T1(18), bytesynchDS2T2VC12(19), asynchE1VC12(20), bytesynchE1VC12(21), atm(22), ds1SFAsynch(23), ds1ESFAsynch(24), ds3M23Asynch(25), ds3CBitParityAsynch(26), vt(27), sts(28), posNoScrambe16BitCrc(29), posNoScrambe32BitCrc(30), posScrambe16BitCrc(31), posNoScrambe32BitCrc(32), ethernet(33), sdh(34), sonet(35), digitalwrapper(36), lambda(37)" ::= { gmplsTunnelEntry 6 } gmplsTunnelRNC OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-create STATUS current DESCRIPTION "Requested Number of Components. Indicates the number of identical SDH/SONET signal types that are requested to be concatenated or inverse multiplexed in the LSP. This field is only valid if gmplsTunnelLspEncoding is sdh or sonet. Encoding MUST adhere to that specified in the referred document." DEFVAL { 0 } REFERENCE "draft-ietf-mpls-generalized-signaling-02.txt section 3.1.2 but it is about to move to a standalone TDM GMPLS draft." ::= { gmplsTunnelEntry 6 } gmplsTunnelSignalType OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-create STATUS current DESCRIPTION "Indicates the overhead termination type and is interpreted in relation to the LSP Encoding Type. This field is only valid if gmplsTunnelLspEncoding is sdh or sonet." DEFVAL { 0 } ::= { gmplsTunnelEntry 7 } gmplsTunnelRGT OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-create STATUS current DESCRIPTION "Requested Grouping Type. Indicates the SDH/SONET type of grouping requested for the LSP. It is used to constrain the type of concatenation. This field is only valid if gmplsTunnelLspEncoding is sdh or sonet." DEFVAL { 0 } ::= { gmplsTunnelEntry 8 } gmplsTunnelSecondary OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "Indicates that the requested LSP is a secondary LSP. It is only valid when GMPLS will be used for this LSP." DEFVAL { false } ::= { gmplsTunnelEntry 9 } gmplsTunnelBiDirectional OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "Whether this tunnel is bidirectional or unidirectional. By default, tunnels are unidirectional." DEFVAL { false } ::= { gmplsTunnelEntry 10 } -- End of gmplsTunnelTable -- Begin gmplsTunnelHopTable gmplsTunnelHopTable OBJECT-TYPE SYNTAX SEQUENCE OF GmplsTunnelHopEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The gmplsTunnelHopTable is used to indicate the explicit labels to be used on the hops of an GMPLS tunnel. This table extends the mplsTunnelHopTable. Its use is only valid for tunnels defined using both the mplsTunnelTable and the gmplsTunnelTable." ::= { gmplsTeObjects 2 } gmplsTunnelHopEntry OBJECT-TYPE SYNTAX GmplsTunnelHopEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in this table represents the explicit labels for a specific tunnel hop. An entry is created by a network administrator for signaled ERLSP set up by an MPLS signaling protocol. Entries in this table must correspond to those entries in the MPLS-TE-MIB which are configured for explicit label control." INDEX { mplsTunnelHopListIndex, mplsTunnelHopPathOptionIndex, mplsTunnelHopIndex } ::= { gmplsTunnelHopTable 1 } GmplsTunnelHopEntry ::= SEQUENCE { gmplsTunnelHopRowStatus RowStatus, gmplsTunnelHopStorageType StorageType gmplsTunnelHopUseExplicitLabel TruthValue, gmplsTunnelHopExplicitLabelType MplsGeneralizedLabelType, gmplsTunnelHopExplicitLabel MplsGeneralizedLabel, gmplsTunnelHopUseReversePathExplicitLabel TruthValue, gmplsTunnelHopReversePathExplicitLabelType MplsGeneralizedLabelType, gmplsTunnelHopReversePathExplicitLabel MplsGeneralizedLabel, } gmplsTunnelHopRowStatus 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." ::= { mplsTunnelHopEntry 1 } gmplsTunnelHopStorageType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "This variable indicates the storage type for this object." ::= { mplsTunnelHopEntry 2 } gmplsTunnelHopUseExplicitLabel OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "If this hop should use an explicit out-segment label for the forward path then set this to true. This object is insignificant unless mplsTunnelHopAddrType is set to ipV4 or ipV6 and mplsTunnelHopType is set to strict. If this object is set to false or is insignificant, gmplsTunnelHopExplicitLabelType and gmplsTunnelHopExplicitLabel are insignificant." DEFVAL { false } ::= { gmplsTunnelHopEntry 3 } gmplsTunnelHopExplicitLabelType OBJECT-TYPE SYNTAX MplsGeneralizedLabelType MAX-ACCESS read-create STATUS current DESCRIPTION "Denotes the Type of the label configured in gmplsTunnelHopExplicitLabel." ::= { gmplsTunnelHopEntry 4 } gmplsTunnelHopExplicitLabel OBJECT-TYPE SYNTAX MplsGeneralizedLabel MAX-ACCESS read-create STATUS current DESCRIPTION "The explicit out-segment label to use on the forward path." ::= { gmplsTunnelHopEntry 5 } gmplsTunnelHopUseReversePathExplicitLabel OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "If this hop should use an explicit in-segment label for the reverse path then set this to true. This object is insignificant unless mplsTunnelHopAddrType is set to ipV4 or ipV6 and mplsTunnelHopType is set to strict and gmplsTunnelBidirectional in the Tunnel MIB is set to true. If this object is set to false or is insignificant, gmplsTunnelHopReversePathExplicitLabelType and gmplsTunnelHopReversePathExplicitLabel are insignificant." DEFVAL { false } ::= { gmplsTunnelHopEntry 6 } gmplsTunnelHopReversePathExplicitLabelType OBJECT-TYPE SYNTAX MplsGeneralizedLabelType MAX-ACCESS read-create STATUS current DESCRIPTION "Denotes the Type of the label configured in gmplsTunnelHopReversePathExplicitLabel." ::= { mplsTunnelHopEntry 7 } gmplsTunnelHopReversePathExplicitLabel OBJECT-TYPE SYNTAX MplsGeneralizedLabel MAX-ACCESS read-create STATUS current DESCRIPTION "The explicit in-segment label to use on the reverse path." ::= { mplsTunnelHopEntry 8 } -- End of gmplsTunnelHopTable -- Notifications. TBD... -- End of notifications. -- Module compliance. gmplsTeGroups OBJECT IDENTIFIER ::= { gmplsTeConformance 1 } gmplsTeCompliances OBJECT IDENTIFIER ::= { gmplsTeConformance 2 } gmplsTeModuleCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "Compliance statement for agents that support the GMPLS TE MIB." MODULE -- this module -- The mandatory group has to be implemented by all -- LSRs that originate/terminate ESLSPs/tunnels. -- In addition, depending on the type of tunnels -- supported, other groups become mandatory as -- explained below. MANDATORY-GROUPS { gmplsTunnelGroup, gmplsTunnelScalarGroup } -- gmplsTunnelTable OBJECT gmplsTunnelAdminStatus SYNTAX INTEGER { up (1), down (2) } MIN-ACCESS read-only DESCRIPTION "Only up and down states must be supported. Write access is not required." OBJECT gmplsTunnelOperStatus SYNTAX INTEGER { up (1), down (2) } DESCRIPTION "Only up and down states must be supported. Write access is not required." OBJECT gmplsTunnelRowStatus 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. Write access is not required." OBJECT gmplsTunnelStorageType SYNTAX INTEGER { other(1) } MIN-ACCESS read-only DESCRIPTION "Only other (1) needs to be supported." ::= { gmplsTeCompliances 1 } -- Units of conformance. gmplsTunnelGroup OBJECT-GROUP OBJECTS { gmplsTunnelAdminStatus, gmplsTunnelOperStatus, gmplsTunnelRowStatus, gmplsTunnelStorageType, gmplsTunnelLSPEncoding, gmplsTunnelLinkProtection, gmplsTunnelGPid, gmplsTunnelRNC, gmplsTunnelSignalType, gmplsTunnelRGT, gmplsTunnelSecondary, gmplsTunnelDirection, gmplsTunnelUseEgressLabel, gmplsTunnelEgressLabel } STATUS current DESCRIPTION " TBD " ::= { gmplsTeGroups 1 } mplsTunnelScalarGroup OBJECT-GROUP OBJECTS { gmplsTunnelsConfigured, gmplsTunnelsActive } STATUS current DESCRIPTION "Scalar objects needed to implement GMPLS tunnels." ::= { gmplsTeGroups 2 } -- End of GMPLS-TE-MIB END -- -- Copyright (C) The Internet Society (2000). All Rights -- Reserved. -- -- This document and translations of it may be copied and -- furnished to others, and derivative works that comment on -- or otherwise explain it or assist in its implementation may -- be prepared, copied, published and distributed, in whole or -- in part, without restriction of any kind, provided that the -- above copyright notice and this paragraph are included on -- all such copies and derivative works. However, this -- document itself may not be modified in any way, such as by -- removing the copyright notice or references to the Internet -- Society or other Internet organizations, except as needed -- for the purpose of developing Internet standards in which -- case the procedures for copyrights defined in the Internet -- Standards process must be followed, or as required to -- translate it into languages other than English. -- -- The limited permissions granted above are perpetual and -- will not be revoked by the Internet Society or its -- successors or assigns. This document and the information -- contained herein is provided on an "AS IS" basis and THE -- INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE -- DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT -- NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION -- HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED -- WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR -- PURPOSE.