-- extracted from draft-ietf-disman-remops-mib-03.txt -- at Mon Nov 15 17:10:50 1999 DISMAN-TRACEROUTE-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, Integer32, experimental FROM SNMPv2-SMI -- RFC1902 RowStatus, TestAndIncr, TruthValue FROM SNMPv2-TC -- RFC1903 MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF -- RFC1904 Utf8String FROM SYSAPPL-MIB -- RFC2287 SnmpAdminString FROM SNMP-FRAMEWORK-MIB -- RFC2271 HostAddress, OperationStatus FROM DISMAN-PING-MIB; traceRouteMIB MODULE-IDENTITY LAST-UPDATED "9812200000Z" ORGANIZATION "IETF Distributed Management Working Group" CONTACT-INFO "Kenneth White International Business Machines Corporation Network Computing Software Division Research Triangle Park, NC, USA E-mail: wkenneth@us.ibm.com" DESCRIPTION "The Traceroute MIB (DISMAN-TRACEROUTE-MIB) enables use of the tracerroute via use of the SNMP protocol." ::= { experimental 84 2 } -- Top-level structure of the MIB traceRouteNotifications OBJECT IDENTIFIER ::= { traceRouteMIB 0 } traceRouteObjects OBJECT IDENTIFIER ::= { traceRouteMIB 1 } traceRouteConformance OBJECT IDENTIFIER ::= { traceRouteMIB 2 } -- Simple Object Definitions traceRouteSpinLock OBJECT-TYPE SYNTAX TestAndIncr MAX-ACCESS read-write STATUS current DESCRIPTION "An advisory lock used to allow cooperating traceroute applications to coordinate their use of the traceRouteTable. This object should be used when an application seeks to create an new entry or alter an existing entry in the traceRouteTable. A management implementation MAY utilize the traceRouteSpinLock to serialize its changes or additions. Its usage is NOT REQUIRED." ::= { traceRouteObjects 1 } traceRouteMaxConcurrentRequests OBJECT-TYPE SYNTAX Integer32 (1..100) MAX-ACCESS read-write STATUS current DESCRIPTION "The maximum number of concurrent active traceroute requests that are allowed within an agent implementation." DEFVAL { 10 } ::= { traceRouteObjects 2 } traceRoutePurgeTime OBJECT-TYPE SYNTAX Integer32 (0..86400) UNITS "seconds" MAX-ACCESS read-write STATUS current DESCRIPTION "The amount of time to wait before automatically deleting an entry in traceRouteTable and all dependent traceRouteResultsTable entries after the traceroute operation represented by an traceRouteEntry has completed." DEFVAL { 900 } -- 15 minutes as default ::= { traceRouteObjects 3 } -- Traceroute Table traceRouteTable OBJECT-TYPE SYNTAX SEQUENCE OF TraceRouteEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Defines the Remote Operations Traceroute Table for provide via SNMP the capability of invoking traceroute from a remote host." ::= { traceRouteObjects 4 } traceRouteEntry OBJECT-TYPE SYNTAX TraceRouteEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Defines an entry in the traceRouteTable." INDEX { traceRouteOwnerIndex, traceRouteHostAddress } ::= { traceRouteTable 1 } TraceRouteEntry ::= SEQUENCE { traceRouteOwnerIndex SnmpAdminString, traceRouteHostAddress HostAddress, traceRouteByPassRouteTable TruthValue, traceRoutePacketSize Integer32, traceRouteTimeOut Integer32, traceRouteProbesPerHop Integer32, traceRoutePort Integer32, traceRouteMaxTtl Integer32, traceRouteTos Integer32, traceRouteSourceAddress HostAddress, traceRouteInterfaceName OCTET STRING, traceRouteMiscOptions Utf8String, traceRouteMaxFailures Integer32, traceRouteOperStatus OperationStatus, traceRouteCurHopCount Integer32, traceRouteCurProbeCount Integer32, traceRouteRowStatus RowStatus } traceRouteOwnerIndex OBJECT-TYPE SYNTAX SnmpAdminString (SIZE(0..32)) MAX-ACCESS not-accessible STATUS current DESCRIPTION "To facilitate the provisioning of access control by a security administrator using the View-Based Access Control Model (RFC 2275, VACM) for tables in which multiple users may need to independently create or modify entries, the initial index is used as an 'owner index'. Such an initial index has a syntax of SnmpAdminString, and can thus be trivially mapped to a securityName or groupName as defined in VACM, in accordance with a security policy. All entries in this table belonging to a particular user will have the same value for this initial index. For a given user's entries in a particular table, the object identifiers for the information in these entries will have the same subidentifiers (except for the 'column' subidentifier) up to the end of the encoded owner index. To configure VACM to permit access to this portion of the table, one would create vacmViewTreeFamilyTable entries with the value of vacmViewTreeFamilySubtree including the owner index portion, and vacmViewTreeFamilyMask 'wildcarding' the column subidentifier. More elaborate configurations are possible." ::= { traceRouteEntry 1 } traceRouteHostAddress OBJECT-TYPE SYNTAX HostAddress MAX-ACCESS not-accessible STATUS current DESCRIPTION "Specifies the host address used on the traceroute request at the remote host. The host address type can be determined by the length of the corresponding octet string." ::= { traceRouteEntry 2 } traceRouteByPassRouteTable OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "The purpose of this object is optionally enable bypassing the route table. If enabled bypass the normal routing tables and send directly to a host on an attached network. If the host is not on a directly-attached network, an error is returned. This option can be used to ping a local host through an interface that has no route through it (e.g., after the interface was dropped by routed)." DEFVAL { false } ::= { traceRouteEntry 3 } traceRoutePacketSize OBJECT-TYPE SYNTAX Integer32 (0..65507) UNITS "octets" MAX-ACCESS read-create STATUS current DESCRIPTION "Specifies the size of the data portion of a traceroute request in octets. A traceroute request is essentially transmitted by encoding a UDP datagram into a IP packet. So subtracting the size of a UDP header (8 octets) and the size of a IP header (20 octets) yields a maximum of 65507 octets." DEFVAL { 0 } ::= { traceRouteEntry 4 } traceRouteTimeOut OBJECT-TYPE SYNTAX Integer32 (1..60) UNITS "seconds" MAX-ACCESS read-create STATUS current DESCRIPTION "Specifies the time-out value, in seconds, for a traceroute request." DEFVAL { 3 } ::= { traceRouteEntry 5 } traceRouteProbesPerHop OBJECT-TYPE SYNTAX Integer32 (1..10) UNITS "count" MAX-ACCESS read-create STATUS current DESCRIPTION "Specifies the number of times to reissue a traceroute request with the same time-to-live (TTL) value." DEFVAL { 3 } ::= { traceRouteEntry 6 } traceRoutePort OBJECT-TYPE SYNTAX Integer32 (1..65535) UNITS "UDP Port" MAX-ACCESS read-create STATUS current DESCRIPTION "Specifies the UDP port to sent the traceroute request to. Need to specify a port that is not in use at the destination host." DEFVAL { 4096 } ::= { traceRouteEntry 7 } traceRouteMaxTtl OBJECT-TYPE SYNTAX Integer32 (1..255) UNITS "time-to-live maximum" MAX-ACCESS read-create STATUS current DESCRIPTION "Specifies the maximum time-to-live value." DEFVAL { 30 } ::= { traceRouteEntry 8 } traceRouteTos OBJECT-TYPE SYNTAX Integer32 (0..255) MAX-ACCESS read-create STATUS current DESCRIPTION "Specifies the value to store in the TOS OCTET in the IP probe packet that is transmitted as the traceroute request. The value must be a decimal integer in the range 0 to 255. This option can be used to see if different types-of-service result in different paths. Not all values of TOS are legal or meaningful. TOS is often not supported by IP implementations. Useful values are probably '16' (low delay) and '8' (high throughput)." DEFVAL { 0 } ::= { traceRouteEntry 9 } traceRouteSourceAddress OBJECT-TYPE SYNTAX HostAddress MAX-ACCESS read-create STATUS current DESCRIPTION "Use the specified IP address (which must be given as an IP number, not a hostname) as the source address in outgoing probe packets. On hosts with more than one IP address, this option can be used to force the source address to be something other than the IP address of the interface the probe packet is sent on. If the IP address is not one of this machine's interface addresses, an error is returned and nothing is sent." DEFVAL { ''H } ::= { traceRouteEntry 10 } traceRouteInterfaceName OBJECT-TYPE SYNTAX OCTET STRING (SIZE(0..32)) MAX-ACCESS read-create STATUS current DESCRIPTION "Setting this object to an interface's name prior to starting a remote traceroute operation directs the traceroute probes to be transmitted over the specified interface." DEFVAL { ''H } ::= { traceRouteEntry 11 } traceRouteMiscOptions OBJECT-TYPE SYNTAX Utf8String (SIZE(0..64)) MAX-ACCESS read-create STATUS current DESCRIPTION "Enables an application to specify implementation dependent options." DEFVAL { ''H } ::= { traceRouteEntry 12 } traceRouteMaxFailures OBJECT-TYPE SYNTAX Integer32 (1..255) MAX-ACCESS read-create STATUS current DESCRIPTION "The value of this object indicates the maximum number of consecutive timeouts allowed before terminating a remote traceroute request. A value of 255 (maximum hop count) indicate that the function of terminating a remote traceroute request when a number of successive timeouts are detected is disabled." DEFVAL { 5 } ::= { traceRouteEntry 13 } traceRouteOperStatus OBJECT-TYPE SYNTAX OperationStatus MAX-ACCESS read-only STATUS current DESCRIPTION "Reflects the operational state of a remote traceroute operation." ::= { traceRouteEntry 14 } traceRouteCurHopCount OBJECT-TYPE SYNTAX Integer32 (1..255) MAX-ACCESS read-only STATUS current DESCRIPTION "Reflects the current TTL value for an remote traceroute operation. Maximum TTL value is determined by traceRouteMaxTtl." ::= { traceRouteEntry 15 } traceRouteCurProbeCount OBJECT-TYPE SYNTAX Integer32 (1..10) MAX-ACCESS read-only STATUS current DESCRIPTION "Reflects the current probe count for an remote traceroute operation. The maximum probe count is determined by traceRouteProbesPerHop." ::= { traceRouteEntry 16 } traceRouteRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "This object allows entries to be created and deleted in the traceRouteTable. A remote traceroute operation is started when an entry in this table is created via an SNMP SET request and the entry is activated. This can occur by setting the value of this object to CreateAndGo(4) during row creation or by setting this object to active(1) after the row is created. A remote traceroute request starts when its entry first becomes active(1). Transitions in and out of active(1) state have no effect on the operational behavior of a remote traceroute operation, with the exception that deletion of an entry in this table by setting its RowStatus object to destroy(6) will stop an active remote traceroute operation." REFERENCE "RFC 1903, 'Textual Conventions for version 2 of the Simple Network Management Protocol (SNMPv2).'" ::= { traceRouteEntry 17 } -- Remote Operations Traceroute Results Table traceRouteResultsTable OBJECT-TYPE SYNTAX SEQUENCE OF TraceRouteResultsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Defines the Remote Operations Traceroute Results Table for storing the results of a traceroute operation." ::= { traceRouteObjects 5 } traceRouteResultsEntry OBJECT-TYPE SYNTAX TraceRouteResultsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Defines an entry in the traceRouteResultsTable." INDEX { traceRouteOwnerIndex, traceRouteHostAddress, traceRouteResultsHopIndex, traceRouteResultsProbeIndex } ::= { traceRouteResultsTable 1 } TraceRouteResultsEntry ::= SEQUENCE { traceRouteResultsHopIndex Integer32, traceRouteResultsProbeIndex Integer32, traceRouteResultsHopAddress HostAddress, traceRouteResultsResponse Integer32 } traceRouteResultsHopIndex OBJECT-TYPE SYNTAX Integer32 (1..255) MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in this table has as its initial instance identifier the value of its corresponding traceRouteEntry's instance identifier." ::= { traceRouteResultsEntry 1 } traceRouteResultsProbeIndex OBJECT-TYPE SYNTAX Integer32 (1..10) MAX-ACCESS not-accessible STATUS current DESCRIPTION "Indicates the index of a probe for determining a hop in a traceroute path." ::= { traceRouteResultsEntry 2 } traceRouteResultsHopAddress OBJECT-TYPE SYNTAX HostAddress MAX-ACCESS read-only STATUS current DESCRIPTION "The address of a hop in a traceroute path. This object is not allowed to be a DNS name. The length of the octet string returned determines the address type." ::= { traceRouteResultsEntry 3 } traceRouteResultsResponse OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-only STATUS current DESCRIPTION "The value of this object indicated the result of a traceroute probe: >=0 Round-trip response time in milliseconds. -1 Internal error. -2 probe timed out. -3 Unknown destination address. -4 No route to host. -5 Interface inactive to host. -6 Failed to resolve host name. -7 traceRouteMaxConcurrentRequests limit reached." ::= { traceRouteResultsEntry 4 } --------------------------------------------------------------------- -- Conformance information -- Compliance statements --------------------------------------------------------------------- traceRouteCompliances OBJECT IDENTIFIER ::= { traceRouteConformance 1 } traceRouteGroups OBJECT IDENTIFIER ::= { traceRouteConformance 2 } --------------------------------------------------------------------- -- Compliance statements --------------------------------------------------------------------- traceRouteCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for the DISMAN-TRACEROUTE-MIB." MODULE -- this module MANDATORY-GROUPS { traceRouteGroup } OBJECT traceRouteMaxConcurrentRequests MIN-ACCESS read-only DESCRIPTION "The agent is not required to support a SET operation to this object." OBJECT traceRoutePurgeTime MIN-ACCESS read-only DESCRIPTION "The agent is not required to support a SET operation to this object." ::= { traceRouteCompliances 1 } --------------------------------------------------------------------- -- MIB groupings --------------------------------------------------------------------- traceRouteGroup OBJECT-GROUP OBJECTS { traceRouteSpinLock, traceRouteMaxConcurrentRequests, traceRoutePurgeTime, traceRouteByPassRouteTable, traceRoutePacketSize, traceRouteTimeOut, traceRouteProbesPerHop, traceRoutePort, traceRouteMaxTtl, traceRouteTos, traceRouteSourceAddress, traceRouteInterfaceName, traceRouteMiscOptions, traceRouteMaxFailures, traceRouteOperStatus, traceRouteCurHopCount, traceRouteCurProbeCount, traceRouteRowStatus, traceRouteResultsHopAddress, traceRouteResultsResponse } STATUS current DESCRIPTION "The group of objects that comprise the remote traceroute operation." ::= { traceRouteGroups 1 } END -- -- Copyright (C) The Internet Society (1997). 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.