idnits 2.17.1 draft-ietf-disman-remops-mib-05.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: ---------------------------------------------------------------------------- ** Missing expiration date. The document expiration date should appear on the first and last page. ** 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 65 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 71 instances of weird spacing in the document. Is it really formatted ragged-right, rather than justified? ** There are 36 instances of too long lines in the document, the longest one being 4 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 503 has weird spacing: '... int h_a...' == Line 504 has weird spacing: '... int h_l...' == Line 509 has weird spacing: '...remote host ...' == Line 510 has weird spacing: '...s. It is n...' == Line 514 has weird spacing: '...tbyaddr funct...' == (66 more instances...) -- 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 (June 1999) is 9080 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) == Unused Reference: '12' is defined on line 3213, but no explicit reference was found in the text == Unused Reference: '19' is defined on line 3236, 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: 19 errors (**), 0 flaws (~~), 12 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: December 1999 5 June 1999 7 Definitions of Managed Objects for 8 Remote Ping, Traceroute, and 9 Lookup Operations Using SMIv2 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." 25 The list of current Internet-Drafts can be accessed at 26 http://www.ietf.org/ietf/1id-abstracts.txt 28 The list of Internet-Draft Shadow Directories can be accessed at 29 http://www.ietf.org/shadow.html. 31 Please check the I-D abstract listing contained in each Internet Draft 32 directory to learn the current status of this or any Internet Draft. 33 Distribution of this document is unlimited. 35 Copyright Notice 37 Copyright (C) The Internet Society (1999). All Rights Reserved. 39 Abstract 41 This memo defines Management Information Bases (MIBs) for performing 42 remote ping, traceroute and lookup operations at a remote host. When 43 managing a network it is useful to be able to initiate and retrieve the 44 results of ping or traceroute operations when performed at a remote 45 host. A Lookup capability is defined in order to enable resolving of 46 either an IP address to an DNS name or an DNS name to an IP address at a 47 remote host. 49 Currently, there exist several enterprise defined MIBs for performing 50 remote ping or traceroute operations. The purpose of this memo is to 51 defined a standards-based solution to enable interoperibility. 53 Table of Contents 55 1.0 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 2 57 2.0 The SNMP Network Management Framework . . . . . . . . . . . . 4 59 3.0 Structure of the MIBs . . . . . . . . . . . . . . . . . . . . 5 60 3.1 Ping MIB . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 61 3.1.1 pingMaxConcurrentRequests . . . . . . . . . . . . . . . . 6 62 3.1.2 pingCtlTable . . . . . . . . . . . . . . . . . . . . . . . 6 63 3.1.3 pingResultsTable . . . . . . . . . . . . . . . . . . . . . 7 64 3.1.4 pingProbeHistoryTable . . . . . . . . . . . . . . . . . . 7 65 3.2 Traceroute MIB . . . . . . . . . . . . . . . . . . . . . . . . 7 66 3.2.1 traceRouteMaxConcurrentRequests . . . . . . . . . . . . . 7 67 3.2.2 traceRouteCtlTable . . . . . . . . . . . . . . . . . . . . 7 68 3.2.3 traceRouteResultsTable . . . . . . . . . . . . . . . . . . 8 69 3.2.4 traceRouteProbeHistoryTable . . . . . . . . . . . . . . . 8 70 3.2.5 traceRouteHopsTable . . . . . . . . . . . . . . . . . . . 9 71 3.3 Lookup MIB . . . . . . . . . . . . . . . . . . . . . . . . . . 9 72 3.3.1 lookupMaxConcurrentRequests and lookupPurgeTime . . . . . 9 73 3.3.2 lookupCtlTable . . . . . . . . . . . . . . . . . . . . . . 9 74 3.3.3 lookupResultsTable . . . . . . . . . . . . . . . . . . . . 10 76 4.0 Definitions . . . . . . . . . . . . . . . . . . . . . . . . . 12 77 4.1 DISMAN-PING-MIB . . . . . . . . . . . . . . . . . . . . . . . 12 78 4.2 DISMAN-TRACEROUTE-MIB . . . . . . . . . . . . . . . . . . . . 31 79 4.3 DISMAN-NSLOOKUP-MIB . . . . . . . . . . . . . . . . . . . . . 53 81 5.0 Security Considerations . . . . . . . . . . . . . . . . . . . 62 83 6.0 Intellectual Property . . . . . . . . . . . . . . . . . . . . 62 85 7.0 Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 63 87 8.0 References . . . . . . . . . . . . . . . . . . . . . . . . . . 63 89 9.0 Author's Address . . . . . . . . . . . . . . . . . . . . . . . 64 91 10.0 Full Copyright Statement . . . . . . . . . . . . . . . . . . 64 93 1.0 Introduction 95 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 96 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 97 document are to be interpreted as described in RFC 2119, reference [13]. 99 This document is a product of the Distributed Management (DISMAN) 100 Working Group. Its purpose is to define standards-based MIB modules for 101 performing specific remote operations. The remote operations define by 102 this document consist of the ping, traceroute and lookup functions. 104 Ping and traceroute are two very useful functions for managing networks. 105 Ping is typically used to determine if a path exists between two hosts 106 while traceroute shows an actual path. Ping is usually implemented 107 using the InterNet Control Message Protocol (ICMP) "ECHO" facility. It 108 is also possible to implement a ping capability using alternate methods. 109 Some of which are: 111 o Using the udp echo port (7), if supported. 113 This is defined by RFC 862 [2]. 115 o Timing an SNMP query. 117 o Timing a TCP connect attempt. 119 In general, almost any request/response flow can be used to generate a 120 round-trip time. Often many of the non-ICMP ECHO facility methods stand 121 a better chance of yielding a good response (not timing out for example) 122 since some routers don't honor Echo Requests (timeout situation) or they 123 are handled at lower priority, hence possibly giving false indications 124 of round trip times. 126 It must be noted that almost any of the various methods used for 127 generating a round-trip time can be considered a form of system attack 128 when used excessively. Sending a system requests too often can 129 negatively effect its performance. Attempting to connect to what is 130 suppose to be an unused port can be very unpredictable. There are tools 131 that attempt to connect to a range of TCP ports to test that any 132 receiving server can handle erroneous connection attempts. 134 It also is important to the management application using a remote ping 135 capability to know which method is being used. Different methods will 136 yield different response times since the protocol and resulting 137 processing will be different. It is RECOMMENDED that the ping 138 capability defined within this memo be implemented using the ICMP Echo 139 Facility. 141 Traceroute is usually implemented by transmitting a series of probe 142 packets with increasing time-to-live values. A probe packet is a UDP 143 datagram encapsulated into an IP packet. Each hop in a path to the 144 target (destination) host rejects the probe packet (probe's TTL too 145 small) until its time-to-live value becomes large enough for the probe 146 to be forwarded. Each hop in a traceroute path returns an ICMP message 147 that is used to discovery the hop and to calculate a round trip time. 148 Some systems use icmp probes instead of udp ones to implement 149 traceroute. In both cases traceroute relies on the probes being 150 rejected via an ICMP message to discover the hops taken along a path to 151 the final destination. 153 Implementations of the remote traceroute capability as defined within 154 this memo MUST be done using UDP packets to a (hopefully) unused port. 155 ICMP Echo Request packets MUST NOT be used. Many PC implementations do 156 it incorrectly, which, in turn, causes intermediate hops to be invisible 157 when the router either refuses to send an ICMP TTL expired in response 158 to an incoming ICMP packet or simply tosses ICMP echo requests 159 altogether. 161 Both ping and traceroute yield round-trip times measured in 162 milliseconds. These times can be used as an rough approximation for 163 network transit time. 165 The Lookup operation enables the equivalent of either a gethostbyname() 166 or a gethostbyaddr() call being performed at a remote host. The Lookup 167 gethostbyname() capability can be used to determine the symbolic name of 168 a hop in a traceroute path. 170 Consider the following diagram: 172 +----------------------------------------------------------------------+ 173 | | 174 | Remote ping, traceroute, Actual ping, traceroute, | 175 | +-----+or Lookup op. +------+or Lookup op. +------+ | 176 | |Local|---------------->|Remote|---------------->|Target| | 177 | | Host| | Host | | Host | | 178 | +-----+ +------+ +------+ | 179 | | 180 | | 181 +----------------------------------------------------------------------+ 183 A local host is the host from which the remote ping, traceroute, or 184 Lookup operation is initiated from using an SNMP request. The remote 185 host is a host where the MIBs defined by this memo are implemented that 186 receives the remote operation via SNMP and performs the actual ping, 187 traceroute, or lookup function. 189 2.0 The SNMP Network Management Framework 191 The SNMP Management Framework presently consists of five major 192 components: 194 o An overall architecture, described in RFC 2571 [7]. 196 o Mechanisms for describing and naming objects and events for the 197 purpose of management. The first version of this Structure of 198 Management Information (SMI) is called SMIv1 and described in RFC 199 1155 [14], RFC 1212 [15] and RFC 1215 [16]. The second version, 200 called SMIv2, is described in RFC 2578 [3], RFC 2579 [4] and RFC 201 2580 [5]. 203 o Message protocols for transferring management information. The 204 first version of the SNMP message protocol is called SNMPv1 and 205 described in RFC 1157 [1]. A second version of the SNMP message 206 protocol, which is not an Internet standards track protocol, is 207 called SNMPv2c and described in RFC 1901 [17] and RFC 1906 [18]. 208 The third version of the message protocol is called SNMPv3 and 209 described in RFC 1906 [18], RFC 2572 [8] and RFC 2574 [10]. 211 o Protocol operations for accessing management information. The first 212 set of protocol operations and associated PDU formats is described 213 in RFC 1157 [1]. A second set of protocol operations and associated 214 PDU formats is described in RFC 1905 [6]. 216 o A set of fundamental applications described in RFC 2573 [9] and the 217 view-based access control mechanism described in RFC 2575 [11]. 219 Managed objects are accessed via a virtual information store, termed the 220 Management Information Base or MIB. Objects in the MIB are defined 221 using the mechanisms defined in the SMI. 223 This memo specifies MIB modules that are compliant to the SMIv2. A MIB 224 conforming to the SMIv1 can be produced through the appropriate 225 translations. The resulting translated MIB must be semantically 226 equivalent, except where objects or events are omitted because no 227 translation is possible (use of Counter64). Some machine readable 228 information in SMIv2 will be converted into textual descriptions in 229 SMIv1 during the translation process. However, this loss of machine 230 readable information is not considered to change the semantics of the 231 MIB. 233 3.0 Structure of the MIBs 235 This document defines three MIB modules: 237 o DISMAN-PING-MIB 239 Defines a ping MIB. 241 o DISMAN-TRACEROUTE-MIB 243 Defines a traceroute MIB. 245 o DISMAN-NSLOOKUP-MIB 247 Provides access to the resolver gethostbyname() and gethostbyaddr() 248 functions at a remote host. 250 The ping and traceroute MIBs are structured to allow creation of ping or 251 traceroute tests that can be setup to periodically issue a series of 252 operations and generate NOTIFICATIONs to report on test results. Many 253 network administrators have in the past written UNIX shell scripts or 254 command bat files to operate in a similar fashion to the functionality 255 provided by the ping and traceroute MIBs defined within this memo. The 256 intent of this document is to acknowledge the importance of these 257 functions and to provide a standards based solution. 259 3.1 Ping MIB 261 The DISMAN-PING-MIB consists of the following components: 263 o pingMaxConcurrentRequests 265 o pingCtlTable 267 o pingResultsTable 269 o pingProbeHistoryTable 271 3.1.1 pingMaxConcurrentRequests 273 The object pingMaxConcurrentRequests enable control of the maximum 274 number of concurrent active requests that an agent implementation 275 supports. It is permissible for an agent to either limit the maximum 276 upper range allowed for this object or to implement this object as 277 read-only with an implementation limit expressed as its value. 279 3.1.2 pingCtlTable 281 A remote ping test is started by setting pingCtlAdminStatus to 282 enabled(1). The associating pingCtlEntry MUST have been created and its 283 pingCtlRowStatus set to active(1) prior to starting the test. A single 284 SNMP PDU can be used to create and start a remote ping test. Within the 285 PDU pingCtlTargetAddress should be set to the target host's address 286 (pingCtlTargetAddressType will default to ipv4(3)), pingCtlAdminStatus 287 to enabled(1), and pingCtlRowStatus to createAndGo(4). 289 The 1st index element, pingCtlOwnerIndex, is of the SnmpAdminString 290 textual convention that allows for use of the SNMPv3 View-Based Access 291 Control Model (RFC 2575 [11], VACM) and allows an management application 292 to identify its entries. The 2nd index, pingCtlTestName (also an 293 SnmpAdminString), enables the same management application to have 294 multiple requests outstanding. 296 Using the maximum value for the parameters defined within an pingEntry 297 can result in a single remote ping test taking at most 15 minutes 298 (pingCtlTimeOut times pingCtlProbeCount) plus whatever time it takes to 299 send the ping request and receive its response over the network from the 300 target host. Use of the defaults for pingCtlTimeOut and 301 pingCtlProbeCount yields a maximum of 3 seconds to perform a "normal" 302 ping test. 304 A management application can delete an active remote ping request by 305 setting the corresponding pingCtlRowStatus object to destroy(6). 307 The contents of the pingCtlTable is preserved across reIPLs (Initial 308 Program Loads) of its agent according the values of each of the 309 pingCtlStorageType objects. 311 3.1.3 pingResultsTable 313 An entry in the pingResultsTable is created for a corresponding 314 pingCtlEntry once the test defined by this entry is started. 316 3.1.4 pingProbeHistoryTable 318 The results of past ping probes can be stored in this table on an per 319 pingCtlEntry basis. This table is initially indexed by 320 pingCtlOwnerIndex and pingCtlTestName in order for the results of a 321 probe to relate to the pingCtlEntry that caused it. The maximum number 322 of entries stored in this table per pingCtlEntry is determined by the 323 value of pingCtlMaxRows. 325 An implementation of this MIB will remove the oldest entry in the 326 pingProbeHistoryTable to allow the addition of an new entry once the 327 number of rows in the pingProbeHistoryTable reaches the value specified 328 by pingCtlMaxRows. An implementation MUST start assigning 329 pingProbeHistoryIndex values at 1 and wrap after exceeding the maximum 330 possible value. 332 3.2 Traceroute MIB 334 The DISMAN-TRACEROUTE-MIB consists of the following components: 336 o traceRouteMaxConcurrentRequests 338 o traceRouteCtlTable 340 o traceRouteResultsTable 342 o traceRouteProbeHistoryTable 344 o traceRouteHopsTable 346 3.2.1 traceRouteMaxConcurrentRequests 348 The object traceRouteMaxConcurrentRequests enables control of the 349 maximum number of concurrent active requests that an agent 350 implementation supports. It is permissible for an agent to either limit 351 the maximum upper range allowed for this object or to implement this 352 object as read-only with an implementation limit expressed as its value. 354 3.2.2 traceRouteCtlTable 356 A remote traceroute test is started by setting traceRouteCtlAdminStatus 357 to enabled(1). The associating traceRouteCtlEntry MUST have been 358 created and its traceRouteCtlRowStatus set to active(1) prior to 359 starting the test. A single SNMP PDU can be used to create and start a 360 remote traceroute test. Within the PDU traceRouteCtlTargetAddress 361 should be set to the target host's address 362 (traceRouteCtlTargetAddressType will default to ipv4(3)), 363 traceRouteCtlAdminStatus to enabled(1), and traceRouteCtlRowStatus to 364 createAndGo(4). 366 The 1st index element, traceRouteCtlOwnerIndex, is of the 367 SnmpAdminString textual convention that allows for use of the SNMPv3 368 View-Based Access Control Model (RFC 2575 [11], VACM) and allows an 369 management application to identify its entries. The 2nd index, 370 traceRouteCtlTestName (also an SnmpAdminString), enables the same 371 management application to have multiple requests outstanding. 373 Traceroute has a much longer theoretical maximum time for completion 374 then ping. Basically 42 hours and 30 minutes (the product of 375 traceRouteCtlTimeOut, traceRouteCtlProbesPerHop, and 376 traceRouteCtlMaxTtl) plus some network transit time! Use of the 377 defaults defined within an traceRouteCtlEntry yields a maximum of 4 378 minutes and 30 seconds for a default traceroute operation. Clearly 42 379 plus hours is too long to wait for a traceroute operation to complete. 381 The maximum TTL value in effect for traceroute determines how long the 382 traceroute function will keep increasing the TTL value in the probe it 383 transmits hoping to reach the target host. The function ends whenever 384 the maximum TTL is exceeded or the target host is reached. The object 385 traceRouteCtlMaxFailures was created in order to impose a throttle for 386 how long traceroute continues to increase the TTL field in a probe 387 without receiving any kind of response (timeouts). It is RECOMMENDED 388 that agent implementations impose a time limit for how long it allows a 389 traceroute operation to take relative to how the function is 390 implemented. For example, an implemented that can't process multiple 391 traceroute operations at the same time SHOULD impose a shorter maximum 392 allowed time period. 394 A management application can delete an active remote traceroute request 395 by setting the corresponding traceRouteCtlRowStatus object to 396 destroy(6). 398 The contents of the traceRouteCtlTable is preserved across reIPLs 399 (Initial Program Loads) of its agent according the values of each of the 400 traceRouteCtlStorageType objects. 402 3.2.3 traceRouteResultsTable 404 An entry in the traceRouteResultsTable is created upon determining the 405 results of a specific traceroute operation. Entries in this table 406 relate back to the traceRouteCtlEntry that caused the corresponding 407 traceroute operation to occur. The objects traceRouteResultsCurHopCount 408 and traceRouteResultsCurProbeCount can be examined to determine how far 409 the current remote traceroute operation has reached. 411 3.2.4 traceRouteProbeHistoryTable 412 The results of past traceroute probes can be stored in this table on an 413 per traceRouteCtlEntry basis. This table is initially indexed by 414 traceRouteCtlOwnerIndex and traceRouteCtlTestName in order for the 415 results of a probe to relate to the traceRouteCtlEntry that caused it. 416 The number of entries stored in this table per traceRouteCtlEntry is 417 determined by the value of traceRouteCtlMaxRows. 419 An implementation of this MIB will remove the oldest entry in the 420 traceRouteProbeHistoryTable to allow the addition of an new entry once 421 the number of rows in the traceRouteProbeHistoryTable reaches the value 422 of traceRouteCtlMaxRows. An implementation MUST start assigning 423 traceRouteProbeHistoryIndex values at 1 and wrap after exceeding the 424 maximum possible value. 426 3.2.5 traceRouteHopsTable 428 The current traceroute path can be stored in this table on an per 429 traceRouteCtlEntry basis. This table is initially indexed by 430 traceRouteCtlOwnerIndex and traceRouteCtlTestName in order for a 431 traceroute path to relate to the traceRouteCtlEntry that caused it. A 432 third index, traceRouteHopsHopIndex, enables keeping one 433 traceRouteHopsEntry per traceroute hop. Creation of 434 traceRouteHopsTable entries is enabled by setting the corresponding 435 traceRouteCtlCreateHopsEntries object to true(1). 437 3.3 Lookup MIB 439 The DISMAN-NSLOOKUP-MIB consists of the following components: 441 o lookupMaxConcurrentRequests, and lookupPurgeTime 443 o lookupCtlTable 445 o lookupResultsTable 447 3.3.1 lookupMaxConcurrentRequests and lookupPurgeTime 449 The object lookupMaxConcurrentRequests enable control of the maximum 450 number of concurrent active requests that an agent implementation is 451 structured to support. It is permissible for an agent to either limit 452 the maximum upper range allowed for this object or to implement this 453 object as read-only with an implementation limit expressed as its value. 455 The object lookupPurgeTime provides a method for entries in the 456 lookupCtlTable and lookupResultsTable to be automatically deleted after 457 the associating operation completes. 459 3.3.2 lookupCtlTable 461 A remote lookup operation is initiated by performing an SNMP SET request 462 on lookupCtlRowStatus. A single SNMP PDU can be used to create and 463 start a remote lookup operation. Within the PDU lookupCtlTargetAddress 464 should be set to the entity to be resolved (lookupCtlTargetAddressType 465 will default to ipv4(3)) and lookupCtlRowStatus to createAndGo(4). The 466 object lookupCtlOperStatus can be examined to determine the state of an 467 lookup operation. A management application can delete an active remote 468 lookup request by setting the corresponding lookupCtlRowStatus object to 469 destroy(6). 471 An lookupCtlEntry is initially indexed by lookupCtlOwnerIndex, which is 472 of the SnmpAdminString textual convention that allows for use of the 473 SNMPv3 View-Based Access Control Model (RFC 2575 [11], VACM) and also 474 allows for a management application to identify its entries. The 475 lookupCtlOwnerIndex portion of the index is then followed by 476 lookupCtlOperationName. The lookupCtlOperationName index enables the 477 same lookupCtlOwnerIndex entity to have multiple outstanding requests. 479 The value of lookupCtlTargetAddressType determines which lookup function 480 to perform. Specification of dnsName(2) as the value of this index 481 implies that the gethostbyname function should be performed to determine 482 the numeric addresses associated with a symbolic name via 483 lookupResultsTable entries. Use of a value of either ipv4(3) or ipv6(4) 484 implies that the gethostbyaddr function should be performed to determine 485 the symbolic name(s) associated with a numeric address at a remote host. 487 3.3.3 lookupResultsTable 489 The lookupResultsTable is used to store the results of lookup 490 operations. The lookupResultsTable is initially indexed by the same 491 index elements that the lookupCtlTable contains (lookupCtlOwnerIndex and 492 lookupCtlOperationName) but has a third index element, 493 lookupResultsIndex (Unsigned32 textual convention), in order to 494 associate multiple results with the same lookupCtlEntry. 496 Both the gethostbyname and gethostbyaddr functions typically return a 497 pointer to a hostent structure after being called. The hostent 498 structure is defined as: 500 struct hostent { 501 char *h_name; /* offical host name */ 502 char *h_aliases[]; /* list of other aliases */ 503 int h_addrtype; /* host address type */ 504 int h_length; /* length of host address */ 505 char **h_addr_list; /* list of address for host */ 506 }; 508 The hostent structure is listed here in order to address the fact that a 509 remote host can be multi-homed and can have multiple symbolic (DNS) 510 names. It is not intended to imply that implementation of the 511 DISMAN-LOOKUP-MIB are limited to systems where the hostent structure is 512 supported. 514 The gethostbyaddr function is called with a host address as its 515 parameter and is used primarily to determine a symbolic name to 516 associate with the host address. Entries in the lookupResultsTable MUST 517 be made for each host name return. The official host name MUST be 518 assigned a lookupResultsIndex of 1. 520 The gethostbyname function is called with a symbolic host name and is 521 used primarily to retrieve a host address. Normally, the first 522 h_addr_list host address is considered to be the primary address and as 523 such is associated with the symbolic name passed on the call. 525 Entries MUST be stored in the lookupResultsTable in the order that they 526 are retrieved. Values assigned to lookupResultsIndex MUST start at 1 527 and increase in order. 529 An implementation SHOULD NOT retain SNMP-created entries in the 530 lookupTable across reIPLs (Initial Program Loads) of its agent, since 531 management applications need to see consistent behavior with respect to 532 the persistence of the table entries that they create. 534 4.0 Definitions 536 4.1 DISMAN-PING-MIB 538 DISMAN-PING-MIB DEFINITIONS ::= BEGIN 540 IMPORTS 541 MODULE-IDENTITY, OBJECT-TYPE, Integer32, 542 experimental, Counter32, Unsigned32, 543 NOTIFICATION-TYPE, OBJECT-IDENTITY 544 FROM SNMPv2-SMI -- RFC2578 545 TEXTUAL-CONVENTION, RowStatus, 546 StorageType, DateAndTime 547 FROM SNMPv2-TC -- RFC2579 548 MODULE-COMPLIANCE, OBJECT-GROUP, 549 NOTIFICATION-GROUP 550 FROM SNMPv2-CONF -- RFC2580 551 SnmpAdminString 552 FROM SNMP-FRAMEWORK-MIB; -- RFC2571 554 pingMIB MODULE-IDENTITY 555 LAST-UPDATED "9906050000Z" 556 ORGANIZATION "IETF Distributed Management Working Group" 557 CONTACT-INFO 558 "Kenneth White 560 International Business Machines Corporation 561 Network Computing Software Division 562 Research Triangle Park, NC, USA 564 E-mail: wkenneth@us.ibm.com" 565 DESCRIPTION 566 "The Ping MIB (DISMAN-PING-MIB) provides the capability of 567 controlling the use of the ping function at a remote 568 host." 569 -- Note: This OID should be reassigned by IANA when the internet-draft 570 -- containing this MIB module is issued as an RFC. 571 ::= { experimental 84 1 } 573 -- Textual Conventions 575 HostAddressType ::= TEXTUAL-CONVENTION 576 STATUS current 577 DESCRIPTION 578 "The textual convention for defining the type of 579 a destination address." 580 SYNTAX INTEGER { 581 none(1), 582 dnsName(2), -- Utf8string encoded DNS name 583 ipv4(3), -- ipv4 address 584 ipv6(4) -- ipv6 address 585 } 587 HostAddress ::= TEXTUAL-CONVENTION 588 STATUS current 589 DESCRIPTION 590 "The textual convention for specifying a host 591 address. The type of address can be determined 592 by examining the value of the preceding 593 HostAddressType object: 595 HostAddressType OCTETs ADDRESS TYPE 596 none(0) 0 not specified 597 dnsName(2) 1-255 DNS name 598 ipv4(3) 4 ipv4 599 ipv6(4) 16 ipv6" 600 SYNTAX OCTET STRING (SIZE (0..255)) 602 IpHostAddress ::= TEXTUAL-CONVENTION 603 STATUS current 604 DESCRIPTION 605 "The textual convention for specifying an IP host 606 address. The type of address can be determined 607 by the octet string length: 609 OCTETs ADDRESS TYPE 610 0 not specified 611 4 ipv4 612 16 ipv6" 613 SYNTAX OCTET STRING (SIZE (0..16)) 615 OperationResponseStatus ::= TEXTUAL-CONVENTION 616 STATUS current 617 DESCRIPTION 618 "Used to report the result of an operation: 620 responseReceived(1) - Operation completes successfully. 621 unknown(2) - Operation failed due to unknown error. 622 internalError(3) - An implementation detected an error 623 in its own processing that caused an operation 624 to fail. 625 requestTimedOut(4) - Operation failed to receive a 626 valid reply within the time limit imposed on it. 627 unknownDestinationAddress(5) - Invalid destination 628 address. 629 noRouteToTarget(6) - Could not find a route to target. 630 interfaceInactiveToTarget(7) - The interface to be 631 used in sending a probe is inactive without an 632 alternate route existing. 633 arpFailure(8) - Unable to resolve a target address to a 634 media specific address. 635 maxConcurrentLimitReached(9) - The maximum number of 636 concurrent active operations would have been exceeded 637 if the associating operation was allowed. 638 unableToResolveDnsName(10) - The DNS name specified was 639 unable to be mapped to an IP address. 641 invalidHostAddress(11) - The IP address for a host 642 has been determined to be invalid. Examples of this 643 are broadcast or multicast addresses." 644 SYNTAX INTEGER { 645 responseReceived(1), 646 unknown(2), 647 internalError(3), 648 requestTimedOut(4), 649 unknownDestinationAddress(5), 650 noRouteToTarget(6), 651 interfaceInactiveToTarget(7), 652 arpFailure(8), 653 maxConcurrentLimitReached(9), 654 unableToResolveDnsName(10) 655 } 657 -- Top level structure of the MIB 659 pingNotifications OBJECT IDENTIFIER ::= { pingMIB 0 } 660 pingObjects OBJECT IDENTIFIER ::= { pingMIB 1 } 661 pingConformance OBJECT IDENTIFIER ::= { pingMIB 2 } 663 -- The registration node (point) for ping implementation types 665 pingImplementationTypeDomains OBJECT IDENTIFIER ::= { pingMIB 3 } 666 -- Note: Additional implementation types SHOULD be allocated as 667 -- required by implementers of the DISMAN-PING-MIB under their 668 -- enterprise specific registration point and not beneath 669 -- pingImplementationTypeDomains. 671 pingIcmpEcho OBJECT-IDENTITY 672 STATUS current 673 DESCRIPTION 675 "Indicates that an implementation is using the InterNet 676 Control Message Protocol (ICMP) 'ECHO' facility." 677 ::= { pingImplementationTypeDomains 1 } 679 pingUdpEcho OBJECT-IDENTITY 680 STATUS current 681 DESCRIPTION 682 "Indicates that an implementation is using the udp echo 683 port (7)." 684 REFERENCE 685 "RFC 862, 'Echo Protocol'." 686 ::= { pingImplementationTypeDomains 2 } 688 pingSnmpQuery OBJECT-IDENTITY 689 STATUS current 690 DESCRIPTION 691 "Indicates that an implementation is an SNMP query to 692 calculate a round trip time." 694 ::= { pingImplementationTypeDomains 3 } 696 pingTcpConnectionAttempt OBJECT-IDENTITY 697 STATUS current 698 DESCRIPTION 699 "Indicates that an implementation is attempting to 700 connect to a TCP port in order to calculate a round 701 trip time." 702 ::= { pingImplementationTypeDomains 4 } 704 -- Simple Object Definitions 706 pingMaxConcurrentRequests OBJECT-TYPE 707 SYNTAX Unsigned32 708 UNITS "requests" 709 MAX-ACCESS read-write 710 STATUS current 711 DESCRIPTION 712 "The maximum number of concurrent active ping requests 713 that are allowed within an agent implementation. A value 714 of 0 for this object implies that there is no limit for 715 the number of concurrent active requests in effect." 716 DEFVAL { 10 } 717 ::= { pingObjects 1 } 719 -- Ping Control Table 721 pingCtlTable OBJECT-TYPE 722 SYNTAX SEQUENCE OF PingCtlEntry 723 MAX-ACCESS not-accessible 724 STATUS current 725 DESCRIPTION 726 "Defines the ping Control Table for provide, via SNMP, 727 the capability of performing ping operations at 728 a remote host. The results of these operations are 729 stored in the pingResultsTable and the pingProbeHistoryTable." 730 ::= { pingObjects 2 } 732 pingCtlEntry OBJECT-TYPE 733 SYNTAX PingCtlEntry 734 MAX-ACCESS not-accessible 735 STATUS current 736 DESCRIPTION 737 "Defines an entry in the pingCtlTable. The 1st index 738 element, pingCtlOwnerIndex, is of the SnmpAdminString 739 textual convention that allows for use of the SNMPv3 740 View-Based Access Control Model (RFC 2575 [11], VACM) 741 and allows an management application to identify its 742 entries. The 2nd index, pingCtlTestName (also an 743 SnmpAdminString), enables the same management 744 application to have multiple outstanding requests." 745 INDEX { 746 pingCtlOwnerIndex, 747 pingCtlTestName 748 } 749 ::= { pingCtlTable 1 } 751 PingCtlEntry ::= 752 SEQUENCE { 753 pingCtlOwnerIndex SnmpAdminString, 754 pingCtlTestName SnmpAdminString, 755 pingCtlTargetAddressType HostAddressType, 756 pingCtlTargetAddress HostAddress, 757 pingCtlDataSize Unsigned32, 758 pingCtlTimeOut Unsigned32, 759 pingCtlProbeCount Unsigned32, 760 pingCtlAdminStatus INTEGER, 761 pingCtlDataFill OCTET STRING, 762 pingCtlFrequency Unsigned32, 763 pingCtlMaxRows Unsigned32, 764 pingCtlStorageType StorageType, 765 pingCtlTrapGeneration BITS, 766 pingCtlTrapFilter Unsigned32, 767 pingCtlType OBJECT IDENTIFIER, 768 pingCtlDescr SnmpAdminString, 769 pingCtlRowStatus RowStatus 770 } 772 pingCtlOwnerIndex OBJECT-TYPE 773 SYNTAX SnmpAdminString (SIZE(0..32)) 774 MAX-ACCESS not-accessible 775 STATUS current 776 DESCRIPTION 777 "To facilitate the provisioning of access control by a security 778 administrator using the View-Based Access Control Model (RFC 2575, 779 VACM) for tables in which multiple users may need to independently 780 create or modify entries, the initial index is used as an 'owner 781 index'. Such an initial index has a syntax of SnmpAdminString, 782 and can thus be trivially mapped to a securityName or groupName 783 as defined in VACM, in accordance with a security policy. 785 When used in conjunction with such a security policy all entries 786 in the table belonging to a particular user (or group) will 787 have the same value for this initial index. For a given user's 788 entries in a particular table, the object identifiers for the 789 information in these entries will have the same subidentifiers 790 (except for the 'column' subidentifier) up to the end of the 791 encoded owner index. To configure VACM to permit access to this 792 portion of the table, one would create vacmViewTreeFamilyTable 793 entries with the value of vacmViewTreeFamilySubtree including the 794 owner index portion, and vacmViewTreeFamilyMask 'wildcarding' the 795 column subidentifier. More elaborate configurations are 796 possible." 797 ::= { pingCtlEntry 1 } 799 pingCtlTestName OBJECT-TYPE 800 SYNTAX SnmpAdminString (SIZE(0..32)) 801 MAX-ACCESS not-accessible 802 STATUS current 803 DESCRIPTION 804 "The name of the ping test. This is locally unique, within 805 the scope of an pingCtlOwnerIndex." 806 ::= { pingCtlEntry 2 } 808 pingCtlTargetAddressType OBJECT-TYPE 809 SYNTAX HostAddressType 810 MAX-ACCESS read-create 811 STATUS current 812 DESCRIPTION 813 "Specifies the type of host address to be used at a remote host 814 for performing a ping operation." 815 DEFVAL { ipv4 } 816 ::= { pingCtlEntry 3 } 818 pingCtlTargetAddress OBJECT-TYPE 819 SYNTAX HostAddress 820 MAX-ACCESS read-create 821 STATUS current 822 DESCRIPTION 823 "Specifies the host address to be used at a remote host for 824 performing a ping operation. The host address type is 825 determined by the object value of corresponding 826 pingCtlTargetAddressType. 828 A value for this object MUST be set prior to transitioning 829 its corresponding pingCtlEntry to active(1) via 830 pingCtlRowStatus." 831 ::= { pingCtlEntry 4 } 833 pingCtlDataSize OBJECT-TYPE 834 SYNTAX Unsigned32 (0..65507) 835 UNITS "octets" 836 MAX-ACCESS read-create 837 STATUS current 838 DESCRIPTION 839 "Specifies the size of the data portion to be 840 transmitted in a ping operation in octets. A ping 841 request is usually an ICMP message encoded 842 into an IP packet. An IP packet has a maximum size 843 of 65535 octets. Subtracting the size of the ICMP 844 header (8 octets) and the size of the IP header 845 (20 octets) yields a maximum size of 65507 octets." 846 DEFVAL { 0 } 847 ::= { pingCtlEntry 5 } 849 pingCtlTimeOut OBJECT-TYPE 850 SYNTAX Unsigned32 (1..60) 851 UNITS "seconds" 852 MAX-ACCESS read-create 853 STATUS current 854 DESCRIPTION 855 "Specifies the time-out value, in seconds, for an 856 remote ping operation." 857 DEFVAL { 3 } 858 ::= { pingCtlEntry 6 } 860 pingCtlProbeCount OBJECT-TYPE 861 SYNTAX Unsigned32 (1..15) 862 UNITS "probes" 863 MAX-ACCESS read-create 864 STATUS current 865 DESCRIPTION 866 "Specifies the number of times to perform a ping 867 operation at a remote host." 868 DEFVAL { 1 } 869 ::= { pingCtlEntry 7 } 871 pingCtlAdminStatus OBJECT-TYPE 872 SYNTAX INTEGER { 873 enabled(1), -- test should be started 874 disabled(2) -- test should be stop 875 } 876 MAX-ACCESS read-create 877 STATUS current 878 DESCRIPTION 879 "Reflects the desired state that a pingCtlEntry should be 880 in: 882 enabled(1) - Attempt to activate the test as defined by 883 this pingCtlEntry. 884 disabled(2) - Deactivate the test as defined by this 885 pingCtlEntry. 887 Refer to the corresponding pingResultsOperStatus to 888 determine the operational state of the test defined by 889 this entry." 890 DEFVAL { disabled } 891 ::= { pingCtlEntry 8 } 893 pingCtlDataFill OBJECT-TYPE 894 SYNTAX OCTET STRING (SIZE(0..1024)) 895 MAX-ACCESS read-create 896 STATUS current 897 DESCRIPTION 898 "The content of this object is used together with the 899 corresponding pingCtlDataSize value to determine how to 900 fill the data portion of a probe packet. The option of 901 selecting a data fill pattern can be useful when links 902 are compressed or have data pattern sensitivities. The 903 contents of pingCtlDataFill should be repeated in a ping 904 packet when the size of the data portion of the ping 905 packet is greater than the size of pingCtlDataFill." 906 DEFVAL { '00'H } 907 ::= { pingCtlEntry 9 } 909 pingCtlFrequency OBJECT-TYPE 910 SYNTAX Unsigned32 911 UNITS "seconds" 912 MAX-ACCESS read-create 913 STATUS current 914 DESCRIPTION 915 "The number of seconds to wait before repeating a ping test 916 as defined by the value of the various objects in the 917 corresponding row. 919 A single ping test consists of a series of ping probes. 920 The number of probes is determined by the value of the 921 corresponding pingCtlProbeCount object. After a single 922 test completes the number of seconds as defined by the 923 value of pingCtlFrequency MUST elapse before the 924 next ping test is started. 926 A value of 0 for this object implies that the test 927 as defined by the corresponding entry will not be 928 repeated." 929 DEFVAL { 0 } 930 ::= { pingCtlEntry 10 } 932 pingCtlMaxRows OBJECT-TYPE 933 SYNTAX Unsigned32 934 UNITS "rows" 935 MAX-ACCESS read-create 936 STATUS current 937 DESCRIPTION 938 "The maximum number of entries allowed in the 939 pingProbeHistoryTable. An implementation of this 940 MIB will remove the oldest entry in the 941 pingProbeHistoryTable to allow the addition of an 942 new entry once the number of rows in the 943 pingProbeHistoryTable reaches this value. 945 Old entries are not removed when a new test is 946 started. Entries are added to the pingProbeHistoryTable 947 until pingCtlMaxRows is reached before entries begin to 948 be removed. 950 A value of 0 for this object disables creation of 951 pingProbeHistoryTable entries." 952 DEFVAL { 50 } 953 ::= { pingCtlEntry 11 } 955 pingCtlStorageType OBJECT-TYPE 956 SYNTAX StorageType 957 MAX-ACCESS read-create 958 STATUS current 959 DESCRIPTION 960 "The storage type for this conceptual row. 961 Conceptual rows having the value 'permanent' need not 962 allow write-access to any columnar objects in the row." 963 DEFVAL { nonVolatile } 964 ::= { pingCtlEntry 12 } 966 pingCtlTrapGeneration OBJECT-TYPE 967 SYNTAX BITS { 968 probeFailure(0), 969 testFailure(1), 970 testCompletion(2) 971 } 972 MAX-ACCESS read-create 973 STATUS current 974 DESCRIPTION 975 "The value of this object determines when and if to 976 to generation a notification for this entry: 978 probeFailure(0) - Generate a pingProbeFailed 979 notification subject to the value of 980 pingCtlTrapFilter. pingCtlTrapFilter can be used 981 to specify the number of successive probe failures 982 that are required before a pingProbeFailed 983 notification can be generated. 984 testFailure(1) - Generate a pingTestFailed 985 notification. In this instance pingCtlTrapFilter 986 should specify the number of probe failures 987 required in a test to have failed in order to 988 considered the test as failed. 989 testCompletion(2) - Generate a pingTestCompleted 990 notification. 992 The value of this object defaults to zero, indicating 993 that none of the above options have been selected." 994 ::= { pingCtlEntry 13 } 996 pingCtlTrapFilter OBJECT-TYPE 997 SYNTAX Unsigned32 (0..15) 998 MAX-ACCESS read-create 999 STATUS current 1000 DESCRIPTION 1001 "The value of this object is used to determine when 1002 to generate either a pingProbeFailed or a 1003 pingTestFailed NOTIFICATION. Which NOTIFICATION 1004 to generate is determined by the value of 1005 pingCtlTrapGeneration. 1007 Setting pingCtlTrapGeneration 1008 to probeFailure(2) implies that a pingProbeFailed 1009 NOTIFICATION is generated only when the number of 1010 successive probe failures as indicated by the 1011 value of pingCtlTrapFilter fail within a given ping 1012 test. 1014 Setting pingCtlTrapGeneration to testFailure(3) 1015 implies that a pingTestFailed NOTIFICATION is 1016 generated only when the number of ping failures 1017 within a test exceed the value of 1018 pingCtlTrapFilter." 1019 DEFVAL { 1 } 1020 ::= { pingCtlEntry 14 } 1022 pingCtlType OBJECT-TYPE 1023 SYNTAX OBJECT IDENTIFIER 1024 MAX-ACCESS read-create 1025 STATUS current 1026 DESCRIPTION 1027 "The value of this object is used to either report or 1028 select the implementation method to be used for 1029 calculating a ping response time. The value 1030 of this object MUST be selected from 1031 pingImplementationTypeDomains." 1032 DEFVAL { pingIcmpEcho } 1033 ::= { pingCtlEntry 15 } 1035 pingCtlDescr OBJECT-TYPE 1036 SYNTAX SnmpAdminString 1037 MAX-ACCESS read-create 1038 STATUS current 1039 DESCRIPTION 1040 "The purpose of this object is to provide a 1041 descriptive name of the remote ping 1042 test." 1043 DEFVAL { '00'H } 1044 ::= { pingCtlEntry 16 } 1046 pingCtlRowStatus OBJECT-TYPE 1047 SYNTAX RowStatus 1048 MAX-ACCESS read-create 1049 STATUS current 1050 DESCRIPTION 1051 "This object allows entries to be created and deleted 1052 in the pingCtlTable. Deletion of an entry in this 1053 table results in all corresponding (same 1054 pingCtlOwnerIndex and pingCtlTestName index values) 1055 pingResultsTable and pingProbeHistoryTable entries 1056 being deleted. 1058 A value MUST be specified for pingCtlTargetAddress 1059 prior to a transition to active(1) state being 1060 accepted. 1062 Activation of a remote ping operation is controlled 1063 via pingCtlAdminStatus and not by transitioning of 1064 this object's value to active(1). 1066 Transitions in and out of active(1) state are not 1067 allowed while an entry's pingResultsOperStatus is 1068 active(1) with the exception that deletion of 1069 an entry in this table by setting its RowStatus 1070 object to destroy(6) will stop an active 1071 ping operation. 1073 The operational state of an ping operation 1074 can be determined by examination of it's 1075 pingResultsOperStatus object." 1076 REFERENCE 1077 "RFC 2579, 'Textual Conventions for SMIv2.'" 1078 ::= { pingCtlEntry 17 } 1080 -- Ping Results Table 1082 pingResultsTable OBJECT-TYPE 1083 SYNTAX SEQUENCE OF PingResultsEntry 1084 MAX-ACCESS not-accessible 1085 STATUS current 1086 DESCRIPTION 1087 "Defines the Ping Results Table for providing 1088 the capability of performing ping operations at 1089 a remote host. The results of these operations are 1090 stored in the pingResultsTable and the pingPastProbeTable. 1092 An entry is added to the pingResultsTable when an 1093 pingCtlEntry is started by successful transition 1094 of its pingCtlAdminStatus object to enabled(1). 1095 An entry is removed from the pingResultsTable when 1096 its associating pingCtlEntry is deleted." 1097 ::= { pingObjects 3 } 1099 pingResultsEntry OBJECT-TYPE 1100 SYNTAX PingResultsEntry 1101 MAX-ACCESS not-accessible 1102 STATUS current 1103 DESCRIPTION 1104 "Defines an entry in the pingResultsTable. The 1105 pingResultsTable has the same indexing as the 1106 pingCtlTable in order for an pingResultsEntry to 1107 correspond to the pingCtlEntry that caused it to 1108 be created." 1109 INDEX { 1110 pingCtlOwnerIndex, 1111 pingCtlTestName 1112 } 1113 ::= { pingResultsTable 1 } 1115 PingResultsEntry ::= 1116 SEQUENCE { 1117 pingResultsOperStatus INTEGER, 1118 pingResultsIpTargetAddress IpHostAddress, 1119 pingResultsMinRtt Unsigned32, 1120 pingResultsMaxRtt Unsigned32, 1121 pingResultsAverageRtt Unsigned32, 1122 pingResultsProbeResponses Counter32, 1123 pingResultsSentProbes Counter32, 1124 pingResultsRttSumOfSquares Unsigned32, 1125 pingResultsLastGoodProbe DateAndTime 1126 } 1128 pingResultsOperStatus OBJECT-TYPE 1129 SYNTAX INTEGER { 1130 enabled(1), -- test is in progress 1131 disabled(2) -- test has stopped 1132 } 1133 MAX-ACCESS read-only 1134 STATUS current 1135 DESCRIPTION 1136 "Reflects the operational state of an pingCtlEntry: 1138 enabled(1) - Test is active. 1139 disabled(2) - Test has stopped." 1140 ::= { pingResultsEntry 1 } 1142 pingResultsIpTargetAddress OBJECT-TYPE 1143 SYNTAX IpHostAddress 1144 MAX-ACCESS read-only 1145 STATUS current 1146 DESCRIPTION 1147 "This objects reports the IP address associated 1148 with a pingCtlTargetAddress value when the destination 1149 address is specified as a DNS name. The value of 1150 this object should be a zero length octet string 1151 when a DNS name is not specified or when a 1152 specified DNS name fails to resolve." 1153 ::= { pingResultsEntry 2 } 1155 pingResultsMinRtt OBJECT-TYPE 1156 SYNTAX Unsigned32 1157 UNITS "milliseconds" 1158 MAX-ACCESS read-only 1159 STATUS current 1160 DESCRIPTION 1161 "The minimum ping round-trip-time (RTT) received. A value 1162 of 0 for this object implies that no RTT has been received." 1163 ::= { pingResultsEntry 3 } 1165 pingResultsMaxRtt OBJECT-TYPE 1166 SYNTAX Unsigned32 1167 UNITS "milliseconds" 1168 MAX-ACCESS read-only 1169 STATUS current 1170 DESCRIPTION 1171 "The maximum ping round-trip-time (RTT) received. A value 1172 of 0 for this object implies that no RTT has been received." 1173 ::= { pingResultsEntry 4 } 1175 pingResultsAverageRtt OBJECT-TYPE 1176 SYNTAX Unsigned32 1177 UNITS "milliseconds" 1178 MAX-ACCESS read-only 1179 STATUS current 1180 DESCRIPTION 1181 "The current average ping round-trip-time (RTT)." 1182 ::= { pingResultsEntry 5 } 1184 pingResultsProbeResponses OBJECT-TYPE 1185 SYNTAX Counter32 1186 UNITS "responses" 1187 MAX-ACCESS read-only 1188 STATUS current 1189 DESCRIPTION 1190 "Number of responses received for the corresponding 1191 pingCtlEntry and pingResultsEntry. The value of this object 1192 MUST be reported as 0 when no probe responses have been 1193 received." 1194 ::= { pingResultsEntry 6 } 1196 pingResultsSentProbes OBJECT-TYPE 1197 SYNTAX Counter32 1198 UNITS "probes" 1199 MAX-ACCESS read-only 1200 STATUS current 1201 DESCRIPTION 1202 "The value of this object reflects the number of probes sent 1203 for the corresponding pingCtlEntry and pingResultsEntry. 1204 The value of this object MUST be reported as 0 when no probes 1205 have been sent." 1206 ::= { pingResultsEntry 7 } 1208 pingResultsRttSumOfSquares OBJECT-TYPE 1209 SYNTAX Unsigned32 1210 UNITS "milliseconds" 1211 MAX-ACCESS read-only 1212 STATUS current 1213 DESCRIPTION 1214 "This object contains the sum of the squares for all ping 1215 responses received. Its purpose is to enable standard 1216 deviation calculation. The value of this object MUST 1217 be reported as 0 when no ping responses have been 1218 received." 1219 ::= { pingResultsEntry 8 } 1221 pingResultsLastGoodProbe OBJECT-TYPE 1222 SYNTAX DateAndTime 1223 MAX-ACCESS read-only 1224 STATUS current 1225 DESCRIPTION 1226 "Date and time was the last response was received for a probe." 1227 ::= { pingResultsEntry 9 } 1229 -- Ping Probe History Table 1231 pingProbeHistoryTable OBJECT-TYPE 1232 SYNTAX SEQUENCE OF PingProbeHistoryEntry 1233 MAX-ACCESS not-accessible 1234 STATUS current 1235 DESCRIPTION 1236 "Defines a table for storing the results of a ping 1237 operation. Entries in this table is limited by 1238 the value of the corresponding pingCtlMaxRows 1239 object. 1241 An entry in this table is created when the result of 1242 a ping probe is determined. The initial 2 instance 1243 identifier index values identify the pingCtlEntry 1244 that a probe result (pingProbeHistoryEntry) belongs 1245 to. An entry is removed from this table when 1246 its associating pingCtlEntry is deleted. 1248 An implementation of this MIB will remove the oldest 1249 entry in the pingProbeHistoryTable to allow the 1250 addition of an new entry once the number of rows in 1251 the pingProbeHistoryTable reaches the value specified 1252 by pingCtlMaxRows." 1253 ::= { pingObjects 4 } 1255 pingProbeHistoryEntry OBJECT-TYPE 1256 SYNTAX PingProbeHistoryEntry 1257 MAX-ACCESS not-accessible 1258 STATUS current 1259 DESCRIPTION 1260 "Defines an entry in the pingProbeHistoryTable. 1261 The first two index elements identify the 1262 pingCtlEntry that a pingProbeHistoryEntry belongs 1263 to. The 3rd index element selects a single 1264 probe result." 1265 INDEX { 1266 pingCtlOwnerIndex, 1267 pingCtlTestName, 1268 pingProbeHistoryIndex 1269 } 1270 ::= { pingProbeHistoryTable 1 } 1272 PingProbeHistoryEntry ::= 1273 SEQUENCE { 1274 pingProbeHistoryIndex Unsigned32, 1275 pingProbeHistoryResponse Integer32, 1276 pingProbeHistoryStatus OperationResponseStatus, 1277 pingProbeHistoryLastRC Integer32, 1278 pingProbeHistoryTime DateAndTime 1279 } 1281 pingProbeHistoryIndex OBJECT-TYPE 1282 SYNTAX Unsigned32 (1..'ffffffff'h) 1283 MAX-ACCESS not-accessible 1284 STATUS current 1285 DESCRIPTION 1286 "An entry in this table is created when the result of 1287 a ping probe is determined. The initial 2 instance 1288 identifier index values identify the pingCtlEntry 1289 that a probe result (pingProbeHistoryEntry) belongs 1290 to. 1292 An implementation MUST start assigning 1293 pingProbeHistoryIndex values at 1 and wrap after 1294 exceeding the maximum possible value." 1295 ::= { pingProbeHistoryEntry 1 } 1297 pingProbeHistoryResponse OBJECT-TYPE 1298 SYNTAX Integer32 1299 UNITS "milliseconds" 1300 MAX-ACCESS read-only 1301 STATUS current 1302 DESCRIPTION 1303 "The amount of time measured in milliseconds from when 1304 a probe was sent to when its response was received or 1305 when it timed out. The value of this object is reported 1306 as 0 when it is not possible to transmit a probe." 1307 ::= { pingProbeHistoryEntry 2 } 1309 pingProbeHistoryStatus OBJECT-TYPE 1310 SYNTAX OperationResponseStatus 1311 MAX-ACCESS read-only 1312 STATUS current 1313 DESCRIPTION 1314 "The result of a ping operation made by a remote host 1315 for a particular probe." 1316 ::= { pingProbeHistoryEntry 3 } 1318 pingProbeHistoryLastRC OBJECT-TYPE 1319 SYNTAX Integer32 1320 MAX-ACCESS read-only 1321 STATUS current 1322 DESCRIPTION 1323 "The last implementation method specific reply code received. 1324 If the ICMP Echo capability is being used then a successful 1325 probe ends when an ICMP response is received that contains 1326 the code ICMP_ECHOREPLY(0). The ICMP responses are defined 1327 normally in the ip_icmp include file." 1328 ::= { pingProbeHistoryEntry 4 } 1330 pingProbeHistoryTime OBJECT-TYPE 1331 SYNTAX DateAndTime 1332 MAX-ACCESS read-only 1333 STATUS current 1334 DESCRIPTION 1335 "Timestamp for when this probe result was determined." 1336 ::= { pingProbeHistoryEntry 5 } 1338 -- Notification Definition section 1340 pingProbeFailed NOTIFICATION-TYPE 1341 OBJECTS { 1342 pingCtlTargetAddressType, 1343 pingCtlTargetAddress, 1344 pingResultsOperStatus, 1345 pingResultsIpTargetAddress, 1346 pingResultsMinRtt, 1347 pingResultsMaxRtt, 1348 pingResultsAverageRtt, 1349 pingResultsProbeResponses, 1350 pingResultsSentProbes, 1351 pingResultsRttSumOfSquares, 1352 pingResultsLastGoodProbe 1353 } 1354 STATUS current 1355 DESCRIPTION 1356 "Generated when a probe failure is detected when the 1357 corresponding pingCtlTrapGeneration object is set to 1358 probeFailure(2) subject to the value of pingCtlTrapFilter. 1359 pingCtlTrapFilter can be used to specify the number of 1360 successive probe failures that are required before this 1361 notification can be generated." 1362 ::= { pingNotifications 1 } 1364 pingTestFailed NOTIFICATION-TYPE 1365 OBJECTS { 1366 pingCtlTargetAddressType, 1367 pingCtlTargetAddress, 1368 pingResultsOperStatus, 1369 pingResultsIpTargetAddress, 1370 pingResultsMinRtt, 1371 pingResultsMaxRtt, 1372 pingResultsAverageRtt, 1373 pingResultsProbeResponses, 1374 pingResultsSentProbes, 1375 pingResultsRttSumOfSquares, 1376 pingResultsLastGoodProbe 1377 } 1378 STATUS current 1379 DESCRIPTION 1380 "Generated when a ping test is determined to have failed 1381 when the corresponding pingCtlTrapGeneration object is set to 1382 testFailure(3). In this instance pingCtlTrapFilter 1383 should specify the number of probe failures 1384 required in a test to have failed in order to 1385 considered the test as failed." 1386 ::= { pingNotifications 2 } 1388 pingTestCompleted NOTIFICATION-TYPE 1389 OBJECTS { 1390 pingCtlTargetAddressType, 1391 pingCtlTargetAddress, 1392 pingResultsOperStatus, 1393 pingResultsIpTargetAddress, 1394 pingResultsMinRtt, 1395 pingResultsMaxRtt, 1396 pingResultsAverageRtt, 1397 pingResultsProbeResponses, 1398 pingResultsSentProbes, 1399 pingResultsRttSumOfSquares, 1400 pingResultsLastGoodProbe 1401 } 1402 STATUS current 1403 DESCRIPTION 1404 "Generated at the completion of a ping test when the 1405 corresponding pingCtlTrapGeneration object is set to 1406 testCompletion(4)." 1407 ::= { pingNotifications 3 } 1409 -- Conformance information 1410 -- Compliance statements 1412 pingCompliances OBJECT IDENTIFIER ::= { pingConformance 1 } 1413 pingGroups OBJECT IDENTIFIER ::= { pingConformance 2 } 1415 -- Compliance statements 1417 pingCompliance MODULE-COMPLIANCE 1418 STATUS current 1419 DESCRIPTION 1420 "The compliance statement for the DISMAN-PING-MIB." 1421 MODULE -- this module 1422 MANDATORY-GROUPS { 1423 pingGroup, 1424 pingNotificationsGroup 1425 } 1426 GROUP pingTimeStampGroup 1427 DESCRIPTION 1428 "This group is mandatory for implementations that have 1429 access to a system clock and are capable of setting 1430 the values for DateAndTime objects. It is RECOMMENDED 1431 that when this group is not supported that the values 1432 for the objects in this group be reported as 1433 '0000000000000000'H." 1435 OBJECT pingMaxConcurrentRequests 1436 MIN-ACCESS read-only 1437 DESCRIPTION 1438 "The agent is not required to support a SET 1439 operation to this object." 1441 OBJECT pingCtlStorageType 1442 MIN-ACCESS read-only 1443 DESCRIPTION 1444 "Write access is not required. It is also allowed 1445 for implementations to support only the volatile 1446 StorageType enumeration." 1448 OBJECT pingCtlType 1449 MIN-ACCESS read-only 1450 DESCRIPTION 1451 "Write access is not required. In addition, the only 1452 value that MUST be supported by an implementation is 1453 pingIcmpEcho." 1455 ::= { pingCompliances 1 } 1457 -- MIB groupings 1459 pingGroup OBJECT-GROUP 1460 OBJECTS { 1461 pingMaxConcurrentRequests, 1462 pingCtlTargetAddressType, 1463 pingCtlTargetAddress, 1464 pingCtlDataSize, 1465 pingCtlTimeOut, 1466 pingCtlProbeCount, 1467 pingCtlAdminStatus, 1468 pingCtlDataFill, 1469 pingCtlFrequency, 1470 pingCtlMaxRows, 1471 pingCtlStorageType, 1472 pingCtlTrapGeneration, 1473 pingCtlTrapFilter, 1475 pingCtlType, 1476 pingCtlDescr, 1477 pingCtlRowStatus, 1478 pingResultsOperStatus, 1479 pingResultsIpTargetAddress, 1480 pingResultsMinRtt, 1481 pingResultsMaxRtt, 1482 pingResultsAverageRtt, 1483 pingResultsProbeResponses, 1484 pingResultsSentProbes, 1485 pingResultsRttSumOfSquares, 1486 pingProbeHistoryResponse, 1487 pingProbeHistoryStatus, 1488 pingProbeHistoryLastRC 1489 } 1490 STATUS current 1491 DESCRIPTION 1492 "The group of objects that comprise the remote ping 1493 capability." 1494 ::= { pingGroups 1 } 1496 pingTimeStampGroup OBJECT-GROUP 1497 OBJECTS { 1498 pingResultsLastGoodProbe, 1499 pingProbeHistoryTime 1500 } 1501 STATUS current 1502 DESCRIPTION 1503 "The group of DateAndTime objects." 1504 ::= { pingGroups 2 } 1506 pingNotificationsGroup NOTIFICATION-GROUP 1507 NOTIFICATIONS { 1508 pingProbeFailed, 1509 pingTestFailed, 1510 pingTestCompleted 1511 } 1512 STATUS current 1513 DESCRIPTION 1514 "The notification which are required to be supported by 1515 implementations of this MIB." 1516 ::= { pingGroups 3 } 1518 END 1520 4.2 DISMAN-TRACEROUTE-MIB 1522 DISMAN-TRACEROUTE-MIB DEFINITIONS ::= BEGIN 1524 IMPORTS 1525 MODULE-IDENTITY, OBJECT-TYPE, Integer32, 1526 experimental, Gauge32, Unsigned32, 1527 Counter32, NOTIFICATION-TYPE 1528 FROM SNMPv2-SMI -- RFC2578 1529 RowStatus, StorageType, 1530 TruthValue, DateAndTime 1531 FROM SNMPv2-TC -- RFC2579 1532 MODULE-COMPLIANCE, OBJECT-GROUP, 1533 NOTIFICATION-GROUP 1534 FROM SNMPv2-CONF -- RFC2580 1535 SnmpAdminString 1536 FROM SNMP-FRAMEWORK-MIB -- RFC2571 1537 InterfaceIndexOrZero -- RFC2233 1538 FROM IF-MIB 1539 HostAddressType, HostAddress, 1540 IpHostAddress, OperationResponseStatus 1541 FROM DISMAN-PING-MIB; 1543 traceRouteMIB MODULE-IDENTITY 1544 LAST-UPDATED "9906140000Z" 1545 ORGANIZATION "IETF Distributed Management Working Group" 1546 CONTACT-INFO 1547 "Kenneth White 1549 International Business Machines Corporation 1550 Network Computing Software Division 1551 Research Triangle Park, NC, USA 1553 E-mail: wkenneth@us.ibm.com" 1554 DESCRIPTION 1555 "The Traceroute MIB (DISMAN-TRACEROUTE-MIB) provides 1556 access to the traceroute capability at a remote host." 1557 -- Note: This OID should be reassigned by IANA when the internet-draft 1558 -- containing this MIB module is issued as an RFC. 1559 ::= { experimental 84 2 } 1561 -- Top level structure of the MIB 1563 traceRouteNotifications OBJECT IDENTIFIER ::= { traceRouteMIB 0 } 1564 traceRouteObjects OBJECT IDENTIFIER ::= { traceRouteMIB 1 } 1565 traceRouteConformance OBJECT IDENTIFIER ::= { traceRouteMIB 2 } 1567 -- Simple Object Definitions 1569 traceRouteMaxConcurrentRequests OBJECT-TYPE 1570 SYNTAX Unsigned32 1571 UNITS "requests" 1572 MAX-ACCESS read-write 1573 STATUS current 1574 DESCRIPTION 1575 "The maximum number of concurrent active traceroute requests 1576 that are allowed within an agent implementation. A value 1577 of 0 for this object implies that there is no limit for 1578 the number of concurrent active requests in effect." 1579 DEFVAL { 10 } 1580 ::= { traceRouteObjects 1 } 1582 -- Traceroute Control Table 1584 traceRouteCtlTable OBJECT-TYPE 1585 SYNTAX SEQUENCE OF TraceRouteCtlEntry 1586 MAX-ACCESS not-accessible 1587 STATUS current 1588 DESCRIPTION 1589 "Defines the Remote Operations Traceroute Control Table for 1590 providing the capability of invoking traceroute from a remote 1591 host. The results of traceroute operations can be stored in 1592 the traceRouteResultsTable, traceRouteProbeHistoryTable, and 1593 the traceRouteHopsTable." 1594 ::= { traceRouteObjects 2 } 1596 traceRouteCtlEntry OBJECT-TYPE 1597 SYNTAX TraceRouteCtlEntry 1598 MAX-ACCESS not-accessible 1599 STATUS current 1600 DESCRIPTION 1601 "Defines an entry in the traceRouteCtlTable. The 1st 1602 index element, traceRouteCtlOwnerIndex, is of the 1603 SnmpAdminString textual convention that allows for 1604 use of the SNMPv3 View-Based Access Control Model 1605 (RFC 2575 [11], VACM) and allows an management 1606 application to identify its entries. The 2nd index, 1607 traceRouteCtlTestName (also an SnmpAdminString), 1608 enables the same management application to have 1609 multiple requests outstanding." 1610 INDEX { 1611 traceRouteCtlOwnerIndex, 1612 traceRouteCtlTestName 1613 } 1614 ::= { traceRouteCtlTable 1 } 1616 TraceRouteCtlEntry ::= 1617 SEQUENCE { 1618 traceRouteCtlOwnerIndex SnmpAdminString, 1619 traceRouteCtlTestName SnmpAdminString, 1620 traceRouteCtlTargetAddressType HostAddressType, 1621 traceRouteCtlTargetAddress HostAddress, 1622 traceRouteCtlByPassRouteTable TruthValue, 1623 traceRouteCtlDataSize Unsigned32, 1624 traceRouteCtlTimeOut Unsigned32, 1625 traceRouteCtlProbesPerHop Unsigned32, 1626 traceRouteCtlPort Unsigned32, 1627 traceRouteCtlMaxTtl Unsigned32, 1628 traceRouteCtlTos Unsigned32, 1629 traceRouteCtlSourceAddress HostAddress, 1630 traceRouteCtlIfIndex InterfaceIndexOrZero, 1631 traceRouteCtlMiscOptions SnmpAdminString, 1632 traceRouteCtlMaxFailures Unsigned32, 1633 traceRouteCtlDontFragment TruthValue, 1634 traceRouteCtlInitialTtl Unsigned32, 1635 traceRouteCtlFrequency Unsigned32, 1636 traceRouteCtlStorageType StorageType, 1637 traceRouteCtlAdminStatus INTEGER, 1638 traceRouteCtlMaxRows Unsigned32, 1639 traceRouteCtlTrapGeneration BITS, 1640 traceRouteCtlDescr SnmpAdminString, 1641 traceRouteCtlCreateHopsEntries TruthValue, 1642 traceRouteCtlRowStatus RowStatus 1643 } 1645 traceRouteCtlOwnerIndex OBJECT-TYPE 1646 SYNTAX SnmpAdminString (SIZE(0..32)) 1647 MAX-ACCESS not-accessible 1648 STATUS current 1649 DESCRIPTION 1650 "To facilitate the provisioning of access control by a security 1651 administrator using the View-Based Access Control Model (RFC 2575, 1652 VACM) for tables in which multiple users may need to independently 1653 create or modify entries, the initial index is used as an 'owner 1654 index'. Such an initial index has a syntax of SnmpAdminString, 1655 and can thus be trivially mapped to a securityName or groupName 1656 as defined in VACM, in accordance with a security policy. 1658 When used in conjunction with such a security policy all entries 1659 in the table belonging to a particular user (or group) will 1660 have the same value for this initial index. For a given user's 1661 entries in a particular table, the object identifiers for the 1662 information in these entries will have the same subidentifiers 1663 (except for the 'column' subidentifier) up to the end of the 1664 encoded owner index. To configure VACM to permit access to this 1665 portion of the table, one would create vacmViewTreeFamilyTable 1666 entries with the value of vacmViewTreeFamilySubtree including the 1667 owner index portion, and vacmViewTreeFamilyMask 'wildcarding' the 1668 column subidentifier. More elaborate configurations are 1669 possible." 1670 ::= { traceRouteCtlEntry 1 } 1672 traceRouteCtlTestName OBJECT-TYPE 1673 SYNTAX SnmpAdminString (SIZE(0..32)) 1674 MAX-ACCESS not-accessible 1675 STATUS current 1676 DESCRIPTION 1677 "The name of a traceroute test. This is locally unique, within 1678 the scope of an traceRouteCtlOwnerIndex." 1679 ::= { traceRouteCtlEntry 2 } 1681 traceRouteCtlTargetAddressType OBJECT-TYPE 1682 SYNTAX HostAddressType 1683 MAX-ACCESS read-create 1684 STATUS current 1685 DESCRIPTION 1686 "Specifies the type of host address to be used on the 1687 traceroute request at the remote host." 1688 DEFVAL { ipv4 } 1689 ::= { traceRouteCtlEntry 3 } 1691 traceRouteCtlTargetAddress OBJECT-TYPE 1692 SYNTAX HostAddress 1693 MAX-ACCESS read-create 1694 STATUS current 1695 DESCRIPTION 1696 "Specifies the host address used on the 1697 traceroute request at the remote host. The 1698 host address type can be determined by the 1699 examining the value of the corresponding 1700 traceRouteCtlTargetAddressType index element. 1702 A value for this object MUST be set prior to 1703 transitioning its corresponding traceRouteCtlEntry to 1704 active(1) via traceRouteCtlRowStatus." 1705 ::= { traceRouteCtlEntry 4 } 1707 traceRouteCtlByPassRouteTable OBJECT-TYPE 1708 SYNTAX TruthValue 1709 MAX-ACCESS read-create 1710 STATUS current 1711 DESCRIPTION 1712 "The purpose of this object is optionally enable 1713 bypassing the route table. If enabled bypass the 1714 normal routing tables and send directly to a 1715 host on an attached network. If the host 1716 is not on a directly-attached network, an 1717 error is returned. This option can be 1718 used to ping a local host through an 1719 interface that has no route through it 1720 (e.g., after the interface was dropped by 1721 routed)." 1722 DEFVAL { false } 1723 ::= { traceRouteCtlEntry 5 } 1725 traceRouteCtlDataSize OBJECT-TYPE 1726 SYNTAX Unsigned32 (0..65507) 1727 UNITS "octets" 1728 MAX-ACCESS read-create 1729 STATUS current 1730 DESCRIPTION 1731 "Specifies the size of the data portion of a traceroute 1732 request in octets. A traceroute request is essentially 1733 transmitted by encoding a UDP datagram into a 1734 IP packet. So subtracting the size of a UDP header 1735 (8 octets) and the size of a IP header (20 octets) 1736 yields a maximum of 65507 octets." 1737 DEFVAL { 0 } 1738 ::= { traceRouteCtlEntry 6 } 1740 traceRouteCtlTimeOut OBJECT-TYPE 1741 SYNTAX Unsigned32 (1..60) 1742 UNITS "seconds" 1743 MAX-ACCESS read-create 1744 STATUS current 1745 DESCRIPTION 1746 "Specifies the time-out value, in seconds, for 1747 a traceroute request." 1748 DEFVAL { 3 } 1749 ::= { traceRouteCtlEntry 7 } 1751 traceRouteCtlProbesPerHop OBJECT-TYPE 1752 SYNTAX Unsigned32 (1..10) 1753 UNITS "probes" 1754 MAX-ACCESS read-create 1755 STATUS current 1756 DESCRIPTION 1757 "Specifies the number of times to reissue a traceroute 1758 request with the same time-to-live (TTL) value." 1759 DEFVAL { 3 } 1760 ::= { traceRouteCtlEntry 8 } 1762 traceRouteCtlPort OBJECT-TYPE 1763 SYNTAX Unsigned32 (1..65535) 1764 UNITS "UDP Port" 1765 MAX-ACCESS read-create 1766 STATUS current 1767 DESCRIPTION 1768 "Specifies the UDP port to sent the traceroute 1769 request to. Need to specify a port that is not in 1770 use at the destination (target) host. The default 1771 value for this object is the IANA assigned port, 1772 33434, for the traceroute function." 1773 DEFVAL { 33434 } 1774 ::= { traceRouteCtlEntry 9 } 1776 traceRouteCtlMaxTtl OBJECT-TYPE 1777 SYNTAX Unsigned32 (1..255) 1778 UNITS "time-to-live value" 1779 MAX-ACCESS read-create 1780 STATUS current 1781 DESCRIPTION 1782 "Specifies the maximum time-to-live value." 1783 DEFVAL { 30 } 1784 ::= { traceRouteCtlEntry 10 } 1786 traceRouteCtlTos OBJECT-TYPE 1787 SYNTAX Unsigned32 (0..255) 1788 MAX-ACCESS read-create 1789 STATUS current 1790 DESCRIPTION 1791 "Specifies the value to store in the TOS OCTET in 1792 the IP probe packet that is transmitted as the 1793 traceroute request. The value must be a decimal 1794 integer in the range 0 to 255. This option can be 1795 used to see if different types-of-service result 1796 in different paths. Not all values of TOS are 1797 legal or meaningful. TOS is often not supported 1798 by IP implementations. Useful values are probably 1799 '16' (low delay) and '8' (high throughput)." 1800 REFERENCE 1801 "RFC 1812 Section 5.3.2, Type of Service (TOS)" 1802 DEFVAL { 0 } 1803 ::= { traceRouteCtlEntry 11 } 1805 traceRouteCtlSourceAddress OBJECT-TYPE 1806 SYNTAX HostAddress 1807 MAX-ACCESS read-create 1808 STATUS current 1809 DESCRIPTION 1810 "Use the specified an IP address 1811 (which must be given as an IP number, not a hostname) 1812 as the source address in outgoing probe packets. On 1813 hosts with more than one IP address, this option can 1814 be used to force the source address to be something 1815 other than the IP address of the interface the probe 1816 packet is sent on. If the IP address is not one of this 1817 machine's interface addresses, an error is returned and 1818 nothing is sent. 1820 A zero length octet string value for this object disables 1821 source address specification." 1822 DEFVAL { ''H } 1823 ::= { traceRouteCtlEntry 12 } 1825 traceRouteCtlIfIndex OBJECT-TYPE 1826 SYNTAX InterfaceIndexOrZero 1827 MAX-ACCESS read-create 1828 STATUS current 1829 DESCRIPTION 1830 "Setting this object to an interface's ifIndex prior 1831 to starting a remote traceroute operation directs 1832 the traceroute probes to be transmitted over the 1833 specified interface. A value of zero for this object 1834 implies that this option is not enabled." 1836 DEFVAL { 0 } 1837 ::= { traceRouteCtlEntry 13 } 1839 traceRouteCtlMiscOptions OBJECT-TYPE 1840 SYNTAX SnmpAdminString 1841 MAX-ACCESS read-create 1842 STATUS current 1843 DESCRIPTION 1844 "Enables an application to specify implementation 1845 dependent options." 1846 DEFVAL { ''H } 1847 ::= { traceRouteCtlEntry 14 } 1849 traceRouteCtlMaxFailures OBJECT-TYPE 1850 SYNTAX Unsigned32 (0..255) 1851 UNITS "timeouts" 1852 MAX-ACCESS read-create 1853 STATUS current 1854 DESCRIPTION 1855 "The value of this object indicates the maximum number 1856 of consecutive timeouts allowed before terminating 1857 a remote traceroute request. A value of either 255 (maximum 1858 hop count/possible TTL value) or a 0 indicates that the 1859 function of terminating a remote traceroute request when a 1860 specific number of successive timeouts are detected is 1861 disabled." 1862 DEFVAL { 5 } 1863 ::= { traceRouteCtlEntry 15 } 1865 traceRouteCtlDontFragment OBJECT-TYPE 1866 SYNTAX TruthValue 1867 MAX-ACCESS read-create 1868 STATUS current 1869 DESCRIPTION 1870 "This object enables setting of the don't fragment flag (DF) 1871 in the IP header for a probe. Use of this object enables 1872 performing a manual PATH MTU test." 1873 DEFVAL { false } 1874 ::= { traceRouteCtlEntry 16 } 1876 traceRouteCtlInitialTtl OBJECT-TYPE 1877 SYNTAX Unsigned32 (0..255) 1878 MAX-ACCESS read-create 1879 STATUS current 1880 DESCRIPTION 1881 "The value of this object specifies the initial TTL value to 1882 use. This enables bypassing the initial (often well known) 1883 portion of a path." 1884 DEFVAL { 1 } 1885 ::= { traceRouteCtlEntry 17 } 1887 traceRouteCtlFrequency OBJECT-TYPE 1888 SYNTAX Unsigned32 1889 UNITS "seconds" 1890 MAX-ACCESS read-create 1891 STATUS current 1892 DESCRIPTION 1893 "The number of seconds to wait before repeating a 1894 traceRoute test as defined by the value of the 1895 various objects in the corresponding row. 1897 The number of hops in a single traceroute test 1898 is determined by the value of the corresponding 1899 traceRouteCtlProbesPerHop object. After a 1900 single test completes the number of seconds as defined 1901 by the value of traceRouteCtlFrequency MUST elapse 1902 before the next traceroute test is started. 1904 A value of 0 for this object implies that the test 1905 as defined by the corresponding entry will not be 1906 repeated." 1907 DEFVAL { 0 } 1908 ::= { traceRouteCtlEntry 18 } 1910 traceRouteCtlStorageType OBJECT-TYPE 1911 SYNTAX StorageType 1912 MAX-ACCESS read-create 1913 STATUS current 1914 DESCRIPTION 1915 "The storage type for this conceptual row. 1916 Conceptual rows having the value 'permanent' need not 1917 allow write-access to any columnar objects in the row." 1918 DEFVAL { nonVolatile } 1919 ::= { traceRouteCtlEntry 19 } 1921 traceRouteCtlAdminStatus OBJECT-TYPE 1922 SYNTAX INTEGER { 1923 enabled(1), -- operation should be started 1924 disabled(2) -- operation should be stop 1925 } 1926 MAX-ACCESS read-create 1927 STATUS current 1928 DESCRIPTION 1929 "Reflects the desired state that an traceRouteCtlEntry 1930 should be in: 1932 enabled(1) - Attempt to activate the test as defined by 1933 this traceRouteCtlEntry. 1934 disabled(2) - Deactivate the test as defined by this 1935 traceRouteCtlEntry. 1937 Refer to the corresponding traceRouteResultsOperStatus to 1938 determine the operational state of the test defined by 1939 this entry." 1940 DEFVAL { disabled } 1941 ::= { traceRouteCtlEntry 20 } 1943 traceRouteCtlDescr OBJECT-TYPE 1944 SYNTAX SnmpAdminString 1945 MAX-ACCESS read-create 1946 STATUS current 1947 DESCRIPTION 1948 "The purpose of this object is to provide a 1949 descriptive name of the remote traceroute 1950 test." 1951 DEFVAL { '00'H } 1952 ::= { traceRouteCtlEntry 21 } 1954 traceRouteCtlMaxRows OBJECT-TYPE 1955 SYNTAX Unsigned32 1956 UNITS "rows" 1957 MAX-ACCESS read-create 1958 STATUS current 1959 DESCRIPTION 1960 "The maximum number of entries allowed in the 1961 traceRouteProbeHistoryTable. An implementation of 1962 this MIB will remove the oldest entry in the 1963 traceRouteProbeHistoryTable to allow the addition 1964 of an new entry once the number of rows in the 1965 traceRouteProbeHistoryTable reaches this value. 1967 Old entries are not removed when a new test is 1968 started. Entries are added to the 1969 traceRouteProbeHistoryTable until traceRouteCtlMaxRows 1970 is reached before entries begin to be removed. 1972 A value of 0 for this object disables creation of 1973 traceRouteProbeHistoryTable entries." 1974 DEFVAL { 50 } 1975 ::= { traceRouteCtlEntry 22 } 1977 traceRouteCtlTrapGeneration OBJECT-TYPE 1978 SYNTAX BITS { 1979 pathChange(0), 1980 testFailure(1), 1981 testCompletion(2) 1982 } 1983 MAX-ACCESS read-create 1984 STATUS current 1985 DESCRIPTION 1986 "The value of this object determines when and if to 1987 to generation a notification for this entry: 1989 pathChange(0) - Generate a traceRoutePathChange 1990 notification when the current path varies from a 1991 previously determined path. 1992 testFailure(1) - Generate a traceRouteTestFailed 1993 notification when the full path to a target 1994 can't be determined. 1996 testCompletion(2) - Generate a traceRouteTestCompleted 1997 notification when the path to a target has been 1998 determined. 2000 The value of this object defaults to zero, indicating 2001 that none of the above options have been selected." 2002 ::= { traceRouteCtlEntry 23 } 2004 traceRouteCtlCreateHopsEntries OBJECT-TYPE 2005 SYNTAX TruthValue 2006 MAX-ACCESS read-create 2007 STATUS current 2008 DESCRIPTION 2009 "The current path for a traceroute test is kept in the 2010 traceRouteHopsTable on a per hop basis when the value of 2011 this object is true(1)." 2012 DEFVAL { false } 2013 ::= { traceRouteCtlEntry 24 } 2015 traceRouteCtlRowStatus OBJECT-TYPE 2016 SYNTAX RowStatus 2017 MAX-ACCESS read-create 2018 STATUS current 2019 DESCRIPTION 2020 "This object allows entries to be created and deleted 2021 in the traceRouteCtlTable. Deletion of an entry in 2022 this table results in all corresponding (same 2023 traceRouteCtlOwnerIndex and traceRouteCtlTestName 2024 index values) traceRouteResultsTable, 2025 traceRouteProbeHistoryTable, and traceRouteHopsTable 2026 entries being deleted. 2028 A value MUST be specified for traceRouteCtlTargetAddress 2029 prior to a transition to active(1) state being 2030 accepted. 2032 Activation of a remote traceroute operation is 2033 controlled via traceRouteCtlAdminStatus and not 2034 by transitioning of this object's value to active(1). 2036 Transitions in and out of active(1) state are not 2037 allowed while an entry's traceRouteResultsOperStatus 2038 is active(1) with the exception that deletion of 2039 an entry in this table by setting its RowStatus 2040 object to destroy(6) will stop an active 2041 ping operation. 2043 The operational state of an traceroute operation 2044 can be determined by examination of associating 2045 traceRouteResultsOperStatus object." 2046 REFERENCE 2047 "RFC 2579, 'Textual Conventions for SMIv2.'" 2048 ::= { traceRouteCtlEntry 25 } 2050 -- Traceroute Results Table 2052 traceRouteResultsTable OBJECT-TYPE 2053 SYNTAX SEQUENCE OF TraceRouteResultsEntry 2054 MAX-ACCESS not-accessible 2055 STATUS current 2056 DESCRIPTION 2057 "Defines the Remote Operations Traceroute Results Table for 2058 keeping track of the status of an traceRouteCtlEntry. 2060 An entry is added to the traceRouteResultsTable when an 2061 traceRouteCtlEntry is started by successful transition 2062 of its traceRouteCtlAdminStatus object to enabled(1). 2063 An entry is removed from the traceRouteResultsTable when 2064 its associating traceRouteCtlEntry is deleted." 2065 ::= { traceRouteObjects 3 } 2067 traceRouteResultsEntry OBJECT-TYPE 2068 SYNTAX TraceRouteResultsEntry 2069 MAX-ACCESS not-accessible 2070 STATUS current 2071 DESCRIPTION 2072 "Defines an entry in the traceRouteResultsTable. The 2073 traceRouteResultsTable has the same indexing as the 2074 traceRouteCtlTable in order for an traceRouteResultsEntry 2075 to correspond to the traceRouteCtlEntry that caused it to 2076 be created." 2077 INDEX { 2078 traceRouteCtlOwnerIndex, 2079 traceRouteCtlTestName 2080 } 2081 ::= { traceRouteResultsTable 1 } 2083 TraceRouteResultsEntry ::= 2084 SEQUENCE { 2085 traceRouteResultsOperStatus INTEGER, 2086 traceRouteResultsCurHopCount Gauge32, 2087 traceRouteResultsCurProbeCount Gauge32, 2088 traceRouteResultsIpTargetAddress IpHostAddress, 2089 traceRouteResultsTestAttempts Counter32, 2090 traceRouteResultsTestSuccesses Counter32, 2091 traceRouteResultsLastGoodPath DateAndTime 2092 } 2094 traceRouteResultsOperStatus OBJECT-TYPE 2095 SYNTAX INTEGER { 2096 enabled(1), -- test is in progress 2097 disabled(2) -- test has stopped 2098 } 2099 MAX-ACCESS read-only 2100 STATUS current 2101 DESCRIPTION 2102 "Reflects the operational state of an traceRouteCtlEntry: 2104 enabled(1) - Test is active. 2105 disabled(2) - Test has stopped." 2106 ::= { traceRouteResultsEntry 1 } 2108 traceRouteResultsCurHopCount OBJECT-TYPE 2109 SYNTAX Gauge32 2110 UNITS "hops" 2111 MAX-ACCESS read-only 2112 STATUS current 2113 DESCRIPTION 2114 "Reflects the current TTL value (range from 1 to 2115 255) for an remote traceroute operation. 2116 Maximum TTL value is determined by 2117 traceRouteCtlMaxTtl." 2118 ::= { traceRouteResultsEntry 2 } 2120 traceRouteResultsCurProbeCount OBJECT-TYPE 2121 SYNTAX Gauge32 2122 UNITS "probes" 2123 MAX-ACCESS read-only 2124 STATUS current 2125 DESCRIPTION 2126 "Reflects the current probe count (1..10) for 2127 an remote traceroute operation. The maximum 2128 probe count is determined by 2129 traceRouteCtlProbesPerHop." 2130 ::= { traceRouteResultsEntry 3 } 2132 traceRouteResultsIpTargetAddress OBJECT-TYPE 2133 SYNTAX IpHostAddress 2134 MAX-ACCESS read-only 2135 STATUS current 2136 DESCRIPTION 2137 "This objects reports the IP address associated 2138 with a traceRouteCtlTargetAddress value when the 2139 destination address is specified as a DNS name. 2140 The value of this object should be a zero length 2141 octet string when a DNS name is not specified or 2142 when a specified DNS name fails to resolve." 2143 ::= { traceRouteResultsEntry 4 } 2145 traceRouteResultsTestAttempts OBJECT-TYPE 2146 SYNTAX Counter32 2147 UNITS "tests" 2148 MAX-ACCESS read-only 2149 STATUS current 2150 DESCRIPTION 2151 "The current number of attempts to determine a path 2152 to a target. The value of this object MUST be started 2153 at 0." 2155 ::= { traceRouteResultsEntry 5 } 2157 traceRouteResultsTestSuccesses OBJECT-TYPE 2158 SYNTAX Counter32 2159 UNITS "tests" 2160 MAX-ACCESS read-only 2161 STATUS current 2162 DESCRIPTION 2163 "The current number of attempts to determine a path 2164 to a target that have succeeded. The value of this 2165 object MUST be reported as 0 when no attempts have 2166 succeeded." 2167 ::= { traceRouteResultsEntry 6 } 2169 traceRouteResultsLastGoodPath OBJECT-TYPE 2170 SYNTAX DateAndTime 2171 MAX-ACCESS read-only 2172 STATUS current 2173 DESCRIPTION 2174 "The date and time when the last complete path 2175 was determined." 2176 ::= { traceRouteResultsEntry 7 } 2178 -- Trace Route Probe History Table 2180 traceRouteProbeHistoryTable OBJECT-TYPE 2181 SYNTAX SEQUENCE OF TraceRouteProbeHistoryEntry 2182 MAX-ACCESS not-accessible 2183 STATUS current 2184 DESCRIPTION 2185 "Defines the Remote Operations Traceroute Results Table for 2186 storing the results of a traceroute operation. 2188 An implementation of this MIB will remove the oldest 2189 entry in the traceRouteProbeHistoryTable to allow the 2190 addition of an new entry once the number of rows in 2191 the traceRouteProbeHistoryTable reaches the value specified 2192 by traceRouteCtlMaxRows." 2193 ::= { traceRouteObjects 4 } 2195 traceRouteProbeHistoryEntry OBJECT-TYPE 2196 SYNTAX TraceRouteProbeHistoryEntry 2197 MAX-ACCESS not-accessible 2198 STATUS current 2199 DESCRIPTION 2200 "Defines a table for storing the results of a traceroute 2201 operation. Entries in this table is limited by 2202 the value of the corresponding traceRouteCtlMaxRows 2203 object. 2205 The first two index elements identify the 2206 traceRouteCtlEntry that a traceRouteProbeHistoryEntry 2207 belongs to. The 3rd index element selects a single 2208 traceroute operation result. The 4th and 5th indexes 2209 select the hop and the probe for a particular 2210 traceroute operation." 2211 INDEX { 2212 traceRouteCtlOwnerIndex, 2213 traceRouteCtlTestName, 2214 traceRouteProbeHistoryIndex, 2215 traceRouteProbeHistoryHopIndex, 2216 traceRouteProbeHistoryProbeIndex 2217 } 2218 ::= { traceRouteProbeHistoryTable 1 } 2220 TraceRouteProbeHistoryEntry ::= 2221 SEQUENCE { 2222 traceRouteProbeHistoryIndex Unsigned32, 2223 traceRouteProbeHistoryHopIndex Unsigned32, 2224 traceRouteProbeHistoryProbeIndex Unsigned32, 2225 traceRouteProbeHistoryHopAddress IpHostAddress, 2226 traceRouteProbeHistoryResponse Integer32, 2227 traceRouteProbeHistoryStatus OperationResponseStatus, 2228 traceRouteProbeHistoryLastRC Integer32, 2229 traceRouteProbeHistoryTime DateAndTime 2230 } 2232 traceRouteProbeHistoryIndex OBJECT-TYPE 2233 SYNTAX Unsigned32 (1..'ffffffff'h) 2234 MAX-ACCESS not-accessible 2235 STATUS current 2236 DESCRIPTION 2237 "An entry in this table is created when the result of 2238 a traceroute probe is determined. The initial 2 instance 2239 identifier index values identify the traceRouteCtlEntry 2240 that a probe result (traceRouteProbeHistoryEntry) belongs 2241 to. An entry is removed from this table when 2242 its associating traceRouteCtlEntry is deleted. 2244 An implementation MUST start assigning 2245 traceRouteProbeHistoryIndex values at 1 and wrap after 2246 exceeding the maximum possible value." 2247 ::= { traceRouteProbeHistoryEntry 1 } 2249 traceRouteProbeHistoryHopIndex OBJECT-TYPE 2250 SYNTAX Unsigned32 (1..255) 2251 MAX-ACCESS not-accessible 2252 STATUS current 2253 DESCRIPTION 2254 "Indicates which hop in a traceroute path that the probe's 2256 results is for." 2257 ::= { traceRouteProbeHistoryEntry 2 } 2259 traceRouteProbeHistoryProbeIndex OBJECT-TYPE 2260 SYNTAX Unsigned32 (1..10) 2261 MAX-ACCESS not-accessible 2262 STATUS current 2263 DESCRIPTION 2264 "Indicates the index of a probe for determining for a 2265 hop in a traceroute path. The value of this object is 2266 initially determined by the value of traceRouteCtlInitialTtl." 2267 ::= { traceRouteProbeHistoryEntry 3 } 2269 traceRouteProbeHistoryHopAddress OBJECT-TYPE 2270 SYNTAX IpHostAddress 2271 MAX-ACCESS read-only 2272 STATUS current 2273 DESCRIPTION 2274 "The address of a hop in a traceroute path. This object 2275 is not allowed to be a DNS name. The length of the 2276 octet string returned determines the address type." 2277 ::= { traceRouteProbeHistoryEntry 4 } 2279 traceRouteProbeHistoryResponse OBJECT-TYPE 2280 SYNTAX Integer32 2281 UNITS "milliseconds" 2282 MAX-ACCESS read-only 2283 STATUS current 2284 DESCRIPTION 2285 "The amount of time measured in milliseconds from when 2286 a probe was sent to when its response was received or 2287 when it timed out. The value of this object is reported 2288 as 0 when it is not possible to transmit a probe." 2289 ::= { traceRouteProbeHistoryEntry 5 } 2291 traceRouteProbeHistoryStatus OBJECT-TYPE 2292 SYNTAX OperationResponseStatus 2293 MAX-ACCESS read-only 2294 STATUS current 2295 DESCRIPTION 2296 "The result of a traceroute operation made by a remote 2297 host for a particular probe." 2298 ::= { traceRouteProbeHistoryEntry 6 } 2300 traceRouteProbeHistoryLastRC OBJECT-TYPE 2301 SYNTAX Integer32 2302 MAX-ACCESS read-only 2303 STATUS current 2304 DESCRIPTION 2305 "The last implementation method specific reply code received. 2307 Traceroute is usually implemented by transmitting a series of 2308 probe packets with increasing time-to-live values. A probe 2309 packet is a UDP datagram encapsulated into an IP packet. 2310 Each hop in a path to the target (destination) host rejects 2311 the probe packets (probe's TTL too small, ICMP reply) until 2312 either the maximum TTL is exceeded or the target host is 2313 received." 2314 ::= { traceRouteProbeHistoryEntry 7 } 2316 traceRouteProbeHistoryTime OBJECT-TYPE 2317 SYNTAX DateAndTime 2318 MAX-ACCESS read-only 2319 STATUS current 2320 DESCRIPTION 2321 "Timestamp for when this probe results were determined." 2322 ::= { traceRouteProbeHistoryEntry 8 } 2324 -- Traceroute Hop Results Table 2326 traceRouteHopsTable OBJECT-TYPE 2327 SYNTAX SEQUENCE OF TraceRouteHopsEntry 2328 MAX-ACCESS not-accessible 2329 STATUS current 2330 DESCRIPTION 2331 "Defines the Remote Operations Traceroute Hop Table for 2332 keeping track of the results of traceroute tests on a 2333 per hop basis." 2334 ::= { traceRouteObjects 5 } 2336 traceRouteHopsEntry OBJECT-TYPE 2337 SYNTAX TraceRouteHopsEntry 2338 MAX-ACCESS not-accessible 2339 STATUS current 2340 DESCRIPTION 2341 "Defines an entry in the traceRouteHopsTable. 2343 The first two index elements identify the 2344 traceRouteCtlEntry that a traceRouteHopsEntry 2345 belongs to. The 3rd index element, 2346 traceRouteHopsHopIndex, selects a 2347 hop in a traceroute path." 2348 INDEX { 2349 traceRouteCtlOwnerIndex, 2350 traceRouteCtlTestName, 2351 traceRouteHopsHopIndex 2352 } 2353 ::= { traceRouteHopsTable 1 } 2355 TraceRouteHopsEntry ::= 2356 SEQUENCE { 2357 traceRouteHopsHopIndex Unsigned32, 2358 traceRouteHopsIpTargetAddress IpHostAddress, 2359 traceRouteHopsMinRtt Unsigned32, 2360 traceRouteHopsMaxRtt Unsigned32, 2361 traceRouteHopsAverageRtt Unsigned32, 2362 traceRouteHopsRttSumOfSquares Unsigned32, 2363 traceRouteHopsSentProbes Counter32, 2364 traceRouteHopsProbeResponses Counter32, 2365 traceRouteHopsLastGoodProbe DateAndTime 2366 } 2368 traceRouteHopsHopIndex OBJECT-TYPE 2369 SYNTAX Unsigned32 2370 MAX-ACCESS not-accessible 2371 STATUS current 2372 DESCRIPTION 2373 "Specifies the hop index for a traceroute hop. Values 2374 for this object with respect to the same 2375 traceRouteCtlOwnerIndex and traceRouteCtlTestName 2376 MUST start at 1 and increase monotonically. 2378 The traceRouteHopsTable keeps the current traceroute 2379 path per traceRouteCtlEntry if enabled by 2380 setting the corresponding traceRouteCtlCreateHopsEntries 2381 to true(1). 2383 All hops (traceRouteHopsTable entries) in a traceroute 2384 path MUST be updated at the same time when a traceroute 2385 operation completes. Care needs to be applied when either 2386 a path changes or can't be determined. The portion of 2387 a path that remains the same MUST retain the same 2388 traceRouteHopsHopIndex values. The remaining portion of the 2389 path SHOULD be assigned new traceRouteHopsHopIndex values." 2390 ::= { traceRouteHopsEntry 1 } 2392 traceRouteHopsIpTargetAddress OBJECT-TYPE 2393 SYNTAX IpHostAddress 2394 MAX-ACCESS read-only 2395 STATUS current 2396 DESCRIPTION 2397 "This objects reports the IP address associated with the hop." 2398 ::= { traceRouteHopsEntry 2 } 2400 traceRouteHopsMinRtt OBJECT-TYPE 2401 SYNTAX Unsigned32 2402 MAX-ACCESS read-only 2403 STATUS current 2404 DESCRIPTION 2405 "The minimum traceroute round-trip-time (RTT) received for this 2406 hop. A value of 0 for this object implies that no RTT has been 2407 received." 2408 ::= { traceRouteHopsEntry 3 } 2410 traceRouteHopsMaxRtt OBJECT-TYPE 2411 SYNTAX Unsigned32 2412 MAX-ACCESS read-only 2413 STATUS current 2414 DESCRIPTION 2415 "The maximum traceroute round-trip-time (RTT) received for this 2416 hop. A value of 0 for this object implies that no RTT has been 2417 received." 2418 ::= { traceRouteHopsEntry 4 } 2420 traceRouteHopsAverageRtt OBJECT-TYPE 2421 SYNTAX Unsigned32 2422 MAX-ACCESS read-only 2423 STATUS current 2424 DESCRIPTION 2425 "The current average traceroute round-trip-time (RTT) for this 2426 hop." 2427 ::= { traceRouteHopsEntry 5 } 2429 traceRouteHopsRttSumOfSquares OBJECT-TYPE 2430 SYNTAX Unsigned32 2431 MAX-ACCESS read-only 2432 STATUS current 2433 DESCRIPTION 2434 "This object contains the sum of all traceroute responses received 2435 for this hop. Its purpose is to enable standard deviation 2436 calculation." 2437 ::= { traceRouteHopsEntry 6 } 2439 traceRouteHopsSentProbes OBJECT-TYPE 2440 SYNTAX Counter32 2441 MAX-ACCESS read-only 2442 STATUS current 2443 DESCRIPTION 2444 "The value of this object reflects the number of probes sent 2445 for this hop during this traceroute test. The value of this 2446 object should start at 0." 2447 ::= { traceRouteHopsEntry 7 } 2449 traceRouteHopsProbeResponses OBJECT-TYPE 2450 SYNTAX Counter32 2451 MAX-ACCESS read-only 2452 STATUS current 2453 DESCRIPTION 2454 "Number of responses received for this hop during this 2455 traceroute test. This value of this object should start 2456 at 0." 2457 ::= { traceRouteHopsEntry 8 } 2459 traceRouteHopsLastGoodProbe OBJECT-TYPE 2460 SYNTAX DateAndTime 2461 MAX-ACCESS read-only 2462 STATUS current 2463 DESCRIPTION 2464 "Date and time was the last response was received for a probe 2465 for this hop during this traceroute test." 2466 ::= { traceRouteHopsEntry 9 } 2468 -- Notification Definition section 2470 traceRoutePathChange NOTIFICATION-TYPE 2471 OBJECTS { 2472 traceRouteCtlTargetAddressType, 2473 traceRouteCtlTargetAddress, 2474 traceRouteResultsIpTargetAddress 2475 } 2476 STATUS current 2477 DESCRIPTION 2478 "The path to a target has changed." 2479 ::= { traceRouteNotifications 1 } 2481 traceRouteTestFailed NOTIFICATION-TYPE 2482 OBJECTS { 2483 traceRouteCtlTargetAddressType, 2484 traceRouteCtlTargetAddress, 2485 traceRouteResultsIpTargetAddress 2486 } 2487 STATUS current 2488 DESCRIPTION 2489 "Could not determine the path to a target." 2490 ::= { traceRouteNotifications 2 } 2492 traceRouteTestCompleted NOTIFICATION-TYPE 2493 OBJECTS { 2494 traceRouteCtlTargetAddressType, 2495 traceRouteCtlTargetAddress, 2496 traceRouteResultsIpTargetAddress 2497 } 2498 STATUS current 2499 DESCRIPTION 2500 "The path to a target has just been determined." 2501 ::= { traceRouteNotifications 3 } 2503 -- Conformance information 2504 -- Compliance statements 2506 traceRouteCompliances OBJECT IDENTIFIER ::= { traceRouteConformance 1 } 2507 traceRouteGroups OBJECT IDENTIFIER ::= { traceRouteConformance 2 } 2509 -- Compliance statements 2511 traceRouteCompliance MODULE-COMPLIANCE 2512 STATUS current 2513 DESCRIPTION 2514 "The compliance statement for the DISMAN-TRACEROUTE-MIB." 2515 MODULE -- this module 2516 MANDATORY-GROUPS { 2517 traceRouteGroup 2518 } 2519 GROUP traceRouteTimeStampGroup 2520 DESCRIPTION 2521 "This group is mandatory for implementations that have 2522 access to a system clock and are capable of setting 2523 the values for DateAndTime objects." 2525 GROUP traceRouteNotificationsGroup 2526 DESCRIPTION 2527 "This group defines a collection of optional 2528 notifications." 2530 GROUP traceRouteHopsTableGroup 2531 DESCRIPTION 2532 "This group lists the objects that make up a 2533 traceRouteHopsEntry. Support of the traceRouteHopsTable 2534 is optional." 2536 OBJECT traceRouteMaxConcurrentRequests 2537 MIN-ACCESS read-only 2538 DESCRIPTION 2539 "The agent is not required to support a SET 2540 operation to this object." 2542 OBJECT traceRouteCtlByPassRouteTable 2543 MIN-ACCESS read-only 2544 DESCRIPTION 2545 "This object is not required by implementations that are not 2546 capable of its implementation. The function represented by 2547 this object is implementable if the setsockopt SOL_SOCKET 2548 SO_DONTROUTE option is supported." 2550 OBJECT traceRouteCtlSourceAddress 2551 MIN-ACCESS read-only 2552 DESCRIPTION 2553 "This object is not required by implementations that are not 2554 capable of binding the send socket (udp) with a source 2555 address." 2557 OBJECT traceRouteCtlIfIndex 2558 MIN-ACCESS read-only 2559 DESCRIPTION 2560 "This object is not required by implementations that are not 2561 capable of selecting an interface to send IP packets over. 2562 When not supported disallow write access and return a 0 as 2563 the value of this object." 2565 OBJECT traceRouteCtlMiscOptions 2566 MIN-ACCESS read-only 2567 DESCRIPTION 2568 "Support of this object is optional. When not supporting 2569 do not allow write access and return a zero length octet 2570 string as the value of the object." 2572 OBJECT traceRouteCtlStorageType 2573 MIN-ACCESS read-only 2574 DESCRIPTION 2575 "Write access is not required. It is also allowed 2576 for implementations to support only the volatile 2577 StorageType enumeration." 2579 ::= { traceRouteCompliances 1 } 2581 -- MIB groupings 2583 traceRouteGroup OBJECT-GROUP 2584 OBJECTS { 2585 traceRouteMaxConcurrentRequests, 2586 traceRouteCtlTargetAddressType, 2587 traceRouteCtlTargetAddress, 2588 traceRouteCtlByPassRouteTable, 2589 traceRouteCtlDataSize, 2590 traceRouteCtlTimeOut, 2591 traceRouteCtlProbesPerHop, 2592 traceRouteCtlPort, 2593 traceRouteCtlMaxTtl, 2594 traceRouteCtlTos, 2595 traceRouteCtlSourceAddress, 2596 traceRouteCtlIfIndex, 2597 traceRouteCtlMiscOptions, 2598 traceRouteCtlMaxFailures, 2599 traceRouteCtlDontFragment, 2600 traceRouteCtlInitialTtl, 2601 traceRouteCtlFrequency, 2602 traceRouteCtlStorageType, 2603 traceRouteCtlAdminStatus, 2604 traceRouteCtlMaxRows, 2605 traceRouteCtlTrapGeneration, 2606 traceRouteCtlDescr, 2607 traceRouteCtlCreateHopsEntries, 2608 traceRouteCtlRowStatus, 2609 traceRouteResultsOperStatus, 2610 traceRouteResultsCurHopCount, 2611 traceRouteResultsCurProbeCount, 2612 traceRouteResultsIpTargetAddress, 2613 traceRouteResultsTestAttempts, 2614 traceRouteResultsTestSuccesses, 2615 traceRouteProbeHistoryHopAddress, 2616 traceRouteProbeHistoryResponse, 2617 traceRouteProbeHistoryStatus, 2618 traceRouteProbeHistoryLastRC 2619 } 2620 STATUS current 2621 DESCRIPTION 2622 "The group of objects that comprise the remote traceroute 2623 operation." 2624 ::= { traceRouteGroups 1 } 2626 traceRouteTimeStampGroup OBJECT-GROUP 2627 OBJECTS { 2628 traceRouteResultsLastGoodPath, 2629 traceRouteProbeHistoryTime 2630 } 2631 STATUS current 2632 DESCRIPTION 2633 "The group of DateAndTime objects." 2634 ::= { traceRouteGroups 2 } 2636 traceRouteNotificationsGroup NOTIFICATION-GROUP 2637 NOTIFICATIONS { 2638 traceRoutePathChange, 2639 traceRouteTestFailed, 2640 traceRouteTestCompleted 2641 } 2642 STATUS current 2643 DESCRIPTION 2644 "The notifications which are required to be supported by 2645 implemenations of this MIB." 2646 ::= { traceRouteGroups 3 } 2648 traceRouteHopsTableGroup OBJECT-GROUP 2649 OBJECTS { 2650 traceRouteHopsIpTargetAddress, 2651 traceRouteHopsMinRtt, 2652 traceRouteHopsMaxRtt, 2653 traceRouteHopsAverageRtt, 2654 traceRouteHopsRttSumOfSquares, 2655 traceRouteHopsSentProbes, 2656 traceRouteHopsProbeResponses, 2657 traceRouteHopsLastGoodProbe 2658 } 2659 STATUS current 2660 DESCRIPTION 2661 "The group of objects that comprise the traceRouteHopsTable." 2662 ::= { traceRouteGroups 4 } 2664 END 2666 4.3 DISMAN-NSLOOKUP-MIB 2668 DISMAN-NSLOOKUP-MIB DEFINITIONS ::= BEGIN 2670 IMPORTS 2671 MODULE-IDENTITY, OBJECT-TYPE, 2672 experimental, Unsigned32 2673 FROM SNMPv2-SMI -- RFC2578 2674 RowStatus 2675 FROM SNMPv2-TC -- RFC2579 2676 MODULE-COMPLIANCE, OBJECT-GROUP 2677 FROM SNMPv2-CONF -- RFC2580 2678 SnmpAdminString 2679 FROM SNMP-FRAMEWORK-MIB -- RFC2571 2680 HostAddressType, HostAddress 2681 FROM DISMAN-PING-MIB; 2683 lookupMIB MODULE-IDENTITY 2684 LAST-UPDATED "9906100000Z" 2685 ORGANIZATION "IETF Distributed Management Working Group" 2686 CONTACT-INFO 2687 "Kenneth White 2689 International Business Machines Corporation 2690 Network Computing Software Division 2691 Research Triangle Park, NC, USA 2693 E-mail: wkenneth@us.ibm.com" 2694 DESCRIPTION 2695 "The Lookup MIB (DISMAN-NSLOOKUP-MIB) enables determination 2696 of either the name(s) corresponding to a host address or of 2697 the address(es) associated with a host name at a remote host." 2698 -- Note: This OID should be reassigned by IANA when the internet-draft 2699 -- containing this MIB module is issued as an RFC. 2700 ::= { experimental 84 3 } 2702 -- Top level structure of the MIB 2704 lookupObjects OBJECT IDENTIFIER ::= { lookupMIB 1 } 2705 lookupConformance OBJECT IDENTIFIER ::= { lookupMIB 2 } 2707 -- Simple Object Definitions 2709 lookupMaxConcurrentRequests OBJECT-TYPE 2710 SYNTAX Unsigned32 2711 UNITS "requests" 2712 MAX-ACCESS read-write 2713 STATUS current 2714 DESCRIPTION 2715 "The maximum number of concurrent active lookup requests 2716 that are allowed within an agent implementation. A value 2717 of 0 for this object implies that there is no limit for 2718 the number of concurrent active requests in effect." 2720 DEFVAL { 10 } 2721 ::= { lookupObjects 1 } 2723 lookupPurgeTime OBJECT-TYPE 2724 SYNTAX Unsigned32 (0..86400) 2725 UNITS "seconds" 2726 MAX-ACCESS read-write 2727 STATUS current 2728 DESCRIPTION 2729 "The amount of time to wait before automatically 2730 deleting an entry in the lookupCtlTable and any 2731 dependent lookupResultsTable entries 2732 after the lookup operation represented by an 2733 lookupCtlEntry has completed. 2735 An lookupCtEntry is considered complete 2736 when its lookupCtlOperStatus object has a 2737 value of completed(3)." 2738 DEFVAL { 900 } -- 15 minutes as default 2739 ::= { lookupObjects 2 } 2741 -- Lookup Control Table 2743 lookupCtlTable OBJECT-TYPE 2744 SYNTAX SEQUENCE OF LookupCtlEntry 2745 MAX-ACCESS not-accessible 2746 STATUS current 2747 DESCRIPTION 2748 "Defines the Lookup Control Table for provide 2749 the capability of performing a lookup operation, 2750 gethostbyname or gethostbyaddr, from a remote host." 2751 ::= { lookupObjects 3 } 2753 lookupCtlEntry OBJECT-TYPE 2754 SYNTAX LookupCtlEntry 2755 MAX-ACCESS not-accessible 2756 STATUS current 2757 DESCRIPTION 2758 "Defines an entry in the lookupCtlTable. An 2759 lookupCtlEntry is initially indexed by 2760 lookupCtlOwnerIndex, which is of the SnmpAdminString 2761 textual convention that allows for use of the SNMPv3 2762 View-Based Access Control Model (RFC 2575 [11], VACM) 2763 and also allows an management application to identify 2764 its entries. The 2nd index element, 2765 lookupCtlOperationName, enables the same 2766 lookupCtlOwnerIndex entity to have multiple outstanding 2767 requests. 2769 The value of lookupCtlTargetAddressType determines which 2770 lookup function to perform. Specification of dnsName(2) 2771 as the value of this index implies that the gethostbyname 2772 function should be performed to determine the numeric 2773 addresses associated with a symbolic name via 2774 lookupResultsTable entries. Use of a value of either 2775 ipv4(3) or ipv6(4) implies that the gethostbyaddr function 2776 should be performed to determine the symbolic name(s) 2777 associated with a numeric address at a remote host." 2778 INDEX { 2779 lookupCtlOwnerIndex, 2780 lookupCtlOperationName 2781 } 2782 ::= { lookupCtlTable 1 } 2784 LookupCtlEntry ::= 2785 SEQUENCE { 2786 lookupCtlOwnerIndex SnmpAdminString, 2787 lookupCtlOperationName SnmpAdminString, 2788 lookupCtlTargetAddressType HostAddressType, 2789 lookupCtlTargetAddress HostAddress, 2790 lookupCtlOperStatus INTEGER, 2791 lookupCtlTime Unsigned32, 2792 lookupCtlRc Unsigned32, 2793 lookupCtlRowStatus RowStatus 2794 } 2796 lookupCtlOwnerIndex OBJECT-TYPE 2797 SYNTAX SnmpAdminString (SIZE(0..32)) 2798 MAX-ACCESS not-accessible 2799 STATUS current 2800 DESCRIPTION 2801 "To facilitate the provisioning of access control by a security 2802 administrator using the View-Based Access Control Model (RFC 2575, 2803 VACM) for tables in which multiple users may need to independently 2804 create or modify entries, the initial index is used as an 'owner 2805 index'. Such an initial index has a syntax of SnmpAdminString, 2806 and can thus be trivially mapped to a securityName or groupName 2807 as defined in VACM, in accordance with a security policy. 2809 When used in conjunction with such a security policy all entries 2810 in the table belonging to a particular user (or group) will 2811 have the same value for this initial index. For a given user's 2812 entries in a particular table, the object identifiers for the 2813 information in these entries will have the same subidentifiers 2814 (except for the 'column' subidentifier) up to the end of the 2815 encoded owner index. To configure VACM to permit access to this 2816 portion of the table, one would create vacmViewTreeFamilyTable 2817 entries with the value of vacmViewTreeFamilySubtree including the 2818 owner index portion, and vacmViewTreeFamilyMask 'wildcarding' the 2819 column subidentifier. More elaborate configurations are 2820 possible." 2821 ::= { lookupCtlEntry 1 } 2823 lookupCtlOperationName OBJECT-TYPE 2824 SYNTAX SnmpAdminString (SIZE(0..32)) 2825 MAX-ACCESS not-accessible 2826 STATUS current 2827 DESCRIPTION 2828 "The name of a lookup operation. This is locally unique, 2829 within the scope of an lookupCtlOwnerIndex." 2830 ::= { lookupCtlEntry 2 } 2832 lookupCtlTargetAddressType OBJECT-TYPE 2833 SYNTAX HostAddressType 2834 MAX-ACCESS read-create 2835 STATUS current 2836 DESCRIPTION 2837 "Specifies the type of address for either performing a 2838 gethostbyname or a gethostbyaddr function at a remote host. 2839 Specification of dnsName(2) as the value for this object 2840 implies that the gethostbyname function should be performed 2841 to return one or more numeric addresses. Use of a value 2842 of either ipv4(3) or ipv6(4) implies that the gethostbyaddr 2843 function should be used to return the symbolic names 2844 associated with a remote host." 2845 ::= { lookupCtlEntry 3 } 2847 lookupCtlTargetAddress OBJECT-TYPE 2848 SYNTAX HostAddress 2849 MAX-ACCESS read-create 2850 STATUS current 2851 DESCRIPTION 2852 "Specifies the address used for a resolver lookup at a 2853 remote host. The corresponding lookupCtlAddressType 2854 objects determines its type as well as the function 2855 that can be requested. 2857 A value for this object MUST be set prior to 2858 transitioning its corresponding lookupCtlEntry to 2859 active(1) via lookupCtlRowStatus." 2860 ::= { lookupCtlEntry 4 } 2862 lookupCtlOperStatus OBJECT-TYPE 2863 SYNTAX INTEGER { 2864 enabled(1), -- operation is in progress 2865 notStarted(2), -- operation has not started 2866 completed(3) -- operation is done 2867 } 2868 MAX-ACCESS read-only 2869 STATUS current 2870 DESCRIPTION 2871 "Reflects the operational state of an lookupCtlEntry: 2873 enabled(1) - Operation is active. 2874 notStarted(2) - Operation has not been enabled. 2875 completed(3) - Operation has completed. 2877 An operation is automatically enabled(1) when its 2878 lookupCtlRowStatus object is transitioned to active(1) 2879 status. Until this occurs lookupCtlOperStatus MUST 2880 report a value of notStarted(2). After the lookup 2881 operation completes (success or failure) the value 2882 for lookupCtlOperStatus MUST be transitioned to 2883 completed(3)." 2884 ::= { lookupCtlEntry 5 } 2886 lookupCtlTime OBJECT-TYPE 2887 SYNTAX Unsigned32 2888 UNITS "milliseconds" 2889 MAX-ACCESS read-only 2890 STATUS current 2891 DESCRIPTION 2892 "Reports the number of milliseconds that a lookup 2893 operation required to be completed at a remote host. 2894 Completed means operation failure as well as 2895 success." 2896 ::= { lookupCtlEntry 6 } 2898 lookupCtlRc OBJECT-TYPE 2899 SYNTAX Unsigned32 2900 MAX-ACCESS read-only 2901 STATUS current 2902 DESCRIPTION 2903 "The system specific return code from a lookup 2904 operation. All implementations MUST return a value 2905 of 0 for this object when the remote lookup 2906 operation succeeds. A non-zero value for this 2907 objects indicates failure. It is recommended that 2908 implementations that support errno use it as the 2909 value of this object to aid a management 2910 application in determining the cause of failure." 2911 ::= { lookupCtlEntry 7 } 2913 lookupCtlRowStatus OBJECT-TYPE 2914 SYNTAX RowStatus 2915 MAX-ACCESS read-create 2916 STATUS current 2917 DESCRIPTION 2918 "This object allows entries to be created and deleted 2919 in the lookupCtlTable. 2921 A remote lookup operation is started when an 2922 entry in this table is created via an SNMP SET 2923 request and the entry is activated. This 2924 occurs by setting the value of this object 2925 to CreateAndGo(4) during row creation or 2926 by setting this object to active(1) after 2927 the row is created. 2929 A value MUST be specified for lookupCtlTargetAddress 2930 prior to a transition to active(1) state being 2931 accepted. 2933 A remote lookup operation starts when its entry 2934 first becomes active(1). Transitions in and 2935 out of active(1) state have no effect on the 2936 operational behavior of a remote lookup 2937 operation, with the exception that deletion of 2938 an entry in this table by setting its RowStatus 2939 object to destroy(6) will stop an active 2940 remote lookup operation. 2942 The operational state of a remote lookup operation 2943 can be determined by examination of it's 2944 lookupCtlOperStatus object." 2945 REFERENCE 2946 "RFC 2579, 'Textual Conventions for SMIv2.'" 2947 ::= { lookupCtlEntry 8 } 2949 -- Lookup Results Table 2951 lookupResultsTable OBJECT-TYPE 2952 SYNTAX SEQUENCE OF LookupResultsEntry 2953 MAX-ACCESS not-accessible 2954 STATUS current 2955 DESCRIPTION 2956 "Defines the Lookup Results Table for providing 2957 the capability of determining the results of a 2958 operation at a remote host. 2960 One or more entries are added to the 2961 lookupResultsTable when a lookup operation, 2962 as reflected by an lookupCtlEntry, completes 2963 successfully. All entries related to a 2964 successful lookup operation MUST be added 2965 to the lookupResultsTable at the same time 2966 that the associating lookupCtlOperStatus 2967 object is transitioned to completed(2). 2969 The number of entries added depends on the 2970 results determined for a particular lookup 2971 operation. All entries associated with an 2972 lookupCtlEntry are removed when the 2973 lookCtlEntry is deleted. 2975 A remote host can be multi-homed and have more 2976 than one IP address associated with it 2977 (gethostbyname results) and/or it can have more 2978 than one symbolic name (gethostbyaddr results). 2980 The gethostbyaddr function is called with a 2981 host address as its parameter and is used 2982 primarily to determine a symbolic name to 2983 associate with the host address. Entries in 2984 the lookupResultsTable MUST be made for each 2985 host name return. The official host name MUST 2986 be assigned a lookupResultsIndex of 1. 2988 The gethostbyname function is called with a 2989 symbolic host name and is used primarily to 2990 retrieve a host address. If possible the 2991 primary host address SHOULD be assigned a 2992 lookupResultsIndex of 1." 2993 ::= { lookupObjects 4 } 2995 lookupResultsEntry OBJECT-TYPE 2996 SYNTAX LookupResultsEntry 2997 MAX-ACCESS not-accessible 2998 STATUS current 2999 DESCRIPTION 3000 "Defines an entry in the lookupResultsTable. The 3001 initial 2 index elements identify the 3002 lookupCtlEntry that a lookupResultsEntry belongs 3003 to. The 3th index element selects a single 3004 lookup operation result." 3005 INDEX { 3006 lookupCtlOwnerIndex, 3007 lookupCtlOperationName, 3008 lookupResultsIndex 3009 } 3010 ::= { lookupResultsTable 1 } 3012 LookupResultsEntry ::= 3013 SEQUENCE { 3014 lookupResultsIndex Unsigned32, 3015 lookupResultsAddressType HostAddressType, 3016 lookupResultsAddress HostAddress 3017 } 3019 lookupResultsIndex OBJECT-TYPE 3020 SYNTAX Unsigned32 (1..'ffffffff'h) 3021 MAX-ACCESS not-accessible 3022 STATUS current 3023 DESCRIPTION 3024 "Entries in the lookupResultsTable are created when 3025 the result of a lookup operation is determined. 3027 Entries MUST be stored in the lookupResultsTable in 3028 the order that they are retrieved. Values assigned 3029 to lookupResultsIndex MUST start at 1 and increase 3030 in order." 3031 ::= { lookupResultsEntry 1 } 3033 lookupResultsAddressType OBJECT-TYPE 3034 SYNTAX HostAddressType 3035 MAX-ACCESS read-only 3036 STATUS current 3037 DESCRIPTION 3038 "Indicates the type of result of a remote lookup 3039 operation. A value of none(1) implies that 3041 either the operation hasn't been started or that 3042 it has failed." 3043 ::= { lookupResultsEntry 2 } 3045 lookupResultsAddress OBJECT-TYPE 3046 SYNTAX HostAddress 3047 MAX-ACCESS read-only 3048 STATUS current 3049 DESCRIPTION 3050 "Reflects a result for a remote lookup operation 3051 as per the value of lookupResultsAddressType." 3052 ::= { lookupResultsEntry 3 } 3054 -- Conformance information 3055 -- Compliance statements 3057 lookupCompliances OBJECT IDENTIFIER ::= { lookupConformance 1 } 3058 lookupGroups OBJECT IDENTIFIER ::= { lookupConformance 2 } 3060 -- Compliance statements 3062 lookupCompliance MODULE-COMPLIANCE 3063 STATUS current 3064 DESCRIPTION 3065 "The compliance statement for the DISMAN-NSLOOKUP-MIB." 3066 MODULE -- this module 3067 MANDATORY-GROUPS { 3068 lookupGroup 3069 } 3071 OBJECT lookupMaxConcurrentRequests 3072 MIN-ACCESS read-only 3073 DESCRIPTION 3074 "The agent is not required to support a SET 3075 operation to this object." 3077 OBJECT lookupPurgeTime 3078 MIN-ACCESS read-only 3079 DESCRIPTION 3080 "The agent is not required to support a SET 3081 operation to this object." 3082 ::= { lookupCompliances 1 } 3084 -- MIB groupings 3086 lookupGroup OBJECT-GROUP 3087 OBJECTS { 3088 lookupMaxConcurrentRequests, 3089 lookupPurgeTime, 3090 lookupCtlOperStatus, 3091 lookupCtlTargetAddressType, 3092 lookupCtlTargetAddress, 3093 lookupCtlTime, 3094 lookupCtlRc, 3095 lookupCtlRowStatus, 3096 lookupResultsAddressType, 3097 lookupResultsAddress 3098 } 3099 STATUS current 3100 DESCRIPTION 3101 "The group of objects that comprise the remote 3102 Lookup operation." 3103 ::= { lookupGroups 1 } 3105 END 3107 5.0 Security Considerations 3109 Certain management information in the MIBs defined by this document may 3110 be considered sensitive in some network environments. Therefore, 3111 authentication of received SNMP requests and controlled access to 3112 management information SHOULD be employed in such environments. The 3113 method for this authentication is a function of the SNMP Administrative 3114 Framework, and has not been expanded by this MIB. 3116 To facilitate the provisioning of access control by a security 3117 administrator using the View-Based Access Control Model (VACM) defined 3118 in RFC 2575 [11] for tables in which multiple users may need to 3119 independently create or modify entries, the initial index is used as an 3120 "owner index". Such an initial index has a syntax of SnmpAdminString, 3121 and can thus be trivially mapped to a securityName or groupName as 3122 defined in VACM, in accordance with a security policy. 3124 All entries in related tables belonging to a particular user will have 3125 the same value for this initial index. For a given user's entries in a 3126 particular table, the object identifiers for the information in these 3127 entries will have the same subidentifiers (except for the "column" 3128 subidentifier) up to the end of the encoded owner index. To configure 3129 VACM to permit access to this portion of the table, one would create 3130 vacmViewTreeFamilyTable entries with the value of 3131 vacmViewTreeFamilySubtree including the owner index portion, and 3132 vacmViewTreeFamilyMask "wildcarding" the column subidentifier. More 3133 elaborate configurations are possible. The VACM access control 3134 mechanism described above provides control 3136 In general both the ping and traceroute functions when used excessively 3137 are considered a form of system attack. In the case of ping sending a 3138 system requests too often can negatively effect its performance or 3139 attempting to connect to what is suppose to be an unused port can be 3140 very unpredictable. Excessive use of the traceroute capability can like 3141 ping negatively effect system performance. In insecure environments it 3142 is RECOMMENDED that the MIBs defined within this memo not be supported. 3144 6.0 Intellectual Property 3146 The IETF takes no position regarding the validity or scope of any 3147 intellectual property or other rights that might be claimed to pertain 3148 to the implementation or use of the technology described in this 3149 document or the extent to which any license under such rights might or 3150 might not be available; neither does it represent that it has made any 3151 effort to identify any such rights. Information on the IETF's 3152 procedures with respect to rights in standards-track and 3153 standards-related documentation can be found in BCP-11. Copies of 3154 claims of rights made available for publication and any assurances of 3155 licenses to be made available, or the result of an attempt made to 3156 obtain a general license or permission for the use of such proprietary 3157 rights by implementers or users of this specification can be obtained 3158 from the IETF Secretariat. 3160 The IETF invites any interested party to bring to its attention any 3161 copyrights, patents or patent applications, or other proprietary rights 3162 which may cover technology that may be required to practice this 3163 standard. Please address the information to the IETF Executive 3164 Director. 3166 7.0 Acknowledgments 3168 This document is a product of the DISMAN Working Group. 3170 8.0 References 3172 [1] Case, J., Fedor, M., Schoffstall, M. and J. Davin, "Simple Network 3173 Management Protocol", STD 15, RFC 1157, May 1990. 3175 [2] 3177 Postel, J., "Echo Protocol", RFC 862, ISI, May 1983. 3179 [3] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M. 3180 and Waldbusser, S., "Structure of Management Information Version 2 3181 (SMIv2)", STD 58, RFC 2578, April 1999. 3183 [4] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M. 3184 and Waldbusser, S., "Textual Conventions for SMIv2", STD 58, RFC 3185 2579, April 1999. 3187 [5] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M. 3188 and Waldbusser, S., "Conformance Statements for SMIv2", STD 58, RFC 3189 2580, April 1999. 3191 [6] Case, J., McCloghrie, K., Rose, M. and Waldbusser, S., "Protocol 3192 Operations for Version 2 of the Simple Network Management Protocol 3193 (SNMPv2)", RFC 1905, January 1996. 3195 [7] Harrington D., Presuhn, R., Wijnen, B., "An Architecture for 3196 Describing SNMP Management Frameworks", RFC 2571, April 1999. 3198 [8] Case, J., Harrington D., Presuhn, R., Wijnen, B., "Message 3199 Processing and Dispatching for the Simple Network Management 3200 Protocol (SNMP)", RFC 2572, April 1999. 3202 [9] Levi D., Meyer P., Stewart, B., "SNMPv3 Applications", RFC 2573, 3203 April 1999. 3205 [10] Blumenthal, U., Wijnen, B., "User-based Security Model (USM) for 3206 version 3 of the Simple Network Management Protocol (SNMPv3)", RFC 3207 2574, April 1999. 3209 [11] Wijnen, B., Presuhn, R., McCloghrie, K., "View-based Access Control 3210 Model (VACM) for the Simple Network Management Protocol (SNMP)", 3211 RFC 2575, April 1999. 3213 [12] Hovey, R. and Bradner, S., "The Organizations Involved in the IETF 3214 Standards Process", BCP 11, RFC 2028, October 1996. 3216 [13] Bradner, S., "Key words for use in RFCs to Indicate Requirement 3217 Levels", BCP 14, RFC 2119, March 1997. 3219 [14] Rose, M., and McCloghrie, K., "Structure and Identification of 3220 Management Information for TCP/IP-based Internets", RFC 1155, May 3221 1990. 3223 [15] Rose, M., and McCloghrie, K., "Concise MIB Definitions", RFC 1212, 3224 March 1991. 3226 [16] Rose, M., "A Convention for Defining Traps for use with the SNMP", 3227 RFC 1215, March 1991. 3229 [17] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, 3230 "Introduction to Community-based SNMPv2", RFC 1901, January 1996. 3232 [18] Case, J., McCloghrie, K., Rose, M., and Waldbusser, S., "Transport 3233 Mappings for Version 2 of the Simple Network Management Protocol 3234 (SNMPv2)", RFC 1906, January 1996. 3236 [19] Bradner, S., "The Internet Standards Process -- Revision 3", RFC 3237 2026, BCP 9, October 1996. 3239 9.0 Author's Address 3241 Kenneth D. White 3242 Dept. BRQA/Bldg. 501/G114 3243 IBM Corporation 3244 P.O.Box 12195 3245 3039 Cornwallis 3246 Research Triangle Park, NC 27709, USA 3247 E-mail: wkenneth@us.ibm.com 3249 10.0 Full Copyright Statement 3251 Copyright (C) The Internet Society (1999). All Rights Reserved. 3253 This document and translations of it may be copied and furnished to 3254 others, and derivative works that comment on or otherwise explain it or 3255 assist in its implementation may be prepared, copied, published and 3256 distributed, in whole or in part, without restriction of any kind, 3257 provided that the above copyright notice and this paragraph are included 3258 on all such copies and derivative works. However, this document itself 3259 may not be modified in any way, such as by removing the copyright notice 3260 or references to the Internet Society or other Internet organizations, 3261 except as needed for the purpose of developing Internet standards in 3262 which case the procedures for copyrights defined in the Internet 3263 Standards process must be followed, or as required to translate it into 3264 languages other than English. 3266 The limited permissions granted above are perpetual and will not be 3267 revoked by the Internet Society or its successors or assigns. 3269 This document and the information contained herein is provided on an "AS 3270 IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK 3271 FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT 3272 LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT 3273 INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR 3274 FITNESS FOR A PARTICULAR PURPOSE.