-- extracted from draft-ietf-tewg-mib-01.txt -- at Tue Oct 16 06:07:16 2001 TE-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, experimental, Integer32, Gauge32, Counter32, Counter64, Unsigned32, TimeTicks FROM SNMPv2-SMI TEXTUAL-CONVENTION FROM SNMPv2-TC SnmpAdminString FROM SNMP-FRAMEWORK-MIB; teMIB MODULE-IDENTITY LAST-UPDATED "200110141128Z" ORGANIZATION "IETF Traffic Engineering Working Group" CONTACT-INFO " Kireeti Kompella Postal: Juniper Networks, Inc. 1194 Mathilda Ave Sunnyvale, CA 94089 Tel: +1 408 745 2000 E-mail: kireeti@juniper.net" DESCRIPTION "The Traffic Engineering MIB module" ::= { experimental TBD } TeHopAddressType ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "A value that represents an address type for a Tunnel hop, taken from the following list: unknown(0) An unknown address type. ipv4(1) An IPv4 network address. ipv6(2) An IPv6 network address. asnumber2(3) A two octet Autonomous System number. asnumber4(4) A four octet Autonomous System number. unnum(5) An unnumbered interface index. Each definition of a concrete TeHopAddressType value must be accompanied by a definition of a textual convention for use with that TeHopAddressType." SYNTAX INTEGER { unknown(0), ipv4(1), ipv6(2), asnumber2(3), asnumber4(4), unnum(5) } TeHopAddress ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "Denotes a generic Tunnel hop address. An TeHopAddress value is always interpreted within the context of an TeHopAddressType value. The TeHopAddressType object which defines the context must be registered immediately before the object which uses the TeHopAddress textual convention. In other words, the object identifiers for the TeHopAddressType object and the TeHopAddress object MUST have the same length and the last sub-identifier of the TeHopAddressType object MUST be 1 less than the last sub-identifier of the TeHopAddress object." SYNTAX OCTET STRING (SIZE (0..255)) TeHopAddressIPv4 ::= TEXTUAL-CONVENTION DISPLAY-HINT "1d.1d.1d.1d" STATUS current DESCRIPTION "Represents an IPv4 network address." SYNTAX OCTET STRING (SIZE (4)) TeHopAddressIPv6 ::= TEXTUAL-CONVENTION DISPLAY-HINT "2x:2x:2x:2x:2x:2x:2x:2x%4d" STATUS current DESCRIPTION "Represents an IPv6 network address." SYNTAX OCTET STRING (SIZE (16)) TeHopAddressAS2 ::= TEXTUAL-CONVENTION DISPLAY-HINT "d" STATUS current DESCRIPTION "Represents a two octet AS number." SYNTAX INTEGER (0..65535) TeHopAddressAS4 ::= TEXTUAL-CONVENTION DISPLAY-HINT "d" STATUS current DESCRIPTION "Represents a four octet AS number." SYNTAX Unsigned32 TeHopAddressUnnum ::= TEXTUAL-CONVENTION DISPLAY-HINT "d" STATUS current DESCRIPTION "Represents a 32bit unnumbered interface index." SYNTAX Unsigned32 TeHopType ::= OCTET STRING (SIZE (0..1023)) teInfo OBJECT IDENTIFIER ::= { teMIB 1 } teDistProtocol OBJECT-TYPE SYNTAX BITS { other(0), isis(1), ospf(2) } MAX-ACCESS read-only STATUS current DESCRIPTION "IGP used to distribute Traffic Engineering information and topology to each device for the purpose of automatic path computation." ::= { teInfo 1 } teSignalingProto OBJECT-TYPE SYNTAX BITS { other(0), rsvp(1), crldp(2) } MAX-ACCESS read-only STATUS current DESCRIPTION "Traffic Engineering signaling protocols supported by this device. More than one protocol may be supported." ::= { teInfo 2 } teAdminGroupTable OBJECT-TYPE SYNTAX SEQUENCE OF TeAdminGroupEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Table of configured administrative groups. Administrative groups are used to label links in the Traffic Engineering topology in order to place constraints (include and exclude) on Tunnel paths." ::= { teInfo 3 } teAdminGroupEntry OBJECT-TYPE SYNTAX TeAdminGroupEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A mapping between a configured group number and its human-readable name. The group number should be between 0 and 31, inclusive." INDEX { teAdminGroupNumber } ::= { teAdminGroupTable 1 } TeAdminGroupEntry ::= SEQUENCE { teAdminGroupNumber INTEGER (0..31), teAdminGroupName SnmpAdminString } teAdminGroupNumber OBJECT-TYPE SYNTAX INTEGER (0..31) MAX-ACCESS read-only STATUS current DESCRIPTION "Index of the administrative group." ::= { teAdminGroupEntry 1 } teAdminGroupName OBJECT-TYPE SYNTAX SnmpAdminString (SIZE (1..32)) MAX-ACCESS read-only STATUS current DESCRIPTION "Name of the administrative group." ::= { teAdminGroupEntry 2 } teConfiguredTunnels OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of configured Tunnels." ::= { teInfo 4 } teActiveTunnels OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of active Tunnels." ::= { teInfo 5 } tePrimaryTunnels OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of active Tunnels running on their primary paths." ::= { teInfo 6 } teTunnelTable OBJECT-TYPE SYNTAX SEQUENCE OF TeTunnelEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Table of Configured Traffic Tunnels." ::= { teMIB 2 } teTunnelEntry OBJECT-TYPE SYNTAX TeTunnelEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Entry containing information about a particular Traffic Tunnel." INDEX { IMPLIED teTunnelName } ::= { teTunnelTable 1 } TeTunnelEntry ::= SEQUENCE { teTunnelName SnmpAdminString, teTunnelState INTEGER, teTunnelOctets Counter64, teTunnelPackets Counter64, teTunnelAge TimeTicks, teTunnelTimeUp TimeTicks, teTunnelPrimaryTimeUp TimeTicks, teTunnelTransitions Counter32, teTunnelLastTransition TimeTicks, teTunnelPathChanges Counter32, teTunnelLastPathChange TimeTicks, teTunnelConfiguredPaths Gauge32, teTunnelStandbyPaths Gauge32, teTunnelOperationalPaths Gauge32, teTunnelSourceType TeHopAddressType, teTunnelSource TeHopAddress, teTunnelDestinationType TeHopAddressType, teTunnelDestination TeHopAddress, tePathName SnmpAdminString, tePathType INTEGER, tePathExplicitRoute TeHopType, tePathRecordRoute TeHopType, tePathBandwidth Integer32, tePathIncludeAny Integer32, tePathIncludeAll Integer32, tePathExclude Integer32, tePathSetupPriority INTEGER (0..7), tePathHoldPriority INTEGER (0..7), tePathProperties BITS } teTunnelName OBJECT-TYPE SYNTAX SnmpAdminString (SIZE (1..32)) MAX-ACCESS accessible-for-notify STATUS current DESCRIPTION "Name of the Traffic Tunnel." ::= { teTunnelEntry 1 } teTunnelState OBJECT-TYPE SYNTAX INTEGER { unknown(1), up(2), down(3), testing(4) } MAX-ACCESS read-only STATUS current DESCRIPTION "The operational state of the Tunnel." ::= { teTunnelEntry 2 } teTunnelOctets OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of octets that have been forwarded over the Tunnel." ::= { teTunnelEntry 3 } teTunnelPackets OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of packets that have been forwarded over the Tunnel." ::= { teTunnelEntry 4 } teTunnelAge OBJECT-TYPE SYNTAX TimeTicks MAX-ACCESS read-only STATUS current DESCRIPTION "The age (i.e., time from creation till now) of this Tunnel in 10-millisecond periods." ::= { teTunnelEntry 5 } teTunnelTimeUp OBJECT-TYPE SYNTAX TimeTicks MAX-ACCESS read-only STATUS current DESCRIPTION "The total time in 10-millisecond units that this Tunnel has been operational. For example, the percentage up time can be determined by computing (teTunnelTimeUp/teTunnelAge * 100 %)." ::= { teTunnelEntry 6 } teTunnelPrimaryTimeUp OBJECT-TYPE SYNTAX TimeTicks MAX-ACCESS read-only STATUS current DESCRIPTION "The total time in 10-millisecond units that this Tunnel's primary path has been operational. For example, the percentage contribution of the primary path to the operational time is given by (teTunnelPrimaryTimeUp/teTunnelTimeUp * 100) %." ::= { teTunnelEntry 7 } teTunnelTransitions OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of state transitions (up -> down and down -> up) this Tunnel has undergone." ::= { teTunnelEntry 8 } teTunnelLastTransition OBJECT-TYPE SYNTAX TimeTicks MAX-ACCESS read-only STATUS current DESCRIPTION "The time in 10-millisecond units since the last transition occurred on this Tunnel." ::= { teTunnelEntry 9 } teTunnelPathChanges OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of path changes this Tunnel has had." ::= { teTunnelEntry 10 } teTunnelLastPathChange OBJECT-TYPE SYNTAX TimeTicks MAX-ACCESS read-only STATUS current DESCRIPTION "The time in 10-millisecond units since the last change occurred on this Tunnel." ::= { teTunnelEntry 11 } teTunnelConfiguredPaths OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of paths configured for this Tunnel." ::= { teTunnelEntry 12 } teTunnelStandbyPaths OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of standby paths configured for this Tunnel." ::= { teTunnelEntry 13 } teTunnelOperationalPaths OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of operational paths for this Tunnel. This includes the path currently active, as well as operational standby paths." ::= { teTunnelEntry 14 } teTunnelSourceType OBJECT-TYPE SYNTAX TeHopAddressType MAX-ACCESS read-only STATUS current DESCRIPTION "Source address type of this Tunnel." ::= { teTunnelEntry 15 } teTunnelSource OBJECT-TYPE SYNTAX TeHopAddress MAX-ACCESS read-only STATUS current DESCRIPTION "Source address of this Tunnel." ::= { teTunnelEntry 16 } teTunnelDestinationType OBJECT-TYPE SYNTAX TeHopAddressType MAX-ACCESS read-only STATUS current DESCRIPTION "Destination address type of this Tunnel." ::= { teTunnelEntry 17 } teTunnelDestination OBJECT-TYPE SYNTAX TeHopAddress MAX-ACCESS read-only STATUS current DESCRIPTION "Destination address of this Tunnel." ::= { teTunnelEntry 18 } tePathName OBJECT-TYPE SYNTAX SnmpAdminString (SIZE(0..16)) MAX-ACCESS read-only STATUS current DESCRIPTION "The name of the active path for this Tunnel, if any. If there is none, the name should be empty (i.e., of length zero); in that case, the rest of the fields in teTunnelEntry are meaningless and are not to be instantiated." ::= { teTunnelEntry 19 } tePathType OBJECT-TYPE SYNTAX INTEGER { other(1), primary(2), standby(3), secondary(4) } MAX-ACCESS read-only STATUS current DESCRIPTION "The type of path that is active, i.e., a primary path, a standby path, or a generic secondary path. This field is meaningless if tePathName is empty." ::= { teTunnelEntry 20 } tePathExplicitRoute OBJECT-TYPE SYNTAX TeHopType MAX-ACCESS read-only STATUS current DESCRIPTION "The explicit route used to set up this Tunnel. This may either be the route configured by the user, or a route automatically computed to satisfy constraints set by the user. This field is a displayable string in the format of XXX.XXX.XXX.XXX S/L repeated for each explicit address. The S/L character stands for Strict/Loose route. This field is meaningless if tePathName is empty." ::= { teTunnelEntry 21 } tePathRecordRoute OBJECT-TYPE SYNTAX TeHopType MAX-ACCESS read-only STATUS current DESCRIPTION "The route actually used for this path, as recorded by the signaling protocol. This field is a displayable string in the format of XXX.XXX.XXX.XXX repeated for each address. This field is meaningless if tePathName is empty." ::= { teTunnelEntry 22 } tePathBandwidth OBJECT-TYPE SYNTAX Integer32 UNITS "bits per second" MAX-ACCESS read-only STATUS current DESCRIPTION "The configured bandwidth for this Tunnel, in units of thousands of bits per second (Kbps). This field is meaningless if tePathName is empty." ::= { teTunnelEntry 23 } tePathIncludeAny OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-only STATUS current DESCRIPTION "This is a configured set of administrative groups specified as a bit vector (i.e., bit n is 1 if group n is in the set, where n = 0 is the LSB). For each link that this path goes through, the link must have at least one of the groups specified in IncludeAny to be acceptable. If IncludeAny is zero, all links are acceptable. This field is meaningless if tePathName is empty." ::= { teTunnelEntry 25 } tePathIncludeAll OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-only STATUS current DESCRIPTION "This is a configured set of administrative groups specified as a bit vector (i.e., bit n is 1 if group n is in the set, where n = 0 is the LSB). For each link that this path goes through, the link must have all of the groups specified in IncludeAny to be acceptable. If IncludeAny is zero, all links are acceptable. This field is meaningless if tePathName is empty." ::= { teTunnelEntry 26 } tePathExclude OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-only STATUS current DESCRIPTION "This is a configured set of administrative groups specified as a bit vector (i.e., bit n is 1 if group n is in the set, where n = 0 is the LSB). For each link that this path goes through, the link MUST have groups associated with it, and the intersection of the link's groups and the 'exclude' set MUST be null. This field is meaningless if tePathName is empty." ::= { teTunnelEntry 27 } tePathSetupPriority OBJECT-TYPE SYNTAX INTEGER (0..7) MAX-ACCESS read-only STATUS current DESCRIPTION "The setup priority configured for this path, with 0 as the highest priority and 7 the lowest. This field is meaningless if tePathName is empty." ::= { teTunnelEntry 28 } tePathHoldPriority OBJECT-TYPE SYNTAX INTEGER (0..7) MAX-ACCESS read-only STATUS current DESCRIPTION "The hold priority configured for this path, with 0 as the highest priority and 7 the lowest. This field is meaningless if tePathName is empty." ::= { teTunnelEntry 29 } tePathProperties OBJECT-TYPE SYNTAX BITS { recordroute(0), adaptive(1), cspf(2), mergeable(3), fastreroute(4) } MAX-ACCESS read-only STATUS current DESCRIPTION "The set of configured properties for this path, expressed as a bit map. For example, if the path is an adaptive path, bit 1 is set. This field is meaningless if tePathName is empty." ::= { teTunnelEntry 30 } -- -- definition of TE notifications -- teNotificationsV2 OBJECT IDENTIFIER ::= { teMIB 3 } teNotifications OBJECT IDENTIFIER ::= { teNotificationsV2 0 } teTunnelUp NOTIFICATION-TYPE OBJECTS { teTunnelName, tePathName } -- TunnelPath STATUS current DESCRIPTION "An teTunnelUp notification is generated when the Tunnel indexed by teTunnelName transitions to the 'up' state." ::= { teNotifications 1 } teTunnelDown NOTIFICATION-TYPE OBJECTS { teTunnelName, tePathName } -- TunnelPath STATUS current DESCRIPTION "An teTunnelDown notification is generated when the Tunnel indexed by teTunnelName transitions to the 'down' state." ::= { teNotifications 2 } teTunnelChange NOTIFICATION-TYPE OBJECTS { teTunnelName, tePathName } -- toTunnelPath STATUS current DESCRIPTION "An teTunnelChange notification is generated when the active path on the Tunnel indexed by teTunnelName changes. The tePathName is the new active path." ::= { teNotifications 3 } teTunnelRerouted NOTIFICATION-TYPE OBJECTS { teTunnelName, tePathName } -- toTunnelPath STATUS current DESCRIPTION "An teTunnelRerouted notification is generated when the active path for the Tunnel indexed by teTunnelName stays the same, but its route changes." ::= { teNotifications 4 } -- End of TE-MIB END