idnits 2.17.1 draft-ietf-disman-remops-mib-06.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** Looks like you're using RFC 2026 boilerplate. This must be updated to follow RFC 3978/3979, as updated by RFC 4748. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- ** The document seems to lack a 1id_guidelines paragraph about Internet-Drafts being working documents. ** The document seems to lack a 1id_guidelines paragraph about 6 months document validity. == No 'Intended status' indicated for this document; assuming Proposed Standard == The page length should not exceed 58 lines per page, but there was 2 longer pages, the longest (page 29) being 59 lines == It seems as if not all pages are separated by form feeds - found 0 form feeds but 68 pages Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack an IANA Considerations section. (See Section 2.2 of https://www.ietf.org/id-info/checklist for how to handle the case when there are no actions for IANA.) ** The document seems to lack separate sections for Informative/Normative References. All references will be assumed normative when checking for downward references. ** There are 6 instances of too long lines in the document, the longest one being 2 characters in excess of 72. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the RFC 3978 Section 5.4 Copyright Line does not match the current year == Line 515 has weird spacing: '... int h_a...' == Line 516 has weird spacing: '... int h_l...' -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (August 1999) is 9021 days in the past. Is this intentional? -- Found something which looks like a code comment -- if you have code sections in the document, please surround them with '' and '' lines. Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Missing Reference: '20' is mentioned on line 167, but not defined == Unused Reference: '12' is defined on line 3406, but no explicit reference was found in the text == Unused Reference: '19' is defined on line 3429, but no explicit reference was found in the text ** Downref: Normative reference to an Historic RFC: RFC 1157 (ref. '1') -- Possible downref: Non-RFC (?) normative reference: ref. '2' ** Obsolete normative reference: RFC 1905 (ref. '6') (Obsoleted by RFC 3416) ** Obsolete normative reference: RFC 2571 (ref. '7') (Obsoleted by RFC 3411) ** Obsolete normative reference: RFC 2572 (ref. '8') (Obsoleted by RFC 3412) ** Obsolete normative reference: RFC 2573 (ref. '9') (Obsoleted by RFC 3413) ** Obsolete normative reference: RFC 2574 (ref. '10') (Obsoleted by RFC 3414) ** Obsolete normative reference: RFC 2575 (ref. '11') (Obsoleted by RFC 3415) ** Obsolete normative reference: RFC 2028 (ref. '12') (Obsoleted by RFC 9281) ** Downref: Normative reference to an Informational RFC: RFC 1215 (ref. '16') ** Downref: Normative reference to an Historic RFC: RFC 1901 (ref. '17') ** Obsolete normative reference: RFC 1906 (ref. '18') (Obsoleted by RFC 3417) Summary: 17 errors (**), 0 flaws (~~), 9 warnings (==), 4 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 1 DISMAN Working Group Kenneth White 2 INTERNET DRAFT: IBM Corp. 3 Expiration Date: February 2000 5 August 1999 7 Definitions of Managed Objects for 8 Remote Ping, Traceroute, and 9 Lookup Operations 10 12 Status of this Memo 14 This document is an Internet-Draft and is in full conformance with all 15 provisions of Section 10 of RFC2026. Internet Drafts are working 16 documents of the Internet Engineering Task Force (IETF), its Areas, and 17 its Working Groups. Note that other groups may also distribute working 18 documents as Internet Drafts. 20 Internet Drafts are draft documents valid for a maximum of six months. 21 Internet Drafts may be updated, replaced, or obsoleted by other 22 documents at any time. It is not appropriate to use Internet Drafts as 23 reference material or to cite them other than as a "working draft" or 24 "work in progress." 26 The list of current Internet-Drafts can be accessed at 27 http://www.ietf.org/ietf/1id-abstracts.txt 29 The list of Internet-Draft Shadow Directories can be accessed at 30 http://www.ietf.org/shadow.html. 32 Please check the I-D abstract listing contained in each Internet Draft 33 directory to learn the current status of this or any Internet Draft. 34 Distribution of this document is unlimited. 36 Copyright Notice 38 Copyright (C) The Internet Society (1999). All Rights Reserved. 40 Abstract 42 This memo defines Management Information Bases (MIBs) for performing 43 remote ping, traceroute and lookup operations at a remote host. When 44 managing a network it is useful to be able to initiate and retrieve the 45 results of ping or traceroute operations when performed at a remote 46 host. A Lookup capability is defined in order to enable resolving of 47 either an IP address to an DNS name or an DNS name to an IP address at a 48 remote host. 50 Currently, there exist several enterprise defined MIBs for performing 51 remote ping or traceroute operations. The purpose of this memo is to 52 defined a standards-based solution to enable interoperibility. 54 Table of Contents 56 1.0 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 2 58 2.0 The SNMP Network Management Framework . . . . . . . . . . . . 4 60 3.0 Structure of the MIBs . . . . . . . . . . . . . . . . . . . . 5 61 3.1 Ping MIB . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 62 3.1.1 pingMaxConcurrentRequests . . . . . . . . . . . . . . . . 6 63 3.1.2 pingCtlTable . . . . . . . . . . . . . . . . . . . . . . . 6 64 3.1.3 pingResultsTable . . . . . . . . . . . . . . . . . . . . . 7 65 3.1.4 pingProbeHistoryTable . . . . . . . . . . . . . . . . . . 7 66 3.2 Traceroute MIB . . . . . . . . . . . . . . . . . . . . . . . . 7 67 3.2.1 traceRouteMaxConcurrentRequests . . . . . . . . . . . . . 7 68 3.2.2 traceRouteCtlTable . . . . . . . . . . . . . . . . . . . . 8 69 3.2.3 traceRouteResultsTable . . . . . . . . . . . . . . . . . . 8 70 3.2.4 traceRouteProbeHistoryTable . . . . . . . . . . . . . . . 9 71 3.2.5 traceRouteHopsTable . . . . . . . . . . . . . . . . . . . 9 72 3.3 Lookup MIB . . . . . . . . . . . . . . . . . . . . . . . . . . 9 73 3.3.1 lookupMaxConcurrentRequests and lookupPurgeTime . . . . . 9 74 3.3.2 lookupCtlTable . . . . . . . . . . . . . . . . . . . . . . 10 75 3.3.3 lookupResultsTable . . . . . . . . . . . . . . . . . . . . 10 77 4.0 Definitions . . . . . . . . . . . . . . . . . . . . . . . . . 12 78 4.1 DISMAN-PING-MIB . . . . . . . . . . . . . . . . . . . . . . . 12 79 4.2 DISMAN-TRACEROUTE-MIB . . . . . . . . . . . . . . . . . . . . 33 80 4.3 DISMAN-NSLOOKUP-MIB . . . . . . . . . . . . . . . . . . . . . 56 82 5.0 Security Considerations . . . . . . . . . . . . . . . . . . . 65 84 6.0 Intellectual Property . . . . . . . . . . . . . . . . . . . . 65 86 7.0 Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 66 88 8.0 References . . . . . . . . . . . . . . . . . . . . . . . . . . 66 90 9.0 Author's Address . . . . . . . . . . . . . . . . . . . . . . . 67 92 10.0 Full Copyright Statement . . . . . . . . . . . . . . . . . . 67 94 1.0 Introduction 96 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 97 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 98 document are to be interpreted as described in RFC 2119, reference [13]. 100 This document is a product of the Distributed Management (DISMAN) 101 Working Group. Its purpose is to define standards-based MIB modules for 102 performing specific remote operations. The remote operations define by 103 this document consist of the ping, traceroute and lookup functions. 105 Ping and traceroute are two very useful functions for managing networks. 106 Ping is typically used to determine if a path exists between two hosts 107 while traceroute shows an actual path. Ping is usually implemented 108 using the InterNet Control Message Protocol (ICMP) "ECHO" facility. It 109 is also possible to implement a ping capability using alternate methods. 110 Some of which are: 112 o Using the UDP echo port (7), if supported. 114 This is defined by RFC 862 [2]. 116 o Timing an SNMP query. 118 o Timing a TCP connect attempt. 120 In general, almost any request/response flow can be used to generate a 121 round-trip time. Often many of the non-ICMP ECHO facility methods stand 122 a better chance of yielding a good response (not timing out for example) 123 since some routers don't honor Echo Requests (timeout situation) or they 124 are handled at lower priority, hence possibly giving false indications 125 of round trip times. 127 It must be noted that almost any of the various methods used for 128 generating a round-trip time can be considered a form of system attack 129 when used excessively. Sending a system requests too often can 130 negatively effect its performance. Attempting to connect to what is 131 suppose to be an unused port can be very unpredictable. There are tools 132 that attempt to connect to a range of TCP ports to test that any 133 receiving server can handle erroneous connection attempts. 135 It also is important to the management application using a remote ping 136 capability to know which method is being used. Different methods will 137 yield different response times since the protocol and resulting 138 processing will be different. It is RECOMMENDED that the ping 139 capability defined within this memo be implemented using the ICMP Echo 140 Facility. 142 Traceroute is usually implemented by transmitting a series of probe 143 packets with increasing time-to-live values. A probe packet is a UDP 144 datagram encapsulated into an IP packet. Each hop in a path to the 145 target (destination) host rejects the probe packet (probe's TTL too 146 small) until its time-to-live value becomes large enough for the probe 147 to be forwarded. Each hop in a traceroute path returns an ICMP message 148 that is used to discovery the hop and to calculate a round trip time. 149 Some systems use ICMP probes (ICMP Echo request packets) instead of UDP 150 ones to implement traceroute. In both cases traceroute relies on the 151 probes being rejected via an ICMP message to discover the hops taken 152 along a path to the final destination. Both probe types, UDP and ICMP, 153 are encapsulated into an IP packets and thus have a TTL field that can 154 be used to cause a path rejection. 156 Implementations of the remote traceroute capability as defined within 157 this memo SHOULD be done using UDP packets to a (hopefully) unused port. 158 ICMP probes (ICMP Echo Request packets) SHOULD NOT be used. Many PC 159 implementations of traceroute use the ICMP probe method, which they 160 should not, since this implementation method has been known to have a 161 high probability of failure. Intermediate hops become invisible when a 162 router either refuses to send an ICMP TTL expired message in response to 163 an incoming ICMP packet or simply tosses ICMP echo requests altogether. 165 The behavior of some routers to either not return a TTL expired message 166 in response to an ICMP Echo request is due in response to the following 167 text extracted from RFC792 [20]: 169 "The ICMP messages typically report errors in the processing of 170 datagrams. To avoid the infinite regress of messages about messages 171 etc., no ICMP messages are sent about ICMP messages." 173 Both ping and traceroute yield round-trip times measured in 174 milliseconds. These times can be used as a rough approximation for 175 network transit time. 177 The Lookup operation enables the equivalent of either a gethostbyname() 178 or a gethostbyaddr() call being performed at a remote host. The Lookup 179 gethostbyname() capability can be used to determine the symbolic name of 180 a hop in a traceroute path. 182 Consider the following diagram: 184 +----------------------------------------------------------------------+ 185 | | 186 | Remote ping, traceroute, Actual ping, traceroute, | 187 | +-----+or Lookup op. +------+or Lookup op. +------+ | 188 | |Local|---------------->|Remote|---------------->|Target| | 189 | | Host| | Host | | Host | | 190 | +-----+ +------+ +------+ | 191 | | 192 | | 193 +----------------------------------------------------------------------+ 195 A local host is the host from which the remote ping, traceroute, or 196 Lookup operation is initiated using an SNMP request. The remote host is 197 a host where the MIBs defined by this memo are implemented that receives 198 the remote operation via SNMP and performs the actual ping, traceroute, 199 or lookup function. 201 2.0 The SNMP Network Management Framework 203 The SNMP Management Framework presently consists of five major 204 components: 206 o An overall architecture, described in RFC 2571 [7]. 208 o Mechanisms for describing and naming objects and events for the 209 purpose of management. The first version of this Structure of 210 Management Information (SMI) is called SMIv1 and described in RFC 211 1155 [14], RFC 1212 [15] and RFC 1215 [16]. The second version, 212 called SMIv2, is described in RFC 2578 [3], RFC 2579 [4] and RFC 213 2580 [5]. 215 o Message protocols for transferring management information. The 216 first version of the SNMP message protocol is called SNMPv1 and 217 described in RFC 1157 [1]. A second version of the SNMP message 218 protocol, which is not an Internet standards track protocol, is 219 called SNMPv2c and described in RFC 1901 [17] and RFC 1906 [18]. 220 The third version of the message protocol is called SNMPv3 and 221 described in RFC 1906 [18], RFC 2572 [8] and RFC 2574 [10]. 223 o Protocol operations for accessing management information. The first 224 set of protocol operations and associated PDU formats is described 225 in RFC 1157 [1]. A second set of protocol operations and associated 226 PDU formats is described in RFC 1905 [6]. 228 o A set of fundamental applications described in RFC 2573 [9] and the 229 view-based access control mechanism described in RFC 2575 [11]. 231 Managed objects are accessed via a virtual information store, termed the 232 Management Information Base or MIB. Objects in the MIB are defined 233 using the mechanisms defined in the SMI. 235 This memo specifies MIB modules that are compliant to the SMIv2. A MIB 236 conforming to the SMIv1 can be produced through the appropriate 237 translations. The resulting translated MIB must be semantically 238 equivalent, except where objects or events are omitted because no 239 translation is possible (use of Counter64). Some machine readable 240 information in SMIv2 will be converted into textual descriptions in 241 SMIv1 during the translation process. However, this loss of machine 242 readable information is not considered to change the semantics of the 243 MIB. 245 3.0 Structure of the MIBs 247 This document defines three MIB modules: 249 o DISMAN-PING-MIB 251 Defines a ping MIB. 253 o DISMAN-TRACEROUTE-MIB 255 Defines a traceroute MIB. 257 o DISMAN-NSLOOKUP-MIB 258 Provides access to the resolver gethostbyname() and gethostbyaddr() 259 functions at a remote host. 261 The ping and traceroute MIBs are structured to allow creation of ping or 262 traceroute tests that can be setup to periodically issue a series of 263 operations and generate NOTIFICATIONs to report on test results. Many 264 network administrators have in the past written UNIX shell scripts or 265 command batch files to operate in a similar fashion to the functionality 266 provided by the ping and traceroute MIBs defined within this memo. The 267 intent of this document is to acknowledge the importance of these 268 functions and to provide a standards based solution. 270 3.1 Ping MIB 272 The DISMAN-PING-MIB consists of the following components: 274 o pingMaxConcurrentRequests 276 o pingCtlTable 278 o pingResultsTable 280 o pingProbeHistoryTable 282 3.1.1 pingMaxConcurrentRequests 284 The object pingMaxConcurrentRequests enables control of the maximum 285 number of concurrent active requests that an agent implementation 286 supports. It is permissible for an agent to either limit the maximum 287 upper range allowed for this object or to implement this object as 288 read-only with an implementation limit expressed as its value. 290 3.1.2 pingCtlTable 292 A remote ping test is started by setting pingCtlAdminStatus to 293 enabled(1). The corresponding pingCtlEntry MUST have been created and 294 its pingCtlRowStatus set to active(1) prior to starting the test. A 295 single SNMP PDU can be used to create and start a remote ping test. 296 Within the PDU pingCtlTargetAddress should be set to the target host's 297 address (pingCtlTargetAddressType will default to ipv4(2)), 298 pingCtlAdminStatus to enabled(1), and pingCtlRowStatus to 299 createAndGo(4). 301 The 1st index element, pingCtlOwnerIndex, is of the SnmpAdminString 302 textual convention that allows for use of the SNMPv3 View-Based Access 303 Control Model (RFC 2575 [11], VACM) and allows an management application 304 to identify its entries. The 2nd index, pingCtlTestName (also an 305 SnmpAdminString), enables the same management application to have 306 multiple requests outstanding. 308 Using the maximum value for the parameters defined within an pingEntry 309 can result in a single remote ping test taking at most 15 minutes 310 (pingCtlTimeOut times pingCtlProbeCount) plus whatever time it takes to 311 send the ping request and receive its response over the network from the 312 target host. Use of the defaults for pingCtlTimeOut and 313 pingCtlProbeCount yields a maximum of 3 seconds to perform a "normal" 314 ping test. 316 A management application can delete an active remote ping request by 317 setting the corresponding pingCtlRowStatus object to destroy(6). 319 The contents of the pingCtlTable is preserved across reIPLs (Initial 320 Program Loads) of its agent according the values of each of the 321 pingCtlStorageType objects. 323 3.1.3 pingResultsTable 325 An entry in the pingResultsTable is created for a corresponding 326 pingCtlEntry once the test defined by this entry is started. 328 3.1.4 pingProbeHistoryTable 330 The results of past ping probes can be stored in this table on a per 331 pingCtlEntry basis. This table is initially indexed by 332 pingCtlOwnerIndex and pingCtlTestName in order for the results of a 333 probe to relate to the pingCtlEntry that caused it. The maximum number 334 of entries stored in this table per pingCtlEntry is determined by the 335 value of pingCtlMaxRows. 337 An implementation of this MIB will remove the oldest entry in the 338 pingProbeHistoryTable to allow the addition of an new entry once the 339 number of rows in the pingProbeHistoryTable reaches the value specified 340 by pingCtlMaxRows. An implementation MUST start assigning 341 pingProbeHistoryIndex values at 1 and wrap after exceeding the maximum 342 possible value. 344 3.2 Traceroute MIB 346 The DISMAN-TRACEROUTE-MIB consists of the following components: 348 o traceRouteMaxConcurrentRequests 350 o traceRouteCtlTable 352 o traceRouteResultsTable 354 o traceRouteProbeHistoryTable 356 o traceRouteHopsTable 358 3.2.1 traceRouteMaxConcurrentRequests 360 The object traceRouteMaxConcurrentRequests enables control of the 361 maximum number of concurrent active requests that an agent 362 implementation supports. It is permissible for an agent to either limit 363 the maximum upper range allowed for this object or to implement this 364 object as read-only with an implementation limit expressed as its value. 366 3.2.2 traceRouteCtlTable 368 A remote traceroute test is started by setting traceRouteCtlAdminStatus 369 to enabled(1). The corresponding traceRouteCtlEntry MUST have been 370 created and its traceRouteCtlRowStatus set to active(1) prior to 371 starting the test. A single SNMP PDU can be used to create and start a 372 remote traceroute test. Within the PDU traceRouteCtlTargetAddress 373 should be set to the target host's address 374 (traceRouteCtlTargetAddressType will default to ipv4(2)), 375 traceRouteCtlAdminStatus to enabled(1), and traceRouteCtlRowStatus to 376 createAndGo(4). 378 The 1st index element, traceRouteCtlOwnerIndex, is of the 379 SnmpAdminString textual convention that allows for use of the SNMPv3 380 View-Based Access Control Model (RFC 2575 [11], VACM) and allows an 381 management application to identify its entries. The 2nd index, 382 traceRouteCtlTestName (also an SnmpAdminString), enables the same 383 management application to have multiple requests outstanding. 385 Traceroute has a much longer theoretical maximum time for completion 386 then ping. Basically 42 hours and 30 minutes (the product of 387 traceRouteCtlTimeOut, traceRouteCtlProbesPerHop, and 388 traceRouteCtlMaxTtl) plus some network transit time! Use of the 389 defaults defined within an traceRouteCtlEntry yields a maximum of 4 390 minutes and 30 seconds for a default traceroute operation. Clearly 42 391 plus hours is too long to wait for a traceroute operation to complete. 393 The maximum TTL value in effect for traceroute determines how long the 394 traceroute function will keep increasing the TTL value in the probe it 395 transmits hoping to reach the target host. The function ends whenever 396 the maximum TTL is exceeded or the target host is reached. The object 397 traceRouteCtlMaxFailures was created in order to impose a throttle for 398 how long traceroute continues to increase the TTL field in a probe 399 without receiving any kind of response (timeouts). It is RECOMMENDED 400 that agent implementations impose a time limit for how long it allows a 401 traceroute operation to take relative to how the function is 402 implemented. For example, an implementation that can't process multiple 403 traceroute operations at the same time SHOULD impose a shorter maximum 404 allowed time period. 406 A management application can delete an active remote traceroute request 407 by setting the corresponding traceRouteCtlRowStatus object to 408 destroy(6). 410 The contents of the traceRouteCtlTable is preserved across reIPLs 411 (Initial Program Loads) of its agent according the values of each of the 412 traceRouteCtlStorageType objects. 414 3.2.3 traceRouteResultsTable 415 An entry in the traceRouteResultsTable is created upon determining the 416 results of a specific traceroute operation. Entries in this table 417 relate back to the traceRouteCtlEntry that caused the corresponding 418 traceroute operation to occur. The objects traceRouteResultsCurHopCount 419 and traceRouteResultsCurProbeCount can be examined to determine how far 420 the current remote traceroute operation has reached. 422 3.2.4 traceRouteProbeHistoryTable 424 The results of past traceroute probes can be stored in this table on a 425 per traceRouteCtlEntry basis. This table is initially indexed by 426 traceRouteCtlOwnerIndex and traceRouteCtlTestName in order for the 427 results of a probe to relate to the traceRouteCtlEntry that caused it. 428 The number of entries stored in this table per traceRouteCtlEntry is 429 determined by the value of traceRouteCtlMaxRows. 431 An implementation of this MIB will remove the oldest entry in the 432 traceRouteProbeHistoryTable to allow the addition of an new entry once 433 the number of rows in the traceRouteProbeHistoryTable reaches the value 434 of traceRouteCtlMaxRows. An implementation MUST start assigning 435 traceRouteProbeHistoryIndex values at 1 and wrap after exceeding the 436 maximum possible value. 438 3.2.5 traceRouteHopsTable 440 The current traceroute path can be stored in this table on a per 441 traceRouteCtlEntry basis. This table is initially indexed by 442 traceRouteCtlOwnerIndex and traceRouteCtlTestName in order for a 443 traceroute path to relate to the traceRouteCtlEntry that caused it. A 444 third index, traceRouteHopsHopIndex, enables keeping one 445 traceRouteHopsEntry per traceroute hop. Creation of 446 traceRouteHopsTable entries is enabled by setting the corresponding 447 traceRouteCtlCreateHopsEntries object to true(1). 449 3.3 Lookup MIB 451 The DISMAN-NSLOOKUP-MIB consists of the following components: 453 o lookupMaxConcurrentRequests, and lookupPurgeTime 455 o lookupCtlTable 457 o lookupResultsTable 459 3.3.1 lookupMaxConcurrentRequests and lookupPurgeTime 461 The object lookupMaxConcurrentRequests enables control of the maximum 462 number of concurrent active requests that an agent implementation is 463 structured to support. It is permissible for an agent to either limit 464 the maximum upper range allowed for this object or to implement this 465 object as read-only with an implementation limit expressed as its value. 467 The object lookupPurgeTime provides a method for entries in the 468 lookupCtlTable and lookupResultsTable to be automatically deleted after 469 the corresponding operation completes. 471 3.3.2 lookupCtlTable 473 A remote lookup operation is initiated by performing an SNMP SET request 474 on lookupCtlRowStatus. A single SNMP PDU can be used to create and 475 start a remote lookup operation. Within the PDU lookupCtlTargetAddress 476 should be set to the entity to be resolved (lookupCtlTargetAddressType 477 will default to ipv4(2)) and lookupCtlRowStatus to createAndGo(4). The 478 object lookupCtlOperStatus can be examined to determine the state of an 479 lookup operation. A management application can delete an active remote 480 lookup request by setting the corresponding lookupCtlRowStatus object to 481 destroy(6). 483 An lookupCtlEntry is initially indexed by lookupCtlOwnerIndex, which is 484 of the SnmpAdminString textual convention that allows for use of the 485 SNMPv3 View-Based Access Control Model (RFC 2575 [11], VACM) and also 486 allows for a management application to identify its entries. The 487 lookupCtlOwnerIndex portion of the index is then followed by 488 lookupCtlOperationName. The lookupCtlOperationName index enables the 489 same lookupCtlOwnerIndex entity to have multiple outstanding requests. 491 The value of lookupCtlTargetAddressType determines which lookup function 492 to perform. Specification of dnsName(1) as the value of this index 493 implies that the gethostbyname function should be performed to determine 494 the numeric addresses associated with a symbolic name via 495 lookupResultsTable entries. Use of a value of either ipv4(2) or ipv6(3) 496 implies that the gethostbyaddr function should be performed to determine 497 the symbolic name(s) associated with a numeric address at a remote host. 499 3.3.3 lookupResultsTable 501 The lookupResultsTable is used to store the results of lookup 502 operations. The lookupResultsTable is initially indexed by the same 503 index elements that the lookupCtlTable contains (lookupCtlOwnerIndex and 504 lookupCtlOperationName) but has a third index element, 505 lookupResultsIndex (Unsigned32 textual convention), in order to 506 associate multiple results with the same lookupCtlEntry. 508 Both the gethostbyname and gethostbyaddr functions typically return a 509 pointer to a hostent structure after being called. The hostent 510 structure is defined as: 512 struct hostent { 513 char *h_name; /* offical host name */ 514 char *h_aliases[]; /* list of other aliases */ 515 int h_addrtype; /* host address type */ 516 int h_length; /* length of host address */ 517 char **h_addr_list; /* list of address for host */ 518 }; 520 The hostent structure is listed here in order to address the fact that a 521 remote host can be multi-homed and can have multiple symbolic (DNS) 522 names. It is not intended to imply that implementations of the 523 DISMAN-LOOKUP-MIB are limited to systems where the hostent structure is 524 supported. 526 The gethostbyaddr function is called with a host address as its 527 parameter and is used primarily to determine a symbolic name to 528 associate with the host address. Entries in the lookupResultsTable MUST 529 be made for each host name return. The official host name MUST be 530 assigned a lookupResultsIndex of 1. 532 The gethostbyname function is called with a symbolic host name and is 533 used primarily to retrieve a host address. Normally, the first 534 h_addr_list host address is considered to be the primary address and as 535 such is associated with the symbolic name passed on the call. 537 Entries MUST be stored in the lookupResultsTable in the order that they 538 are retrieved. Values assigned to lookupResultsIndex MUST start at 1 539 and increase in order. 541 An implementation SHOULD NOT retain SNMP-created entries in the 542 lookupTable across reIPLs (Initial Program Loads) of its agent, since 543 management applications need to see consistent behavior with respect to 544 the persistence of the table entries that they create. 546 4.0 Definitions 548 4.1 DISMAN-PING-MIB 550 DISMAN-PING-MIB DEFINITIONS ::= BEGIN 552 IMPORTS 553 MODULE-IDENTITY, OBJECT-TYPE, Integer32, 554 experimental, Counter32, Unsigned32, 555 NOTIFICATION-TYPE, OBJECT-IDENTITY 556 FROM SNMPv2-SMI -- RFC2578 557 TEXTUAL-CONVENTION, RowStatus, 558 StorageType, DateAndTime, TruthValue 559 FROM SNMPv2-TC -- RFC2579 560 MODULE-COMPLIANCE, OBJECT-GROUP, 561 NOTIFICATION-GROUP 562 FROM SNMPv2-CONF -- RFC2580 563 InterfaceIndexOrZero -- RFC2233 564 FROM IF-MIB 565 SnmpAdminString 566 FROM SNMP-FRAMEWORK-MIB; -- RFC2571 568 pingMIB MODULE-IDENTITY 569 LAST-UPDATED "9908040000Z" 570 ORGANIZATION "IETF Distributed Management Working Group" 571 CONTACT-INFO 572 "Kenneth White 574 International Business Machines Corporation 575 Network Computing Software Division 576 Research Triangle Park, NC, USA 578 E-mail: wkenneth@us.ibm.com" 579 DESCRIPTION 580 "The Ping MIB (DISMAN-PING-MIB) provides the capability of 581 controlling the use of the ping function at a remote 582 host." 583 -- Note: This OID should be reassigned by IANA when the internet-draft 584 -- containing this MIB module is issued as an RFC. 585 ::= { experimental 84 1 } 587 -- Textual Conventions 589 HostAddressType ::= TEXTUAL-CONVENTION 590 STATUS current 591 DESCRIPTION 592 "The textual convention for defining the type of 593 a destination address." 594 SYNTAX INTEGER { 595 none(0), 596 dnsName(1), -- Utf8string encoded DNS name 597 ipv4(2), -- ipv4 address 598 ipv6(3) -- ipv6 address 600 } 602 HostAddress ::= TEXTUAL-CONVENTION 603 STATUS current 604 DESCRIPTION 605 "The textual convention for specifying a host 606 address. The type of address can be determined 607 by examining the value of the preceding 608 HostAddressType object: 610 HostAddressType OCTETs ADDRESS TYPE 611 none(0) 0 not specified 612 dnsName(1) 1-255 DNS name 613 ipv4(2) 4 ipv4 614 ipv6(3) 16 ipv6" 615 SYNTAX OCTET STRING (SIZE (0..255)) 617 IpHostAddress ::= TEXTUAL-CONVENTION 618 STATUS current 619 DESCRIPTION 620 "The textual convention for specifying an IP host 621 address. The type of address can be determined 622 by the octet string length: 624 OCTETs ADDRESS TYPE 625 0 not specified 626 4 ipv4 627 16 ipv6" 628 SYNTAX OCTET STRING (SIZE (0..16)) 630 OperationResponseStatus ::= TEXTUAL-CONVENTION 631 STATUS current 632 DESCRIPTION 633 "Used to report the result of an operation: 635 responseReceived(1) - Operation completes successfully. 636 unknown(2) - Operation failed due to unknown error. 637 internalError(3) - An implementation detected an error 638 in its own processing that caused an operation 639 to fail. 640 requestTimedOut(4) - Operation failed to receive a 641 valid reply within the time limit imposed on it. 642 unknownDestinationAddress(5) - Invalid destination 643 address. 644 noRouteToTarget(6) - Could not find a route to target. 645 interfaceInactiveToTarget(7) - The interface to be 646 used in sending a probe is inactive without an 647 alternate route existing. 648 arpFailure(8) - Unable to resolve a target address to a 649 media specific address. 650 maxConcurrentLimitReached(9) - The maximum number of 651 concurrent active operations would have been exceeded 652 if the corresponding operation was allowed. 654 unableToResolveDnsName(10) - The DNS name specified was 655 unable to be mapped to an IP address. 656 invalidHostAddress(11) - The IP address for a host 657 has been determined to be invalid. Examples of this 658 are broadcast or multicast addresses." 659 SYNTAX INTEGER { 660 responseReceived(1), 661 unknown(2), 662 internalError(3), 663 requestTimedOut(4), 664 unknownDestinationAddress(5), 665 noRouteToTarget(6), 666 interfaceInactiveToTarget(7), 667 arpFailure(8), 668 maxConcurrentLimitReached(9), 669 unableToResolveDnsName(10), 670 invalidHostAddress(11) 671 } 673 -- Top level structure of the MIB 675 pingNotifications OBJECT IDENTIFIER ::= { pingMIB 0 } 676 pingObjects OBJECT IDENTIFIER ::= { pingMIB 1 } 677 pingConformance OBJECT IDENTIFIER ::= { pingMIB 2 } 679 -- The registration node (point) for ping implementation types 681 pingImplementationTypeDomains OBJECT IDENTIFIER ::= { pingMIB 3 } 683 pingIcmpEcho OBJECT-IDENTITY 684 STATUS current 685 DESCRIPTION 686 "Indicates that an implementation is using the InterNet 687 Control Message Protocol (ICMP) 'ECHO' facility." 688 ::= { pingImplementationTypeDomains 1 } 690 pingUdpEcho OBJECT-IDENTITY 691 STATUS current 692 DESCRIPTION 693 "Indicates that an implementation is using the udp echo 694 port (7)." 695 REFERENCE 696 "RFC 862, 'Echo Protocol'." 697 ::= { pingImplementationTypeDomains 2 } 699 pingSnmpQuery OBJECT-IDENTITY 700 STATUS current 701 DESCRIPTION 702 "Indicates that an implementation is an SNMP query to 703 calculate a round trip time." 704 ::= { pingImplementationTypeDomains 3 } 706 pingTcpConnectionAttempt OBJECT-IDENTITY 707 STATUS current 708 DESCRIPTION 709 "Indicates that an implementation is attempting to 710 connect to a TCP port in order to calculate a round 711 trip time." 712 ::= { pingImplementationTypeDomains 4 } 714 -- Simple Object Definitions 716 pingMaxConcurrentRequests OBJECT-TYPE 717 SYNTAX Unsigned32 718 UNITS "requests" 719 MAX-ACCESS read-write 720 STATUS current 721 DESCRIPTION 722 "The maximum number of concurrent active ping requests 723 that are allowed within an agent implementation. A value 724 of 0 for this object implies that there is no limit for 725 the number of concurrent active requests in effect." 726 DEFVAL { 10 } 727 ::= { pingObjects 1 } 729 -- Ping Control Table 731 pingCtlTable OBJECT-TYPE 732 SYNTAX SEQUENCE OF PingCtlEntry 733 MAX-ACCESS not-accessible 734 STATUS current 735 DESCRIPTION 736 "Defines the ping Control Table for provide, via SNMP, 737 the capability of performing ping operations at 738 a remote host. The results of these operations are 739 stored in the pingResultsTable and the 740 pingProbeHistoryTable." 741 ::= { pingObjects 2 } 743 pingCtlEntry OBJECT-TYPE 744 SYNTAX PingCtlEntry 745 MAX-ACCESS not-accessible 746 STATUS current 747 DESCRIPTION 748 "Defines an entry in the pingCtlTable. The 1st index 749 element, pingCtlOwnerIndex, is of the SnmpAdminString 750 textual convention that allows for use of the SNMPv3 751 View-Based Access Control Model (RFC 2575 [11], VACM) 752 and allows an management application to identify its 753 entries. The 2nd index, pingCtlTestName (also an 754 SnmpAdminString), enables the same management 755 application to have multiple outstanding requests." 756 INDEX { 757 pingCtlOwnerIndex, 758 pingCtlTestName 759 } 760 ::= { pingCtlTable 1 } 762 PingCtlEntry ::= 763 SEQUENCE { 764 pingCtlOwnerIndex SnmpAdminString, 765 pingCtlTestName SnmpAdminString, 766 pingCtlTargetAddressType HostAddressType, 767 pingCtlTargetAddress HostAddress, 768 pingCtlDataSize Unsigned32, 769 pingCtlTimeOut Unsigned32, 770 pingCtlProbeCount Unsigned32, 771 pingCtlAdminStatus INTEGER, 772 pingCtlDataFill OCTET STRING, 773 pingCtlFrequency Unsigned32, 774 pingCtlMaxRows Unsigned32, 775 pingCtlStorageType StorageType, 776 pingCtlTrapGeneration BITS, 777 pingCtlTrapFilter Unsigned32, 778 pingCtlType OBJECT IDENTIFIER, 779 pingCtlDescr SnmpAdminString, 780 pingCtlSourceAddress HostAddress, 781 pingCtlIfIndex InterfaceIndexOrZero, 782 pingCtlByPassRouteTable TruthValue, 783 pingCtlDSField Unsigned32, 784 pingCtlRowStatus RowStatus 785 } 787 pingCtlOwnerIndex OBJECT-TYPE 788 SYNTAX SnmpAdminString (SIZE(0..32)) 789 MAX-ACCESS not-accessible 790 STATUS current 791 DESCRIPTION 792 "To facilitate the provisioning of access control by a 793 security administrator using the View-Based Access 794 Control Model (RFC 2575, VACM) for tables in which 795 multiple users may need to independently create or 796 modify entries, the initial index is used as an 'owner 797 index'. Such an initial index has a syntax of 798 SnmpAdminString, and can thus be trivially mapped to a 799 securityName or groupName as defined in VACM, in 800 accordance with a security policy. 802 When used in conjunction with such a security policy all 803 entries in the table belonging to a particular user (or 804 group) will have the same value for this initial index. 805 For a given user's entries in a particular table, the 806 object identifiers for the information in these entries 807 will have the same subidentifiers (except for the 'column' 808 subidentifier) up to the end of the encoded owner index. 809 To configure VACM to permit access to this portion of the 810 table, one would create vacmViewTreeFamilyTable entries 811 with the value of vacmViewTreeFamilySubtree including 812 the owner index portion, and vacmViewTreeFamilyMask 813 'wildcarding' the column subidentifier. More elaborate 814 configurations are possible." 815 ::= { pingCtlEntry 1 } 817 pingCtlTestName OBJECT-TYPE 818 SYNTAX SnmpAdminString (SIZE(0..32)) 819 MAX-ACCESS not-accessible 820 STATUS current 821 DESCRIPTION 822 "The name of the ping test. This is locally unique, within 823 the scope of an pingCtlOwnerIndex." 824 ::= { pingCtlEntry 2 } 826 pingCtlTargetAddressType OBJECT-TYPE 827 SYNTAX HostAddressType 828 MAX-ACCESS read-create 829 STATUS current 830 DESCRIPTION 831 "Specifies the type of host address to be used at a remote host 832 for performing a ping operation." 833 DEFVAL { ipv4 } 834 ::= { pingCtlEntry 3 } 836 pingCtlTargetAddress OBJECT-TYPE 837 SYNTAX HostAddress 838 MAX-ACCESS read-create 839 STATUS current 840 DESCRIPTION 841 "Specifies the host address to be used at a remote host for 842 performing a ping operation. The host address type is 843 determined by the object value of corresponding 844 pingCtlTargetAddressType. 846 A value for this object MUST be set prior to transitioning 847 its corresponding pingCtlEntry to active(1) via 848 pingCtlRowStatus." 849 ::= { pingCtlEntry 4 } 851 pingCtlDataSize OBJECT-TYPE 852 SYNTAX Unsigned32 (0..65507) 853 UNITS "octets" 854 MAX-ACCESS read-create 855 STATUS current 856 DESCRIPTION 857 "Specifies the size of the data portion to be 858 transmitted in a ping operation in octets. A ping 859 request is usually an ICMP message encoded 860 into an IP packet. An IP packet has a maximum size 861 of 65535 octets. Subtracting the size of the ICMP 862 or UDP header (both 8 octets) and the size of the IP 863 header (20 octets) yields a maximum size of 65507 864 octets." 865 DEFVAL { 0 } 866 ::= { pingCtlEntry 5 } 868 pingCtlTimeOut OBJECT-TYPE 869 SYNTAX Unsigned32 (1..60) 870 UNITS "seconds" 871 MAX-ACCESS read-create 872 STATUS current 873 DESCRIPTION 874 "Specifies the time-out value, in seconds, for a 875 remote ping operation." 876 DEFVAL { 3 } 877 ::= { pingCtlEntry 6 } 879 pingCtlProbeCount OBJECT-TYPE 880 SYNTAX Unsigned32 (1..15) 881 UNITS "probes" 882 MAX-ACCESS read-create 883 STATUS current 884 DESCRIPTION 885 "Specifies the number of times to perform a ping 886 operation at a remote host." 887 DEFVAL { 1 } 888 ::= { pingCtlEntry 7 } 890 pingCtlAdminStatus OBJECT-TYPE 891 SYNTAX INTEGER { 892 enabled(1), -- test should be started 893 disabled(2) -- test should be stop 894 } 895 MAX-ACCESS read-create 896 STATUS current 897 DESCRIPTION 898 "Reflects the desired state that a pingCtlEntry should be 899 in: 901 enabled(1) - Attempt to activate the test as defined by 902 this pingCtlEntry. 903 disabled(2) - Deactivate the test as defined by this 904 pingCtlEntry. 906 Refer to the corresponding pingResultsOperStatus to 907 determine the operational state of the test defined by 908 this entry." 909 DEFVAL { disabled } 910 ::= { pingCtlEntry 8 } 912 pingCtlDataFill OBJECT-TYPE 913 SYNTAX OCTET STRING (SIZE(0..1024)) 914 MAX-ACCESS read-create 915 STATUS current 916 DESCRIPTION 917 "The content of this object is used together with the 918 corresponding pingCtlDataSize value to determine how to 919 fill the data portion of a probe packet. The option of 920 selecting a data fill pattern can be useful when links 921 are compressed or have data pattern sensitivities. The 922 contents of pingCtlDataFill should be repeated in a ping 923 packet when the size of the data portion of the ping 924 packet is greater than the size of pingCtlDataFill." 925 DEFVAL { '00'H } 926 ::= { pingCtlEntry 9 } 928 pingCtlFrequency OBJECT-TYPE 929 SYNTAX Unsigned32 930 UNITS "seconds" 931 MAX-ACCESS read-create 932 STATUS current 933 DESCRIPTION 934 "The number of seconds to wait before repeating a ping test 935 as defined by the value of the various objects in the 936 corresponding row. 938 A single ping test consists of a series of ping probes. 939 The number of probes is determined by the value of the 940 corresponding pingCtlProbeCount object. After a single 941 test completes the number of seconds as defined by the 942 value of pingCtlFrequency MUST elapse before the 943 next ping test is started. 945 A value of 0 for this object implies that the test 946 as defined by the corresponding entry will not be 947 repeated." 948 DEFVAL { 0 } 949 ::= { pingCtlEntry 10 } 951 pingCtlMaxRows OBJECT-TYPE 952 SYNTAX Unsigned32 953 UNITS "rows" 954 MAX-ACCESS read-create 955 STATUS current 956 DESCRIPTION 957 "The maximum number of entries allowed in the 958 pingProbeHistoryTable. An implementation of this 959 MIB will remove the oldest entry in the 960 pingProbeHistoryTable to allow the addition of an 961 new entry once the number of rows in the 962 pingProbeHistoryTable reaches this value. 964 Old entries are not removed when a new test is 965 started. Entries are added to the pingProbeHistoryTable 966 until pingCtlMaxRows is reached before entries begin to 967 be removed. 969 A value of 0 for this object disables creation of 970 pingProbeHistoryTable entries." 971 DEFVAL { 50 } 972 ::= { pingCtlEntry 11 } 974 pingCtlStorageType OBJECT-TYPE 975 SYNTAX StorageType 976 MAX-ACCESS read-create 977 STATUS current 978 DESCRIPTION 979 "The storage type for this conceptual row. 980 Conceptual rows having the value 'permanent' need not 981 allow write-access to any columnar objects in the row." 982 DEFVAL { nonVolatile } 983 ::= { pingCtlEntry 12 } 985 pingCtlTrapGeneration OBJECT-TYPE 986 SYNTAX BITS { 987 probeFailure(0), 988 testFailure(1), 989 testCompletion(2) 990 } 991 MAX-ACCESS read-create 992 STATUS current 993 DESCRIPTION 994 "The value of this object determines when and if to 995 to generation a notification for this entry: 997 probeFailure(0) - Generate a pingProbeFailed 998 notification subject to the value of 999 pingCtlTrapFilter. pingCtlTrapFilter can be used 1000 to specify the number of successive probe failures 1001 that are required before a pingProbeFailed 1002 notification can be generated. 1003 testFailure(1) - Generate a pingTestFailed 1004 notification. In this instance pingCtlTrapFilter 1005 should specify the number of probe failures 1006 required in a test to have failed in order to 1007 considered the test as failed. 1008 testCompletion(2) - Generate a pingTestCompleted 1009 notification. 1011 The value of this object defaults to zero, indicating 1012 that none of the above options have been selected." 1013 ::= { pingCtlEntry 13 } 1015 pingCtlTrapFilter OBJECT-TYPE 1016 SYNTAX Unsigned32 (0..15) 1017 MAX-ACCESS read-create 1018 STATUS current 1019 DESCRIPTION 1020 "The value of this object is used to determine when 1021 to generate either a pingProbeFailed or a 1022 pingTestFailed NOTIFICATION. Which NOTIFICATION 1023 to generate is determined by the value of 1024 pingCtlTrapGeneration. 1026 Setting pingCtlTrapGeneration 1027 to probeFailure(2) implies that a pingProbeFailed 1028 NOTIFICATION is generated only when the number of 1029 successive probe failures as indicated by the 1030 value of pingCtlTrapFilter fail within a given ping 1031 test. 1033 Setting pingCtlTrapGeneration to testFailure(3) 1034 implies that a pingTestFailed NOTIFICATION is 1035 generated only when the number of ping failures 1036 within a test exceed the value of 1037 pingCtlTrapFilter." 1038 DEFVAL { 1 } 1039 ::= { pingCtlEntry 14 } 1041 pingCtlType OBJECT-TYPE 1042 SYNTAX OBJECT IDENTIFIER 1043 MAX-ACCESS read-create 1044 STATUS current 1045 DESCRIPTION 1046 "The value of this object is used to either report or 1047 select the implementation method to be used for 1048 calculating a ping response time. The value of this 1049 object MAY be selected from pingImplementationTypeDomains. 1051 Additional implementation types SHOULD be allocated as 1052 required by implementers of the DISMAN-PING-MIB under 1053 their enterprise specific registration point and not 1054 beneath pingImplementationTypeDomains." 1055 DEFVAL { pingIcmpEcho } 1056 ::= { pingCtlEntry 15 } 1058 pingCtlDescr OBJECT-TYPE 1059 SYNTAX SnmpAdminString 1060 MAX-ACCESS read-create 1061 STATUS current 1062 DESCRIPTION 1063 "The purpose of this object is to provide a 1064 descriptive name of the remote ping test." 1065 DEFVAL { '00'H } 1066 ::= { pingCtlEntry 16 } 1068 pingCtlSourceAddress OBJECT-TYPE 1069 SYNTAX HostAddress 1070 MAX-ACCESS read-create 1071 STATUS current 1072 DESCRIPTION 1073 "Use the specified IP address (which must be given 1074 as an IP number, not a hostname) as the source 1075 address in outgoing probe packets. On hosts with 1076 more than one IP address, this option can be used 1077 to force the source address to be something other 1078 than the primary IP address of the interface the 1079 probe packet is sent on. If the IP address is not 1080 one of this machine's interface addresses, an error 1081 is returned and nothing is sent. A zero length 1082 octet string value for this object disables source 1083 address specification." 1084 DEFVAL { ''H } 1085 ::= { pingCtlEntry 17 } 1087 pingCtlIfIndex OBJECT-TYPE 1088 SYNTAX InterfaceIndexOrZero 1089 MAX-ACCESS read-create 1090 STATUS current 1091 DESCRIPTION 1092 "Setting this object to an interface's ifIndex prior 1093 to starting a remote ping operation directs 1094 the ping probes to be transmitted over the 1095 specified interface. A value of zero for this object 1096 implies that this option is not enabled." 1097 DEFVAL { 0 } 1098 ::= { pingCtlEntry 18 } 1100 pingCtlByPassRouteTable OBJECT-TYPE 1101 SYNTAX TruthValue 1102 MAX-ACCESS read-create 1103 STATUS current 1104 DESCRIPTION 1105 "The purpose of this object is to optionally enable 1106 bypassing the route table. If enabled, the remote 1107 host will bypass the normal routing tables and send 1108 directly to a host on an attached network. If the 1109 host is not on a directly-attached network, an 1110 error is returned. This option can be used to perform 1111 the ping operation to a local host through an 1112 interface that has no route defined (e.g., after the 1113 interface was dropped by routed)." 1114 DEFVAL { false } 1115 ::= { pingCtlEntry 19 } 1117 pingCtlDSField OBJECT-TYPE 1118 SYNTAX Unsigned32 (0..255) 1119 MAX-ACCESS read-create 1120 STATUS current 1121 DESCRIPTION 1122 "Specifies the value to store in the Differentiated 1123 Services (DS) Field in the IP packet used to 1124 encapsulate the ping probe. The DS Field is defined 1125 as the Type of Service (TOS) octet in a IPv4 header 1126 or as the Traffic Class octet in a IPv6 header. 1128 The value of this object must be a decimal integer 1129 in the range from 0 to 255. This option can be used 1130 to determine what effect an explicit DS Field setting 1131 has on a ping response. Not all values are legal or 1132 meaningful. DS Field usage is often not supported 1133 by IP implementations and not all values are supported. 1134 Refer to RFC 2474 for guidance on usage of this field." 1135 REFERENCE 1136 "Refer to RFC 2474 for the definition of the 1137 Differentiated Services Field and to RFC 1812 1138 Section 5.3.2 for Type of Service (TOS)." 1139 DEFVAL { 0 } 1140 ::= { pingCtlEntry 20 } 1142 pingCtlRowStatus OBJECT-TYPE 1143 SYNTAX RowStatus 1144 MAX-ACCESS read-create 1145 STATUS current 1146 DESCRIPTION 1147 "This object allows entries to be created and deleted 1148 in the pingCtlTable. Deletion of an entry in this 1149 table results in all corresponding (same 1150 pingCtlOwnerIndex and pingCtlTestName index values) 1151 pingResultsTable and pingProbeHistoryTable entries 1152 being deleted. 1154 A value MUST be specified for pingCtlTargetAddress 1155 prior to a transition to active(1) state being 1156 accepted. 1158 Activation of a remote ping operation is controlled 1159 via pingCtlAdminStatus and not by transitioning of 1160 this object's value to active(1). 1162 Transitions in and out of active(1) state are not 1163 allowed while an entry's pingResultsOperStatus is 1164 active(1) with the exception that deletion of 1165 an entry in this table by setting its RowStatus 1166 object to destroy(6) will stop an active 1167 ping operation. 1169 The operational state of a ping operation 1170 can be determined by examination of its 1171 pingResultsOperStatus object." 1172 REFERENCE 1173 "RFC 2579, 'Textual Conventions for SMIv2.'" 1174 ::= { pingCtlEntry 21 } 1176 -- Ping Results Table 1178 pingResultsTable OBJECT-TYPE 1179 SYNTAX SEQUENCE OF PingResultsEntry 1180 MAX-ACCESS not-accessible 1181 STATUS current 1182 DESCRIPTION 1183 "Defines the Ping Results Table for providing 1184 the capability of performing ping operations at 1185 a remote host. The results of these operations are 1186 stored in the pingResultsTable and the pingPastProbeTable. 1188 An entry is added to the pingResultsTable when an 1189 pingCtlEntry is started by successful transition 1190 of its pingCtlAdminStatus object to enabled(1). 1191 An entry is removed from the pingResultsTable when 1192 its corresponding pingCtlEntry is deleted." 1193 ::= { pingObjects 3 } 1195 pingResultsEntry OBJECT-TYPE 1196 SYNTAX PingResultsEntry 1197 MAX-ACCESS not-accessible 1198 STATUS current 1199 DESCRIPTION 1200 "Defines an entry in the pingResultsTable. The 1201 pingResultsTable has the same indexing as the 1202 pingCtlTable in order for a pingResultsEntry to 1203 correspond to the pingCtlEntry that caused it to 1204 be created." 1205 INDEX { 1206 pingCtlOwnerIndex, 1207 pingCtlTestName 1208 } 1209 ::= { pingResultsTable 1 } 1211 PingResultsEntry ::= 1212 SEQUENCE { 1213 pingResultsOperStatus INTEGER, 1214 pingResultsIpTargetAddress IpHostAddress, 1215 pingResultsMinRtt Unsigned32, 1216 pingResultsMaxRtt Unsigned32, 1217 pingResultsAverageRtt Unsigned32, 1218 pingResultsProbeResponses Counter32, 1219 pingResultsSentProbes Counter32, 1220 pingResultsRttSumOfSquares Unsigned32, 1221 pingResultsLastGoodProbe DateAndTime 1222 } 1224 pingResultsOperStatus OBJECT-TYPE 1225 SYNTAX INTEGER { 1226 enabled(1), -- test is in progress 1227 disabled(2) -- test has stopped 1228 } 1229 MAX-ACCESS read-only 1230 STATUS current 1231 DESCRIPTION 1232 "Reflects the operational state of a pingCtlEntry: 1234 enabled(1) - Test is active. 1235 disabled(2) - Test has stopped." 1236 ::= { pingResultsEntry 1 } 1238 pingResultsIpTargetAddress OBJECT-TYPE 1239 SYNTAX IpHostAddress 1240 MAX-ACCESS read-only 1241 STATUS current 1242 DESCRIPTION 1243 "This objects reports the IP address associated 1244 with a pingCtlTargetAddress value when the destination 1245 address is specified as a DNS name. The value of 1246 this object should be a zero length octet string 1247 when a DNS name is not specified or when a 1248 specified DNS name fails to resolve." 1249 ::= { pingResultsEntry 2 } 1251 pingResultsMinRtt OBJECT-TYPE 1252 SYNTAX Unsigned32 1253 UNITS "milliseconds" 1254 MAX-ACCESS read-only 1255 STATUS current 1256 DESCRIPTION 1257 "The minimum ping round-trip-time (RTT) received. A value 1258 of 0 for this object implies that no RTT has been received." 1259 ::= { pingResultsEntry 3 } 1261 pingResultsMaxRtt OBJECT-TYPE 1262 SYNTAX Unsigned32 1263 UNITS "milliseconds" 1264 MAX-ACCESS read-only 1265 STATUS current 1266 DESCRIPTION 1267 "The maximum ping round-trip-time (RTT) received. A value 1268 of 0 for this object implies that no RTT has been received." 1269 ::= { pingResultsEntry 4 } 1271 pingResultsAverageRtt OBJECT-TYPE 1272 SYNTAX Unsigned32 1273 UNITS "milliseconds" 1274 MAX-ACCESS read-only 1275 STATUS current 1276 DESCRIPTION 1277 "The current average ping round-trip-time (RTT)." 1278 ::= { pingResultsEntry 5 } 1280 pingResultsProbeResponses OBJECT-TYPE 1281 SYNTAX Counter32 1282 UNITS "responses" 1283 MAX-ACCESS read-only 1284 STATUS current 1285 DESCRIPTION 1286 "Number of responses received for the corresponding 1287 pingCtlEntry and pingResultsEntry. The value of this object 1288 MUST be reported as 0 when no probe responses have been 1289 received." 1290 ::= { pingResultsEntry 6 } 1292 pingResultsSentProbes OBJECT-TYPE 1293 SYNTAX Counter32 1294 UNITS "probes" 1295 MAX-ACCESS read-only 1296 STATUS current 1297 DESCRIPTION 1298 "The value of this object reflects the number of probes sent 1299 for the corresponding pingCtlEntry and pingResultsEntry. 1300 The value of this object MUST be reported as 0 when no probes 1301 have been sent." 1302 ::= { pingResultsEntry 7 } 1304 pingResultsRttSumOfSquares OBJECT-TYPE 1305 SYNTAX Unsigned32 1306 UNITS "milliseconds" 1307 MAX-ACCESS read-only 1308 STATUS current 1309 DESCRIPTION 1310 "This object contains the sum of the squares for all ping 1311 responses received. Its purpose is to enable standard 1312 deviation calculation. The value of this object MUST 1313 be reported as 0 when no ping responses have been 1314 received." 1315 ::= { pingResultsEntry 8 } 1317 pingResultsLastGoodProbe OBJECT-TYPE 1318 SYNTAX DateAndTime 1319 MAX-ACCESS read-only 1320 STATUS current 1321 DESCRIPTION 1322 "Date and time when the last response was received for 1323 a probe." 1324 ::= { pingResultsEntry 9 } 1326 -- Ping Probe History Table 1328 pingProbeHistoryTable OBJECT-TYPE 1329 SYNTAX SEQUENCE OF PingProbeHistoryEntry 1330 MAX-ACCESS not-accessible 1331 STATUS current 1332 DESCRIPTION 1333 "Defines a table for storing the results of a ping 1334 operation. Entries in this table are limited by 1335 the value of the corresponding pingCtlMaxRows 1336 object. 1338 An entry in this table is created when the result of 1339 a ping probe is determined. The initial 2 instance 1340 identifier index values identify the pingCtlEntry 1341 that a probe result (pingProbeHistoryEntry) belongs 1342 to. An entry is removed from this table when 1343 its correspoding pingCtlEntry is deleted. 1345 An implementation of this MIB will remove the oldest 1346 entry in the pingProbeHistoryTable to allow the 1347 addition of an new entry once the number of rows in 1348 the pingProbeHistoryTable reaches the value specified 1349 by pingCtlMaxRows." 1350 ::= { pingObjects 4 } 1352 pingProbeHistoryEntry OBJECT-TYPE 1353 SYNTAX PingProbeHistoryEntry 1354 MAX-ACCESS not-accessible 1355 STATUS current 1356 DESCRIPTION 1357 "Defines an entry in the pingProbeHistoryTable. 1358 The first two index elements identify the 1359 pingCtlEntry that a pingProbeHistoryEntry belongs 1360 to. The 3rd index element selects a single 1361 probe result." 1362 INDEX { 1363 pingCtlOwnerIndex, 1364 pingCtlTestName, 1365 pingProbeHistoryIndex 1366 } 1367 ::= { pingProbeHistoryTable 1 } 1369 PingProbeHistoryEntry ::= 1370 SEQUENCE { 1371 pingProbeHistoryIndex Unsigned32, 1372 pingProbeHistoryResponse Integer32, 1373 pingProbeHistoryStatus OperationResponseStatus, 1374 pingProbeHistoryLastRC Integer32, 1375 pingProbeHistoryTime DateAndTime 1376 } 1378 pingProbeHistoryIndex OBJECT-TYPE 1379 SYNTAX Unsigned32 (1..'ffffffff'h) 1380 MAX-ACCESS not-accessible 1381 STATUS current 1382 DESCRIPTION 1383 "An entry in this table is created when the result of 1384 a ping probe is determined. The initial 2 instance 1385 identifier index values identify the pingCtlEntry 1386 that a probe result (pingProbeHistoryEntry) belongs 1387 to. 1389 An implementation MUST start assigning 1390 pingProbeHistoryIndex values at 1 and wrap after 1391 exceeding the maximum possible value." 1393 ::= { pingProbeHistoryEntry 1 } 1395 pingProbeHistoryResponse OBJECT-TYPE 1396 SYNTAX Integer32 1397 UNITS "milliseconds" 1398 MAX-ACCESS read-only 1399 STATUS current 1400 DESCRIPTION 1401 "The amount of time measured in milliseconds from when 1402 a probe was sent to when its response was received or 1403 when it timed out. The value of this object is reported 1404 as 0 when it is not possible to transmit a probe." 1405 ::= { pingProbeHistoryEntry 2 } 1407 pingProbeHistoryStatus OBJECT-TYPE 1408 SYNTAX OperationResponseStatus 1409 MAX-ACCESS read-only 1410 STATUS current 1411 DESCRIPTION 1412 "The result of a ping operation made by a remote host 1413 for a particular probe." 1414 ::= { pingProbeHistoryEntry 3 } 1416 pingProbeHistoryLastRC OBJECT-TYPE 1417 SYNTAX Integer32 1418 MAX-ACCESS read-only 1419 STATUS current 1420 DESCRIPTION 1421 "The last implementation method specific reply code received. 1422 If the ICMP Echo capability is being used then a successful 1423 probe ends when an ICMP response is received that contains 1424 the code ICMP_ECHOREPLY(0). The ICMP responses are defined 1425 normally in the ip_icmp include file." 1426 ::= { pingProbeHistoryEntry 4 } 1428 pingProbeHistoryTime OBJECT-TYPE 1429 SYNTAX DateAndTime 1430 MAX-ACCESS read-only 1431 STATUS current 1432 DESCRIPTION 1433 "Timestamp for when this probe result was determined." 1434 ::= { pingProbeHistoryEntry 5 } 1436 -- Notification Definition section 1438 pingProbeFailed NOTIFICATION-TYPE 1439 OBJECTS { 1440 pingCtlTargetAddressType, 1441 pingCtlTargetAddress, 1442 pingResultsOperStatus, 1443 pingResultsIpTargetAddress, 1444 pingResultsMinRtt, 1445 pingResultsMaxRtt, 1446 pingResultsAverageRtt, 1447 pingResultsProbeResponses, 1448 pingResultsSentProbes, 1449 pingResultsRttSumOfSquares, 1450 pingResultsLastGoodProbe 1451 } 1452 STATUS current 1453 DESCRIPTION 1454 "Generated when a probe failure is detected when the 1455 corresponding pingCtlTrapGeneration object is set to 1457 probeFailure(2) subject to the value of pingCtlTrapFilter. 1458 pingCtlTrapFilter can be used to specify the number of 1459 successive probe failures that are required before this 1460 notification can be generated." 1461 ::= { pingNotifications 1 } 1463 pingTestFailed NOTIFICATION-TYPE 1464 OBJECTS { 1465 pingCtlTargetAddressType, 1466 pingCtlTargetAddress, 1467 pingResultsOperStatus, 1468 pingResultsIpTargetAddress, 1469 pingResultsMinRtt, 1470 pingResultsMaxRtt, 1471 pingResultsAverageRtt, 1472 pingResultsProbeResponses, 1473 pingResultsSentProbes, 1474 pingResultsRttSumOfSquares, 1475 pingResultsLastGoodProbe 1476 } 1477 STATUS current 1478 DESCRIPTION 1479 "Generated when a ping test is determined to have failed 1480 when the corresponding pingCtlTrapGeneration object is 1481 set to testFailure(3). In this instance 1482 pingCtlTrapFilter should specify the number of probe 1483 failures required in a test to have failed in order to 1484 considered the test as failed." 1485 ::= { pingNotifications 2 } 1487 pingTestCompleted NOTIFICATION-TYPE 1488 OBJECTS { 1489 pingCtlTargetAddressType, 1490 pingCtlTargetAddress, 1491 pingResultsOperStatus, 1492 pingResultsIpTargetAddress, 1493 pingResultsMinRtt, 1494 pingResultsMaxRtt, 1495 pingResultsAverageRtt, 1496 pingResultsProbeResponses, 1497 pingResultsSentProbes, 1498 pingResultsRttSumOfSquares, 1499 pingResultsLastGoodProbe 1500 } 1501 STATUS current 1502 DESCRIPTION 1503 "Generated at the completion of a ping test when the 1504 corresponding pingCtlTrapGeneration object is set to 1505 testCompletion(4)." 1506 ::= { pingNotifications 3 } 1508 -- Conformance information 1509 -- Compliance statements 1511 pingCompliances OBJECT IDENTIFIER ::= { pingConformance 1 } 1512 pingGroups OBJECT IDENTIFIER ::= { pingConformance 2 } 1514 -- Compliance statements 1516 pingCompliance MODULE-COMPLIANCE 1517 STATUS current 1518 DESCRIPTION 1519 "The compliance statement for the DISMAN-PING-MIB." 1520 MODULE -- this module 1521 MANDATORY-GROUPS { 1522 pingGroup, 1523 pingNotificationsGroup 1524 } 1525 GROUP pingTimeStampGroup 1526 DESCRIPTION 1527 "This group is mandatory for implementations that have 1528 access to a system clock and are capable of setting 1529 the values for DateAndTime objects. It is RECOMMENDED 1530 that when this group is not supported that the values 1531 for the objects in this group be reported as 1532 '0000000000000000'H." 1534 OBJECT pingMaxConcurrentRequests 1535 MIN-ACCESS read-only 1536 DESCRIPTION 1537 "The agent is not required to support a SET 1538 operation to this object." 1540 OBJECT pingCtlStorageType 1541 MIN-ACCESS read-only 1542 DESCRIPTION 1543 "Write access is not required. It is also allowed 1544 for implementations to support only the volatile 1545 StorageType enumeration." 1547 OBJECT pingCtlType 1548 MIN-ACCESS read-only 1549 DESCRIPTION 1550 "Write access is not required. In addition, the only 1551 value that MUST be supported by an implementation is 1552 pingIcmpEcho." 1554 OBJECT pingCtlByPassRouteTable 1555 MIN-ACCESS read-only 1556 DESCRIPTION 1557 "This object is not required by implementations that 1558 are not capable of its implementation. The function 1559 represented by this object is implementable if the 1560 setsockopt SOL_SOCKET SO_DONTROUTE option is 1561 supported." 1563 OBJECT pingCtlSourceAddress 1564 MIN-ACCESS read-only 1565 DESCRIPTION 1566 "This object is not required by implementations that 1567 are not capable of binding the send socket with a 1568 source address." 1570 OBJECT pingCtlIfIndex 1571 MIN-ACCESS read-only 1572 DESCRIPTION 1573 "Write access is not required. When write access is 1574 not supported return a 0 as the value of this object. 1575 A value of 0 implies that the function represented by 1576 this option is not supported." 1578 OBJECT pingCtlDSField 1579 MIN-ACCESS read-only 1580 DESCRIPTION 1581 "Write access is not required. When write access is 1582 not supported return a 0 as the value of this object. 1583 A value of 0 implies that the function represented by 1584 this option is not supported." 1586 ::= { pingCompliances 1 } 1588 -- MIB groupings 1590 pingGroup OBJECT-GROUP 1591 OBJECTS { 1592 pingMaxConcurrentRequests, 1593 pingCtlTargetAddressType, 1594 pingCtlTargetAddress, 1595 pingCtlDataSize, 1596 pingCtlTimeOut, 1597 pingCtlProbeCount, 1598 pingCtlAdminStatus, 1599 pingCtlDataFill, 1600 pingCtlFrequency, 1601 pingCtlMaxRows, 1602 pingCtlStorageType, 1603 pingCtlTrapGeneration, 1604 pingCtlTrapFilter, 1605 pingCtlType, 1606 pingCtlDescr, 1607 pingCtlByPassRouteTable, 1608 pingCtlSourceAddress, 1609 pingCtlIfIndex, 1610 pingCtlDSField, 1611 pingCtlRowStatus, 1612 pingResultsOperStatus, 1613 pingResultsIpTargetAddress, 1614 pingResultsMinRtt, 1615 pingResultsMaxRtt, 1616 pingResultsAverageRtt, 1617 pingResultsProbeResponses, 1618 pingResultsSentProbes, 1619 pingResultsRttSumOfSquares, 1620 pingProbeHistoryResponse, 1621 pingProbeHistoryStatus, 1622 pingProbeHistoryLastRC 1623 } 1624 STATUS current 1625 DESCRIPTION 1626 "The group of objects that comprise the remote ping 1627 capability." 1628 ::= { pingGroups 1 } 1630 pingTimeStampGroup OBJECT-GROUP 1631 OBJECTS { 1632 pingResultsLastGoodProbe, 1633 pingProbeHistoryTime 1634 } 1635 STATUS current 1636 DESCRIPTION 1637 "The group of DateAndTime objects." 1638 ::= { pingGroups 2 } 1640 pingNotificationsGroup NOTIFICATION-GROUP 1641 NOTIFICATIONS { 1642 pingProbeFailed, 1643 pingTestFailed, 1644 pingTestCompleted 1645 } 1646 STATUS current 1647 DESCRIPTION 1648 "The notification which are required to be supported by 1649 implementations of this MIB." 1650 ::= { pingGroups 3 } 1652 END 1654 4.2 DISMAN-TRACEROUTE-MIB 1656 DISMAN-TRACEROUTE-MIB DEFINITIONS ::= BEGIN 1658 IMPORTS 1659 MODULE-IDENTITY, OBJECT-TYPE, Integer32, 1660 experimental, Gauge32, Unsigned32, 1661 Counter32, NOTIFICATION-TYPE, 1662 OBJECT-IDENTITY 1663 FROM SNMPv2-SMI -- RFC2578 1664 RowStatus, StorageType, 1665 TruthValue, DateAndTime 1666 FROM SNMPv2-TC -- RFC2579 1667 MODULE-COMPLIANCE, OBJECT-GROUP, 1668 NOTIFICATION-GROUP 1669 FROM SNMPv2-CONF -- RFC2580 1670 SnmpAdminString 1671 FROM SNMP-FRAMEWORK-MIB -- RFC2571 1672 InterfaceIndexOrZero -- RFC2233 1673 FROM IF-MIB 1674 HostAddressType, HostAddress, 1675 IpHostAddress, OperationResponseStatus 1676 FROM DISMAN-PING-MIB; 1678 traceRouteMIB MODULE-IDENTITY 1679 LAST-UPDATED "9908040000Z" 1680 ORGANIZATION "IETF Distributed Management Working Group" 1681 CONTACT-INFO 1682 "Kenneth White 1684 International Business Machines Corporation 1685 Network Computing Software Division 1686 Research Triangle Park, NC, USA 1688 E-mail: wkenneth@us.ibm.com" 1689 DESCRIPTION 1690 "The Traceroute MIB (DISMAN-TRACEROUTE-MIB) provides 1691 access to the traceroute capability at a remote host." 1692 -- Note: This OID should be reassigned by IANA when the internet-draft 1693 -- containing this MIB module is issued as an RFC. 1694 ::= { experimental 84 2 } 1696 -- Top level structure of the MIB 1698 traceRouteNotifications OBJECT IDENTIFIER ::= { traceRouteMIB 0 } 1699 traceRouteObjects OBJECT IDENTIFIER ::= { traceRouteMIB 1 } 1700 traceRouteConformance OBJECT IDENTIFIER ::= { traceRouteMIB 2 } 1702 -- The registration node (point) for traceroute implementation types 1704 traceRouteImplementationTypeDomains OBJECT IDENTIFIER 1705 ::= { traceRouteMIB 3 } 1706 traceRouteUsingUdpProbes OBJECT-IDENTITY 1707 STATUS current 1708 DESCRIPTION 1709 "Indicates that an implementation is using udp probes to 1710 perform the traceroute operation." 1711 ::= { traceRouteImplementationTypeDomains 1 } 1713 -- Simple Object Definitions 1715 traceRouteMaxConcurrentRequests OBJECT-TYPE 1716 SYNTAX Unsigned32 1717 UNITS "requests" 1718 MAX-ACCESS read-write 1719 STATUS current 1720 DESCRIPTION 1721 "The maximum number of concurrent active traceroute requests 1722 that are allowed within an agent implementation. A value 1723 of 0 for this object implies that there is no limit for 1724 the number of concurrent active requests in effect." 1725 DEFVAL { 10 } 1726 ::= { traceRouteObjects 1 } 1728 -- Traceroute Control Table 1730 traceRouteCtlTable OBJECT-TYPE 1731 SYNTAX SEQUENCE OF TraceRouteCtlEntry 1732 MAX-ACCESS not-accessible 1733 STATUS current 1734 DESCRIPTION 1735 "Defines the Remote Operations Traceroute Control Table for 1736 providing the capability of invoking traceroute from a remote 1737 host. The results of traceroute operations can be stored in 1738 the traceRouteResultsTable, traceRouteProbeHistoryTable, and 1739 the traceRouteHopsTable." 1740 ::= { traceRouteObjects 2 } 1742 traceRouteCtlEntry OBJECT-TYPE 1743 SYNTAX TraceRouteCtlEntry 1744 MAX-ACCESS not-accessible 1745 STATUS current 1746 DESCRIPTION 1747 "Defines an entry in the traceRouteCtlTable. The 1st 1748 index element, traceRouteCtlOwnerIndex, is of the 1749 SnmpAdminString textual convention that allows for 1750 use of the SNMPv3 View-Based Access Control Model 1751 (RFC 2575 [11], VACM) and allows an management 1752 application to identify its entries. The 2nd index, 1753 traceRouteCtlTestName (also an SnmpAdminString), 1754 enables the same management application to have 1755 multiple requests outstanding." 1757 INDEX { 1758 traceRouteCtlOwnerIndex, 1759 traceRouteCtlTestName 1760 } 1761 ::= { traceRouteCtlTable 1 } 1763 TraceRouteCtlEntry ::= 1764 SEQUENCE { 1765 traceRouteCtlOwnerIndex SnmpAdminString, 1766 traceRouteCtlTestName SnmpAdminString, 1767 traceRouteCtlTargetAddressType HostAddressType, 1768 traceRouteCtlTargetAddress HostAddress, 1769 traceRouteCtlByPassRouteTable TruthValue, 1770 traceRouteCtlDataSize Unsigned32, 1771 traceRouteCtlTimeOut Unsigned32, 1772 traceRouteCtlProbesPerHop Unsigned32, 1773 traceRouteCtlPort Unsigned32, 1774 traceRouteCtlMaxTtl Unsigned32, 1775 traceRouteCtlDSField Unsigned32, 1776 traceRouteCtlSourceAddress HostAddress, 1777 traceRouteCtlIfIndex InterfaceIndexOrZero, 1778 traceRouteCtlMiscOptions SnmpAdminString, 1779 traceRouteCtlMaxFailures Unsigned32, 1780 traceRouteCtlDontFragment TruthValue, 1781 traceRouteCtlInitialTtl Unsigned32, 1782 traceRouteCtlFrequency Unsigned32, 1783 traceRouteCtlStorageType StorageType, 1784 traceRouteCtlAdminStatus INTEGER, 1785 traceRouteCtlMaxRows Unsigned32, 1786 traceRouteCtlTrapGeneration BITS, 1787 traceRouteCtlDescr SnmpAdminString, 1788 traceRouteCtlCreateHopsEntries TruthValue, 1789 traceRouteCtlType OBJECT IDENTIFIER, 1790 traceRouteCtlRowStatus RowStatus 1791 } 1793 traceRouteCtlOwnerIndex OBJECT-TYPE 1794 SYNTAX SnmpAdminString (SIZE(0..32)) 1795 MAX-ACCESS not-accessible 1796 STATUS current 1797 DESCRIPTION 1798 "To facilitate the provisioning of access control by a 1799 security administrator using the View-Based Access 1800 Control Model (RFC 2575, VACM) for tables in which 1801 multiple users may need to independently create or 1802 modify entries, the initial index is used as an 'owner 1803 index'. Such an initial index has a syntax of 1804 SnmpAdminString, and can thus be trivially mapped to a 1805 securityName or groupName as defined in VACM, in 1806 accordance with a security policy. 1808 When used in conjunction with such a security policy 1809 all entries in the table belonging to a particular user 1810 (or group) will have the same value for this initial 1811 index. For a given user's entries in a particular 1812 table, the object identifiers for the information in 1813 these entries will have the same subidentifiers (except 1814 for the 'column' subidentifier) up to the end of the 1815 encoded owner index. To configure VACM to permit access 1816 to this portion of the table, one would create 1817 vacmViewTreeFamilyTable entries with the value of 1818 vacmViewTreeFamilySubtree including the owner index 1819 portion, and vacmViewTreeFamilyMask 'wildcarding' the 1820 column subidentifier. More elaborate configurations 1821 are possible." 1822 ::= { traceRouteCtlEntry 1 } 1824 traceRouteCtlTestName OBJECT-TYPE 1825 SYNTAX SnmpAdminString (SIZE(0..32)) 1826 MAX-ACCESS not-accessible 1827 STATUS current 1828 DESCRIPTION 1829 "The name of a traceroute test. This is locally unique, 1830 within the scope of an traceRouteCtlOwnerIndex." 1831 ::= { traceRouteCtlEntry 2 } 1833 traceRouteCtlTargetAddressType OBJECT-TYPE 1834 SYNTAX HostAddressType 1835 MAX-ACCESS read-create 1836 STATUS current 1837 DESCRIPTION 1838 "Specifies the type of host address to be used on the 1839 traceroute request at the remote host." 1840 DEFVAL { ipv4 } 1841 ::= { traceRouteCtlEntry 3 } 1843 traceRouteCtlTargetAddress OBJECT-TYPE 1844 SYNTAX HostAddress 1845 MAX-ACCESS read-create 1846 STATUS current 1847 DESCRIPTION 1848 "Specifies the host address used on the 1849 traceroute request at the remote host. The 1850 host address type can be determined by the 1851 examining the value of the corresponding 1852 traceRouteCtlTargetAddressType index element. 1854 A value for this object MUST be set prior to 1855 transitioning its corresponding traceRouteCtlEntry to 1856 active(1) via traceRouteCtlRowStatus." 1857 ::= { traceRouteCtlEntry 4 } 1859 traceRouteCtlByPassRouteTable OBJECT-TYPE 1860 SYNTAX TruthValue 1861 MAX-ACCESS read-create 1862 STATUS current 1863 DESCRIPTION 1864 "The purpose of this object is to optionally enable 1865 bypassing the route table. If enabled, the remote 1866 host will bypass the normal routing tables and send 1867 directly to a host on an attached network. If the 1868 host is not on a directly-attached network, an 1869 error is returned. This option can be used to perform 1870 the traceroute operation to a local host through an 1871 interface that has no route defined (e.g., after the 1872 interface was dropped by routed)." 1873 DEFVAL { false } 1874 ::= { traceRouteCtlEntry 5 } 1876 traceRouteCtlDataSize OBJECT-TYPE 1877 SYNTAX Unsigned32 (0..65507) 1878 UNITS "octets" 1879 MAX-ACCESS read-create 1880 STATUS current 1881 DESCRIPTION 1882 "Specifies the size of the data portion of a traceroute 1883 request in octets. A traceroute request is essentially 1884 transmitted by encoding a UDP datagram into a 1885 IP packet. So subtracting the size of a UDP header 1886 (8 octets) and the size of a IP header (20 octets) 1887 yields a maximum of 65507 octets." 1888 DEFVAL { 0 } 1889 ::= { traceRouteCtlEntry 6 } 1891 traceRouteCtlTimeOut OBJECT-TYPE 1892 SYNTAX Unsigned32 (1..60) 1893 UNITS "seconds" 1894 MAX-ACCESS read-create 1895 STATUS current 1896 DESCRIPTION 1897 "Specifies the time-out value, in seconds, for 1898 a traceroute request." 1899 DEFVAL { 3 } 1900 ::= { traceRouteCtlEntry 7 } 1902 traceRouteCtlProbesPerHop OBJECT-TYPE 1903 SYNTAX Unsigned32 (1..10) 1904 UNITS "probes" 1905 MAX-ACCESS read-create 1906 STATUS current 1907 DESCRIPTION 1908 "Specifies the number of times to reissue a traceroute 1909 request with the same time-to-live (TTL) value." 1910 DEFVAL { 3 } 1911 ::= { traceRouteCtlEntry 8 } 1913 traceRouteCtlPort OBJECT-TYPE 1914 SYNTAX Unsigned32 (1..65535) 1915 UNITS "UDP Port" 1916 MAX-ACCESS read-create 1917 STATUS current 1918 DESCRIPTION 1919 "Specifies the UDP port to send the traceroute 1920 request to. Need to specify a port that is not in 1921 use at the destination (target) host. The default 1922 value for this object is the IANA assigned port, 1923 33434, for the traceroute function." 1924 DEFVAL { 33434 } 1925 ::= { traceRouteCtlEntry 9 } 1927 traceRouteCtlMaxTtl OBJECT-TYPE 1928 SYNTAX Unsigned32 (1..255) 1929 UNITS "time-to-live value" 1930 MAX-ACCESS read-create 1931 STATUS current 1932 DESCRIPTION 1933 "Specifies the maximum time-to-live value." 1934 DEFVAL { 30 } 1935 ::= { traceRouteCtlEntry 10 } 1937 traceRouteCtlDSField OBJECT-TYPE 1938 SYNTAX Unsigned32 (0..255) 1939 MAX-ACCESS read-create 1940 STATUS current 1941 DESCRIPTION 1942 "Specifies the value to store in the Differentiated 1943 Services (DS) Field in the IP packet used to 1944 encapsulate the traceroute probe. The DS Field is 1945 defined as the Type of Service (TOS) octet in a IPv4 1946 header or as the Traffic Class octet in a IPv6 header. 1948 The value of this object must be a decimal integer 1949 in the range from 0 to 255. This option can be used 1950 to determine what effect an explicit DS Field setting 1951 has on a traceroute response. Not all values are legal 1952 or meaningful. DS Field usage is often not supported 1953 by IP implementations. Useful TOS octet values are 1954 probably '16' (low delay) and '8' ( high throughput)." 1955 REFERENCE 1956 "Refer to RFC 2474 for the definition of the 1957 Differentiated Services Field and to RFC 1812 1958 Section 5.3.2 for Type of Service (TOS)." 1959 DEFVAL { 0 } 1960 ::= { traceRouteCtlEntry 11 } 1962 traceRouteCtlSourceAddress OBJECT-TYPE 1963 SYNTAX HostAddress 1964 MAX-ACCESS read-create 1965 STATUS current 1966 DESCRIPTION 1967 "Use the specified IP address (which must be given 1968 as an IP number, not a hostname) as the source 1969 address in outgoing probe packets. On hosts with 1970 more than one IP address, this option can be used 1971 to force the source address to be something other 1972 than the primary IP address of the interface the 1973 probe packet is sent on. If the IP address is not 1974 one of this machine's interface addresses, an error 1975 is returned and nothing is sent. A zero length 1976 octet string value for this object disables source 1977 address specification." 1978 DEFVAL { ''H } 1979 ::= { traceRouteCtlEntry 12 } 1981 traceRouteCtlIfIndex OBJECT-TYPE 1982 SYNTAX InterfaceIndexOrZero 1983 MAX-ACCESS read-create 1984 STATUS current 1985 DESCRIPTION 1986 "Setting this object to an interface's ifIndex prior 1987 to starting a remote traceroute operation directs 1988 the traceroute probes to be transmitted over the 1989 specified interface. A value of zero for this object 1990 implies that this option is not enabled." 1991 DEFVAL { 0 } 1992 ::= { traceRouteCtlEntry 13 } 1994 traceRouteCtlMiscOptions OBJECT-TYPE 1995 SYNTAX SnmpAdminString 1996 MAX-ACCESS read-create 1997 STATUS current 1998 DESCRIPTION 1999 "Enables an application to specify implementation 2000 dependent options." 2001 DEFVAL { ''H } 2002 ::= { traceRouteCtlEntry 14 } 2004 traceRouteCtlMaxFailures OBJECT-TYPE 2005 SYNTAX Unsigned32 (0..255) 2006 UNITS "timeouts" 2007 MAX-ACCESS read-create 2008 STATUS current 2009 DESCRIPTION 2010 "The value of this object indicates the maximum number 2011 of consecutive timeouts allowed before terminating 2012 a remote traceroute request. A value of either 255 (maximum 2013 hop count/possible TTL value) or a 0 indicates that the 2014 function of terminating a remote traceroute request when a 2015 specific number of successive timeouts are detected is 2016 disabled." 2017 DEFVAL { 5 } 2018 ::= { traceRouteCtlEntry 15 } 2020 traceRouteCtlDontFragment OBJECT-TYPE 2021 SYNTAX TruthValue 2022 MAX-ACCESS read-create 2023 STATUS current 2024 DESCRIPTION 2025 "This object enables setting of the don't fragment flag (DF) 2026 in the IP header for a probe. Use of this object enables 2027 performing a manual PATH MTU test." 2028 DEFVAL { false } 2029 ::= { traceRouteCtlEntry 16 } 2031 traceRouteCtlInitialTtl OBJECT-TYPE 2032 SYNTAX Unsigned32 (0..255) 2033 MAX-ACCESS read-create 2034 STATUS current 2035 DESCRIPTION 2036 "The value of this object specifies the initial TTL value to 2037 use. This enables bypassing the initial (often well known) 2038 portion of a path." 2039 DEFVAL { 1 } 2040 ::= { traceRouteCtlEntry 17 } 2042 traceRouteCtlFrequency OBJECT-TYPE 2043 SYNTAX Unsigned32 2044 UNITS "seconds" 2045 MAX-ACCESS read-create 2046 STATUS current 2047 DESCRIPTION 2048 "The number of seconds to wait before repeating a 2049 traceRoute test as defined by the value of the 2050 various objects in the corresponding row. 2052 The number of hops in a single traceroute test 2053 is determined by the value of the corresponding 2054 traceRouteCtlProbesPerHop object. After a 2055 single test completes the number of seconds as defined 2056 by the value of traceRouteCtlFrequency MUST elapse 2057 before the next traceroute test is started. 2059 A value of 0 for this object implies that the test 2060 as defined by the corresponding entry will not be 2061 repeated." 2062 DEFVAL { 0 } 2063 ::= { traceRouteCtlEntry 18 } 2065 traceRouteCtlStorageType OBJECT-TYPE 2066 SYNTAX StorageType 2067 MAX-ACCESS read-create 2068 STATUS current 2069 DESCRIPTION 2070 "The storage type for this conceptual row. 2071 Conceptual rows having the value 'permanent' need not 2072 allow write-access to any columnar objects in the row." 2073 DEFVAL { nonVolatile } 2074 ::= { traceRouteCtlEntry 19 } 2076 traceRouteCtlAdminStatus OBJECT-TYPE 2077 SYNTAX INTEGER { 2078 enabled(1), -- operation should be started 2079 disabled(2) -- operation should be stop 2080 } 2081 MAX-ACCESS read-create 2082 STATUS current 2083 DESCRIPTION 2084 "Reflects the desired state that an traceRouteCtlEntry 2085 should be in: 2087 enabled(1) - Attempt to activate the test as defined by 2088 this traceRouteCtlEntry. 2089 disabled(2) - Deactivate the test as defined by this 2090 traceRouteCtlEntry. 2092 Refer to the corresponding traceRouteResultsOperStatus to 2093 determine the operational state of the test defined by 2094 this entry." 2095 DEFVAL { disabled } 2096 ::= { traceRouteCtlEntry 20 } 2098 traceRouteCtlDescr OBJECT-TYPE 2099 SYNTAX SnmpAdminString 2100 MAX-ACCESS read-create 2101 STATUS current 2102 DESCRIPTION 2103 "The purpose of this object is to provide a 2104 descriptive name of the remote traceroute 2105 test." 2106 DEFVAL { '00'H } 2107 ::= { traceRouteCtlEntry 21 } 2109 traceRouteCtlMaxRows OBJECT-TYPE 2110 SYNTAX Unsigned32 2111 UNITS "rows" 2112 MAX-ACCESS read-create 2113 STATUS current 2114 DESCRIPTION 2115 "The maximum number of entries allowed in the 2116 traceRouteProbeHistoryTable. An implementation of 2117 this MIB will remove the oldest entry in the 2118 traceRouteProbeHistoryTable to allow the addition 2119 of an new entry once the number of rows in the 2120 traceRouteProbeHistoryTable reaches this value. 2122 Old entries are not removed when a new test is 2123 started. Entries are added to the 2124 traceRouteProbeHistoryTable until traceRouteCtlMaxRows 2125 is reached before entries begin to be removed. 2127 A value of 0 for this object disables creation of 2128 traceRouteProbeHistoryTable entries." 2129 DEFVAL { 50 } 2130 ::= { traceRouteCtlEntry 22 } 2132 traceRouteCtlTrapGeneration OBJECT-TYPE 2133 SYNTAX BITS { 2134 pathChange(0), 2135 testFailure(1), 2136 testCompletion(2) 2137 } 2138 MAX-ACCESS read-create 2139 STATUS current 2140 DESCRIPTION 2141 "The value of this object determines when and if to 2142 to generation a notification for this entry: 2144 pathChange(0) - Generate a traceRoutePathChange 2145 notification when the current path varies from a 2146 previously determined path. 2147 testFailure(1) - Generate a traceRouteTestFailed 2148 notification when the full path to a target 2149 can't be determined. 2150 testCompletion(2) - Generate a traceRouteTestCompleted 2151 notification when the path to a target has been 2152 determined. 2154 The value of this object defaults to zero, indicating 2155 that none of the above options have been selected." 2156 ::= { traceRouteCtlEntry 23 } 2158 traceRouteCtlCreateHopsEntries OBJECT-TYPE 2159 SYNTAX TruthValue 2160 MAX-ACCESS read-create 2161 STATUS current 2162 DESCRIPTION 2163 "The current path for a traceroute test is kept in the 2164 traceRouteHopsTable on a per hop basis when the value of 2165 this object is true(1)." 2166 DEFVAL { false } 2167 ::= { traceRouteCtlEntry 24 } 2169 traceRouteCtlType OBJECT-TYPE 2170 SYNTAX OBJECT IDENTIFIER 2171 MAX-ACCESS read-create 2172 STATUS current 2173 DESCRIPTION 2174 "The value of this object is used to either report or 2175 select the implementation method to be used for 2176 performing a traceroute operation. The value of this 2177 object may be selected from 2178 traceRouteImplementationTypeDomains. 2180 Additional implementation types should be allocated as 2181 required by implementers of the DISMAN-TRACEROUTE-MIB 2182 under their enterprise specific registration point and 2183 not beneath traceRouteImplementationTypeDomains." 2184 DEFVAL { traceRouteUsingUdpProbes } 2185 ::= { traceRouteCtlEntry 25 } 2187 traceRouteCtlRowStatus OBJECT-TYPE 2188 SYNTAX RowStatus 2189 MAX-ACCESS read-create 2190 STATUS current 2191 DESCRIPTION 2192 "This object allows entries to be created and deleted 2193 in the traceRouteCtlTable. Deletion of an entry in 2194 this table results in all corresponding (same 2195 traceRouteCtlOwnerIndex and traceRouteCtlTestName 2196 index values) traceRouteResultsTable, 2197 traceRouteProbeHistoryTable, and traceRouteHopsTable 2198 entries being deleted. 2200 A value MUST be specified for traceRouteCtlTargetAddress 2201 prior to a transition to active(1) state being 2202 accepted. 2204 Activation of a remote traceroute operation is 2205 controlled via traceRouteCtlAdminStatus and not 2206 by transitioning of this object's value to active(1). 2208 Transitions in and out of active(1) state are not 2209 allowed while an entry's traceRouteResultsOperStatus 2210 is active(1) with the exception that deletion of 2211 an entry in this table by setting its RowStatus 2212 object to destroy(6) will stop an active 2213 traceroute operation. 2215 The operational state of an traceroute operation 2216 can be determined by examination of the corresponding 2217 traceRouteResultsOperStatus object." 2218 REFERENCE 2219 "RFC 2579, 'Textual Conventions for SMIv2.'" 2220 ::= { traceRouteCtlEntry 26 } 2222 -- Traceroute Results Table 2224 traceRouteResultsTable OBJECT-TYPE 2225 SYNTAX SEQUENCE OF TraceRouteResultsEntry 2226 MAX-ACCESS not-accessible 2227 STATUS current 2228 DESCRIPTION 2229 "Defines the Remote Operations Traceroute Results Table for 2230 keeping track of the status of a traceRouteCtlEntry. 2232 An entry is added to the traceRouteResultsTable when an 2233 traceRouteCtlEntry is started by successful transition 2234 of its traceRouteCtlAdminStatus object to enabled(1). 2236 An entry is removed from the traceRouteResultsTable when 2237 its corresponding traceRouteCtlEntry is deleted." 2238 ::= { traceRouteObjects 3 } 2240 traceRouteResultsEntry OBJECT-TYPE 2241 SYNTAX TraceRouteResultsEntry 2242 MAX-ACCESS not-accessible 2243 STATUS current 2244 DESCRIPTION 2245 "Defines an entry in the traceRouteResultsTable. The 2246 traceRouteResultsTable has the same indexing as the 2247 traceRouteCtlTable in order for a traceRouteResultsEntry 2248 to correspond to the traceRouteCtlEntry that caused it to 2249 be created." 2250 INDEX { 2251 traceRouteCtlOwnerIndex, 2252 traceRouteCtlTestName 2253 } 2254 ::= { traceRouteResultsTable 1 } 2256 TraceRouteResultsEntry ::= 2257 SEQUENCE { 2258 traceRouteResultsOperStatus INTEGER, 2259 traceRouteResultsCurHopCount Gauge32, 2260 traceRouteResultsCurProbeCount Gauge32, 2261 traceRouteResultsIpTargetAddress IpHostAddress, 2262 traceRouteResultsTestAttempts Counter32, 2263 traceRouteResultsTestSuccesses Counter32, 2264 traceRouteResultsLastGoodPath DateAndTime 2265 } 2267 traceRouteResultsOperStatus OBJECT-TYPE 2268 SYNTAX INTEGER { 2269 enabled(1), -- test is in progress 2270 disabled(2) -- test has stopped 2271 } 2272 MAX-ACCESS read-only 2273 STATUS current 2274 DESCRIPTION 2275 "Reflects the operational state of an traceRouteCtlEntry: 2277 enabled(1) - Test is active. 2278 disabled(2) - Test has stopped." 2279 ::= { traceRouteResultsEntry 1 } 2281 traceRouteResultsCurHopCount OBJECT-TYPE 2282 SYNTAX Gauge32 2283 UNITS "hops" 2284 MAX-ACCESS read-only 2285 STATUS current 2286 DESCRIPTION 2287 "Reflects the current TTL value (range from 1 to 2288 255) for a remote traceroute operation. 2289 Maximum TTL value is determined by 2290 traceRouteCtlMaxTtl." 2291 ::= { traceRouteResultsEntry 2 } 2293 traceRouteResultsCurProbeCount OBJECT-TYPE 2294 SYNTAX Gauge32 2295 UNITS "probes" 2296 MAX-ACCESS read-only 2297 STATUS current 2298 DESCRIPTION 2299 "Reflects the current probe count (1..10) for 2300 a remote traceroute operation. The maximum 2301 probe count is determined by 2302 traceRouteCtlProbesPerHop." 2303 ::= { traceRouteResultsEntry 3 } 2305 traceRouteResultsIpTargetAddress OBJECT-TYPE 2306 SYNTAX IpHostAddress 2307 MAX-ACCESS read-only 2308 STATUS current 2309 DESCRIPTION 2310 "This objects reports the IP address associated 2311 with a traceRouteCtlTargetAddress value when the 2312 destination address is specified as a DNS name. 2313 The value of this object should be a zero length 2314 octet string when a DNS name is not specified or 2315 when a specified DNS name fails to resolve." 2316 ::= { traceRouteResultsEntry 4 } 2318 traceRouteResultsTestAttempts OBJECT-TYPE 2319 SYNTAX Counter32 2320 UNITS "tests" 2321 MAX-ACCESS read-only 2322 STATUS current 2323 DESCRIPTION 2324 "The current number of attempts to determine a path 2325 to a target. The value of this object MUST be started 2326 at 0." 2327 ::= { traceRouteResultsEntry 5 } 2329 traceRouteResultsTestSuccesses OBJECT-TYPE 2330 SYNTAX Counter32 2331 UNITS "tests" 2332 MAX-ACCESS read-only 2333 STATUS current 2334 DESCRIPTION 2335 "The current number of attempts to determine a path 2336 to a target that have succeeded. The value of this 2337 object MUST be reported as 0 when no attempts have 2338 succeeded." 2339 ::= { traceRouteResultsEntry 6 } 2341 traceRouteResultsLastGoodPath OBJECT-TYPE 2342 SYNTAX DateAndTime 2343 MAX-ACCESS read-only 2344 STATUS current 2345 DESCRIPTION 2346 "The date and time when the last complete path 2347 was determined." 2348 ::= { traceRouteResultsEntry 7 } 2350 -- Trace Route Probe History Table 2352 traceRouteProbeHistoryTable OBJECT-TYPE 2353 SYNTAX SEQUENCE OF TraceRouteProbeHistoryEntry 2354 MAX-ACCESS not-accessible 2355 STATUS current 2356 DESCRIPTION 2357 "Defines the Remote Operations Traceroute Results Table for 2358 storing the results of a traceroute operation. 2360 An implementation of this MIB will remove the oldest 2361 entry in the traceRouteProbeHistoryTable to allow the 2362 addition of an new entry once the number of rows in 2363 the traceRouteProbeHistoryTable reaches the value specified 2364 by traceRouteCtlMaxRows." 2365 ::= { traceRouteObjects 4 } 2367 traceRouteProbeHistoryEntry OBJECT-TYPE 2368 SYNTAX TraceRouteProbeHistoryEntry 2369 MAX-ACCESS not-accessible 2370 STATUS current 2371 DESCRIPTION 2372 "Defines a table for storing the results of a traceroute 2373 operation. Entries in this table are limited by 2374 the value of the corresponding traceRouteCtlMaxRows 2375 object. 2377 The first two index elements identify the 2378 traceRouteCtlEntry that a traceRouteProbeHistoryEntry 2379 belongs to. The 3rd index element selects a single 2380 traceroute operation result. The 4th and 5th indexes 2381 select the hop and the probe for a particular 2382 traceroute operation." 2383 INDEX { 2384 traceRouteCtlOwnerIndex, 2385 traceRouteCtlTestName, 2386 traceRouteProbeHistoryIndex, 2387 traceRouteProbeHistoryHopIndex, 2388 traceRouteProbeHistoryProbeIndex 2389 } 2390 ::= { traceRouteProbeHistoryTable 1 } 2392 TraceRouteProbeHistoryEntry ::= 2393 SEQUENCE { 2394 traceRouteProbeHistoryIndex Unsigned32, 2395 traceRouteProbeHistoryHopIndex Unsigned32, 2396 traceRouteProbeHistoryProbeIndex Unsigned32, 2397 traceRouteProbeHistoryHopAddress IpHostAddress, 2398 traceRouteProbeHistoryResponse Integer32, 2399 traceRouteProbeHistoryStatus OperationResponseStatus, 2400 traceRouteProbeHistoryLastRC Integer32, 2401 traceRouteProbeHistoryTime DateAndTime 2402 } 2404 traceRouteProbeHistoryIndex OBJECT-TYPE 2405 SYNTAX Unsigned32 (1..'ffffffff'h) 2406 MAX-ACCESS not-accessible 2407 STATUS current 2408 DESCRIPTION 2409 "An entry in this table is created when the result of 2410 a traceroute probe is determined. The initial 2 instance 2411 identifier index values identify the traceRouteCtlEntry 2412 that a probe result (traceRouteProbeHistoryEntry) belongs 2413 to. An entry is removed from this table when 2414 its corresponding traceRouteCtlEntry is deleted. 2416 An implementation MUST start assigning 2417 traceRouteProbeHistoryIndex values at 1 and wrap after 2418 exceeding the maximum possible value." 2419 ::= { traceRouteProbeHistoryEntry 1 } 2421 traceRouteProbeHistoryHopIndex OBJECT-TYPE 2422 SYNTAX Unsigned32 (1..255) 2423 MAX-ACCESS not-accessible 2424 STATUS current 2425 DESCRIPTION 2426 "Indicates which hop in a traceroute path that the probe's 2427 results are for." 2428 ::= { traceRouteProbeHistoryEntry 2 } 2430 traceRouteProbeHistoryProbeIndex OBJECT-TYPE 2431 SYNTAX Unsigned32 (1..10) 2432 MAX-ACCESS not-accessible 2433 STATUS current 2434 DESCRIPTION 2435 "Indicates the index of a probe for determining for a 2436 hop in a traceroute path. The value of this object is 2437 initially determined by the value of traceRouteCtlInitialTtl." 2438 ::= { traceRouteProbeHistoryEntry 3 } 2440 traceRouteProbeHistoryHopAddress OBJECT-TYPE 2441 SYNTAX IpHostAddress 2442 MAX-ACCESS read-only 2443 STATUS current 2444 DESCRIPTION 2445 "The address of a hop in a traceroute path. This object 2446 is not allowed to be a DNS name. The length of the 2447 octet string returned determines the address type." 2448 ::= { traceRouteProbeHistoryEntry 4 } 2450 traceRouteProbeHistoryResponse OBJECT-TYPE 2451 SYNTAX Integer32 2452 UNITS "milliseconds" 2453 MAX-ACCESS read-only 2454 STATUS current 2455 DESCRIPTION 2456 "The amount of time measured in milliseconds from when 2457 a probe was sent to when its response was received or 2458 when it timed out. The value of this object is reported 2459 as 0 when it is not possible to transmit a probe." 2460 ::= { traceRouteProbeHistoryEntry 5 } 2462 traceRouteProbeHistoryStatus OBJECT-TYPE 2463 SYNTAX OperationResponseStatus 2464 MAX-ACCESS read-only 2465 STATUS current 2466 DESCRIPTION 2467 "The result of a traceroute operation made by a remote 2468 host for a particular probe." 2469 ::= { traceRouteProbeHistoryEntry 6 } 2471 traceRouteProbeHistoryLastRC OBJECT-TYPE 2472 SYNTAX Integer32 2473 MAX-ACCESS read-only 2474 STATUS current 2475 DESCRIPTION 2476 "The last implementation method specific reply code received. 2478 Traceroute is usually implemented by transmitting a series of 2479 probe packets with increasing time-to-live values. A probe 2480 packet is a UDP datagram encapsulated into an IP packet. 2481 Each hop in a path to the target (destination) host rejects 2482 the probe packets (probe's TTL too small, ICMP reply) until 2483 either the maximum TTL is exceeded or the target host is 2484 received." 2485 ::= { traceRouteProbeHistoryEntry 7 } 2487 traceRouteProbeHistoryTime OBJECT-TYPE 2488 SYNTAX DateAndTime 2489 MAX-ACCESS read-only 2490 STATUS current 2491 DESCRIPTION 2492 "Timestamp for when this probe results were determined." 2493 ::= { traceRouteProbeHistoryEntry 8 } 2495 -- Traceroute Hop Results Table 2497 traceRouteHopsTable OBJECT-TYPE 2498 SYNTAX SEQUENCE OF TraceRouteHopsEntry 2499 MAX-ACCESS not-accessible 2500 STATUS current 2501 DESCRIPTION 2502 "Defines the Remote Operations Traceroute Hop Table for 2503 keeping track of the results of traceroute tests on a 2504 per hop basis." 2505 ::= { traceRouteObjects 5 } 2507 traceRouteHopsEntry OBJECT-TYPE 2508 SYNTAX TraceRouteHopsEntry 2509 MAX-ACCESS not-accessible 2510 STATUS current 2511 DESCRIPTION 2512 "Defines an entry in the traceRouteHopsTable. 2514 The first two index elements identify the 2515 traceRouteCtlEntry that a traceRouteHopsEntry 2516 belongs to. The 3rd index element, 2517 traceRouteHopsHopIndex, selects a 2518 hop in a traceroute path." 2519 INDEX { 2520 traceRouteCtlOwnerIndex, 2521 traceRouteCtlTestName, 2522 traceRouteHopsHopIndex 2523 } 2524 ::= { traceRouteHopsTable 1 } 2526 TraceRouteHopsEntry ::= 2527 SEQUENCE { 2528 traceRouteHopsHopIndex Unsigned32, 2529 traceRouteHopsIpTargetAddress IpHostAddress, 2530 traceRouteHopsMinRtt Unsigned32, 2531 traceRouteHopsMaxRtt Unsigned32, 2532 traceRouteHopsAverageRtt Unsigned32, 2533 traceRouteHopsRttSumOfSquares Unsigned32, 2534 traceRouteHopsSentProbes Counter32, 2535 traceRouteHopsProbeResponses Counter32, 2536 traceRouteHopsLastGoodProbe DateAndTime 2537 } 2539 traceRouteHopsHopIndex OBJECT-TYPE 2540 SYNTAX Unsigned32 2541 MAX-ACCESS not-accessible 2542 STATUS current 2543 DESCRIPTION 2544 "Specifies the hop index for a traceroute hop. Values 2545 for this object with respect to the same 2546 traceRouteCtlOwnerIndex and traceRouteCtlTestName 2547 MUST start at 1 and increase monotonically. 2549 The traceRouteHopsTable keeps the current traceroute 2550 path per traceRouteCtlEntry if enabled by 2551 setting the corresponding traceRouteCtlCreateHopsEntries 2552 to true(1). 2554 All hops (traceRouteHopsTable entries) in a traceroute 2555 path MUST be updated at the same time when a traceroute 2556 operation completes. Care needs to be applied when either 2557 a path changes or can't be determined. The initial portion 2558 of the path, up to the first hop change, MUST retain the 2559 same traceRouteHopsHopIndex values. The remaining portion 2560 of the path SHOULD be assigned new traceRouteHopsHopIndex 2561 values." 2562 ::= { traceRouteHopsEntry 1 } 2564 traceRouteHopsIpTargetAddress OBJECT-TYPE 2565 SYNTAX IpHostAddress 2566 MAX-ACCESS read-only 2567 STATUS current 2568 DESCRIPTION 2569 "This object reports the IP address associated with the hop." 2570 ::= { traceRouteHopsEntry 2 } 2572 traceRouteHopsMinRtt OBJECT-TYPE 2573 SYNTAX Unsigned32 2574 MAX-ACCESS read-only 2575 STATUS current 2576 DESCRIPTION 2577 "The minimum traceroute round-trip-time (RTT) received for 2578 this hop. A value of 0 for this object implies that no 2579 RTT has been received." 2580 ::= { traceRouteHopsEntry 3 } 2582 traceRouteHopsMaxRtt OBJECT-TYPE 2583 SYNTAX Unsigned32 2584 MAX-ACCESS read-only 2585 STATUS current 2586 DESCRIPTION 2587 "The maximum traceroute round-trip-time (RTT) received for 2588 this hop. A value of 0 for this object implies that no 2589 RTT has been received." 2590 ::= { traceRouteHopsEntry 4 } 2592 traceRouteHopsAverageRtt OBJECT-TYPE 2593 SYNTAX Unsigned32 2594 MAX-ACCESS read-only 2595 STATUS current 2596 DESCRIPTION 2597 "The current average traceroute round-trip-time (RTT) for 2598 this hop." 2599 ::= { traceRouteHopsEntry 5 } 2601 traceRouteHopsRttSumOfSquares OBJECT-TYPE 2602 SYNTAX Unsigned32 2603 MAX-ACCESS read-only 2604 STATUS current 2605 DESCRIPTION 2606 "This object contains the sum of all traceroute responses 2607 received for this hop. Its purpose is to enable standard 2608 deviation calculation." 2609 ::= { traceRouteHopsEntry 6 } 2611 traceRouteHopsSentProbes OBJECT-TYPE 2612 SYNTAX Counter32 2613 MAX-ACCESS read-only 2614 STATUS current 2615 DESCRIPTION 2616 "The value of this object reflects the number of probes sent 2617 for this hop during this traceroute test. The value of this 2618 object should start at 0." 2619 ::= { traceRouteHopsEntry 7 } 2621 traceRouteHopsProbeResponses OBJECT-TYPE 2622 SYNTAX Counter32 2623 MAX-ACCESS read-only 2624 STATUS current 2625 DESCRIPTION 2626 "Number of responses received for this hop during this 2627 traceroute test. This value of this object should start 2628 at 0." 2629 ::= { traceRouteHopsEntry 8 } 2631 traceRouteHopsLastGoodProbe OBJECT-TYPE 2632 SYNTAX DateAndTime 2633 MAX-ACCESS read-only 2634 STATUS current 2635 DESCRIPTION 2636 "Date and time was the last response was received for a probe 2637 for this hop during this traceroute test." 2638 ::= { traceRouteHopsEntry 9 } 2640 -- Notification Definition section 2642 traceRoutePathChange NOTIFICATION-TYPE 2643 OBJECTS { 2644 traceRouteCtlTargetAddressType, 2645 traceRouteCtlTargetAddress, 2646 traceRouteResultsIpTargetAddress 2647 } 2648 STATUS current 2649 DESCRIPTION 2650 "The path to a target has changed." 2651 ::= { traceRouteNotifications 1 } 2653 traceRouteTestFailed NOTIFICATION-TYPE 2654 OBJECTS { 2655 traceRouteCtlTargetAddressType, 2656 traceRouteCtlTargetAddress, 2657 traceRouteResultsIpTargetAddress 2658 } 2659 STATUS current 2660 DESCRIPTION 2661 "Could not determine the path to a target." 2662 ::= { traceRouteNotifications 2 } 2664 traceRouteTestCompleted NOTIFICATION-TYPE 2665 OBJECTS { 2666 traceRouteCtlTargetAddressType, 2667 traceRouteCtlTargetAddress, 2668 traceRouteResultsIpTargetAddress 2669 } 2670 STATUS current 2671 DESCRIPTION 2672 "The path to a target has just been determined." 2673 ::= { traceRouteNotifications 3 } 2675 -- Conformance information 2676 -- Compliance statements 2678 traceRouteCompliances OBJECT IDENTIFIER ::= { traceRouteConformance 1 } 2679 traceRouteGroups OBJECT IDENTIFIER ::= { traceRouteConformance 2 } 2681 -- Compliance statements 2683 traceRouteCompliance MODULE-COMPLIANCE 2684 STATUS current 2685 DESCRIPTION 2686 "The compliance statement for the DISMAN-TRACEROUTE-MIB." 2687 MODULE -- this module 2688 MANDATORY-GROUPS { 2689 traceRouteGroup 2690 } 2691 GROUP traceRouteTimeStampGroup 2692 DESCRIPTION 2693 "This group is mandatory for implementations that have 2694 access to a system clock and are capable of setting 2695 the values for DateAndTime objects." 2697 GROUP traceRouteNotificationsGroup 2698 DESCRIPTION 2699 "This group defines a collection of optional 2700 notifications." 2702 GROUP traceRouteHopsTableGroup 2703 DESCRIPTION 2704 "This group lists the objects that make up a 2705 traceRouteHopsEntry. Support of the traceRouteHopsTable 2706 is optional." 2708 OBJECT traceRouteMaxConcurrentRequests 2709 MIN-ACCESS read-only 2710 DESCRIPTION 2711 "The agent is not required to support a SET 2712 operation to this object." 2714 OBJECT traceRouteCtlByPassRouteTable 2715 MIN-ACCESS read-only 2716 DESCRIPTION 2717 "This object is not required by implementations that 2718 are not capable of its implementation. The function 2719 represented by this object is implementable if the 2720 setsockopt SOL_SOCKET SO_DONTROUTE option is 2721 supported." 2723 OBJECT traceRouteCtlSourceAddress 2724 MIN-ACCESS read-only 2725 DESCRIPTION 2726 "This object is not required by implementations that 2727 are not capable of binding the send socket (udp) 2728 with a source address." 2730 OBJECT traceRouteCtlIfIndex 2731 MIN-ACCESS read-only 2732 DESCRIPTION 2733 "Write access is not required. When write access is 2734 not supported return a 0 as the value of this object. 2735 A value of 0 implies that the function represented by 2736 this option is not supported." 2738 OBJECT traceRouteCtlMiscOptions 2739 MIN-ACCESS read-only 2740 DESCRIPTION 2741 "Support of this object is optional. When not 2742 supporting do not allow write access and return a 2743 zero length octet string as the value of the object." 2745 OBJECT traceRouteCtlStorageType 2746 MIN-ACCESS read-only 2747 DESCRIPTION 2748 "Write access is not required. It is also allowed 2749 for implementations to support only the volatile 2750 StorageType enumeration." 2752 OBJECT traceRouteCtlDSField 2753 MIN-ACCESS read-only 2754 DESCRIPTION 2755 "Write access is not required. When write access is 2756 not supported return a 0 as the value of this object. 2757 A value of 0 implies that the function represented by 2758 this option is not supported." 2760 OBJECT traceRouteCtlType 2761 MIN-ACCESS read-only 2762 DESCRIPTION 2763 "Write access is not required. In addition, the only 2764 value that is RECOMMENDED to be supported by an 2765 implementation is traceRouteUsingUdpProbes." 2767 ::= { traceRouteCompliances 1 } 2769 -- MIB groupings 2771 traceRouteGroup OBJECT-GROUP 2772 OBJECTS { 2773 traceRouteMaxConcurrentRequests, 2774 traceRouteCtlTargetAddressType, 2775 traceRouteCtlTargetAddress, 2776 traceRouteCtlByPassRouteTable, 2777 traceRouteCtlDataSize, 2778 traceRouteCtlTimeOut, 2779 traceRouteCtlProbesPerHop, 2780 traceRouteCtlPort, 2781 traceRouteCtlMaxTtl, 2782 traceRouteCtlDSField, 2783 traceRouteCtlSourceAddress, 2784 traceRouteCtlIfIndex, 2785 traceRouteCtlMiscOptions, 2786 traceRouteCtlMaxFailures, 2787 traceRouteCtlDontFragment, 2788 traceRouteCtlInitialTtl, 2789 traceRouteCtlFrequency, 2790 traceRouteCtlStorageType, 2791 traceRouteCtlAdminStatus, 2792 traceRouteCtlMaxRows, 2793 traceRouteCtlTrapGeneration, 2794 traceRouteCtlDescr, 2795 traceRouteCtlCreateHopsEntries, 2796 traceRouteCtlType, 2797 traceRouteCtlRowStatus, 2798 traceRouteResultsOperStatus, 2799 traceRouteResultsCurHopCount, 2800 traceRouteResultsCurProbeCount, 2801 traceRouteResultsIpTargetAddress, 2802 traceRouteResultsTestAttempts, 2803 traceRouteResultsTestSuccesses, 2804 traceRouteProbeHistoryHopAddress, 2805 traceRouteProbeHistoryResponse, 2806 traceRouteProbeHistoryStatus, 2807 traceRouteProbeHistoryLastRC 2808 } 2809 STATUS current 2810 DESCRIPTION 2811 "The group of objects that comprise the remote traceroute 2812 operation." 2813 ::= { traceRouteGroups 1 } 2815 traceRouteTimeStampGroup OBJECT-GROUP 2816 OBJECTS { 2817 traceRouteResultsLastGoodPath, 2818 traceRouteProbeHistoryTime 2819 } 2820 STATUS current 2821 DESCRIPTION 2822 "The group of DateAndTime objects." 2823 ::= { traceRouteGroups 2 } 2825 traceRouteNotificationsGroup NOTIFICATION-GROUP 2826 NOTIFICATIONS { 2827 traceRoutePathChange, 2828 traceRouteTestFailed, 2829 traceRouteTestCompleted 2830 } 2831 STATUS current 2832 DESCRIPTION 2833 "The notifications which are required to be supported by 2834 implementations of this MIB." 2835 ::= { traceRouteGroups 3 } 2837 traceRouteHopsTableGroup OBJECT-GROUP 2838 OBJECTS { 2839 traceRouteHopsIpTargetAddress, 2840 traceRouteHopsMinRtt, 2841 traceRouteHopsMaxRtt, 2842 traceRouteHopsAverageRtt, 2843 traceRouteHopsRttSumOfSquares, 2844 traceRouteHopsSentProbes, 2845 traceRouteHopsProbeResponses, 2846 traceRouteHopsLastGoodProbe 2847 } 2848 STATUS current 2849 DESCRIPTION 2850 "The group of objects that comprise the traceRouteHopsTable." 2851 ::= { traceRouteGroups 4 } 2853 END 2855 4.3 DISMAN-NSLOOKUP-MIB 2857 DISMAN-NSLOOKUP-MIB DEFINITIONS ::= BEGIN 2859 IMPORTS 2860 MODULE-IDENTITY, OBJECT-TYPE, 2861 experimental, Unsigned32 2862 FROM SNMPv2-SMI -- RFC2578 2863 RowStatus 2864 FROM SNMPv2-TC -- RFC2579 2865 MODULE-COMPLIANCE, OBJECT-GROUP 2866 FROM SNMPv2-CONF -- RFC2580 2867 SnmpAdminString 2868 FROM SNMP-FRAMEWORK-MIB -- RFC2571 2869 HostAddressType, HostAddress 2870 FROM DISMAN-PING-MIB; 2872 lookupMIB MODULE-IDENTITY 2873 LAST-UPDATED "9908040000Z" 2874 ORGANIZATION "IETF Distributed Management Working Group" 2875 CONTACT-INFO 2876 "Kenneth White 2878 International Business Machines Corporation 2879 Network Computing Software Division 2880 Research Triangle Park, NC, USA 2882 E-mail: wkenneth@us.ibm.com" 2883 DESCRIPTION 2884 "The Lookup MIB (DISMAN-NSLOOKUP-MIB) enables determination 2885 of either the name(s) corresponding to a host address or of 2886 the address(es) associated with a host name at a remote host." 2887 -- Note: This OID should be reassigned by IANA when the internet-draft 2888 -- containing this MIB module is issued as an RFC. 2889 ::= { experimental 84 3 } 2891 -- Top level structure of the MIB 2893 lookupObjects OBJECT IDENTIFIER ::= { lookupMIB 1 } 2894 lookupConformance OBJECT IDENTIFIER ::= { lookupMIB 2 } 2896 -- Simple Object Definitions 2898 lookupMaxConcurrentRequests OBJECT-TYPE 2899 SYNTAX Unsigned32 2900 UNITS "requests" 2901 MAX-ACCESS read-write 2902 STATUS current 2903 DESCRIPTION 2904 "The maximum number of concurrent active lookup requests 2905 that are allowed within an agent implementation. A value 2906 of 0 for this object implies that there is no limit for 2907 the number of concurrent active requests in effect." 2909 DEFVAL { 10 } 2910 ::= { lookupObjects 1 } 2912 lookupPurgeTime OBJECT-TYPE 2913 SYNTAX Unsigned32 (0..86400) 2914 UNITS "seconds" 2915 MAX-ACCESS read-write 2916 STATUS current 2917 DESCRIPTION 2918 "The amount of time to wait before automatically 2919 deleting an entry in the lookupCtlTable and any 2920 dependent lookupResultsTable entries 2921 after the lookup operation represented by an 2922 lookupCtlEntry has completed. 2924 An lookupCtEntry is considered complete 2925 when its lookupCtlOperStatus object has a 2926 value of completed(3)." 2927 DEFVAL { 900 } -- 15 minutes as default 2928 ::= { lookupObjects 2 } 2930 -- Lookup Control Table 2932 lookupCtlTable OBJECT-TYPE 2933 SYNTAX SEQUENCE OF LookupCtlEntry 2934 MAX-ACCESS not-accessible 2935 STATUS current 2936 DESCRIPTION 2937 "Defines the Lookup Control Table for providing 2938 the capability of performing a lookup operation, 2939 gethostbyname or gethostbyaddr, from a remote host." 2940 ::= { lookupObjects 3 } 2942 lookupCtlEntry OBJECT-TYPE 2943 SYNTAX LookupCtlEntry 2944 MAX-ACCESS not-accessible 2945 STATUS current 2946 DESCRIPTION 2947 "Defines an entry in the lookupCtlTable. An 2948 lookupCtlEntry is initially indexed by 2949 lookupCtlOwnerIndex, which is of the SnmpAdminString 2950 textual convention that allows for use of the SNMPv3 2951 View-Based Access Control Model (RFC 2575 [11], VACM) 2952 and also allows an management application to identify 2953 its entries. The 2nd index element, 2954 lookupCtlOperationName, enables the same 2955 lookupCtlOwnerIndex entity to have multiple outstanding 2956 requests. 2958 The value of lookupCtlTargetAddressType determines which 2959 lookup function to perform. Specification of dnsName(1) 2960 as the value of this index implies that the gethostbyname 2961 function should be performed to determine the numeric 2962 addresses associated with a symbolic name via 2963 lookupResultsTable entries. Use of a value of either 2964 ipv4(2) or ipv6(3) implies that the gethostbyaddr function 2965 should be performed to determine the symbolic name(s) 2966 associated with a numeric address at a remote host." 2967 INDEX { 2968 lookupCtlOwnerIndex, 2969 lookupCtlOperationName 2970 } 2971 ::= { lookupCtlTable 1 } 2973 LookupCtlEntry ::= 2974 SEQUENCE { 2975 lookupCtlOwnerIndex SnmpAdminString, 2976 lookupCtlOperationName SnmpAdminString, 2977 lookupCtlTargetAddressType HostAddressType, 2978 lookupCtlTargetAddress HostAddress, 2979 lookupCtlOperStatus INTEGER, 2980 lookupCtlTime Unsigned32, 2981 lookupCtlRc Unsigned32, 2982 lookupCtlRowStatus RowStatus 2983 } 2985 lookupCtlOwnerIndex OBJECT-TYPE 2986 SYNTAX SnmpAdminString (SIZE(0..32)) 2987 MAX-ACCESS not-accessible 2988 STATUS current 2989 DESCRIPTION 2990 "To facilitate the provisioning of access control by a 2991 security administrator using the View-Based Access 2992 Control Model (RFC 2575, VACM) for tables in which 2993 multiple users may need to independently create or 2994 modify entries, the initial index is used as an 'owner 2995 index'. Such an initial index has a syntax of 2996 SnmpAdminString, and can thus be trivially mapped to a 2997 securityName or groupName as defined in VACM, in 2998 accordance with a security policy. 3000 When used in conjunction with such a security policy all 3001 entries in the table belonging to a particular user (or 3002 group) will have the same value for this initial index. 3003 For a given user's entries in a particular table, the 3004 object identifiers for the information in these entries 3005 will have the same subidentifiers (except for the 3006 'column' subidentifier) up to the end of the encoded 3007 owner index. To configure VACM to permit access to this 3008 portion of the table, one would create 3009 vacmViewTreeFamilyTable entries with the value of 3010 vacmViewTreeFamilySubtree including the owner index 3011 portion, and vacmViewTreeFamilyMask 'wildcarding' the 3012 column subidentifier. More elaborate configurations 3013 are possible." 3014 ::= { lookupCtlEntry 1 } 3016 lookupCtlOperationName OBJECT-TYPE 3017 SYNTAX SnmpAdminString (SIZE(0..32)) 3018 MAX-ACCESS not-accessible 3019 STATUS current 3020 DESCRIPTION 3021 "The name of a lookup operation. This is locally unique, 3022 within the scope of an lookupCtlOwnerIndex." 3023 ::= { lookupCtlEntry 2 } 3025 lookupCtlTargetAddressType OBJECT-TYPE 3026 SYNTAX HostAddressType 3027 MAX-ACCESS read-create 3028 STATUS current 3029 DESCRIPTION 3030 "Specifies the type of address for either performing a 3031 gethostbyname or a gethostbyaddr function at a remote host. 3032 Specification of dnsName(1) as the value for this object 3034 implies that the gethostbyname function should be performed 3035 to return one or more numeric addresses. Use of a value 3036 of either ipv4(2) or ipv6(3) implies that the gethostbyaddr 3037 function should be used to return the symbolic names 3038 associated with a remote host." 3039 ::= { lookupCtlEntry 3 } 3041 lookupCtlTargetAddress OBJECT-TYPE 3042 SYNTAX HostAddress 3043 MAX-ACCESS read-create 3044 STATUS current 3045 DESCRIPTION 3046 "Specifies the address used for a resolver lookup at a 3047 remote host. The corresponding lookupCtlAddressType 3048 objects determines its type as well as the function 3049 that can be requested. 3051 A value for this object MUST be set prior to 3052 transitioning its corresponding lookupCtlEntry to 3053 active(1) via lookupCtlRowStatus." 3054 ::= { lookupCtlEntry 4 } 3056 lookupCtlOperStatus OBJECT-TYPE 3057 SYNTAX INTEGER { 3058 enabled(1), -- operation is in progress 3059 notStarted(2), -- operation has not started 3060 completed(3) -- operation is done 3061 } 3062 MAX-ACCESS read-only 3063 STATUS current 3064 DESCRIPTION 3065 "Reflects the operational state of an lookupCtlEntry: 3067 enabled(1) - Operation is active. 3068 notStarted(2) - Operation has not been enabled. 3070 completed(3) - Operation has completed. 3072 An operation is automatically enabled(1) when its 3073 lookupCtlRowStatus object is transitioned to active(1) 3074 status. Until this occurs lookupCtlOperStatus MUST 3075 report a value of notStarted(2). After the lookup 3076 operation completes (success or failure) the value 3077 for lookupCtlOperStatus MUST be transitioned to 3078 completed(3)." 3079 ::= { lookupCtlEntry 5 } 3081 lookupCtlTime OBJECT-TYPE 3082 SYNTAX Unsigned32 3083 UNITS "milliseconds" 3084 MAX-ACCESS read-only 3085 STATUS current 3086 DESCRIPTION 3087 "Reports the number of milliseconds that a lookup 3088 operation required to be completed at a remote host. 3089 Completed means operation failure as well as 3090 success." 3091 ::= { lookupCtlEntry 6 } 3093 lookupCtlRc OBJECT-TYPE 3094 SYNTAX Unsigned32 3095 MAX-ACCESS read-only 3096 STATUS current 3097 DESCRIPTION 3098 "The system specific return code from a lookup 3099 operation. All implementations MUST return a value 3100 of 0 for this object when the remote lookup 3101 operation succeeds. A non-zero value for this 3102 objects indicates failure. It is recommended that 3103 implementations that support errno use it as the 3104 value of this object to aid a management 3105 application in determining the cause of failure." 3106 ::= { lookupCtlEntry 7 } 3108 lookupCtlRowStatus OBJECT-TYPE 3109 SYNTAX RowStatus 3110 MAX-ACCESS read-create 3111 STATUS current 3112 DESCRIPTION 3113 "This object allows entries to be created and deleted 3114 in the lookupCtlTable. 3116 A remote lookup operation is started when an 3117 entry in this table is created via an SNMP SET 3118 request and the entry is activated. This 3119 occurs by setting the value of this object 3120 to CreateAndGo(4) during row creation or 3121 by setting this object to active(1) after 3122 the row is created. 3124 A value MUST be specified for lookupCtlTargetAddress 3125 prior to a transition to active(1) state being 3126 accepted. 3128 A remote lookup operation starts when its entry 3129 first becomes active(1). Transitions in and 3130 out of active(1) state have no effect on the 3131 operational behavior of a remote lookup 3132 operation, with the exception that deletion of 3133 an entry in this table by setting its RowStatus 3134 object to destroy(6) will stop an active 3135 remote lookup operation. 3137 The operational state of a remote lookup operation 3138 can be determined by examination of its 3139 lookupCtlOperStatus object." 3140 REFERENCE 3141 "RFC 2579, 'Textual Conventions for SMIv2.'" 3142 ::= { lookupCtlEntry 8 } 3144 -- Lookup Results Table 3146 lookupResultsTable OBJECT-TYPE 3147 SYNTAX SEQUENCE OF LookupResultsEntry 3148 MAX-ACCESS not-accessible 3149 STATUS current 3150 DESCRIPTION 3151 "Defines the Lookup Results Table for providing 3152 the capability of determining the results of a 3153 operation at a remote host. 3155 One or more entries are added to the 3156 lookupResultsTable when a lookup operation, 3157 as reflected by an lookupCtlEntry, completes 3158 successfully. All entries related to a 3159 successful lookup operation MUST be added 3160 to the lookupResultsTable at the same time 3161 that the associating lookupCtlOperStatus 3162 object is transitioned to completed(2). 3164 The number of entries added depends on the 3165 results determined for a particular lookup 3166 operation. All entries associated with an 3167 lookupCtlEntry are removed when the 3168 lookupCtlEntry is deleted. 3170 A remote host can be multi-homed and have more 3171 than one IP address associated with it 3172 (gethostbyname results) and/or it can have more 3173 than one symbolic name (gethostbyaddr results). 3175 The gethostbyaddr function is called with a 3176 host address as its parameter and is used 3177 primarily to determine a symbolic name to 3178 associate with the host address. Entries in 3179 the lookupResultsTable MUST be made for each 3180 host name returned. The official host name MUST 3181 be assigned a lookupResultsIndex of 1. 3183 The gethostbyname function is called with a 3184 symbolic host name and is used primarily to 3185 retrieve a host address. If possible the 3186 primary host address SHOULD be assigned a 3187 lookupResultsIndex of 1." 3188 ::= { lookupObjects 4 } 3190 lookupResultsEntry OBJECT-TYPE 3191 SYNTAX LookupResultsEntry 3192 MAX-ACCESS not-accessible 3193 STATUS current 3194 DESCRIPTION 3195 "Defines an entry in the lookupResultsTable. The 3196 initial 2 index elements identify the 3197 lookupCtlEntry that a lookupResultsEntry belongs 3198 to. The 3th index element selects a single 3199 lookup operation result." 3200 INDEX { 3201 lookupCtlOwnerIndex, 3202 lookupCtlOperationName, 3203 lookupResultsIndex 3204 } 3205 ::= { lookupResultsTable 1 } 3207 LookupResultsEntry ::= 3208 SEQUENCE { 3209 lookupResultsIndex Unsigned32, 3210 lookupResultsAddressType HostAddressType, 3211 lookupResultsAddress HostAddress 3212 } 3214 lookupResultsIndex OBJECT-TYPE 3215 SYNTAX Unsigned32 (1..'ffffffff'h) 3216 MAX-ACCESS not-accessible 3217 STATUS current 3218 DESCRIPTION 3219 "Entries in the lookupResultsTable are created when 3220 the result of a lookup operation is determined. 3222 Entries MUST be stored in the lookupResultsTable in 3223 the order that they are retrieved. Values assigned 3224 to lookupResultsIndex MUST start at 1 and increase 3225 in order." 3226 ::= { lookupResultsEntry 1 } 3228 lookupResultsAddressType OBJECT-TYPE 3229 SYNTAX HostAddressType 3230 MAX-ACCESS read-only 3231 STATUS current 3232 DESCRIPTION 3233 "Indicates the type of result of a remote lookup 3234 operation. A value of none(0) implies that 3235 either the operation hasn't been started or that 3236 it has failed." 3237 ::= { lookupResultsEntry 2 } 3239 lookupResultsAddress OBJECT-TYPE 3240 SYNTAX HostAddress 3241 MAX-ACCESS read-only 3242 STATUS current 3243 DESCRIPTION 3244 "Reflects a result for a remote lookup operation 3245 as per the value of lookupResultsAddressType." 3246 ::= { lookupResultsEntry 3 } 3248 -- Conformance information 3249 -- Compliance statements 3251 lookupCompliances OBJECT IDENTIFIER ::= { lookupConformance 1 } 3252 lookupGroups OBJECT IDENTIFIER ::= { lookupConformance 2 } 3254 -- Compliance statements 3256 lookupCompliance MODULE-COMPLIANCE 3257 STATUS current 3258 DESCRIPTION 3259 "The compliance statement for the DISMAN-NSLOOKUP-MIB." 3260 MODULE -- this module 3261 MANDATORY-GROUPS { 3262 lookupGroup 3263 } 3265 OBJECT lookupMaxConcurrentRequests 3266 MIN-ACCESS read-only 3267 DESCRIPTION 3268 "The agent is not required to support a SET 3269 operation to this object." 3271 OBJECT lookupPurgeTime 3272 MIN-ACCESS read-only 3273 DESCRIPTION 3274 "The agent is not required to support a SET 3275 operation to this object." 3276 ::= { lookupCompliances 1 } 3278 -- MIB groupings 3279 lookupGroup OBJECT-GROUP 3280 OBJECTS { 3281 lookupMaxConcurrentRequests, 3282 lookupPurgeTime, 3283 lookupCtlOperStatus, 3284 lookupCtlTargetAddressType, 3285 lookupCtlTargetAddress, 3286 lookupCtlTime, 3287 lookupCtlRc, 3288 lookupCtlRowStatus, 3289 lookupResultsAddressType, 3290 lookupResultsAddress 3291 } 3292 STATUS current 3293 DESCRIPTION 3294 "The group of objects that comprise the remote 3295 Lookup operation." 3296 ::= { lookupGroups 1 } 3298 END 3300 5.0 Security Considerations 3302 Certain management information in the MIBs defined by this document may 3303 be considered sensitive in some network environments. Therefore, 3304 authentication of received SNMP requests and controlled access to 3305 management information SHOULD be employed in such environments. The 3306 method for this authentication is a function of the SNMP Administrative 3307 Framework, and has not been expanded by this MIB. 3309 To facilitate the provisioning of access control by a security 3310 administrator using the View-Based Access Control Model (VACM) defined 3311 in RFC 2575 [11] for tables in which multiple users may need to 3312 independently create or modify entries, the initial index is used as an 3313 "owner index". Such an initial index has a syntax of SnmpAdminString, 3314 and can thus be trivially mapped to a securityName or groupName as 3315 defined in VACM, in accordance with a security policy. 3317 All entries in related tables belonging to a particular user will have 3318 the same value for this initial index. For a given user's entries in a 3319 particular table, the object identifiers for the information in these 3320 entries will have the same subidentifiers (except for the "column" 3321 subidentifier) up to the end of the encoded owner index. To configure 3322 VACM to permit access to this portion of the table, one would create 3323 vacmViewTreeFamilyTable entries with the value of 3324 vacmViewTreeFamilySubtree including the owner index portion, and 3325 vacmViewTreeFamilyMask "wildcarding" the column subidentifier. More 3326 elaborate configurations are possible. The VACM access control 3327 mechanism described above provides control 3329 In general both the ping and traceroute functions when used excessively 3330 are considered a form of system attack. In the case of ping sending a 3331 system requests too often can negatively effect its performance or 3332 attempting to connect to what is supposed to be an unused port can be 3333 very unpredictable. Excessive use of the traceroute capability can like 3334 ping negatively affect system performance. In insecure environments it 3335 is RECOMMENDED that the MIBs defined within this memo not be supported. 3337 6.0 Intellectual Property 3339 The IETF takes no position regarding the validity or scope of any 3340 intellectual property or other rights that might be claimed to pertain 3341 to the implementation or use of the technology described in this 3342 document or the extent to which any license under such rights might or 3343 might not be available; neither does it represent that it has made any 3344 effort to identify any such rights. Information on the IETF's 3345 procedures with respect to rights in standards-track and 3346 standards-related documentation can be found in BCP-11. Copies of 3347 claims of rights made available for publication and any assurances of 3348 licenses to be made available, or the result of an attempt made to 3349 obtain a general license or permission for the use of such proprietary 3350 rights by implementers or users of this specification can be obtained 3351 from the IETF Secretariat. 3353 The IETF invites any interested party to bring to its attention any 3354 copyrights, patents or patent applications, or other proprietary rights 3355 which may cover technology that may be required to practice this 3356 standard. Please address the information to the IETF Executive 3357 Director. 3359 7.0 Acknowledgments 3361 This document is a product of the DISMAN Working Group. 3363 8.0 References 3365 [1] Case, J., Fedor, M., Schoffstall, M. and J. Davin, "Simple Network 3366 Management Protocol", STD 15, RFC 1157, May 1990. 3368 [2] 3370 Postel, J., "Echo Protocol", RFC 862, ISI, May 1983. 3372 [3] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M. 3373 and Waldbusser, S., "Structure of Management Information Version 2 3374 (SMIv2)", STD 58, RFC 2578, April 1999. 3376 [4] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M. 3377 and Waldbusser, S., "Textual Conventions for SMIv2", STD 58, RFC 3378 2579, April 1999. 3380 [5] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M. 3381 and Waldbusser, S., "Conformance Statements for SMIv2", STD 58, RFC 3382 2580, April 1999. 3384 [6] Case, J., McCloghrie, K., Rose, M. and Waldbusser, S., "Protocol 3385 Operations for Version 2 of the Simple Network Management Protocol 3386 (SNMPv2)", RFC 1905, January 1996. 3388 [7] Harrington D., Presuhn, R., Wijnen, B., "An Architecture for 3389 Describing SNMP Management Frameworks", RFC 2571, April 1999. 3391 [8] Case, J., Harrington D., Presuhn, R., Wijnen, B., "Message 3392 Processing and Dispatching for the Simple Network Management 3393 Protocol (SNMP)", RFC 2572, April 1999. 3395 [9] Levi D., Meyer P., Stewart, B., "SNMPv3 Applications", RFC 2573, 3396 April 1999. 3398 [10] Blumenthal, U., Wijnen, B., "User-based Security Model (USM) for 3399 version 3 of the Simple Network Management Protocol (SNMPv3)", RFC 3400 2574, April 1999. 3402 [11] Wijnen, B., Presuhn, R., McCloghrie, K., "View-based Access Control 3403 Model (VACM) for the Simple Network Management Protocol (SNMP)", 3404 RFC 2575, April 1999. 3406 [12] Hovey, R. and Bradner, S., "The Organizations Involved in the IETF 3407 Standards Process", BCP 11, RFC 2028, October 1996. 3409 [13] Bradner, S., "Key words for use in RFCs to Indicate Requirement 3410 Levels", BCP 14, RFC 2119, March 1997. 3412 [14] Rose, M., and McCloghrie, K., "Structure and Identification of 3413 Management Information for TCP/IP-based Internets", RFC 1155, May 3414 1990. 3416 [15] Rose, M., and McCloghrie, K., "Concise MIB Definitions", RFC 1212, 3417 March 1991. 3419 [16] Rose, M., "A Convention for Defining Traps for use with the SNMP", 3420 RFC 1215, March 1991. 3422 [17] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, 3423 "Introduction to Community-based SNMPv2", RFC 1901, January 1996. 3425 [18] Case, J., McCloghrie, K., Rose, M., and Waldbusser, S., "Transport 3426 Mappings for Version 2 of the Simple Network Management Protocol 3427 (SNMPv2)", RFC 1906, January 1996. 3429 [19] Bradner, S., "The Internet Standards Process -- Revision 3", RFC 3430 2026, BCP 9, October 1996. 3432 [20.] Postel, J., "Internet Control Message Protocol", RFC 792, 3433 September 1981. 3435 [21.] Nichols, K., Blake, S., Baker, F., Black, D. "Definition of the 3436 Differentiated Services Field (DS Field) in the IPv4 and IPv6 3437 Headers", RFC 2474, December 1998 3439 9.0 Author's Address 3441 Kenneth D. White 3442 Dept. BRQA/Bldg. 501/G114 3443 IBM Corporation 3444 P.O.Box 12195 3445 3039 Cornwallis 3446 Research Triangle Park, NC 27709, USA 3447 E-mail: wkenneth@us.ibm.com 3449 10.0 Full Copyright Statement 3451 Copyright (C) The Internet Society (1999). All Rights Reserved. 3453 This document and translations of it may be copied and furnished to 3454 others, and derivative works that comment on or otherwise explain it or 3455 assist in its implementation may be prepared, copied, published and 3456 distributed, in whole or in part, without restriction of any kind, 3457 provided that the above copyright notice and this paragraph are included 3458 on all such copies and derivative works. However, this document itself 3459 may not be modified in any way, such as by removing the copyright notice 3460 or references to the Internet Society or other Internet organizations, 3461 except as needed for the purpose of developing Internet standards in 3462 which case the procedures for copyrights defined in the Internet 3463 Standards process must be followed, or as required to translate it into 3464 languages other than English. 3466 The limited permissions granted above are perpetual and will not be 3467 revoked by the Internet Society or its successors or assigns. 3469 This document and the information contained herein is provided on an "AS 3470 IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK 3471 FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT 3472 LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT 3473 INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR 3474 FITNESS FOR A PARTICULAR PURPOSE.