-- extracted from draft-ietf-ccamp-gmpls-te-mib-00.txt -- at Sat Jun 29 06:09:51 2002 GMPLS-TE-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, experimental, Integer32, Unsigned32, Counter32, Counter64, TimeTicks FROM SNMPv2-SMI MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP FROM SNMPv2-CONF TEXTUAL-CONVENTION, TruthValue, TimeStamp FROM SNMPv2-TC InterfaceIndexOrZero FROM IF-MIB MplsTunnelIndex, MplsTunnelInstanceIndex FROM MPLS-TC-MIB GmplsHopUnnumAddrTypes FROM GMPLS-TC-MIB InetAddressIPv4, InetAddressIPv6 FROM INET-ADDRESS-MIB ; gmplsTeMIB MODULE-IDENTITY LAST-UPDATED "200206240900Z" -- 24 June 2002 9:00:00 GMT ORGANIZATION "Common Control And Management Protocols (CCAMP) Working Group" CONTACT-INFO "Thomas D. Nadeau Postal: Cisco Systems, Inc. 250 Apollo Drive Chelmsford, MA 01824 Tel: +1-978-244-3051 Email: tnadeau@cisco.com Cheenu Srinivasan Postal: Parama Networks, Inc. 1030 Broad Street Shrewsbury, NJ 07702 Tel: +1-732-544-9120 x731 Email: cheenu@paramanet.com Adrian Farrel Postal: Movaz Networks, Inc. 7926 Jones Branch Drive McLean, VA 22102 Tel: +1-703-847-1867 Email: afarrel@movaz.com Edward Harrison Postal: Data Connection Ltd. 100 Church Street Enfield, Middlesex EN2 6BQ, United Kingdom Tel: +44-20-8366-1177 Email: eph@dataconnection.com Tim Hall Postal: Data Connection Ltd. 100 Church Street Enfield, Middlesex EN2 6BQ, United Kingdom Tel: +44-20-8366-1177 Email: timhall@dataconnection.com" DESCRIPTION "This MIB module contains managed object definitions for GMPLS Traffic Engineering (TE)." -- Revision history. REVISION "200206240900Z" -- 24 June 2002 9:00:00 GMT DESCRIPTION "First revision draft version." -- Above revision history to be replaced as below -- REVISION "yyyymmddhhmmZ" -- DESCRIPTION "Initial version, published as RFC xxxx" -- xxxx to be assigned by RFC Editor ::= { experimental XXX } -- To Be Assigned by IANA -- Top level components of this MIB. -- tables, scalars gmplsTeScalars OBJECT IDENTIFIER ::= { gmplsTeMIB 1 } gmplsTeObjects OBJECT IDENTIFIER ::= { gmplsTeMIB 2 } -- conformance gmplsTeConformance OBJECT IDENTIFIER ::= { gmplsTeMIB 3 } -- GMPLS Tunnel scalars. gmplsTunnelsConfigured OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of GMPLS tunnels configured on this device. A tunnel is considered configured if an entry for the tunnel exists in the gmplsTunnelTable and the associated mplsTunnelRowStatusis 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 there is an entry in the gmplsTunnelTable and the associated mplsTunnelOperStatus for the tunnel 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 'extends' the mplsTunnelTable. It allows GMPLS tunnels to be created between an LSR and a remote endpoint, and existing tunnels to be reconfigured or removed. Note that only point-to-point tunnel segments are supported, although multi- point-to-point and point-to-multi-point connections are supported by an LSR acting as a cross-connect. Each tunnel can thus have one out-segment originating at this LSR and/or one in-segment terminating at this LSR." ::= { gmplsTeObjects 1 } gmplsTunnelEntry OBJECT-TYPE SYNTAX GmplsTunnelEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in this table in association with the corresponding entry in the mplsTunnelTable represents a GMPLS tunnel. An entry can be created by a network administrator or by an SNMP agent as instructed by a signaling protocol." REFERENCE "1. RFC 1700 - Assigned Numbers, Reynolds, J. and J. Postel, Oct. 1994" INDEX { mplsTunnelIndex, mplsTunnelInstance, mplsTunnelIngressLSRId, mplsTunnelEgressLSRId } ::= { gmplsTunnelTable 1 } GmplsTunnelEntry ::= SEQUENCE { gmplsTunnelUnnumIf TruthValue, gmplsTunnelAttributes BITS, gmplsTunnelLSPEncoding INTEGER, gmplsTunnelSwitchingType INTEGER, gmplsTunnelLinkProtection BITS, gmplsTunnelGPid Unsigned32, gmplsTunnelSecondary TruthValue, gmplsTunnelDirection INTEGER, gmplsTunnelPathComp INTEGER } gmplsTunnelUnnumIf OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "Denotes whether or not this tunnel corresponds to an unnumbered interface represented in the interfaces group table. This object is only used if mplsTunnelIsIf is set to true. If both this object and the mplsTunnelIsIf object are set to true, the originating LSR adds an LSP_TUNNEL_INTERFACE_ID object to the outgoing Path message. This object contains information that is only used by the terminating LSR." REFERENCE "draft-ietf-mpls-crldp-unnum-06.txt - Signalling Unnumbered Links in CR-LDP, Kompella, K., Rekhter, Y. and Kullberg, A., June 2002. draft-ietf-mpls-rsvp-unnum-06.txt - Signalling Unnumbered Links in RSVP-TE, Kompella, K., and Rekhter, Y., June 2002." DEFVAL { false } ::= { gmplsTunnelEntry 1 } gmplsTunnelAttributes OBJECT-TYPE SYNTAX BITS { localProtectionDesired (0), labelRecordingDesired (1), seStyleDesired (2) } MAX-ACCESS read-create STATUS current DESCRIPTION "This bitmask indicates optional parameters for this tunnel. Some of these bits map direct to signaled values (for example SESSION_ATTRIBUTES flags in RSVP-TE). Others describe qualities of the tunnel. The following describes these bitfields: localProtectionDesired This flag permits transit routers to use a local repair mechanism which may result in violation of the explicit route object. When a fault is detected on an adjacent downstream link or node, a transit router can reroute traffic for fast service restoration. labelRecordingDesired This flag indicates that label information should be included when doing a route record. This bit is not valid unless the recordRoute bit is set. seStyleDesired This flag indicates that the tunnel ingress node may choose to reroute this tunnel without tearing it down. When signaling uses RSVP, a tunnel egress node SHOULD use the SE Style when responding with a Resv message." REFERENCE "1. RSVP-TE: Extensions to RSVP for LSP Tunnels, Awduche et al, RFC 3209, December 2001." DEFVAL { 0 } ::= { gmplsTunnelEntry 2 } gmplsTunnelLSPEncoding OBJECT-TYPE SYNTAX INTEGER { tunnelLspPacket (1), tunnelLspEthernet (2), tunnelLspAnsiEtsiPdh (3), tunnelLspSdhSonet (5), tunnelLspDigitalWrapper (7), tunnelLspLambda (8), tunnelLspFiber (9), tunnelLspFiberChannel (11) } MAX-ACCESS read-create STATUS current DESCRIPTION "This object indicates the encoding of the LSP being requested. Ed Note: Should these be assigned and maintained by IANA?" ::= { gmplsTunnelEntry 3 } gmplsTunnelSwitchingType OBJECT-TYPE SYNTAX INTEGER (0..2147483647) MAX-ACCESS read-create STATUS current DESCRIPTION "Indicates the type of switching that should be performed on a particular link. This field is needed for links that advertise more than one type of switching capability. Values of this field are as the Switching Capability field defined in [GMPLS-OSPF] Ed Note: Should these values be assigned and maintained by IANA or imported from another MIB? Currently the following values are valid: unknown (0), psc1 (1), psc2 (2), psc3 (3), psc4 (4), l2sc (51), tdm (100), lsc (150), fsc (200)" ::= { gmplsTunnelEntry 4 } gmplsTunnelLinkProtection OBJECT-TYPE SYNTAX BITS { extraTraffic(1), unprotected(2), shared (3), dedicatedOneToOne (4), dedicatedOnePlusOne(5), enhanced(6) } 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. This object is only used if gmplsTunnelLSPEncoding is not set to 0. 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. This object is only used if gmplsTunnelLSPEncoding is not set to 0. 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), asynchE4(5), asynchDS3T3(6), asynchE3(7), bitsynchE3(8), bytesynchE3(9), asynchDS2T2(10), bitsynchDS2T2(11), asynchE1(13), bytesynchE1(14), bytesynch31ByDS0(15), asynchDS1T1(16), bitsynchDS1T1(17), bytesynchDS1T1(18), VC11VC12(19), ds1SFAsynch(22), ds1ESFAsynch(23), ds3M23Asynch(24), ds3CBitParityAsynch(25), vtLovc(26), stsSpeHovc(27), posNoScramble16BitCrc(28), posNoScramble32BitCrc(29), posScramble16BitCrc(30), posScramble32BitCrc(31), atm(32) ethernet(33), sdhSonet(34), digitalwrapper(36), lambda(37), ansiEtsiPdh (38), lapsSdh (40), fddi (41), dqdb (42), fiberChannel3 (43), hdlc (44), ethernetV2DixOnly (45), ethernet802dot3Only (46)" ::= { gmplsTunnelEntry 6 } gmplsTunnelSecondary OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "Indicates that the requested LSP is a secondary LSP. This object is only used if gmplsTunnelLSPEncoding is not set to 0." DEFVAL { false } ::= { gmplsTunnelEntry 7 } gmplsTunnelDirection OBJECT-TYPE SYNTAX INTEGER { forward (0), bidirectional (1) } MAX-ACCESS read-create STATUS current DESCRIPTION "Whether this tunnel carries forward data (is unidirectional) or is bidirectional. By default, tunnels are unidirectional." DEFVAL { forward } ::= { gmplsTunnelEntry 8 } gmplsTunnelPathComp OBJECT-TYPE SYNTAX INTEGER { dynamicFull(1),-- CSPF fully computed explicit(2),-- fully specified path dynamicPartial(3) -- CSPF partially computed } MAX-ACCESS read-create STATUS current DESCRIPTION "This value instructs the source node on how to perform path computation on the explicit route specified by the associated entries in the gmplsTunnelHopTable. dynamicFull The user specifies at least the source and destination of the path and expects that the CSPF will calculate the remainder of the path. explicit The user specifies the entire path for the tunnel to take. This path may contain strict or loose hops. Evaluation of the explicit route will be performed hop by hop through the network. dynamicPartial The user specifies at least the source and destination of the path and expects that the CSPF will calculate the remainder of the path. The path computed by CSPF is allowed to be only partially computed allowing the remainder of the path to be filled in across the network. This object deprecates gmplsTunnelHopEntryPathComp." DEFVAL { explicit } ::= { gmplsTunnelEntry 9 } -- End of gmplsTunnelTable -- Begin gmplsTunnelHopTable gmplsTunnelHopTable OBJECT-TYPE SYNTAX SEQUENCE OF GmplsTunnelHopEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The gmplsTunnelHopTable 'extends' the mplsTunnelHopTable. It is used to indicate the explicit labels and unnumbered interface hops to be used for a GMPLS tunnel defined in mplsTunnelTable and gmplsTunnelTable, when it is established using signaling. Each row in this table is indexed by mplsTunnelHopListIndex. Each row also has a secondary index mplsTunnelHopIndex corresponding to the next hop that this row corresponds to. The first row in the table is the first hop after the origination point of the tunnel. In case we want to specify a particular interface on the originating LSR of an outgoing tunnel by which we want packets to exit the LSR, we specify this as the first hop for this tunnel in gmplsTunnelHopTable." ::= { gmplsTeObjects 2 } gmplsTunnelHopEntry OBJECT-TYPE SYNTAX GmplsTunnelHopEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in this table represents a tunnel hop. An entry is created by a network administrator for signaled an ERLSP to be set up by a signaling protocol." INDEX { mplsTunnelHopListIndex, mplsTunnelHopPathOptionIndex, mplsTunnelHopIndex } ::= { gmplsTunnelHopTable 1 } GmplsTunnelHopEntry ::= SEQUENCE { gmplsTunnelHopUnnumAddrType GmplsHopUnnumAddrTypes, gmplsTunnelHopLabelStatuses BITS, gmplsTunnelHopExplicitLabel Unsigned32, gmplsTunnelHopExplicitReverseLabel Unsigned32, gmplsTunnelHopUnnumberedInterface InterfaceIndexOrZero } gmplsTunnelHopUnnumAddrType OBJECT-TYPE SYNTAX GmplsHopUnnumAddrTypes MAX-ACCESS read-create STATUS current DESCRIPTION "Indicates whether this tunnel hop entry uses an unnumbered link and, if so, whether it is an Ipv4 or Ipv6 hop. When this object is set to unnumberedIfIpV4(2) or unnumberedIfIpV6(3), it overrides the value of the associated mplsTunnelHopAddrType." DEFVAL { numbered } ::= { gmplsTunnelHopEntry 1 } gmplsTunnelHopLabelStatuses OBJECT-TYPE SYNTAX BITS { forwardPresent (0), reversePresent (1) } MAX-ACCESS read-only STATUS current DESCRIPTION "This bitmask indicates the presence and status of labels indicated by the gmplsTunnelHopExplicitLabel and gmplsTunnelHopExplicitReverseLabel objects. For the Present bits, a set bit indicates that a label is present for this hop in the route." ::= { gmplsTunnelHopEntry 2 } gmplsTunnelHopExplicitLabel OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-create STATUS current DESCRIPTION "Indicates the row entry in the mplsLabelTabel that defines the explicit label to use in the explicit route as the forward path label at this point. This value only has meaning if the forwardPresent bit of gmplsTunnelHopLabelStatuses is set. This variable is only valid for settings of gmplsTunnelHopAddrType which may be associated with a forward path label. Note that in implementations where the label may be encoded within a 32 bit integer and where mplsLabelTable is not implemented, this object may directly contain the label value to use." ::= { gmplsTunnelHopEntry 3 } gmplsTunnelHopExplicitReverseLabel OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-create STATUS current DESCRIPTION "Indicates the row entry in the mplsLabelTabel that defines the explicit label to use in the explicit route as the reverse path label at this point. This value only has meaning if the reversePresent bit of gmplsTunnelHopLabelStatuses is set. This variable is only valid for settings of gmplsTunnelHopAddrType which may be associated with a reverse path label. Note that in implementations where the label may be encoded within a 32 bit integer and where mplsLabelTable is not implemented, this object may directly contain the label value to use." ::= { gmplsTunnelHopEntry 4 } gmplsTunnelHopUnnumberedInterface OBJECT-TYPE SYNTAX InterfaceIndexOrZero MAX-ACCESS read-create STATUS current DESCRIPTION "Indicates the interface index of the unnumbered interface to use when setting up the LSP. Only has value when gmplsTunnelHopUnnumAddrType is set to unnumberedIfIpV4(2) or unnumberedIfIpV6(3) in which case the corresponding mplsTunnelHopIpv4Addr or mplsTunnelHopIpv6Addr variable must contain an LSR id." ::= { gmplsTunnelHopEntry 5 } -- End of gmplsTunnelHopTable -- Tunnel Actual Route Hop table. gmplsTunnelARHopTable OBJECT-TYPE SYNTAX SEQUENCE OF GmplsTunnelARHopEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The gmplsTunnelARHopTable 'extends' the mplsTunnelARHopTable. It is used to indicate the unnumbered hops, strict or loose, for a GMPLS tunnel defined in mplsTunnelTable and gmplsTunnelTable, as reported by the signaling protocol, for the outgoing direction of the tunnel. Each row in this table is indexed by mplsTunnelARHopListIndex. Each row also has a secondary index mplsTunnelARHopIndex, corresponding to the next hop that this row corresponds to. The first row in the table is the first hop after the origination point of the tunnel. In case we want to specify a particular interface on the originating LSR of an outgoing tunnel by which we want packets to exit the LSR, we specify this as the first hop for this tunnel in gmplsTunnelARHopTable. Please note that since the information necessary to build entries within this table is not provided by some signaling protocols, implementation of this table is optional. Furthermore, since the information in this table is actually provided by the signaling protocol after the path has been set-up, the entries in this table are provided only for observation, and hence, all variables in this table are accessible exclusively as read-only." ::= { gmplsTeObjects 3 } gmplsTunnelARHopEntry OBJECT-TYPE SYNTAX GmplsTunnelARHopEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in this table represents additional information about a GMPLS tunnel hop. An entry is created by the signaling protocol for a signaled ERLSP set up by the signaling protocol." INDEX { mplsTunnelARHopListIndex, mplsTunnelARHopIndex } ::= { gmplsTunnelARHopTable 1 } GmplsTunnelARHopEntry ::= SEQUENCE { gmplsTunnelARHopUnnumAddrType GmplsHopUnnumAddrTypes, gmplsTunnelARHopLabelStatuses BITS, gmplsTunnelARHopExplicitLabel Unsigned32, gmplsTunnelARHopExplicitReverseLabel Unsigned32, gmplsTunnelARHopUnnumberedInterface InterfaceIndexOrZero, gmplsTunnelARHopProtection BITS } gmplsTunnelARHopUnnumAddrType OBJECT-TYPE SYNTAX GmplsHopUnnumAddrTypes MAX-ACCESS read-only STATUS current DESCRIPTION "Denotes whether this tunnel hop uses numbered or unnumbered interfaces. If set to unnumberedIfIpV4(2) or unnumberedIfIpV6(3) the value overrides the value of the associated mplsTunnelARHopAddrType." DEFVAL { numbered } ::= { gmplsTunnelARHopEntry 1 } gmplsTunnelARHopLabelStatuses OBJECT-TYPE SYNTAX BITS { forwardPresent (0), reversePresent (1), forwardGlobal (2), reverseGlobal (3) } MAX-ACCESS read-only STATUS current DESCRIPTION "This bitmask indicates the presence and status of labels indicated by the gmplsTunnelARHopExplicitLabel and gmplsTunnelARHopExplicitReverseLabel objects. For the Present bits, a set bit indicates that a label is present for this hop in the route. For the Global bits, a set bit indicates that the label comes from the Global Label Space. A clear bit indicates that this is a Per-Interface label. A Global bit only has meaning if the corresponding Present bit is set." ::= { gmplsTunnelARHopEntry 2 } gmplsTunnelARHopExplicitLabel OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates the row entry in the mplsLabelTabel that defines the label used in the path as forward path at this point. This value only has meaning if the forwardPresent bit of gmplsTunnelARHopLabelStatuses is set. Note that in implementations where the label may be encoded within a 32 bit integer and where mplsLabelTable is not implemented, this object may directly contain the label value to use." ::= { gmplsTunnelARHopEntry 3 } gmplsTunnelARHopExplicitReverseLabel OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates the row entry in the mplsLabelTabel that defines the label used in the path as reverse path at this point. This value only has meaning if the reversePresent bit of gmplsTunnelARHopLabelStatuses is set. Note that in implementations where the label may be encoded within a 32 bit integer and where mplsLabelTable is not implemented, this object may directly contain the label value to use." ::= { gmplsTunnelARHopEntry 4 } gmplsTunnelARHopUnnumberedInterface OBJECT-TYPE SYNTAX InterfaceIndexOrZero MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates the interface index of the unnumbered interface used when setting up the LSP. Only has value when gmplsTunnelARHopUnnumAddrType is set to unnumberedIfIpV4(2) or unnumberedIfIpV6(3) in which case the corresponding gmplsTunnelARHopIpv4Addr or gmplsTunnelARHopIpv6Addr variable must contain an LSR id." ::= { gmplsTunnelARHopEntry 5 } gmplsTunnelARHopProtection OBJECT-TYPE SYNTAX BITS { localAvailable (0), localInUse (1) } MAX-ACCESS read-only STATUS current DESCRIPTION "Availability and usage of protection on the reported link. - localAvailable indicates that the link downstream of this node is protected via a local repair mechanism. This flag can only be set if the localProtectionDesired bit was set in gmplsTunnelAttributes for this tunnel. - localInUse indicates that a local repair mechanism is in use to maintain this tunnel (usually in the face of an outage of the link it was previously routed over)." ::= { gmplsTunnelARHopEntry 6 } -- End of mplsTunnelARHopTable -- Tunnel Computed Hop table. gmplsTunnelCHopTable OBJECT-TYPE SYNTAX SEQUENCE OF GmplsTunnelCHopEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The gmplsTunnelCHopTable 'extends' the mplsTunnelCHopTable. It is used to indicate additional information about the hops of a GMPLS tunnel defined in mplsTunnelTable and gmplsTunnelTable, as computed by a constraint-based routing protocol, based on the gmplsTunnelHopTable for the outgoing direction of the tunnel. Each row in this table is indexed by mplsTunnelCHopListIndex. Each row also has a secondary index mplsTunnelCHopIndex, corresponding to the next hop that this row corresponds to. The first row in the table is the first hop after the origination point of the tunnel. In case we want to specify a particular interface on the originating LSR of an outgoing tunnel by which we want packets to exit the LSR, we specify this as the first hop for this tunnel in gmplsTunnelCHopTable. Please note that since the information necessary to build entries within this table may not be supported by some LSRs, implementation of this table is optional. Furthermore, since the information in this table is actually provided by routing protocol after the path has been computed, the entries in this table are provided only for observation, and hence, all variables in this table are accessible exclusively as read-only." ::= { gmplsTeObjects 4 } gmplsTunnelCHopEntry OBJECT-TYPE SYNTAX GmplsTunnelCHopEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in this table represents a tunnel hop. An entry in this table is created by a constraint-based routing protocol based on the hops specified in the corresponding mplsTunnelHopTable and gmplsTunnelHopTable." INDEX { mplsTunnelCHopListIndex, mplsTunnelCHopIndex } ::= { gmplsTunnelCHopTable 1 } GmplsTunnelCHopEntry ::= SEQUENCE { gmplsTunnelCHopUnnumAddrType GmplsHopUnnumAddrTypes, gmplsTunnelCHopLabelStatuses BITS, gmplsTunnelCHopExplicitLabel Unsigned32, gmplsTunnelCHopExplicitReverseLabel Unsigned32, gmplsTunnelCHopUnnumberedInterface InterfaceIndexOrZero } gmplsTunnelCHopUnnumAddrType OBJECT-TYPE SYNTAX GmplsHopUnnumAddrTypes MAX-ACCESS read-only STATUS current DESCRIPTION "Denotes whether this tunnel hop uses numbered or unnumbered interfaces. If set to unnumberedIfIpV4(2) or unnumberedIfIpV6(3) the value overrides the value of the associated mplsTunnelCHopAddrType." DEFVAL { numbered } ::= { gmplsTunnelCHopEntry 1 } gmplsTunnelCHopLabelStatuses OBJECT-TYPE SYNTAX BITS { forwardPresent (0), reversePresent (1) } MAX-ACCESS read-only STATUS current DESCRIPTION "This bitmask indicates the presence and status of labels indicated by the gmplsTunnelCHopExplicitLabel and gmplsTunnelCHopExplicitReverseLabel objects. For the Present bits, a set bit indicates that a label is present for this hop in the route." ::= { gmplsTunnelCHopEntry 2 } gmplsTunnelCHopExplicitLabel OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates the row entry in the mplsLabelTabel that defines the explicit label to use in the explicit route as the forward path label at this point. This value only has meaning if the forwardPresent bit of gmplsTunnelCHopLabelStatuses is set. This variable is only valid for settings of gmplsTunnelCHopAddrType which may be associated with a forward path label. Note that in implementations where the label may be encoded within a 32 bit integer and where mplsLabelTable is not implemented, this object may directly contain the label value to use." ::= { gmplsTunnelCHopEntry 3 } gmplsTunnelCHopExplicitReverseLabel OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates the row entry in the mplsLabelTabel that defines the explicit label to use in the explicit route as the reverse path label at this point. This value only has meaning if the reversePresent bit of gmplsTunnelCHopLabelStatuses is set. This variable is only valid for settings of gmplsTunnelCHopAddrType which may be associated with a forward path label. Note that in implementations where the label may be encoded within a 32 bit integer and where mplsLabelTable is not implemented, this object may directly contain the label value to use." ::= { gmplsTunnelCHopEntry 4 } gmplsTunnelCHopUnnumberedInterface OBJECT-TYPE SYNTAX InterfaceIndexOrZero MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates the interface index of the unnumbered interface to use when setting up the LSP. Only has value when gmplsTunnelCHopUnnumAddrType is set to unnumberedIfIpV4(2) or unnumberedIfIpV6(3) in which case the corresponding mplsTunnelCHopIpv4Addr or mplsTunnelCHopIpv6Addr variable contains an LSR id." ::= { gmplsTunnelCHopEntry 5 } -- End of gmplsTunnelCHopTable -- GMPLS Tunnel Performance Table. gmplsTunnelPacketPerfTable OBJECT-TYPE SYNTAX SEQUENCE OF GmplsTunnelPacketPerfEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table provides per-tunnel packet performance information." ::= { gmplsTeObjects 5 } gmplsTunnelPacketPerfEntry OBJECT-TYPE SYNTAX GmplsTunnelPacketPerfEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in this table is created by the LSR for every GMPLS tunnel where packets are visible to the LSR. Its is an extension to gmplsTunnelEntry." AUGMENTS { gmplsTunnelEntry } ::= { gmplsTunnelPacketPerfTable 1 } GmplsTunnelPacketPerfEntry ::= SEQUENCE { gmplsTunnelPacketPerfRvsPackets Counter32, gmplsTunnelPacketPerfRvsHCPackets Counter64, gmplsTunnelPacketPerfRvsErrors Counter32, gmplsTunnelPacketPerfRvsBytes Counter32, gmplsTunnelPacketPerfRvsHCBytes Counter64} gmplsTunnelPacketPerfRvsPackets OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of packets forwarded on the tunnel in the reverse direction if it is bidirectional." ::= { gmplsTunnelPacketPerfEntry 1 } gmplsTunnelPacketPerfRvsHCPackets OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "High capacity counter for number of packets forwarded on the tunnel in the reverse direction if it is bidirectional." ::= { gmplsTunnelPacketPerfEntry 2 } gmplsTunnelPacketPerfRvsErrors OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of errored packets received on the tunnel in the reverse direction if it is bidirectional." ::= { gmplsTunnelPacketPerfEntry 3 } gmplsTunnelPacketPerfRvsBytes OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of bytes forwarded on the tunnel in the reverse direction if it is bidirectional." ::= { gmplsTunnelPacketPerfEntry 4 } gmplsTunnelPacketPerfRvsHCBytes OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "High capacity counter for number of bytes forwarded on the tunnel in the reverse direction if it is bidirectional." ::= { gmplsTunnelPacketPerfEntry 5 } -- End of gmplsTunnelPacketPerfTable -- GMPLS Tunnel Error Table. gmplsTunnelErrorTable OBJECT-TYPE SYNTAX SEQUENCE OF GmplsTunnelErrorEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table provides per-tunnel information about errors. Errors may be detected locally or reported through the signaling protocol." ::= { gmplsTeObjects 6 } gmplsTunnelErrorEntry OBJECT-TYPE SYNTAX GmplsTunnelErrorEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in this table is created by the LSR for every tunnel where error information is visible to the LSR. Its is an extension to gmplsTunnelEntry." AUGMENTS { gmplsTunnelEntry } ::= { gmplsTunnelErrorTable 1 } GmplsTunnelErrorEntry ::= SEQUENCE { gmplsTunnelErrorLastError INTEGER, gmplsTunnelErrorLastTime TimeStamp, gmplsTunnelErrorReporterType INTEGER, gmplsTunnelErrorReporterIpv4Addr InetAddressIPv4, gmplsTunnelErrorReporterIpv6Addr InetAddressIPv6, gmplsTunnelErrorProtocolCode Unsigned32, gmplsTunnelErrorProtocolSubcode Unsigned32, gmplsTunnelErrorHelpString DisplayString } gmplsTunnelErrorLastError OBJECT-TYPE SYNTAX INTEGER { noError (0), unknown (1), localProtocol (2), remoteProtocol (3), configuration (4), pathComputation (5), localResources (6) } MAX-ACCESS read-only STATUS current DESCRIPTION "The nature of the last error. Protocol errors encompass all errors that may be reported through the protocol and give a wider set of error codes than those provided here. It may be useful for an implementation to report locally detected errors using the codes provided by the signaling protocols to give a better diagnosis of the error. Values in excess of 32767 are reserved for implementation-specific error codes." ::= { gmplsTunnelErrorEntry 1 } gmplsTunnelErrorLastTime OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "The time at which the last error occurred. This is presented as the value of SysUpTime when the error occurred or was reported to this node. If gmplsTunnelErrorLastError has the value noError (0), then this object is ignored." ::= { gmplsTunnelErrorEntry 2 } gmplsTunnelErrorReporterType OBJECT-TYPE SYNTAX INTEGER { noError (0), unknown (1), localNode (2), localIpV4 (3), remoteIpV4 (4), localIpV6 (5), remoteIpV6 (6) } MAX-ACCESS read-only STATUS current DESCRIPTION "The reporter of the last error recorded. This object is used principally to aid in interpretation of gmplsTunnelErrorReporterIpv4Addr and gmplsTunnelErrorReporterIpv6Addr. Where the error has been locally generated and there is no requirement to associate the error with any specific local address (such as an interface), the value localNode (2) may be used. When gmplsTunnelErrorLastError has the value noError (0), then this object should have the value noError (0) and should be ignored." ::= { gmplsTunnelErrorEntry 3 } gmplsTunnelErrorReporterIpv4Addr OBJECT-TYPE SYNTAX InetAddressIPv4 MAX-ACCESS read-only STATUS current DESCRIPTION "The address of the node reporting the last error, or the address of the resource (such as an interface) associated with the error. This object only has meaning if the object gmplsTunnelErrorReporterType has value localIpV4 (3) or remoteIpV4 (4). Otherwise the object should contain the value zero." ::= { gmplsTunnelErrorEntry 4 } gmplsTunnelErrorReporterIpv6Addr OBJECT-TYPE SYNTAX InetAddressIPv6 MAX-ACCESS read-only STATUS current DESCRIPTION "The address of the node reporting the last error, or the address of the resource (such as an interface) associated with the error. This object only has meaning if the object gmplsTunnelErrorReporterType has value localIpV4 (3) or remoteIpV4 (4). Otherwise the object should contain the value zero." ::= { gmplsTunnelErrorEntry 5 } gmplsTunnelErrorProtocolCode OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The primary error code associated with the last error and the protocol used to signal this tunnel. The relevant protocol is indicated by the gmplsTunnelSignallingProto object." ::= { gmplsTunnelErrorEntry 6 } gmplsTunnelErrorProtocolSubcode OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The secondary error code associated with the last error and the protocol used to signal this tunnel. The relevant protocol is indicated by the gmplsTunnelSignallingProto object." ::= { gmplsTunnelErrorEntry 7 } gmplsTunnelErrorHelpString OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-only STATUS current DESCRIPTION "A textual string containing information about the last error, recovery actions and support advice. If there is no help string this object contains a zero length string." ::= { gmplsTunnelErrorEntry 8 } -- 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 } GROUP gmplsTunnelManualGroup DESCRIPTION "This group is mandatory for devices which support manual configuration of tunnels, in addition to gmplsTunnelGroup. The following constraints apply: gmplsTunnelSignallingProto should be at least read-only with a value of none(1)." GROUP gmplsTunnelSignaledGroup DESCRIPTION "This group is mandatory for devices which support signaled tunnel set up, in addition to gmplsTunnelGroup. The following constraints apply: gmplsTunnelSignallingProto should be at least read-only returning a value of ldp(2), or rsvp(3)." GROUP gmplsTunnelIsNotIntfcGroup DESCRIPTION "This group is mandatory for devices which support tunnels that are not interfaces, in addition to gmplsTunnelGroup. The following constraints apply: gmplsTunnelIsIf must at least be read-only returning no(0)." GROUP gmplsTunnelIsIntfcGroup DESCRIPTION "This group is mandatory for devices which support tunnels that are interfaces, in addition to gmplsTunnelGroup. The following constraints apply: gmplsTunnelIsUnnum must at least be read- only returning false." GROUP gmplsTunnelOptionalGroup DESCRIPTION "Objects in this group are optional." -- GMPLS Tunnel scalars. OBJECT gmplsTunnelsConfigured MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT gmplsTunnelActive MIN-ACCESS read-only DESCRIPTION "Write access is not required." -- gmplsTunnelTable OBJECT gmplsTunnelIsUnnum MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT gmplsTunnelAttributes MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT gmplsTunnelLSPEncoding SYNTAX INTEGER { tunnelLspNotGmpls (0), tunnelLspPacket (1), tunnelLspEthernetV2Dix (2), tunnelLspAnsiPdh (3), tunnelLspEtsiPdh (4), tunnelLspSdhItutG7071996 (5), tunnelLspSonetAnsiT11051995 (6), tunnelLspDigitalWrapper (7), tunnelLspLambda (8), tunnelLspFiber (9), tunnelLspEthernet8023 (10), tunnelLspSdhItutG7072000 (11), tunnelLspSonetAnsiT11052000 (12) } MIN-ACCESS read-only DESCRIPTION "Only tunnelLspNotGmpls (0) is required." OBJECT gmplsTunnelLinkProtection MIN-ACCESS read-only DESCRIPTION "Read-only support is required." OBJECT gmplsTunnelGPid MIN-ACCESS read-only DESCRIPTION "Read-only support is required." OBJECT gmplsTunnelSecondary SYNTAX TruthValue MIN-ACCESS read-only DESCRIPTION "Only false is required." OBJECT gmplsTunnelBiDirectional SYNTAX TruthValue MIN-ACCESS read-only DESCRIPTION "Only false is required." OBJECT gmplsTunnelPathComp SYNTAX INTEGER { dynamicFull(1),-- CSPF fully computed explicit(2),-- fully dynamicPartial(3) -- CSPF partially computed } MIN-ACCESS read-only DESCRIPTION "Only explicit (2) is required." -- gmplsTunnelHopTable OBJECT gmplsTunnelHopUnnumAddrType MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT gmplsTunnelHopLabelStatuses MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT gmplsTunnelHopExplicitLabel MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT gmplsTunnelHopExplicitReverseLabel MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT gmplsTunnelHopUnnumberedInterface MIN-ACCESS read-only DESCRIPTION "Write access is not required." -- gmplsTunnelARHopTable OBJECT gmplsTunnelARHopUnnumAddrType MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT gmplsTunnelARHopLabelStatuses MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT gmplsTunnelARHopExplicitLabel MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT gmplsTunnelARHopExplicitReverseLabel MIN-ACCESS read-only DESCRIPTION "Write access is not required." -- glmpsTunnelCHopTable OBJECT gmplsTunnelCHopUnnumAddrType MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT gmplsTunnelCHopLabelStatuses MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT gmplsTunnelCHopExplicitLabel MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT gmplsTunnelCHopExplicitReverseLabel MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT gmplsTunnelCHopUnnumberedInterface MIN-ACCESS read-only DESCRIPTION "Write access is not required." -- gmplsTunnelPerfTable OBJECT gmplsTunnelPacketPerfRvsPackets MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT gmplsTunnelPacketPerfRvsHCPackets MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT gmplsTunnelPacketPerfRvsErrors MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT gmplsTunnelPacketPerfRvsBytes MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT gmplsTunnelPacketPerfRvsHCBytes MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT gmplsTunnelErrorLastError MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT gmplsTunnelErrorLastTime MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT gmplsTunnelErrorReporterType MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT gmplsTunnelErrorReporterIpv4Addr MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT gmplsTunnelErrorReporterIpv6Addr MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT gmplsTunnelErrorProtocolCode MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT gmplsTunnelErrorProtocolSubcode MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT gmplsTunnelErrorHelpString MIN-ACCESS read-only DESCRIPTION "Write access is not required." ::= { gmplsTeCompliances 1 } -- Units of conformance. gmplsTunnelGroup OBJECT-GROUP OBJECTS { gmplsTunnelDirection, gmplsTunnelPacketPerfRvsPackets, gmplsTunnelPacketPerfRvsHCPackets, gmplsTunnelPacketPerfRvsErrors, gmplsTunnelPacketPerfRvsBytes, gmplsTunnelPacketPerfRvsHCBytes, gmplsTunnelErrorLastError, gmplsTunnelErrorLastTime, gmplsTunnelErrorReporterType, gmplsTunnelErrorReporterIpv4Addr, gmplsTunnelErrorReporterIpv6Addr, gmplsTunnelErrorProtocolCode, gmplsTunnelErrorProtocolSubcode, gmplsTunnelErrorHelpString} STATUS current DESCRIPTION "Necessary, but not sufficient, set of objects to implement tunnels. In addition, depending on the type of the tunnels supported (for example, manually configured or signaled, persistent or non-persistent, etc.), the following other groups defined below are mandatory: gmplsTunnelManualGroup and/or gmplsTunnelSignaledGroup, gmplsTunnelIsNotIntfcGroup and/or gmplsTunnelIsIntfcGroup." ::= { gmplsTeGroups 1 } gmplsTunnelManualGroup OBJECT-GROUP OBJECTS { gmplsTunnelSignallingProto } STATUS current DESCRIPTION "Object(s) needed to implement manually configured tunnels." ::= { gmplsTeGroups 2 } gmplsTunnelSignaledGroup OBJECT-GROUP OBJECTS { gmplsTunnelLSPEncoding, gmplsTunnelLinkProtection, gmplsTunnelGPid, gmplsTunnelSecondary, gmplsTunnelHopUnnumAddrType, gmplsTunnelHopLabelStatuses, gmplsTunnelHopExplicitLabel, gmplsTunnelHopExplicitReverseLabel, gmplsTunnelHopUnnumberedInterface } STATUS current DESCRIPTION "Objects needed to implement signaled tunnels." ::= { gmplsTeGroups 3 } gmplsTunnelScalarGroup OBJECT-GROUP OBJECTS { gmplsTunnelsConfigured, gmplsTunnelActive } STATUS current DESCRIPTION "Scalar objects needed to implement MPLS tunnels." ::= { gmplsTeGroups 4 } gmplsTunnelIsIntfcGroup OBJECT-GROUP OBJECTS { gmplsTunnelIsUnnum } STATUS current DESCRIPTION "Objects needed to implement tunnels that are interfaces." ::= { gmplsTeGroups 5 } gmplsTunnelIsNotIntfcGroup OBJECT-GROUP OBJECTS { gmplsTunnelIsUnnum } STATUS current DESCRIPTION "Objects needed to implement tunnels that are not interfaces." ::= { gmplsTeGroups 6 } gmplsTunnelOptionalGroup OBJECT-GROUP OBJECTS { gmplsTunnelARHopUnnumAddrType, gmplsTunnelARHopLabelStatuses, gmplsTunnelARHopExplicitLabel, gmplsTunnelARHopExplicitReverseLabel, gmplsTunnelCHopUnnumAddrType, gmplsTunnelCHopLabelStatuses, gmplsTunnelCHopExplicitLabel, gmplsTunnelCHopExplicitReverseLabel, gmplsTunnelCHopUnnumberedInterface } STATUS current DESCRIPTION "The objects in this group are optional." ::= { gmplsTeGroups 7 } END -- -- Copyright (C) The Internet Society (2002). 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.