idnits 2.17.1 draft-ietf-disman-remops-mib-v2-09.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** It looks like you're using RFC 3978 boilerplate. You should update this to the boilerplate described in the IETF Trust License Policy document (see https://trustee.ietf.org/license-info), which is required now. -- Found old boilerplate from RFC 3978, Section 5.1 on line 21. -- Found old boilerplate from RFC 3978, Section 5.5 on line 4707. -- Found old boilerplate from RFC 3979, Section 5, paragraph 1 on line 4684. -- Found old boilerplate from RFC 3979, Section 5, paragraph 2 on line 4691. -- Found old boilerplate from RFC 3979, Section 5, paragraph 3 on line 4697. ** This document has an original RFC 3978 Section 5.4 Copyright Line, instead of the newer IETF Trust Copyright according to RFC 4748. ** This document has an original RFC 3978 Section 5.5 Disclaimer, instead of the newer disclaimer which includes the IETF Trust according to RFC 4748. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- == No 'Intended status' indicated for this document; assuming Proposed Standard Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the RFC 3978 Section 5.4 Copyright Line does not match the current year == The document seems to use 'NOT RECOMMENDED' as an RFC 2119 keyword, but does not include the phrase in its RFC 2119 key words list. -- 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 (February 2006) is 6639 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) No issues found here. Summary: 3 errors (**), 0 flaws (~~), 3 warnings (==), 7 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 1 Internet Draft Editor of this version: 2 Document: draft-ietf-disman-remops-mib-v2-09.txt J. Quittek 3 Will Obsolete: RFC 2925 NEC 4 Expires: August 2006 5 Editor of previous version: 6 K. White 7 IBM Corp. 9 February 2006 11 Definitions of Managed Objects for Remote Ping, Traceroute, and 12 Lookup Operations 14 16 Status of this Memo 18 By submitting this Internet-Draft, each author represents that any 19 applicable patent or other IPR claims of which he or she is aware 20 have been or will be disclosed, and any of which he or she becomes 21 aware will be disclosed, in accordance with Section 6 of BCP 79. 23 Internet-Drafts are working documents of the Internet Engineering 24 Task Force (IETF), its areas, and its working groups. Note that 25 other groups may also distribute working documents as Internet- 26 Drafts. 28 Internet-Drafts are draft documents valid for a maximum of six months 29 and may be updated, replaced, or obsoleted by other documents at any 30 time. It is inappropriate to use Internet-Drafts as reference 31 material or to cite them other than as "work in progress." 33 The list of current Internet-Drafts can be accessed at 34 http://www.ietf.org/ietf/1id-abstracts.txt. 36 The list of Internet-Draft Shadow Directories can be accessed at 37 http://www.ietf.org/shadow.html. 39 This Internet-Draft will expire in August 2006. 41 Copyright Notice 43 Copyright (C) The Internet Society (2006). 45 Abstract 47 This memo defines Management Information Bases (MIBs) for performing 48 ping, traceroute and lookup operations at a host. When managing a 49 network it is useful to be able to initiate and retrieve the results 50 of ping or traceroute operations when performed at a remote host. A 51 Lookup capability is defined in order to enable resolution of either 52 an IP address to an DNS name or a DNS name to an IP address at a 53 remote host. 55 Currently, there are several enterprise-specific MIBs for performing 56 remote ping or traceroute operations. The purpose of this memo is to 57 define a standards-based solution to enable interoperability. 59 Table of Contents 61 1 Introduction ................................................. 3 62 1.1 Ping ....................................................... 3 63 1.2 Traceroute ................................................. 4 64 1.3 Lookup ..................................................... 4 65 1.4 Remote Operations .......................................... 5 66 2 The Internet-Standard Management Framework ................... 5 67 3 Structure of the MIBs ........................................ 5 68 3.1 Ping MIB ................................................... 6 69 3.1.1 pingMaxConcurrentRequests ................................ 6 70 3.1.2 pingCtlTable ............................................. 6 71 3.1.3 pingResultsTable ......................................... 7 72 3.1.4 pingProbeHistoryTable .................................... 7 73 3.2 Traceroute MIB ............................................. 8 74 3.2.1 traceRouteMaxConcurrentRequests .......................... 8 75 3.2.2 traceRouteCtlTable ....................................... 8 76 3.2.3 traceRouteResultsTable ................................... 9 77 3.2.4 traceRouteProbeHistoryTable .............................. 9 78 3.2.5 traceRouteHopsTable ...................................... 10 79 3.3 Lookup MIB ................................................. 10 80 3.3.1 lookupMaxConcurrentRequests and lookupPurgeTime .......... 10 81 3.3.2 lookupCtlTable ........................................... 10 82 3.3.3 lookupResultsTable ....................................... 11 83 3.4 Conformance ................................................ 12 84 4 Definitions .................................................. 13 85 4.1 DISMAN-PING-MIB ............................................ 13 86 4.2 DISMAN-TRACEROUTE-MIB ...................................... 45 87 4.3 DISMAN-NSLOOKUP-MIB ........................................ 82 88 5 Security Considerations ...................................... 93 89 6 IANA Considerations .......................................... 95 90 7 Acknowledgments .............................................. 95 91 8 References ................................................... 95 92 8.1 Normative References ....................................... 95 93 8.2 Informative References ..................................... 95 94 9 Authors' Addresses ........................................... 96 96 1. Introduction 98 This document defines standards-based MIB modules for performing 99 specific remote operations. The remote operations defined by this 100 document consist of the ping, traceroute, and lookup functions. 102 Ping and traceroute are two very useful functions for managing 103 networks. Ping is typically used to determine if a path exists 104 between two hosts, while traceroute shows an actual path. 106 Both ping and traceroute yield round-trip times measured in 107 milliseconds. These times can be used as a rough approximation for 108 network transit time. 110 The lookup functions considered in this document are the equivalents 111 of name to address conversion functions such as gethostbyname() / 112 gethostbyaddr() and getaddrinfo() / getnameinfo(). 114 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 115 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 116 document are to be interpreted as described in RFC 2119 [RFC2119]. 118 1.1. Ping 120 Ping is usually implemented using the Internet Control Message 121 Protocol (ICMP) "ECHO" facility. It is also possible to implement a 122 ping capability using alternate methods, some of which are: 124 o Using the UDP echo port (7), if supported. 126 This is defined by RFC 862 [RFC862]. 128 o Timing an SNMP query. 130 o Timing a TCP connect attempt. 132 In general, almost any request/response flow can be used to generate 133 a round-trip time. Often many of the non-ICMP ECHO facility methods 134 stand a better chance of yielding a good response (not timing out for 135 example) since some routers don't honor Echo Requests (timeout 136 situation) or they are handled at lower priority, hence possibly 137 giving false indications of round trip times. 139 It must be noted that almost any of the various methods used for 140 generating a round-trip time can be considered a form of system 141 attack when used excessively. Sending a system requests too often 142 can negatively effect its performance. Attempting to connect to what 143 is supposed to be an unused port can be very unpredictable. There 144 are tools that attempt to connect to a range of TCP ports to test 145 that any receiving server can handle erroneous connection attempts. 147 It also is important to the management application using a remote 148 ping capability to know which method is being used. Different 149 methods will yield different response times since the protocol and 150 resulting processing will be different. It is RECOMMENDED that the 151 ping capability defined within this memo be implemented using the 152 ICMP Echo Facility. 154 1.2. Traceroute 156 Traceroute is usually implemented by transmitting a series of probe 157 packets with increasing time-to-live values. A probe packet is a UDP 158 datagram encapsulated into an IP packet. Each hop in a path to the 159 target (destination) host rejects the probe packet (probe's TTL too 160 small) until its time-to-live value becomes large enough for the 161 probe to be forwarded. Each hop in a traceroute path returns an ICMP 162 message that is used to discover the hop and to calculate a round 163 trip time. Some systems use ICMP probes (ICMP Echo request packets) 164 instead of UDP ones to implement traceroute. In both cases 165 traceroute relies on the probes being rejected via an ICMP message to 166 discover the hops taken along a path to the final destination. Both 167 probe types, UDP and ICMP, are encapsulated into an IP packet and 168 thus have a TTL field that can be used to cause a path rejection. 170 Implementations of the remote traceroute capability as defined within 171 this memo SHOULD be done using UDP packets to a (hopefully) unused 172 port. ICMP probes (ICMP Echo Request packets) SHOULD NOT be used. 173 Many PC implementations of traceroute use the ICMP probe method, 174 which they should not, since this implementation method has been 175 known to have a high probability of failure. Intermediate hops 176 become invisible when a router either refuses to send an ICMP TTL 177 expired message in response to an incoming ICMP packet or simply 178 tosses ICMP echo requests altogether. 180 The behavior of some routers not to return a TTL expired message in 181 response to an ICMP Echo request is due in part to the following text 182 extracted from RFC 792 [RFC792]: 184 "The ICMP messages typically report errors in the processing of 185 datagrams. To avoid the infinite regress of messages about messages 186 etc., no ICMP messages are sent about ICMP messages." 188 1.3. Lookup 190 The Lookup operation enables remote lookup of addresses for a 191 symbolic name as it is, for example, performed by functions 192 getnameinfo() or gethostbyaddr() and lookup of symbolic names for a 193 addresses as it is, for example, performed by functions getaddrinfo() 194 or gethostbyname(). The lookup capability can be used to determine 195 the symbolic name of a hop in a traceroute path. 197 1.4. Remote Operations 199 The MIB modules defined in this document allow a management station 200 to initiate ping, traceroute and lookup operations remotely. The 201 basic scenario is illustrated by the following diagram. 203 +-------+ +-------+ +-------+ 204 | |---------->| | | | 205 | | initiate | |---------->| | 206 | Mgmt. | operation |Managed| perform |Target | 207 |Station| remotely | Node | operation | Host | 208 | | | | | | 209 | |<----------| | | | 210 +-------+ receive +-------+ +-------+ 211 result of 212 operation 214 A management station is the local host from which the remote ping, 215 traceroute, or Lookup operation is initiated using an SNMP request. 216 The Managed Node is a remote host where the MIBs defined by this memo 217 are implemented that receives the remote operation via SNMP and 218 performs the actual ping, traceroute, or lookup function. 220 2. The Internet-Standard Management Framework 222 For a detailed overview of the documents that describe the current 223 Internet-Standard Management Framework, please refer to section 7 of 224 RFC 3410 [RFC3410]. 226 Managed objects are accessed via a virtual information store, termed 227 the Management Information Base or MIB. MIB objects are generally 228 accessed through the Simple Network Management Protocol (SNMP). 229 Objects in the MIB are defined using the mechanisms defined in the 230 Structure of Management Information (SMI). This memo specifies a MIB 231 module that is compliant to the SMIv2, which is described in STD 58, 232 RFC 2578 [RFC2578], STD 58, RFC 2579 [RFC2579] and STD 58, RFC 2580 233 [RFC2580]. 235 3. Structure of the MIBs 237 This document defines three MIB modules: 239 o DISMAN-PING-MIB 241 Defines a ping MIB. 243 o DISMAN-TRACEROUTE-MIB 245 Defines a traceroute MIB. 247 o DISMAN-NSLOOKUP-MIB 249 Provides access to lookup functions for symbolic names and 250 addreeses at a remote host, for example provided by functions 251 getaddrinfo() / getnameinfo() and gethostbyname() / 252 gethostbyaddr(). 254 The ping and traceroute MIBs are structured to allow creation of ping 255 or traceroute tests that can be set up to periodically issue a series 256 of operations and generate NOTIFICATIONs to report on test results. 257 Many network administrators have in the past written UNIX shell 258 scripts or command batch files to operate in fashion similar to the 259 functionality provided by the ping and traceroute MIBs defined within 260 this memo. The intent of this document is to acknowledge the 261 importance of these functions and to provide a standards-based 262 solution. 264 3.1. Ping MIB 266 The DISMAN-PING-MIB consists of the following components: 268 o pingMaxConcurrentRequests 270 o pingCtlTable 272 o pingResultsTable 274 o pingProbeHistoryTable 276 3.1.1. pingMaxConcurrentRequests 278 The object pingMaxConcurrentRequests enables control of the maximum 279 number of concurrent active requests that an agent implementation 280 supports. It is permissible for an agent either to limit the maximum 281 upper range allowed for this object or to implement this object as 282 read-only with an implementation limit expressed as its value. 284 3.1.2. pingCtlTable 286 A remote ping test is started by setting pingCtlAdminStatus to 287 enabled(1). The corresponding pingCtlEntry MUST have been created 288 and its pingCtlRowStatus set to active(1) prior to starting the test. 289 A single SNMP PDU can be used to create and start a remote ping test. 290 Within the PDU, pingCtlTargetAddress should be set to the target 291 host's address (pingCtlTargetAddressType will default to ipv4(1)), 292 pingCtlAdminStatus to enabled(1), and pingCtlRowStatus to 293 createAndGo(4). 295 The first index element, pingCtlOwnerIndex, is of type 296 SnmpAdminString, a textual convention that allows for use of the 297 SNMPv3 View-Based Access Control Model (RFC 3415 [RFC3415], VACM) and 298 allows a management application to identify its entries. The second 299 index, pingCtlTestName (also an SnmpAdminString), enables the same 300 management application to have multiple requests outstanding. 302 Using the maximum value for the parameters defined within a pingEntry 303 can result in a single remote ping test taking at most 15 minutes 304 (pingCtlTimeOut times pingCtlProbeCount) plus whatever time it takes 305 to send the ping request and receive its response over the network 306 from the target host. Use of the defaults for pingCtlTimeOut and 307 pingCtlProbeCount yields a maximum of 3 seconds to perform a "normal" 308 ping test. 310 A management application can delete an active remote ping request by 311 setting the corresponding pingCtlRowStatus object to destroy(6). 313 The contents of the pingCtlTable is preserved across reIPLs (Initial 314 Program Loads) of its agent according the values of each of the 315 pingCtlStorageType objects. 317 3.1.3. pingResultsTable 319 An entry in the pingResultsTable is created for a corresponding 320 pingCtlEntry once the test defined by this entry is started. 322 3.1.4. pingProbeHistoryTable 324 The results of past ping probes can be stored in this table on a per 325 pingCtlEntry basis. This table is initially indexed by 326 pingCtlOwnerIndex and pingCtlTestName in order for the results of a 327 probe to relate to the pingCtlEntry that caused it. The maximum 328 number of entries stored in this table per pingCtlEntry is determined 329 by the value of pingCtlMaxRows. 331 An implementation of this MIB will remove the oldest entry in the 332 pingProbeHistoryTable of the corresponding entry in the pingCtlTable 333 to allow the addition of an new entry once the number of rows in the 334 pingProbeHistoryTable reaches the value specified by pingCtlMaxRows 335 for the corresponding entry in the pingCtlTable. An implementation 336 MUST start assigning pingProbeHistoryIndex values at 1 and wrap after 337 exceeding the maximum possible value as defined by the limit of this 338 object ('ffffffff'h). 340 3.2. Traceroute MIB 342 The DISMAN-TRACEROUTE-MIB consists of the following components: 344 o traceRouteMaxConcurrentRequests 346 o traceRouteCtlTable 348 o traceRouteResultsTable 350 o traceRouteProbeHistoryTable 352 o traceRouteHopsTable 354 3.2.1. traceRouteMaxConcurrentRequests 356 The object traceRouteMaxConcurrentRequests enables control of the 357 maximum number of concurrent active requests that an agent 358 implementation supports. It is permissible for an agent either to 359 limit the maximum upper range allowed for this object or to implement 360 this object as read-only with an implementation limit expressed as 361 its value. 363 3.2.2. traceRouteCtlTable 365 A remote traceroute test is started by setting 366 traceRouteCtlAdminStatus to enabled(1). The corresponding 367 traceRouteCtlEntry MUST have been created and its 368 traceRouteCtlRowStatus set to active(1) prior to starting the test. 369 A single SNMP PDU can be used to create and start a remote traceroute 370 test. Within the PDU, traceRouteCtlTargetAddress should be set to 371 the target host's address (traceRouteCtlTargetAddressType will 372 default to ipv4(1)), traceRouteCtlAdminStatus to enabled(1), and 373 traceRouteCtlRowStatus to createAndGo(4). 375 The first index element, traceRouteCtlOwnerIndex, is of type 376 SnmpAdminString, a textual convention that allows for use of the 377 SNMPv3 View-Based Access Control Model (RFC 3415 [RFC3415], VACM) and 378 allows a management application to identify its entries. The second 379 index, traceRouteCtlTestName (also an SnmpAdminString), enables the 380 same management application to have multiple requests outstanding. 382 Traceroute has a much longer theoretical maximum time for completion 383 than ping. Basically 42 hours and 30 minutes (the product of 384 traceRouteCtlTimeOut, traceRouteCtlProbesPerHop, and 385 traceRouteCtlMaxTtl) plus some network transit time! Use of the 386 defaults defined within an traceRouteCtlEntry yields a maximum of 4 387 minutes and 30 seconds for a default traceroute operation. Clearly 388 42 plus hours is too long to wait for a traceroute operation to 389 complete. 391 The maximum TTL value in effect for traceroute determines how long 392 the traceroute function will keep increasing the TTL value in the 393 probe it transmits hoping to reach the target host. The function 394 ends whenever the maximum TTL is exceeded or the target host is 395 reached. The object traceRouteCtlMaxFailures was created in order to 396 impose a throttle for how long traceroute continues to increase the 397 TTL field in a probe without receiving any kind of response 398 (timeouts). It is RECOMMENDED that agent implementations impose a 399 time limit for how long it allows a traceroute operation to take 400 relative to how the function is implemented. For example, an 401 implementation that can't process multiple traceroute operations at 402 the same time SHOULD impose a shorter maximum allowed time period. 404 A management application can delete an active remote traceroute 405 request by setting the corresponding traceRouteCtlRowStatus object to 406 destroy(6). 408 The contents of the traceRouteCtlTable is preserved across reIPLs 409 (Initial Program Loads) of its agent according to the values of each 410 of the traceRouteCtlStorageType objects. 412 3.2.3. traceRouteResultsTable 414 An entry in the traceRouteResultsTable is created upon determining 415 the results of a specific traceroute operation. Entries in this 416 table relate back to the traceRouteCtlEntry that caused the 417 corresponding traceroute operation to occur. The objects 418 traceRouteResultsCurHopCount and traceRouteResultsCurProbeCount can 419 be examined to determine how far the current remote traceroute 420 operation has reached. 422 3.2.4. traceRouteProbeHistoryTable 424 The results of past traceroute probes can be stored in this table on 425 a per traceRouteCtlEntry basis. This table is initially indexed by 426 traceRouteCtlOwnerIndex and traceRouteCtlTestName in order for the 427 results of a probe to relate to the traceRouteCtlEntry that caused 428 it. The number of entries stored in this table per 429 traceRouteCtlEntry is determined by the value of 430 traceRouteCtlMaxRows. 432 An implementation of this MIB will remove the oldest entry in the 433 traceRouteProbeHistoryTable of the corresponding entry in the 434 traceRouteCtlTable to allow the addition of an new entry once the 435 number of rows in the traceRouteProbeHistoryTable reaches the value 436 of traceRouteCtlMaxRows for the corresponding entry in the 437 traceRouteCtlTable. An implementation MUST start assigning 438 traceRouteProbeHistoryIndex values at 1 and wrap after exceeding the 439 maximum possible value as defined by the limit of this object 440 ('ffffffff'h). 442 3.2.5. traceRouteHopsTable 444 The current traceroute path can be stored in this table on a per 445 traceRouteCtlEntry basis. This table is initially indexed by 446 traceRouteCtlOwnerIndex and traceRouteCtlTestName in order for a 447 traceroute path to relate to the traceRouteCtlEntry that caused it. 448 A third index, traceRouteHopsHopIndex, enables keeping one 449 traceRouteHopsEntry per traceroute hop. Creation of 450 traceRouteHopsTable entries is enabled by setting the corresponding 451 traceRouteCtlCreateHopsEntries object to true(1). 453 3.3. Lookup MIB 455 The DISMAN-NSLOOKUP-MIB consists of the following components: 457 o lookupMaxConcurrentRequests, and lookupPurgeTime 459 o lookupCtlTable 461 o lookupResultsTable 463 3.3.1. lookupMaxConcurrentRequests and lookupPurgeTime 465 The object lookupMaxConcurrentRequests enables control of the maximum 466 number of concurrent active requests that an agent implementation is 467 structured to support. It is permissible for an agent either to 468 limit the maximum upper range allowed for this object or to implement 469 this object as read-only with an implementation limit expressed as 470 its value. 472 The object lookupPurgeTime provides a method for entries in the 473 lookupCtlTable and lookupResultsTable to be automatically deleted 474 after the corresponding operation completes. 476 3.3.2. lookupCtlTable 478 A remote lookup operation is initiated by performing an SNMP SET 479 request on lookupCtlRowStatus. A single SNMP PDU can be used to 480 create and start a remote lookup operation. Within the PDU, 481 lookupCtlTargetAddress should be set to the entity to be resolved 482 (lookupCtlTargetAddressType will default to ipv4(1)) and 483 lookupCtlRowStatus to createAndGo(4). The object lookupCtlOperStatus 485 can be examined to determine the state of an lookup operation. A 486 management application can delete an active remote lookup request by 487 setting the corresponding lookupCtlRowStatus object to destroy(6). 489 An lookupCtlEntry is initially indexed by lookupCtlOwnerIndex, which 490 is of type SnmpAdminString, a textual convention that allows for use 491 of the SNMPv3 View-Based Access Control Model (RFC 3415 [RFC3415], 492 VACM) and also allows for a management application to identify its 493 entries. The lookupCtlOwnerIndex portion of the index is then 494 followed by lookupCtlOperationName. The lookupCtlOperationName index 495 enables the same lookupCtlOwnerIndex entity to have multiple 496 outstanding requests. 498 The value of lookupCtlTargetAddressType determines which lookup 499 function to perform. Specification of dns(16) as the value of this 500 index implies that a functions such as getaddrinfo() or 501 gethostbyname() should be performed to determine the numeric 502 addresses associated with a symbolic name via lookupResultsTable 503 entries. Use of a value of either ipv4(1) or ipv6(2) implies that a 504 function such as getnameinfo() or gethostbyaddr() should be performed 505 to determine the symbolic name(s) associated with a numeric address 506 at a remote host. 508 3.3.3. lookupResultsTable 510 The lookupResultsTable is used to store the results of lookup 511 operations. The lookupResultsTable is initially indexed by the same 512 index elements that the lookupCtlTable contains (lookupCtlOwnerIndex 513 and lookupCtlOperationName) but has a third index element, 514 lookupResultsIndex (Unsigned32 textual convention), in order to 515 associate multiple results with the same lookupCtlEntry. 517 A remote host can be multi-homed and can have multiple symbolic (DNS) 518 names. Therefore, a lookup operation can return multiple IP 519 addresses and multiple symbolic names. 521 If the lookup operation was performed for a certain address, for 522 example, by using getnameinfo() or gethostbyaddr(), then entries in 523 the lookupResultsTable MUST be made for each host name returned. If 524 the lookup operation identifies one hostname as the host's 'official 525 host name', then this name MUST be assigned a lookupResultsIndex of 526 1. 528 If a lookup operation was performed for a certain symbolic name, for 529 example, by using getaddrinfo() or gethostbyname(), then entries in 530 the lookupResultsTable MUST be made for each address returned. The 531 entries MUST be stored in the order that they are retrieved. Values 532 assigned to lookupResultsIndex MUST start at 1 and increase in order. 534 An implementation SHOULD NOT retain SNMP-created entries in the 535 lookupResultsTable across reIPLs (Initial Program Loads) of its 536 agent, since management applications need to see consistent behavior 537 with respect to the persistence of the table entries that they 538 create. 540 3.4. Conformance 542 Each of the three MIB modules defined in this document has two 543 current compliance statements, one for full compliance and one for 544 minimum compliance. The minimum compliance statements are intended 545 to be applied to implementation for devices with very limited 546 resources. The main difference between full and minimum compliance 547 is that for minimum compliance dynamic creation and deletion of table 548 entries is not required while it is required for full compliance. 550 In addition, the DISMAN-PING-MIB module and the DISMAN-TRACEROUTE-MIB 551 modules each have a deprecated compliance statement that was current 552 in RFC 2925. Semantically, the new full compliance statements are 553 identical to the deprecated ones. But some of the object groups used 554 in the old compliance statements needed to be split in order to 555 support the new minimal compliance statements. 557 4. Definitions 559 The following MIB modules import from [RFC2863], [RFC3411] and 560 [RFC4001]. They also use the REFERENCE clause to reference 561 [RFC1812], [RFC2474] and [RFC3260]. 563 4.1. DISMAN-PING-MIB 565 DISMAN-PING-MIB DEFINITIONS ::= BEGIN 567 IMPORTS 568 MODULE-IDENTITY, OBJECT-TYPE, Integer32, 569 Unsigned32, Gauge32, mib-2, 570 NOTIFICATION-TYPE, OBJECT-IDENTITY 571 FROM SNMPv2-SMI -- RFC2578 572 TEXTUAL-CONVENTION, RowStatus, 573 StorageType, DateAndTime, TruthValue 574 FROM SNMPv2-TC -- RFC2579 575 MODULE-COMPLIANCE, OBJECT-GROUP, 576 NOTIFICATION-GROUP 577 FROM SNMPv2-CONF -- RFC2580 578 InterfaceIndexOrZero -- RFC2863 579 FROM IF-MIB 580 SnmpAdminString 581 FROM SNMP-FRAMEWORK-MIB -- RFC3411 582 InetAddressType, InetAddress 583 FROM INET-ADDRESS-MIB; -- RFC4001 585 pingMIB MODULE-IDENTITY 586 LAST-UPDATED "200602141414Z" -- 14 February 2006 587 ORGANIZATION "IETF Distributed Management Working Group" 588 CONTACT-INFO 589 "Juergen Quittek 591 NEC Europe Ltd. 592 Network Laboratories 593 Kurfuersten-Anlage 36 594 69115 Heidelberg 595 Germany 597 Phone: +49 6221 90511-15 598 Email: quittek@ccrle.nec.de" 599 DESCRIPTION 600 "The Ping MIB (DISMAN-PING-MIB) provides the capability of 601 controlling the use of the ping function at a remote 602 host. 604 Copyright (C) The Internet Society (2006). This version of 605 this MIB module is part of RFC XXXX; see the RFC itself for 606 full legal notices." 608 -- Revision history 610 REVISION "200602141414Z" -- 14 February 2006 611 DESCRIPTION 612 "Updated version, published as RFC XXXX. 613 - correctly considered IPv6 in DESCRIPTION 614 clause of pingCtlDataSize 615 - replaced references to RFC 2575 by RFC 3415 616 - replaced references to RFC 2571 by RFC 3411 617 - replaced references to RFC 2851 by RFC 4001 618 - added DEFVAL { {} } to definition of 619 pingCtlTrapGeneration 620 - changed DEFVAL of object pingCtlDescr from 621 DEFVAL { '00'H } to DEFVAL { ''H } 622 - changed DEFVAL of object pingCtlSourceAddressType 623 from DEFVAL { ipv4 } to DEFVAL { unknown } 624 - extended DESCRIPTION clause of pingResultsTable 625 describing re-initialization of entries 626 - changed SYNTAX of pingResultsProbeResponses and 627 pingResultsSentProbes from Unsigned32 to Gauge32 628 - changed status of pingCompliance to deprecated 629 - added pingFullCompliance and pingMinimumCompliance 630 - changed status of pingGroup and pingTimeStampGroup 631 to deprecated 632 - added pingMinimumGroup, pingCtlRowStatusGroup, 633 and pingHistoryGroup 635 REVISION "200009210000Z" -- 21 September 2000 636 DESCRIPTION 637 "Initial version, published as RFC 2925." 639 ::= { mib-2 80 } 641 -- Textual Conventions 643 OperationResponseStatus ::= TEXTUAL-CONVENTION 644 STATUS current 645 DESCRIPTION 646 "Used to report the result of an operation: 648 responseReceived(1) - Operation completes successfully. 649 unknown(2) - Operation failed due to unknown error. 650 internalError(3) - An implementation detected an error 651 in its own processing that caused an operation 652 to fail. 653 requestTimedOut(4) - Operation failed to receive a 654 valid reply within the time limit imposed on it. 655 unknownDestinationAddress(5) - Invalid destination 656 address. 657 noRouteToTarget(6) - Could not find a route to target. 659 interfaceInactiveToTarget(7) - The interface to be 660 used in sending a probe is inactive without an 661 alternate route existing. 662 arpFailure(8) - Unable to resolve a target address to a 663 media specific address. 664 maxConcurrentLimitReached(9) - The maximum number of 665 concurrent active operations would have been exceeded 666 if the corresponding operation was allowed. 667 unableToResolveDnsName(10) - The DNS name specified was 668 unable to be mapped to an IP address. 669 invalidHostAddress(11) - The IP address for a host 670 has been determined to be invalid. Examples of this 671 are broadcast or multicast addresses." 672 SYNTAX INTEGER { 673 responseReceived(1), 674 unknown(2), 675 internalError(3), 676 requestTimedOut(4), 677 unknownDestinationAddress(5), 678 noRouteToTarget(6), 679 interfaceInactiveToTarget(7), 680 arpFailure(8), 681 maxConcurrentLimitReached(9), 682 unableToResolveDnsName(10), 683 invalidHostAddress(11) 684 } 686 -- Top level structure of the MIB 688 pingNotifications OBJECT IDENTIFIER ::= { pingMIB 0 } 689 pingObjects OBJECT IDENTIFIER ::= { pingMIB 1 } 690 pingConformance OBJECT IDENTIFIER ::= { pingMIB 2 } 692 -- The registration node (point) for ping implementation types 694 pingImplementationTypeDomains OBJECT IDENTIFIER ::= { pingMIB 3 } 696 pingIcmpEcho OBJECT-IDENTITY 697 STATUS current 698 DESCRIPTION 699 "Indicates that an implementation is using the Internet 700 Control Message Protocol (ICMP) 'ECHO' facility." 701 ::= { pingImplementationTypeDomains 1 } 703 pingUdpEcho OBJECT-IDENTITY 704 STATUS current 705 DESCRIPTION 706 "Indicates that an implementation is using the UDP echo 707 port (7)." 709 REFERENCE 710 "RFC 862, 'Echo Protocol'." 711 ::= { pingImplementationTypeDomains 2 } 713 pingSnmpQuery OBJECT-IDENTITY 714 STATUS current 715 DESCRIPTION 716 "Indicates that an implementation is using an SNMP query 717 to calculate a round trip time." 718 ::= { pingImplementationTypeDomains 3 } 720 pingTcpConnectionAttempt OBJECT-IDENTITY 721 STATUS current 722 DESCRIPTION 723 "Indicates that an implementation is attempting to 724 connect to a TCP port in order to calculate a round 725 trip time." 726 ::= { pingImplementationTypeDomains 4 } 728 -- Simple Object Definitions 730 pingMaxConcurrentRequests OBJECT-TYPE 731 SYNTAX Unsigned32 732 UNITS "requests" 733 MAX-ACCESS read-write 734 STATUS current 735 DESCRIPTION 736 "The maximum number of concurrent active ping requests 737 that are allowed within an agent implementation. A value 738 of 0 for this object implies that there is no limit for 739 the number of concurrent active requests in effect. 741 The limit applies only to new requests being activated. 742 When a new value is set, the agent will continue processing 743 all the requests already active, even if their number 744 exceed the limit just imposed." 745 DEFVAL { 10 } 746 ::= { pingObjects 1 } 748 -- Ping Control Table 750 pingCtlTable OBJECT-TYPE 751 SYNTAX SEQUENCE OF PingCtlEntry 752 MAX-ACCESS not-accessible 753 STATUS current 754 DESCRIPTION 755 "Defines the ping Control Table for providing, via SNMP, 756 the capability of performing ping operations at 757 a remote host. The results of these operations are 758 stored in the pingResultsTable and the 759 pingProbeHistoryTable." 760 ::= { pingObjects 2 } 762 pingCtlEntry OBJECT-TYPE 763 SYNTAX PingCtlEntry 764 MAX-ACCESS not-accessible 765 STATUS current 766 DESCRIPTION 767 "Defines an entry in the pingCtlTable. The first index 768 element, pingCtlOwnerIndex, is of type SnmpAdminString, 769 a textual convention that allows for use of the SNMPv3 770 View-Based Access Control Model (RFC 3415, VACM) 771 and allows an management application to identify its 772 entries. The second index, pingCtlTestName (also an 773 SnmpAdminString), enables the same management 774 application to have multiple outstanding requests." 775 INDEX { 776 pingCtlOwnerIndex, 777 pingCtlTestName 778 } 779 ::= { pingCtlTable 1 } 781 PingCtlEntry ::= 782 SEQUENCE { 783 pingCtlOwnerIndex SnmpAdminString, 784 pingCtlTestName SnmpAdminString, 785 pingCtlTargetAddressType InetAddressType, 786 pingCtlTargetAddress InetAddress, 787 pingCtlDataSize Unsigned32, 788 pingCtlTimeOut Unsigned32, 789 pingCtlProbeCount Unsigned32, 790 pingCtlAdminStatus INTEGER, 791 pingCtlDataFill OCTET STRING, 792 pingCtlFrequency Unsigned32, 793 pingCtlMaxRows Unsigned32, 794 pingCtlStorageType StorageType, 795 pingCtlTrapGeneration BITS, 796 pingCtlTrapProbeFailureFilter Unsigned32, 797 pingCtlTrapTestFailureFilter Unsigned32, 798 pingCtlType OBJECT IDENTIFIER, 799 pingCtlDescr SnmpAdminString, 800 pingCtlSourceAddressType InetAddressType, 801 pingCtlSourceAddress InetAddress, 802 pingCtlIfIndex InterfaceIndexOrZero, 803 pingCtlByPassRouteTable TruthValue, 804 pingCtlDSField Unsigned32, 805 pingCtlRowStatus RowStatus 806 } 808 pingCtlOwnerIndex OBJECT-TYPE 809 SYNTAX SnmpAdminString (SIZE(0..32)) 810 MAX-ACCESS not-accessible 811 STATUS current 812 DESCRIPTION 813 "To facilitate the provisioning of access control by a 814 security administrator using the View-Based Access 815 Control Model (RFC 2575, VACM) for tables in which 816 multiple users may need to independently create or 817 modify entries, the initial index is used as an 'owner 818 index'. Such an initial index has a syntax of 819 SnmpAdminString, and can thus be trivially mapped to a 820 securityName or groupName as defined in VACM, in 821 accordance with a security policy. 823 When used in conjunction with such a security policy all 824 entries in the table belonging to a particular user (or 825 group) will have the same value for this initial index. 826 For a given user's entries in a particular table, the 827 object identifiers for the information in these entries 828 will have the same subidentifiers (except for the 'column' 829 subidentifier) up to the end of the encoded owner index. 830 To configure VACM to permit access to this portion of the 831 table, one would create vacmViewTreeFamilyTable entries 832 with the value of vacmViewTreeFamilySubtree including 833 the owner index portion, and vacmViewTreeFamilyMask 834 'wildcarding' the column subidentifier. More elaborate 835 configurations are possible." 836 ::= { pingCtlEntry 1 } 838 pingCtlTestName OBJECT-TYPE 839 SYNTAX SnmpAdminString (SIZE(0..32)) 840 MAX-ACCESS not-accessible 841 STATUS current 842 DESCRIPTION 843 "The name of the ping test. This is locally unique, within 844 the scope of an pingCtlOwnerIndex." 845 ::= { pingCtlEntry 2 } 847 pingCtlTargetAddressType OBJECT-TYPE 848 SYNTAX InetAddressType 849 MAX-ACCESS read-create 850 STATUS current 851 DESCRIPTION 852 "Specifies the type of host address to be used at a remote 853 host for performing a ping operation." 854 DEFVAL { unknown } 855 ::= { pingCtlEntry 3 } 857 pingCtlTargetAddress OBJECT-TYPE 858 SYNTAX InetAddress 859 MAX-ACCESS read-create 860 STATUS current 861 DESCRIPTION 862 "Specifies the host address to be used at a remote host for 863 performing a ping operation. The host address type is 864 determined by the value of the corresponding 865 pingCtlTargetAddressType. 867 A value for this object MUST be set prior to transitioning 868 its corresponding pingCtlEntry to active(1) via 869 pingCtlRowStatus." 870 DEFVAL { ''H } 871 ::= { pingCtlEntry 4 } 873 pingCtlDataSize OBJECT-TYPE 874 SYNTAX Unsigned32 (0..65507) 875 UNITS "octets" 876 MAX-ACCESS read-create 877 STATUS current 878 DESCRIPTION 879 "Specifies the size of the data portion to be 880 transmitted in a ping operation in octets. Whether or 881 not this value can be applied depends on the selected 882 implementation method for performing a ping operation 883 indicated by pingCtlType in the same conceptual row. 884 If the method used allows applying the value contained 885 in this object, then it MUST be applied. If the specified 886 size is not appropriate for the chosen ping method, the 887 implementation SHOULD use whatever size (appropriate to 888 the method) is closest to the specified size. 890 The maximum value for this object was computed by 891 substracting the smallest possible IP header size of 892 20 octets (IPv4 header with no options) and the UDP 893 header size of 8 octets from the maximum IP packet size. 894 An IP packet has a maximum size of 65535 octets 895 (excluding IPv6 Jumbograms)." 896 DEFVAL { 0 } 897 ::= { pingCtlEntry 5 } 899 pingCtlTimeOut OBJECT-TYPE 900 SYNTAX Unsigned32 (1..60) 901 UNITS "seconds" 902 MAX-ACCESS read-create 903 STATUS current 904 DESCRIPTION 905 "Specifies the time-out value, in seconds, for a 906 remote ping operation." 907 DEFVAL { 3 } 908 ::= { pingCtlEntry 6 } 910 pingCtlProbeCount OBJECT-TYPE 911 SYNTAX Unsigned32 (1..15) 912 UNITS "probes" 913 MAX-ACCESS read-create 914 STATUS current 915 DESCRIPTION 916 "Specifies the number of times to perform a ping 917 operation at a remote host as part of a single ping test." 918 DEFVAL { 1 } 919 ::= { pingCtlEntry 7 } 921 pingCtlAdminStatus OBJECT-TYPE 922 SYNTAX INTEGER { 923 enabled(1), -- test should be started 924 disabled(2) -- test should be stopped 925 } 926 MAX-ACCESS read-create 927 STATUS current 928 DESCRIPTION 929 "Reflects the desired state that a pingCtlEntry should be 930 in: 932 enabled(1) - Attempt to activate the test as defined by 933 this pingCtlEntry. 934 disabled(2) - Deactivate the test as defined by this 935 pingCtlEntry. 937 Refer to the corresponding pingResultsOperStatus to 938 determine the operational state of the test defined by 939 this entry." 940 DEFVAL { disabled } 941 ::= { pingCtlEntry 8 } 943 pingCtlDataFill OBJECT-TYPE 944 SYNTAX OCTET STRING (SIZE(0..1024)) 945 MAX-ACCESS read-create 946 STATUS current 947 DESCRIPTION 948 "The content of this object is used together with the 949 corresponding pingCtlDataSize value to determine how to 950 fill the data portion of a probe packet. The option of 951 selecting a data fill pattern can be useful when links 952 are compressed or have data pattern sensitivities. The 953 contents of pingCtlDataFill should be repeated in a ping 954 packet when the size of the data portion of the ping 955 packet is greater than the size of pingCtlDataFill." 956 DEFVAL { '00'H } 957 ::= { pingCtlEntry 9 } 959 pingCtlFrequency OBJECT-TYPE 960 SYNTAX Unsigned32 961 UNITS "seconds" 962 MAX-ACCESS read-create 963 STATUS current 964 DESCRIPTION 965 "The number of seconds to wait before repeating a ping test 966 as defined by the value of the various objects in the 967 corresponding row. 969 A single ping test consists of a series of ping probes. 970 The number of probes is determined by the value of the 971 corresponding pingCtlProbeCount object. After a single 972 test completes the number of seconds as defined by the 973 value of pingCtlFrequency MUST elapse before the 974 next ping test is started. 976 A value of 0 for this object implies that the test 977 as defined by the corresponding entry will not be 978 repeated." 979 DEFVAL { 0 } 980 ::= { pingCtlEntry 10 } 982 pingCtlMaxRows OBJECT-TYPE 983 SYNTAX Unsigned32 984 UNITS "rows" 985 MAX-ACCESS read-create 986 STATUS current 987 DESCRIPTION 988 "The maximum number of corresponding entries allowed 989 in the pingProbeHistoryTable. An implementation of this 990 MIB will remove the oldest corresponding entry in the 991 pingProbeHistoryTable to allow the addition of an 992 new entry once the number of corresponding rows in the 993 pingProbeHistoryTable reaches this value. 995 Old entries are not removed when a new test is 996 started. Entries are added to the pingProbeHistoryTable 997 until pingCtlMaxRows is reached before entries begin to 998 be removed. 1000 A value of 0 for this object disables creation of 1001 pingProbeHistoryTable entries." 1002 DEFVAL { 50 } 1003 ::= { pingCtlEntry 11 } 1005 pingCtlStorageType OBJECT-TYPE 1006 SYNTAX StorageType 1007 MAX-ACCESS read-create 1008 STATUS current 1009 DESCRIPTION 1010 "The storage type for this conceptual row. 1011 Conceptual rows having the value 'permanent' need not 1012 allow write-access to any columnar objects in the row." 1013 DEFVAL { nonVolatile } 1014 ::= { pingCtlEntry 12 } 1016 pingCtlTrapGeneration OBJECT-TYPE 1017 SYNTAX BITS { 1018 probeFailure(0), 1019 testFailure(1), 1020 testCompletion(2) 1021 } 1022 MAX-ACCESS read-create 1023 STATUS current 1024 DESCRIPTION 1025 "The value of this object determines when and if 1026 to generate a notification for this entry: 1028 probeFailure(0) - Generate a pingProbeFailed 1029 notification subject to the value of 1030 pingCtlTrapProbeFailureFilter. The object 1031 pingCtlTrapProbeFailureFilter can be used 1032 to specify the number of consecutive probe 1033 failures that are required before a 1034 pingProbeFailed notification can be generated. 1035 testFailure(1) - Generate a pingTestFailed 1036 notification. In this instance the object 1037 pingCtlTrapTestFailureFilter can be used to 1038 determine the number of probe failures that 1039 signal when a test fails. 1040 testCompletion(2) - Generate a pingTestCompleted 1041 notification. 1043 By default, no bits are set, indicating that 1044 none of the above options are selected." 1045 DEFVAL { {} } -- no bits set. 1046 ::= { pingCtlEntry 13 } 1048 pingCtlTrapProbeFailureFilter OBJECT-TYPE 1049 SYNTAX Unsigned32 (0..15) 1050 MAX-ACCESS read-create 1051 STATUS current 1052 DESCRIPTION 1053 "The value of this object is used to determine when 1054 to generate a pingProbeFailed NOTIFICATION. 1056 Setting BIT probeFailure(0) of object 1057 pingCtlTrapGeneration to '1' implies that a 1058 pingProbeFailed NOTIFICATION is generated only when 1059 a number of consecutive ping probes equal to the 1060 value of pingCtlTrapProbeFailureFilter fail within 1061 a given ping test. After triggering the notification, 1062 the probe failure counter is reset to zero." 1063 DEFVAL { 1 } 1064 ::= { pingCtlEntry 14 } 1066 pingCtlTrapTestFailureFilter OBJECT-TYPE 1067 SYNTAX Unsigned32 (0..15) 1068 MAX-ACCESS read-create 1069 STATUS current 1070 DESCRIPTION 1071 "The value of this object is used to determine when 1072 to generate a pingTestFailed NOTIFICATION. 1074 Setting BIT testFailure(1) of object 1075 pingCtlTrapGeneration to '1' implies that a 1076 pingTestFailed NOTIFICATION is generated only when 1077 a number of consecutive ping tests equal to the 1078 value of pingCtlTrapProbeFailureFilter fail. 1079 After triggering the notification the test failure, 1080 counter is reset to zero." 1081 DEFVAL { 1 } 1082 ::= { pingCtlEntry 15 } 1084 pingCtlType OBJECT-TYPE 1085 SYNTAX OBJECT IDENTIFIER 1086 MAX-ACCESS read-create 1087 STATUS current 1088 DESCRIPTION 1089 "The value of this object is used to either report or 1090 select the implementation method to be used for 1091 calculating a ping response time. The value of this 1092 object MAY be selected from pingImplementationTypeDomains. 1094 Additional implementation types SHOULD be allocated as 1095 required by implementers of the DISMAN-PING-MIB under 1096 their enterprise specific registration point and not 1097 beneath pingImplementationTypeDomains." 1098 DEFVAL { pingIcmpEcho } 1099 ::= { pingCtlEntry 16 } 1101 pingCtlDescr OBJECT-TYPE 1102 SYNTAX SnmpAdminString 1103 MAX-ACCESS read-create 1104 STATUS current 1105 DESCRIPTION 1106 "The purpose of this object is to provide a 1107 descriptive name of the remote ping test." 1108 DEFVAL { ''H } 1109 ::= { pingCtlEntry 17 } 1111 pingCtlSourceAddressType OBJECT-TYPE 1112 SYNTAX InetAddressType 1113 MAX-ACCESS read-create 1114 STATUS current 1115 DESCRIPTION 1116 "Specifies the type of the source address, 1117 pingCtlSourceAddress, to be used at a remote host 1118 when performing a ping operation." 1119 DEFVAL { unknown } 1120 ::= { pingCtlEntry 18 } 1122 pingCtlSourceAddress OBJECT-TYPE 1123 SYNTAX InetAddress 1124 MAX-ACCESS read-create 1125 STATUS current 1126 DESCRIPTION 1127 "Use the specified IP address (which must be given in 1128 numeric form, not as a hostname) as the source address 1129 in outgoing probe packets. On hosts with more than one 1130 IP address, this option can be used to select the address 1131 to be used. If the IP address is not one of this 1132 machine's interface addresses, an error is returned and 1133 nothing is sent. A zero length octet string value for 1134 this object disables source address specification. 1136 The address type (InetAddressType) that relates to 1137 this object is specified by the corresponding value 1138 of pingCtlSourceAddressType." 1139 DEFVAL { ''H } 1140 ::= { pingCtlEntry 19 } 1142 pingCtlIfIndex OBJECT-TYPE 1143 SYNTAX InterfaceIndexOrZero 1144 MAX-ACCESS read-create 1145 STATUS current 1146 DESCRIPTION 1147 "Setting this object to an interface's ifIndex prior 1148 to starting a remote ping operation directs 1149 the ping probes to be transmitted over the 1150 specified interface. A value of zero for this object 1151 means that this option is not enabled." 1152 DEFVAL { 0 } 1153 ::= { pingCtlEntry 20 } 1155 pingCtlByPassRouteTable OBJECT-TYPE 1156 SYNTAX TruthValue 1157 MAX-ACCESS read-create 1158 STATUS current 1159 DESCRIPTION 1160 "The purpose of this object is to optionally enable 1161 bypassing the route table. If enabled, the remote 1162 host will bypass the normal routing tables and send 1163 directly to a host on an attached network. If the 1164 host is not on a directly-attached network, an 1165 error is returned. This option can be used to perform 1166 the ping operation to a local host through an 1167 interface that has no route defined (e.g., after the 1168 interface was dropped by routed)." 1169 DEFVAL { false } 1170 ::= { pingCtlEntry 21 } 1172 pingCtlDSField OBJECT-TYPE 1173 SYNTAX Unsigned32 (0..255) 1174 MAX-ACCESS read-create 1175 STATUS current 1176 DESCRIPTION 1177 "Specifies the value to store in the Type of Service 1178 (TOS) octet in the IPv4 header or in the Traffic 1179 Class octet in the IPv6 header, respectively, of the 1180 IP packet used to encapsulate the ping probe. 1182 The octet to be set in the IP header contains the 1183 Differentiated Services (DS) Field in the six most 1184 significant bits. 1186 This option can be used to determine what effect an 1187 explicit DS Field setting has on a ping response. 1188 Not all values are legal or meaningful. A value of 0 1189 means that the function represented by this option is 1190 not supported. DS Field usage is often not supported 1191 by IP implementations and not all values are supported. 1192 Refer to RFC 2474 and RFC 3260 for guidance on usage of 1193 this field." 1194 REFERENCE 1195 "Refer to RFC 1812 for the definition of the IPv4 TOS 1196 octet and to RFC 2460 for the definition of the IPv6 1197 Traffic Class octet. Refer to RFC 2474 and RFC 3260 1198 for the definition of the Differentiated Services Field." 1199 DEFVAL { 0 } 1200 ::= { pingCtlEntry 22 } 1202 pingCtlRowStatus OBJECT-TYPE 1203 SYNTAX RowStatus 1204 MAX-ACCESS read-create 1205 STATUS current 1206 DESCRIPTION 1207 "This object allows entries to be created and deleted 1208 in the pingCtlTable. Deletion of an entry in this 1209 table results in all corresponding (same 1210 pingCtlOwnerIndex and pingCtlTestName index values) 1211 pingResultsTable and pingProbeHistoryTable entries 1212 being deleted. 1214 A value MUST be specified for pingCtlTargetAddress 1215 prior to a transition to active(1) state being 1216 accepted. 1218 When a value for pingCtlTargetAddress is set, 1219 the value of object pingCtlRowStatus changes 1220 from notReady(3) to notInService(2). 1222 Activation of a remote ping operation is controlled 1223 via pingCtlAdminStatus and not by changing 1224 this object's value to active(1). 1226 Transitions in and out of active(1) state are not 1227 allowed while an entry's pingResultsOperStatus is 1228 active(1) with the exception that deletion of 1229 an entry in this table by setting its RowStatus 1230 object to destroy(6) will stop an active 1231 ping operation. 1233 The operational state of a ping operation 1234 can be determined by examination of its 1235 pingResultsOperStatus object." 1236 REFERENCE 1237 "See definition of RowStatus in RFC 2579, 'Textual 1238 Conventions for SMIv2.'" 1239 ::= { pingCtlEntry 23 } 1241 -- Ping Results Table 1243 pingResultsTable OBJECT-TYPE 1244 SYNTAX SEQUENCE OF PingResultsEntry 1245 MAX-ACCESS not-accessible 1246 STATUS current 1247 DESCRIPTION 1248 "Defines the Ping Results Table for providing 1249 the capability of performing ping operations at 1250 a remote host. The results of these operations are 1251 stored in the pingResultsTable and the pingPastProbeTable. 1253 An entry is added to the pingResultsTable when an 1254 pingCtlEntry is started by successful transition 1255 of its pingCtlAdminStatus object to enabled(1). 1257 If object pingCtlAdminStatus already has value enabled(1) 1258 and if the corresponding pingResultsOperStatus object 1259 has value completed(3), then successfully writing enabled(1) 1260 to object pingCtlAdminStatus re-initializes the already 1261 existing entry in the pingResultsTable. The values of 1262 objects in the re-initialized entry are the same than 1263 the values of objects in a new entry would be. 1265 An entry is removed from the pingResultsTable when 1266 its corresponding pingCtlEntry is deleted." 1267 ::= { pingObjects 3 } 1269 pingResultsEntry OBJECT-TYPE 1270 SYNTAX PingResultsEntry 1271 MAX-ACCESS not-accessible 1272 STATUS current 1273 DESCRIPTION 1274 "Defines an entry in the pingResultsTable. The 1275 pingResultsTable has the same indexing as the 1276 pingCtlTable in order for a pingResultsEntry to 1277 correspond to the pingCtlEntry that caused it to 1278 be created." 1279 INDEX { 1280 pingCtlOwnerIndex, 1281 pingCtlTestName 1282 } 1283 ::= { pingResultsTable 1 } 1285 PingResultsEntry ::= 1286 SEQUENCE { 1287 pingResultsOperStatus INTEGER, 1288 pingResultsIpTargetAddressType InetAddressType, 1289 pingResultsIpTargetAddress InetAddress, 1290 pingResultsMinRtt Unsigned32, 1291 pingResultsMaxRtt Unsigned32, 1292 pingResultsAverageRtt Unsigned32, 1293 pingResultsProbeResponses Gauge32, 1294 pingResultsSentProbes Gauge32, 1295 pingResultsRttSumOfSquares Unsigned32, 1296 pingResultsLastGoodProbe DateAndTime 1297 } 1299 pingResultsOperStatus OBJECT-TYPE 1300 SYNTAX INTEGER { 1301 enabled(1), -- test is in progress 1302 disabled(2), -- test has stopped 1303 completed(3) -- test is completed 1304 } 1305 MAX-ACCESS read-only 1306 STATUS current 1307 DESCRIPTION 1308 "Reflects the operational state of a pingCtlEntry: 1310 enabled(1) - Test is active. 1311 disabled(2) - Test has stopped. 1312 completed(3) - Test is completed." 1313 ::= { pingResultsEntry 1 } 1315 pingResultsIpTargetAddressType OBJECT-TYPE 1316 SYNTAX InetAddressType 1317 MAX-ACCESS read-only 1318 STATUS current 1319 DESCRIPTION 1320 "This objects indicates the type of address stored 1321 in the corresponding pingResultsIpTargetAddress 1322 object." 1323 DEFVAL { unknown } 1324 ::= { pingResultsEntry 2 } 1326 pingResultsIpTargetAddress OBJECT-TYPE 1327 SYNTAX InetAddress 1328 MAX-ACCESS read-only 1329 STATUS current 1330 DESCRIPTION 1331 "This objects reports the IP address associated 1332 with a pingCtlTargetAddress value when the destination 1333 address is specified as a DNS name. The value of 1334 this object should be a zero length octet string 1335 when a DNS name is not specified or when a 1336 specified DNS name fails to resolve. 1338 The address type (InetAddressType) that relates to 1339 this object is specified by the corresponding value 1340 of pingResultsIpTargetAddressType." 1341 DEFVAL { ''H } 1342 ::= { pingResultsEntry 3 } 1344 pingResultsMinRtt OBJECT-TYPE 1345 SYNTAX Unsigned32 1346 UNITS "milliseconds" 1347 MAX-ACCESS read-only 1348 STATUS current 1349 DESCRIPTION 1350 "The minimum ping round-trip-time (RTT) received. A value 1351 of 0 for this object implies that no RTT has been received." 1352 ::= { pingResultsEntry 4 } 1354 pingResultsMaxRtt OBJECT-TYPE 1355 SYNTAX Unsigned32 1356 UNITS "milliseconds" 1357 MAX-ACCESS read-only 1358 STATUS current 1359 DESCRIPTION 1360 "The maximum ping round-trip-time (RTT) received. A value 1361 of 0 for this object implies that no RTT has been received." 1362 ::= { pingResultsEntry 5 } 1364 pingResultsAverageRtt OBJECT-TYPE 1365 SYNTAX Unsigned32 1366 UNITS "milliseconds" 1367 MAX-ACCESS read-only 1368 STATUS current 1369 DESCRIPTION 1370 "The current average ping round-trip-time (RTT)." 1371 ::= { pingResultsEntry 6 } 1373 pingResultsProbeResponses OBJECT-TYPE 1374 SYNTAX Gauge32 1375 UNITS "responses" 1376 MAX-ACCESS read-only 1377 STATUS current 1378 DESCRIPTION 1379 "Number of responses received for the corresponding 1380 pingCtlEntry and pingResultsEntry. The value of this object 1381 MUST be reported as 0 when no probe responses have been 1382 received." 1383 ::= { pingResultsEntry 7 } 1385 pingResultsSentProbes OBJECT-TYPE 1386 SYNTAX Gauge32 1387 UNITS "probes" 1388 MAX-ACCESS read-only 1389 STATUS current 1390 DESCRIPTION 1391 "The value of this object reflects the number of probes sent 1392 for the corresponding pingCtlEntry and pingResultsEntry. 1393 The value of this object MUST be reported as 0 when no probes 1394 have been sent." 1395 ::= { pingResultsEntry 8 } 1397 pingResultsRttSumOfSquares OBJECT-TYPE 1398 SYNTAX Unsigned32 1399 UNITS "milliseconds" 1400 MAX-ACCESS read-only 1401 STATUS current 1402 DESCRIPTION 1403 "This object contains the sum of the squares for all ping 1404 responses received. Its purpose is to enable standard 1405 deviation calculation. The value of this object MUST 1406 be reported as 0 when no ping responses have been 1407 received." 1408 ::= { pingResultsEntry 9 } 1410 pingResultsLastGoodProbe OBJECT-TYPE 1411 SYNTAX DateAndTime 1412 MAX-ACCESS read-only 1413 STATUS current 1414 DESCRIPTION 1415 "Date and time when the last response was received for 1416 a probe." 1417 ::= { pingResultsEntry 10 } 1419 -- Ping Probe History Table 1421 pingProbeHistoryTable OBJECT-TYPE 1422 SYNTAX SEQUENCE OF PingProbeHistoryEntry 1423 MAX-ACCESS not-accessible 1424 STATUS current 1425 DESCRIPTION 1426 "Defines a table for storing the results of ping 1427 operations. The number of entries in this table is 1428 limited per entry in the pingCtlTable by the value 1429 of the corresponding pingCtlMaxRows object. 1431 An entry in this table is created when the result of 1432 a ping probe is determined. The initial 2 instance 1433 identifier index values identify the pingCtlEntry 1434 that a probe result (pingProbeHistoryEntry) belongs 1435 to. An entry is removed from this table when 1436 its corresponding pingCtlEntry is deleted. 1438 An implementation of this MIB will remove the oldest 1439 entry in the pingProbeHistoryTable of the 1440 corresponding entry in the pingCtlTable to allow 1441 the addition of an new entry once the number of rows 1442 in the pingProbeHistoryTable reaches the value 1443 specified by pingCtlMaxRows for the corresponding 1444 entry in the pingCtlTable." 1445 ::= { pingObjects 4 } 1447 pingProbeHistoryEntry OBJECT-TYPE 1448 SYNTAX PingProbeHistoryEntry 1449 MAX-ACCESS not-accessible 1450 STATUS current 1451 DESCRIPTION 1452 "Defines an entry in the pingProbeHistoryTable. 1453 The first two index elements identify the 1454 pingCtlEntry that a pingProbeHistoryEntry belongs 1455 to. The third index element selects a single 1456 probe result." 1457 INDEX { 1458 pingCtlOwnerIndex, 1459 pingCtlTestName, 1460 pingProbeHistoryIndex 1461 } 1462 ::= { pingProbeHistoryTable 1 } 1464 PingProbeHistoryEntry ::= 1465 SEQUENCE { 1466 pingProbeHistoryIndex Unsigned32, 1467 pingProbeHistoryResponse Unsigned32, 1468 pingProbeHistoryStatus OperationResponseStatus, 1469 pingProbeHistoryLastRC Integer32, 1470 pingProbeHistoryTime DateAndTime 1471 } 1473 pingProbeHistoryIndex OBJECT-TYPE 1474 SYNTAX Unsigned32 (1..'ffffffff'h) 1475 MAX-ACCESS not-accessible 1476 STATUS current 1477 DESCRIPTION 1478 "An entry in this table is created when the result of 1479 a ping probe is determined. The initial 2 instance 1480 identifier index values identify the pingCtlEntry 1481 that a probe result (pingProbeHistoryEntry) belongs 1482 to. 1484 An implementation MUST start assigning 1485 pingProbeHistoryIndex values at 1 and wrap after 1486 exceeding the maximum possible value as defined by 1487 the limit of this object ('ffffffff'h)." 1488 ::= { pingProbeHistoryEntry 1 } 1490 pingProbeHistoryResponse OBJECT-TYPE 1491 SYNTAX Unsigned32 1492 UNITS "milliseconds" 1493 MAX-ACCESS read-only 1494 STATUS current 1495 DESCRIPTION 1496 "The amount of time measured in milliseconds from when 1497 a probe was sent to when its response was received or 1498 when it timed out. The value of this object is reported 1499 as 0 when it is not possible to transmit a probe." 1500 ::= { pingProbeHistoryEntry 2 } 1502 pingProbeHistoryStatus OBJECT-TYPE 1503 SYNTAX OperationResponseStatus 1504 MAX-ACCESS read-only 1505 STATUS current 1506 DESCRIPTION 1507 "The result of a particular probe done by a remote host." 1508 ::= { pingProbeHistoryEntry 3 } 1510 pingProbeHistoryLastRC OBJECT-TYPE 1511 SYNTAX Integer32 1512 MAX-ACCESS read-only 1513 STATUS current 1514 DESCRIPTION 1515 "The last implementation method specific reply code received. 1516 If the ICMP Echo capability is being used then a successful 1517 probe ends when an ICMP response is received that contains 1518 the code ICMP_ECHOREPLY(0). The ICMP codes are maintained 1519 by IANA. Standardized ICMP codes are listed at 1520 http://www.iana.org/assignments/icmp-parameters. 1521 The ICMPv6 codes are listed at 1522 http://www.iana.org/assignments/icmpv6-parameters." 1523 ::= { pingProbeHistoryEntry 4 } 1525 pingProbeHistoryTime OBJECT-TYPE 1526 SYNTAX DateAndTime 1527 MAX-ACCESS read-only 1528 STATUS current 1529 DESCRIPTION 1530 "Timestamp for when this probe result was determined." 1531 ::= { pingProbeHistoryEntry 5 } 1533 -- Notification Definition section 1535 pingProbeFailed NOTIFICATION-TYPE 1536 OBJECTS { 1537 pingCtlTargetAddressType, 1538 pingCtlTargetAddress, 1539 pingResultsOperStatus, 1540 pingResultsIpTargetAddressType, 1541 pingResultsIpTargetAddress, 1542 pingResultsMinRtt, 1543 pingResultsMaxRtt, 1544 pingResultsAverageRtt, 1545 pingResultsProbeResponses, 1546 pingResultsSentProbes, 1547 pingResultsRttSumOfSquares, 1548 pingResultsLastGoodProbe 1549 } 1550 STATUS current 1551 DESCRIPTION 1552 "Generated when a probe failure is detected when the 1553 corresponding pingCtlTrapGeneration object is set to 1554 probeFailure(0) subject to the value of 1555 pingCtlTrapProbeFailureFilter. The object 1556 pingCtlTrapProbeFailureFilter can be used to specify the 1557 number of consecutive probe failures that are required 1558 before this notification can be generated." 1560 ::= { pingNotifications 1 } 1562 pingTestFailed NOTIFICATION-TYPE 1563 OBJECTS { 1564 pingCtlTargetAddressType, 1565 pingCtlTargetAddress, 1566 pingResultsOperStatus, 1567 pingResultsIpTargetAddressType, 1568 pingResultsIpTargetAddress, 1569 pingResultsMinRtt, 1570 pingResultsMaxRtt, 1571 pingResultsAverageRtt, 1572 pingResultsProbeResponses, 1573 pingResultsSentProbes, 1574 pingResultsRttSumOfSquares, 1575 pingResultsLastGoodProbe 1576 } 1577 STATUS current 1578 DESCRIPTION 1579 "Generated when a ping test is determined to have failed 1580 when the corresponding pingCtlTrapGeneration object is 1581 set to testFailure(1). In this instance 1582 pingCtlTrapTestFailureFilter should specify the number of 1583 probes in a test required to have failed in order to 1584 consider the test as failed." 1585 ::= { pingNotifications 2 } 1587 pingTestCompleted NOTIFICATION-TYPE 1588 OBJECTS { 1589 pingCtlTargetAddressType, 1590 pingCtlTargetAddress, 1591 pingResultsOperStatus, 1592 pingResultsIpTargetAddressType, 1593 pingResultsIpTargetAddress, 1594 pingResultsMinRtt, 1595 pingResultsMaxRtt, 1596 pingResultsAverageRtt, 1597 pingResultsProbeResponses, 1598 pingResultsSentProbes, 1599 pingResultsRttSumOfSquares, 1600 pingResultsLastGoodProbe 1601 } 1602 STATUS current 1603 DESCRIPTION 1604 "Generated at the completion of a ping test when the 1605 corresponding pingCtlTrapGeneration object has the 1606 testCompletion(2) bit set." 1607 ::= { pingNotifications 3 } 1609 -- Conformance information 1610 -- Compliance statements 1612 pingCompliances OBJECT IDENTIFIER ::= { pingConformance 1 } 1613 pingGroups OBJECT IDENTIFIER ::= { pingConformance 2 } 1615 -- Compliance statements 1617 pingFullCompliance MODULE-COMPLIANCE 1618 STATUS current 1619 DESCRIPTION 1620 "The compliance statement for SNMP entities which 1621 fully implement the DISMAN-PING-MIB." 1622 MODULE -- this module 1623 MANDATORY-GROUPS { 1624 pingMinimumGroup, 1625 pingCtlRowStatusGroup, 1626 pingHistoryGroup, 1627 pingNotificationsGroup 1628 } 1630 OBJECT pingMaxConcurrentRequests 1631 MIN-ACCESS read-only 1632 DESCRIPTION 1633 "The agent is not required to support set 1634 operations to this object." 1636 OBJECT pingCtlStorageType 1637 MIN-ACCESS read-only 1638 DESCRIPTION 1639 "Write access is not required." 1641 OBJECT pingCtlType 1642 MIN-ACCESS read-only 1643 DESCRIPTION 1644 "Write access is not required. In addition, the only 1645 value that MUST be supported by an implementation is 1646 pingIcmpEcho." 1648 OBJECT pingCtlSourceAddressType 1649 SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) } 1650 MIN-ACCESS read-only 1651 DESCRIPTION 1652 "Write access to this object is not required by 1653 implementations that are not capable of binding the 1654 send socket with a source address. An implementation 1655 is only required to support IPv4 and IPv6 addresses." 1657 OBJECT pingCtlSourceAddress 1658 SYNTAX InetAddress (SIZE(0|4|16)) 1659 MIN-ACCESS read-only 1660 DESCRIPTION 1661 "Write access to this object is not required by 1662 implementations that are not capable of binding the 1663 send socket with a source address. An implementation 1664 is only required to support IPv4 and IPv6 addresses." 1666 OBJECT pingCtlIfIndex 1667 MIN-ACCESS read-only 1668 DESCRIPTION 1669 "Write access is not required. If write access is 1670 not supported return a 0 as the value of this object. 1671 A value of 0 means that the function represented by 1672 this option is not supported." 1674 OBJECT pingCtlByPassRouteTable 1675 MIN-ACCESS read-only 1676 DESCRIPTION 1677 "Write access to this object is not required by 1678 implementations that are not capable of its 1679 implementation. The function represented by this 1680 object is implementable if the setsockopt 1681 SOL_SOCKET SO_DONTROUTE option is supported." 1683 OBJECT pingCtlDSField 1684 MIN-ACCESS read-only 1685 DESCRIPTION 1686 "Write access is not required. If write access is 1687 not supported return a 0 as the value of this object. 1688 A value of 0 means that the function represented by 1689 this option is not supported." 1691 OBJECT pingResultsIpTargetAddressType 1692 SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) } 1693 DESCRIPTION 1694 "An implementation is only required to 1695 support IPv4 and IPv6 addresses." 1697 OBJECT pingResultsIpTargetAddress 1698 SYNTAX InetAddress (SIZE(0|4|16)) 1699 DESCRIPTION 1700 "An implementation is only required to 1701 support IPv4 and globally unique IPv6 addresses." 1703 OBJECT pingResultsLastGoodProbe 1704 DESCRIPTION 1705 "This object is mandatory for implementations that have 1706 access to a system clock and are capable of setting 1707 the values for DateAndTime objects. It is RECOMMENDED 1708 that when this object is not supported that its values 1709 be reported as '0000000000000000'H." 1711 OBJECT pingProbeHistoryTime 1712 DESCRIPTION 1713 "This object is mandatory for implementations that have 1714 access to a system clock and are capable of setting 1715 the values for DateAndTime objects. It is RECOMMENDED 1716 that when this object is not supported that its values 1717 be reported as '0000000000000000'H." 1719 ::= { pingCompliances 2 } 1721 pingMinimumCompliance MODULE-COMPLIANCE 1722 STATUS current 1723 DESCRIPTION 1724 "The minimum compliance statement for SNMP entities 1725 which implement the minimal subset of the 1726 DISMAN-PING-MIB. Implementors might choose this 1727 subset for small devices with limited resources." 1728 MODULE -- this module 1729 MANDATORY-GROUPS { pingMinimumGroup } 1731 GROUP pingCtlRowStatusGroup 1732 DESCRIPTION 1733 "A compliant implementation does not have to implement 1734 the pingCtlRowStatusGroup." 1736 GROUP pingHistoryGroup 1737 DESCRIPTION 1738 "A compliant implementation does not have to implement 1739 the pingHistoryGroup." 1741 GROUP pingNotificationsGroup 1742 DESCRIPTION 1743 "A compliant implementation does not have to implement 1744 the pingNotificationsGroup." 1746 OBJECT pingMaxConcurrentRequests 1747 MIN-ACCESS read-only 1748 DESCRIPTION 1749 "The agent is not required to support set 1750 operations to this object." 1752 OBJECT pingCtlDataFill 1753 MIN-ACCESS read-only 1754 DESCRIPTION 1755 "The agent is not required to support set 1756 operations to this object." 1758 OBJECT pingCtlFrequency 1759 MIN-ACCESS read-only 1760 DESCRIPTION 1761 "Write access is not required. If write access is 1762 not supported return a 0 as the value of this object. 1763 A value of 0 means that the function represented by 1764 this option is not supported." 1766 OBJECT pingCtlMaxRows 1767 MIN-ACCESS read-only 1768 DESCRIPTION 1769 "Write access is not required. If the 1770 pingHistoryGroup is not implemented, then write 1771 access to this object MUST be disabled and the object 1772 MUST return a value of 0 when retrieved." 1774 OBJECT pingCtlStorageType 1775 MIN-ACCESS read-only 1776 DESCRIPTION 1777 "Write access is not required." 1779 OBJECT pingCtlTrapGeneration 1780 MIN-ACCESS read-only 1781 DESCRIPTION 1782 "Write access is not required. If the 1783 pingNotificationsGroup is not implemented, then write 1784 access to this object MUST be disabled and the object 1785 MUST return a value with no bit set when retrieved. 1786 No bit set indicates that not notification is 1787 generated." 1789 OBJECT pingCtlTrapProbeFailureFilter 1790 MIN-ACCESS read-only 1791 DESCRIPTION 1792 "If write access to pingCtlTrapGeneration is not 1793 supported then also write access to this object must 1794 not be supported. In this case return 0 as the value 1795 of this object." 1797 OBJECT pingCtlTrapTestFailureFilter 1798 MIN-ACCESS read-only 1799 DESCRIPTION 1800 "If write access to pingCtlTrapGeneration is not 1801 supported then also write access to this object must 1802 not be supported. In this case return 0 as the value 1803 of this object." 1805 OBJECT pingCtlType 1806 MIN-ACCESS read-only 1807 DESCRIPTION 1808 "Write access is not required. In addition, the only 1809 value that MUST be supported by an implementation is 1810 pingIcmpEcho." 1812 OBJECT pingCtlDescr 1813 MIN-ACCESS read-only 1814 DESCRIPTION 1815 "The agent is not required to support set 1816 operations to this object." 1818 OBJECT pingCtlSourceAddressType 1819 SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) } 1820 MIN-ACCESS read-only 1821 DESCRIPTION 1822 "Write access to this object is not required by 1823 implementations that are not capable of binding the 1824 send socket with a source address. An implementation 1825 is only required to support IPv4 and IPv6 addresses." 1827 OBJECT pingCtlSourceAddress 1828 SYNTAX InetAddress (SIZE(0|4|16)) 1829 MIN-ACCESS read-only 1830 DESCRIPTION 1831 "Write access to this object is not required by 1832 implementations that are not capable of binding the 1833 send socket with a source address. An implementation 1834 is only required to support IPv4 and IPv6 addresses." 1836 OBJECT pingCtlIfIndex 1837 MIN-ACCESS read-only 1838 DESCRIPTION 1839 "Write access is not required. If write access is 1840 not supported return a 0 as the value of this object. 1841 A value of 0 means that the function represented by 1842 this option is not supported." 1844 OBJECT pingCtlByPassRouteTable 1845 MIN-ACCESS read-only 1846 DESCRIPTION 1847 "Write access is not required. If write access is 1848 not supported return a false(2) as the value of this 1849 object. A value of false(2) means that the function 1850 represented by this option is not supported." 1852 OBJECT pingCtlDSField 1853 MIN-ACCESS read-only 1854 DESCRIPTION 1855 "Write access is not required. If write access is 1856 not supported return a 0 as the value of this object. 1857 A value of 0 means that the function represented by 1858 this option is not supported." 1860 OBJECT pingResultsIpTargetAddressType 1861 SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) } 1862 DESCRIPTION 1863 "An implementation is only required to 1864 support IPv4 and IPv6 addresses." 1866 OBJECT pingResultsIpTargetAddress 1867 SYNTAX InetAddress (SIZE(0|4|16)) 1868 DESCRIPTION 1869 "An implementation is only required to 1870 support IPv4 and globally unique IPv6 addresses." 1872 OBJECT pingResultsLastGoodProbe 1873 DESCRIPTION 1874 "This object is mandatory for implementations that have 1875 access to a system clock and are capable of setting 1876 the values for DateAndTime objects. It is RECOMMENDED 1877 that when this object is not supported that its values 1878 be reported as '0000000000000000'H." 1880 OBJECT pingProbeHistoryTime 1881 DESCRIPTION 1882 "If the pingHistoryGroup is implemented, then this 1883 object is mandatory for implementations that have 1884 access to a system clock and are capable of setting 1885 the values for DateAndTime objects. It is RECOMMENDED 1886 that when this object is not supported that its values 1887 be reported as '0000000000000000'H." 1889 ::= { pingCompliances 3 } 1891 pingCompliance MODULE-COMPLIANCE 1892 STATUS deprecated 1893 DESCRIPTION 1894 "The compliance statement for the DISMAN-PING-MIB. This 1895 compliance statement has been deprecated because the 1896 group pingGroup and the pingTimeStampGroup have been 1897 split and deprecated. The pingFullCompliance statement 1898 is semantically identical to the deprecated 1899 pingCompliance statement". 1901 MODULE -- this module 1902 MANDATORY-GROUPS { 1903 pingGroup, 1904 pingNotificationsGroup 1905 } 1906 GROUP pingTimeStampGroup 1907 DESCRIPTION 1908 "This group is mandatory for implementations that have 1909 access to a system clock and are capable of setting 1910 the values for DateAndTime objects. It is RECOMMENDED 1911 that when this group is not supported that the values 1912 for the objects in this group be reported as 1913 '0000000000000000'H." 1915 OBJECT pingMaxConcurrentRequests 1916 MIN-ACCESS read-only 1917 DESCRIPTION 1918 "The agent is not required to support set 1919 operations to this object." 1921 OBJECT pingCtlStorageType 1922 MIN-ACCESS read-only 1923 DESCRIPTION 1924 "Write access is not required. It is also allowed 1925 for implementations to support only the volatile 1926 StorageType enumeration." 1928 OBJECT pingCtlType 1929 MIN-ACCESS read-only 1930 DESCRIPTION 1931 "Write access is not required. In addition, the only 1932 value that MUST be supported by an implementation is 1933 pingIcmpEcho." 1935 OBJECT pingCtlByPassRouteTable 1936 MIN-ACCESS read-only 1937 DESCRIPTION 1938 "This object is not required by implementations that 1939 are not capable of its implementation. The function 1940 represented by this object is implementable if the 1941 setsockopt SOL_SOCKET SO_DONTROUTE option is 1942 supported." 1944 OBJECT pingCtlSourceAddressType 1945 SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) } 1946 MIN-ACCESS read-only 1947 DESCRIPTION 1948 "This object is not required by implementations that 1949 are not capable of binding the send socket with a 1950 source address. An implementation is only required to 1951 support IPv4 and IPv6 addresses." 1953 OBJECT pingCtlSourceAddress 1954 SYNTAX InetAddress (SIZE(0|4|16)) 1955 MIN-ACCESS read-only 1956 DESCRIPTION 1957 "This object is not required by implementations that 1958 are not capable of binding the send socket with a 1959 source address. An implementation is only required to 1960 support IPv4 and globally unique IPv6 addresses." 1962 OBJECT pingCtlIfIndex 1963 MIN-ACCESS read-only 1964 DESCRIPTION 1965 "Write access is not required. When write access is 1966 not supported return a 0 as the value of this object. 1967 A value of 0 means that the function represented by 1968 this option is not supported." 1970 OBJECT pingCtlDSField 1971 MIN-ACCESS read-only 1972 DESCRIPTION 1973 "Write access is not required. When write access is 1974 not supported return a 0 as the value of this object. 1975 A value of 0 means that the function represented by 1976 this option is not supported." 1978 OBJECT pingResultsIpTargetAddressType 1979 SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) } 1980 DESCRIPTION 1981 "An implementation is only required to 1982 support IPv4 and IPv6 addresses." 1984 OBJECT pingResultsIpTargetAddress 1985 SYNTAX InetAddress (SIZE(0|4|16)) 1986 DESCRIPTION 1987 "An implementation is only required to 1988 support IPv4 and globally unique IPv6 addresses." 1990 ::= { pingCompliances 1 } 1992 -- MIB groupings 1994 pingMinimumGroup OBJECT-GROUP 1995 OBJECTS { 1996 pingMaxConcurrentRequests, 1997 pingCtlTargetAddressType, 1998 pingCtlTargetAddress, 1999 pingCtlDataSize, 2000 pingCtlTimeOut, 2001 pingCtlProbeCount, 2002 pingCtlAdminStatus, 2003 pingCtlDataFill, 2004 pingCtlFrequency, 2005 pingCtlMaxRows, 2006 pingCtlStorageType, 2007 pingCtlTrapGeneration, 2008 pingCtlTrapProbeFailureFilter, 2009 pingCtlTrapTestFailureFilter, 2010 pingCtlType, 2011 pingCtlDescr, 2012 pingCtlByPassRouteTable, 2013 pingCtlSourceAddressType, 2014 pingCtlSourceAddress, 2015 pingCtlIfIndex, 2016 pingCtlDSField, 2017 pingResultsOperStatus, 2018 pingResultsIpTargetAddressType, 2019 pingResultsIpTargetAddress, 2020 pingResultsMinRtt, 2021 pingResultsMaxRtt, 2022 pingResultsAverageRtt, 2023 pingResultsProbeResponses, 2024 pingResultsSentProbes, 2025 pingResultsRttSumOfSquares, 2026 pingResultsLastGoodProbe 2027 } 2028 STATUS current 2029 DESCRIPTION 2030 "The group of objects that comprise the remote ping 2031 capability." 2032 ::= { pingGroups 4 } 2034 pingCtlRowStatusGroup OBJECT-GROUP 2035 OBJECTS { 2036 pingCtlRowStatus 2037 } 2038 STATUS current 2039 DESCRIPTION 2040 "The RowStatus object of the pingCtlTable." 2041 ::= { pingGroups 5 } 2043 pingHistoryGroup OBJECT-GROUP 2044 OBJECTS { 2045 pingProbeHistoryResponse, 2046 pingProbeHistoryStatus, 2047 pingProbeHistoryLastRC, 2048 pingProbeHistoryTime 2049 } 2050 STATUS current 2051 DESCRIPTION 2052 "The group of objects that comprise the history 2053 capability." 2054 ::= { pingGroups 6 } 2056 pingNotificationsGroup NOTIFICATION-GROUP 2057 NOTIFICATIONS { 2058 pingProbeFailed, 2059 pingTestFailed, 2060 pingTestCompleted 2061 } 2063 STATUS current 2064 DESCRIPTION 2065 "The notification which are required to be supported by 2066 implementations of this MIB." 2067 ::= { pingGroups 3 } 2069 pingGroup OBJECT-GROUP 2070 OBJECTS { 2071 pingMaxConcurrentRequests, 2072 pingCtlTargetAddressType, 2073 pingCtlTargetAddress, 2074 pingCtlDataSize, 2075 pingCtlTimeOut, 2076 pingCtlProbeCount, 2077 pingCtlAdminStatus, 2078 pingCtlDataFill, 2079 pingCtlFrequency, 2080 pingCtlMaxRows, 2081 pingCtlStorageType, 2082 pingCtlTrapGeneration, 2083 pingCtlTrapProbeFailureFilter, 2084 pingCtlTrapTestFailureFilter, 2085 pingCtlType, 2086 pingCtlDescr, 2087 pingCtlByPassRouteTable, 2088 pingCtlSourceAddressType, 2089 pingCtlSourceAddress, 2090 pingCtlIfIndex, 2091 pingCtlDSField, 2092 pingCtlRowStatus, 2093 pingResultsOperStatus, 2094 pingResultsIpTargetAddressType, 2095 pingResultsIpTargetAddress, 2096 pingResultsMinRtt, 2097 pingResultsMaxRtt, 2098 pingResultsAverageRtt, 2099 pingResultsProbeResponses, 2100 pingResultsSentProbes, 2101 pingResultsRttSumOfSquares, 2102 pingProbeHistoryResponse, 2103 pingProbeHistoryStatus, 2104 pingProbeHistoryLastRC 2105 } 2106 STATUS deprecated 2107 DESCRIPTION 2108 "The group of objects that comprise the remote ping 2109 capability." 2110 ::= { pingGroups 1 } 2112 pingTimeStampGroup OBJECT-GROUP 2113 OBJECTS { 2114 pingResultsLastGoodProbe, 2115 pingProbeHistoryTime 2116 } 2117 STATUS deprecated 2118 DESCRIPTION 2119 "The group of DateAndTime objects." 2120 ::= { pingGroups 2 } 2122 END 2124 4.2. DISMAN-TRACEROUTE-MIB 2126 DISMAN-TRACEROUTE-MIB DEFINITIONS ::= BEGIN 2128 IMPORTS 2129 MODULE-IDENTITY, OBJECT-TYPE, Integer32, 2130 Gauge32, Unsigned32, mib-2, 2131 NOTIFICATION-TYPE, 2132 OBJECT-IDENTITY 2133 FROM SNMPv2-SMI -- RFC2578 2134 RowStatus, StorageType, 2135 TruthValue, DateAndTime 2136 FROM SNMPv2-TC -- RFC2579 2137 MODULE-COMPLIANCE, OBJECT-GROUP, 2138 NOTIFICATION-GROUP 2139 FROM SNMPv2-CONF -- RFC2580 2140 SnmpAdminString 2141 FROM SNMP-FRAMEWORK-MIB -- RFC3411 2142 InterfaceIndexOrZero -- RFC2863 2143 FROM IF-MIB 2144 InetAddressType, InetAddress 2145 FROM INET-ADDRESS-MIB -- RFC4001 2146 OperationResponseStatus 2147 FROM DISMAN-PING-MIB; -- RFCXXXX 2149 traceRouteMIB MODULE-IDENTITY 2150 LAST-UPDATED "200602141414Z" -- 14 February 2006 2151 ORGANIZATION "IETF Distributed Management Working Group" 2152 CONTACT-INFO 2153 "Juergen Quittek 2155 NEC Europe Ltd. 2156 Network Laboratories 2157 Kurfuersten-Anlage 36 2158 69115 Heidelberg 2159 Germany 2161 Phone: +49 6221 90511-15 2162 Email: quittek@ccrle.nec.de" 2163 DESCRIPTION 2164 "The Traceroute MIB (DISMAN-TRACEROUTE-MIB) provides 2165 access to the traceroute capability at a remote host. 2167 Copyright (C) The Internet Society (2006). This version of 2168 this MIB module is part of RFC XXXX; see the RFC itself for 2169 full legal notices." 2171 -- Revision history 2173 REVISION "200602141414Z" -- 14 February 2006 2174 DESCRIPTION 2175 "Updated version, published as RFC XXXX. 2176 - correctly considered IPv6 in DESCRIPTION clause of 2177 object traceRouteCtlDataSize 2178 - replaced references to RFC 2575 by RFC 3415 2179 - replaced references to RFC 2571 by RFC 3411 2180 - replaced references to RFC 2851 by RFC 4001 2181 - clarified DESCRIPTION clause of object 2182 traceRouteResultsLastGoodPath 2183 - changed range of object traceRouteCtlInitialTtl 2184 from (0..255) to (1..255) 2185 - extended DESCRIPTION clause of traceRouteResultsTable 2186 describing re-initialization of entries 2187 - changed SYNTAX of traceRouteResultsTestAttempts and 2188 traceRouteResultsTestSuccesses from Unsigned32 to 2189 Gauge32 2190 - changed status of traceRouteCompliance to deprecated 2191 - added traceRouteFullCompliance and 2192 traceRouteMinimumCompliance 2193 - changed status of traceRouteGroup and 2194 traceRouteTimeStampGroup to deprecated 2195 - added traceRouteMinimumGroup, 2196 traceRouteCtlRowStatusGroup, and 2197 traceRouteHistoryGroup 2198 - changed DEFVAL of object 2199 traceRouteCtlTargetAddressType from { ipv4 } 2200 to { unknown } 2201 - changed DEFVAL of object traceRouteCtlDescr 2202 from { '00'H } to { ''H } 2203 - added DEFVAL for object traceRouteCtlTrapGeneration 2204 of DEFVAL { { } }" 2206 REVISION "200009210000Z" -- 21 September 2000 2207 DESCRIPTION 2208 "Initial version, published as RFC 2925." 2210 ::= { mib-2 81 } 2212 -- Top level structure of the MIB 2214 traceRouteNotifications OBJECT IDENTIFIER ::= { traceRouteMIB 0 } 2215 traceRouteObjects OBJECT IDENTIFIER ::= { traceRouteMIB 1 } 2216 traceRouteConformance OBJECT IDENTIFIER ::= { traceRouteMIB 2 } 2218 -- The registration node (point) for traceroute implementation types 2220 traceRouteImplementationTypeDomains OBJECT IDENTIFIER 2221 ::= { traceRouteMIB 3 } 2222 traceRouteUsingUdpProbes OBJECT-IDENTITY 2223 STATUS current 2224 DESCRIPTION 2225 "Indicates that an implementation is using UDP probes to 2226 perform the traceroute operation." 2227 ::= { traceRouteImplementationTypeDomains 1 } 2229 -- Simple Object Definitions 2231 traceRouteMaxConcurrentRequests OBJECT-TYPE 2232 SYNTAX Unsigned32 2233 UNITS "requests" 2234 MAX-ACCESS read-write 2235 STATUS current 2236 DESCRIPTION 2237 "The maximum number of concurrent active traceroute requests 2238 that are allowed within an agent implementation. A value 2239 of 0 for this object implies that there is no limit for 2240 the number of concurrent active requests in effect. 2242 The limit applies only to new requests being activated. 2243 When a new value is set, the agent will continue processing 2244 all the requests already active, even if their number 2245 exceed the limit just imposed." 2246 DEFVAL { 10 } 2247 ::= { traceRouteObjects 1 } 2249 -- Traceroute Control Table 2251 traceRouteCtlTable OBJECT-TYPE 2252 SYNTAX SEQUENCE OF TraceRouteCtlEntry 2253 MAX-ACCESS not-accessible 2254 STATUS current 2255 DESCRIPTION 2256 "Defines the Remote Operations Traceroute Control Table for 2257 providing the capability of invoking traceroute from a remote 2258 host. The results of traceroute operations can be stored in 2259 the traceRouteResultsTable, traceRouteProbeHistoryTable, and 2260 the traceRouteHopsTable." 2261 ::= { traceRouteObjects 2 } 2263 traceRouteCtlEntry OBJECT-TYPE 2264 SYNTAX TraceRouteCtlEntry 2265 MAX-ACCESS not-accessible 2266 STATUS current 2267 DESCRIPTION 2268 "Defines an entry in the traceRouteCtlTable. The first 2269 index element, traceRouteCtlOwnerIndex, is of type 2270 SnmpAdminString, a textual convention that allows for 2271 use of the SNMPv3 View-Based Access Control Model 2272 (RFC 3415, VACM) and allows an management 2273 application to identify its entries. The second index, 2274 traceRouteCtlTestName (also an SnmpAdminString), 2275 enables the same management application to have 2276 multiple requests outstanding." 2277 INDEX { 2278 traceRouteCtlOwnerIndex, 2279 traceRouteCtlTestName 2280 } 2281 ::= { traceRouteCtlTable 1 } 2283 TraceRouteCtlEntry ::= 2284 SEQUENCE { 2285 traceRouteCtlOwnerIndex SnmpAdminString, 2286 traceRouteCtlTestName SnmpAdminString, 2287 traceRouteCtlTargetAddressType InetAddressType, 2288 traceRouteCtlTargetAddress InetAddress, 2289 traceRouteCtlByPassRouteTable TruthValue, 2290 traceRouteCtlDataSize Unsigned32, 2291 traceRouteCtlTimeOut Unsigned32, 2292 traceRouteCtlProbesPerHop Unsigned32, 2293 traceRouteCtlPort Unsigned32, 2294 traceRouteCtlMaxTtl Unsigned32, 2295 traceRouteCtlDSField Unsigned32, 2296 traceRouteCtlSourceAddressType InetAddressType, 2297 traceRouteCtlSourceAddress InetAddress, 2298 traceRouteCtlIfIndex InterfaceIndexOrZero, 2299 traceRouteCtlMiscOptions SnmpAdminString, 2300 traceRouteCtlMaxFailures Unsigned32, 2301 traceRouteCtlDontFragment TruthValue, 2302 traceRouteCtlInitialTtl Unsigned32, 2303 traceRouteCtlFrequency Unsigned32, 2304 traceRouteCtlStorageType StorageType, 2305 traceRouteCtlAdminStatus INTEGER, 2306 traceRouteCtlDescr SnmpAdminString, 2307 traceRouteCtlMaxRows Unsigned32, 2308 traceRouteCtlTrapGeneration BITS, 2309 traceRouteCtlCreateHopsEntries TruthValue, 2310 traceRouteCtlType OBJECT IDENTIFIER, 2311 traceRouteCtlRowStatus RowStatus 2312 } 2314 traceRouteCtlOwnerIndex OBJECT-TYPE 2315 SYNTAX SnmpAdminString (SIZE(0..32)) 2316 MAX-ACCESS not-accessible 2317 STATUS current 2318 DESCRIPTION 2319 "To facilitate the provisioning of access control by a 2320 security administrator using the View-Based Access 2321 Control Model (RFC 3415, VACM) for tables in which 2322 multiple users may need to independently create or 2323 modify entries, the initial index is used as an 'owner 2324 index'. Such an initial index has a syntax of 2325 SnmpAdminString, and can thus be trivially mapped to a 2326 securityName or groupName as defined in VACM, in 2327 accordance with a security policy. 2329 When used in conjunction with such a security policy 2330 all entries in the table belonging to a particular user 2331 (or group) will have the same value for this initial 2332 index. For a given user's entries in a particular 2333 table, the object identifiers for the information in 2334 these entries will have the same subidentifiers (except 2335 for the 'column' subidentifier) up to the end of the 2336 encoded owner index. To configure VACM to permit access 2337 to this portion of the table, one would create 2338 vacmViewTreeFamilyTable entries with the value of 2339 vacmViewTreeFamilySubtree including the owner index 2340 portion, and vacmViewTreeFamilyMask 'wildcarding' the 2341 column subidentifier. More elaborate configurations 2342 are possible." 2343 ::= { traceRouteCtlEntry 1 } 2345 traceRouteCtlTestName OBJECT-TYPE 2346 SYNTAX SnmpAdminString (SIZE(0..32)) 2347 MAX-ACCESS not-accessible 2348 STATUS current 2349 DESCRIPTION 2350 "The name of a traceroute test. This is locally unique, 2351 within the scope of an traceRouteCtlOwnerIndex." 2352 ::= { traceRouteCtlEntry 2 } 2354 traceRouteCtlTargetAddressType OBJECT-TYPE 2355 SYNTAX InetAddressType 2356 MAX-ACCESS read-create 2357 STATUS current 2358 DESCRIPTION 2359 "Specifies the type of host address to be used on the 2360 traceroute request at the remote host." 2361 DEFVAL { unknown } 2362 ::= { traceRouteCtlEntry 3 } 2364 traceRouteCtlTargetAddress OBJECT-TYPE 2365 SYNTAX InetAddress 2366 MAX-ACCESS read-create 2367 STATUS current 2368 DESCRIPTION 2369 "Specifies the host address used on the 2370 traceroute request at the remote host. The 2371 host address type can be determined by the 2372 examining the value of the corresponding 2373 traceRouteCtlTargetAddressType. 2375 A value for this object MUST be set prior to 2376 transitioning its corresponding traceRouteCtlEntry to 2377 active(1) via traceRouteCtlRowStatus." 2378 ::= { traceRouteCtlEntry 4 } 2380 traceRouteCtlByPassRouteTable OBJECT-TYPE 2381 SYNTAX TruthValue 2382 MAX-ACCESS read-create 2383 STATUS current 2384 DESCRIPTION 2385 "The purpose of this object is to optionally enable 2386 bypassing the route table. If enabled, the remote 2387 host will bypass the normal routing tables and send 2388 directly to a host on an attached network. If the 2389 host is not on a directly-attached network, an 2390 error is returned. This option can be used to perform 2391 the traceroute operation to a local host through an 2392 interface that has no route defined (e.g., after the 2393 interface was dropped by routed)." 2394 DEFVAL { false } 2395 ::= { traceRouteCtlEntry 5 } 2397 traceRouteCtlDataSize OBJECT-TYPE 2398 SYNTAX Unsigned32 (0..65507) 2399 UNITS "octets" 2400 MAX-ACCESS read-create 2401 STATUS current 2402 DESCRIPTION 2403 "Specifies the size of the data portion of a traceroute 2404 request in octets. If the RECOMMENDED traceroute method 2405 (UDP datagrams as probes) is used, then the value 2406 contained in this object MUST be applied. If another 2407 traceroute method is used for which the specified size 2408 is not appropriate, then the implementation SHOULD use 2409 whatever size (appropriate to the method) is closest to 2410 the specified size. 2412 The maximum value for this object was computed by 2413 substracting the smallest possible IP header size of 2414 20 octets (IPv4 header with no options) and the UDP 2415 header size of 8 octets from the maximum IP packet size. 2416 An IP packet has a maximum size of 65535 octets 2417 (excluding IPv6 Jumbograms)." 2418 DEFVAL { 0 } 2419 ::= { traceRouteCtlEntry 6 } 2421 traceRouteCtlTimeOut OBJECT-TYPE 2422 SYNTAX Unsigned32 (1..60) 2423 UNITS "seconds" 2424 MAX-ACCESS read-create 2425 STATUS current 2426 DESCRIPTION 2427 "Specifies the time-out value, in seconds, for 2428 a traceroute request." 2429 DEFVAL { 3 } 2430 ::= { traceRouteCtlEntry 7 } 2432 traceRouteCtlProbesPerHop OBJECT-TYPE 2433 SYNTAX Unsigned32 (1..10) 2434 UNITS "probes" 2435 MAX-ACCESS read-create 2436 STATUS current 2437 DESCRIPTION 2438 "Specifies the number of times to reissue a traceroute 2439 request with the same time-to-live (TTL) value." 2440 DEFVAL { 3 } 2441 ::= { traceRouteCtlEntry 8 } 2443 traceRouteCtlPort OBJECT-TYPE 2444 SYNTAX Unsigned32 (1..65535) 2445 UNITS "UDP Port" 2446 MAX-ACCESS read-create 2447 STATUS current 2448 DESCRIPTION 2449 "Specifies the UDP port to send the traceroute 2450 request to. Need to specify a port that is not in 2451 use at the destination (target) host. The default 2452 value for this object is the IANA assigned port, 2453 33434, for the traceroute function." 2454 DEFVAL { 33434 } 2455 ::= { traceRouteCtlEntry 9 } 2457 traceRouteCtlMaxTtl OBJECT-TYPE 2458 SYNTAX Unsigned32 (1..255) 2459 UNITS "time-to-live value" 2460 MAX-ACCESS read-create 2461 STATUS current 2462 DESCRIPTION 2463 "Specifies the maximum time-to-live value." 2464 DEFVAL { 30 } 2465 ::= { traceRouteCtlEntry 10 } 2467 traceRouteCtlDSField OBJECT-TYPE 2468 SYNTAX Unsigned32 (0..255) 2469 MAX-ACCESS read-create 2470 STATUS current 2471 DESCRIPTION 2472 "Specifies the value to store in the Type of Service 2473 (TOS) octet in the IPv4 header or in the Traffic 2474 Class octet in the IPv6 header, respectively, of the 2475 IP packet used to encapsulate the traceroute probe. 2477 The octet to be set in the IP header contains the 2478 Differentiated Services (DS) Field in the six most 2479 significant bits. 2481 This option can be used to determine what effect an 2482 explicit DS Field setting has on a traceroute response. 2483 Not all values are legal or meaningful. A value of 0 2484 means that the function represented by this option is 2485 not supported. DS Field usage is often not supported 2486 by IP implementations and not all values are supported. 2487 Refer to RFC 2474 and RFC 3260 for guidance on usage of 2488 this field." 2489 REFERENCE 2490 "Refer to RFC 1812 for the definition of the IPv4 TOS 2491 octet and to RFC 2460 for the definition of the IPv6 2492 Traffic Class octet. Refer to RFC 2474 and RFC 3260 2493 for the definition of the Differentiated Services Field." 2494 DEFVAL { 0 } 2495 ::= { traceRouteCtlEntry 11 } 2497 traceRouteCtlSourceAddressType OBJECT-TYPE 2498 SYNTAX InetAddressType 2499 MAX-ACCESS read-create 2500 STATUS current 2501 DESCRIPTION 2502 "Specifies the type of the source address, 2503 traceRouteCtlSourceAddress, to be used at a remote host 2504 when performing a traceroute operation." 2505 DEFVAL { unknown } 2506 ::= { traceRouteCtlEntry 12 } 2508 traceRouteCtlSourceAddress OBJECT-TYPE 2509 SYNTAX InetAddress 2510 MAX-ACCESS read-create 2511 STATUS current 2512 DESCRIPTION 2513 "Use the specified IP address (which must be given as an 2514 IP number, not a hostname) as the source address in 2515 outgoing probe packets. On hosts with more than one IP 2516 address, this option can be used to select the address 2517 to be used. If the IP address is not one of this 2518 machine's interface addresses, an error is returned and 2519 nothing is sent. A zero length octet string value for 2520 this object disables source address specification. 2522 The address type (InetAddressType) that relates to 2523 this object is specified by the corresponding value 2524 of traceRouteCtlSourceAddressType." 2525 DEFVAL { ''H } 2526 ::= { traceRouteCtlEntry 13 } 2528 traceRouteCtlIfIndex OBJECT-TYPE 2529 SYNTAX InterfaceIndexOrZero 2530 MAX-ACCESS read-create 2531 STATUS current 2532 DESCRIPTION 2533 "Setting this object to an interface's ifIndex prior 2534 to starting a remote traceroute operation directs 2535 the traceroute probes to be transmitted over the 2536 specified interface. A value of zero for this object 2537 implies that this option is not enabled." 2538 DEFVAL { 0 } 2539 ::= { traceRouteCtlEntry 14 } 2541 traceRouteCtlMiscOptions OBJECT-TYPE 2542 SYNTAX SnmpAdminString 2543 MAX-ACCESS read-create 2544 STATUS current 2545 DESCRIPTION 2546 "Enables an application to specify implementation 2547 dependent options." 2548 DEFVAL { ''H } 2549 ::= { traceRouteCtlEntry 15 } 2551 traceRouteCtlMaxFailures OBJECT-TYPE 2552 SYNTAX Unsigned32 (0..255) 2553 UNITS "timeouts" 2554 MAX-ACCESS read-create 2555 STATUS current 2556 DESCRIPTION 2557 "The value of this object indicates the maximum number 2558 of consecutive timeouts allowed before terminating 2559 a remote traceroute request. A value of either 255 (maximum 2560 hop count/possible TTL value) or a 0 indicates that the 2561 function of terminating a remote traceroute request when a 2562 specific number of consecutive timeouts are detected is 2563 disabled." 2564 DEFVAL { 5 } 2565 ::= { traceRouteCtlEntry 16 } 2567 traceRouteCtlDontFragment OBJECT-TYPE 2568 SYNTAX TruthValue 2569 MAX-ACCESS read-create 2570 STATUS current 2571 DESCRIPTION 2572 "This object enables setting of the don't fragment flag (DF) 2573 in the IP header for a probe. Use of this object enables 2574 performing a manual PATH MTU test." 2575 DEFVAL { false } 2576 ::= { traceRouteCtlEntry 17 } 2578 traceRouteCtlInitialTtl OBJECT-TYPE 2579 SYNTAX Unsigned32 (1..255) 2580 MAX-ACCESS read-create 2581 STATUS current 2582 DESCRIPTION 2583 "The value of this object specifies the initial TTL value to 2584 use. This enables bypassing the initial (often well known) 2585 portion of a path." 2586 DEFVAL { 1 } 2587 ::= { traceRouteCtlEntry 18 } 2589 traceRouteCtlFrequency OBJECT-TYPE 2590 SYNTAX Unsigned32 2591 UNITS "seconds" 2592 MAX-ACCESS read-create 2593 STATUS current 2594 DESCRIPTION 2595 "The number of seconds to wait before repeating a 2596 traceroute test as defined by the value of the 2597 various objects in the corresponding row. 2599 After a single test completes the number of seconds 2600 as defined by the value of traceRouteCtlFrequency MUST 2601 elapse before the next traceroute test is started. 2603 A value of 0 for this object implies that the test 2604 as defined by the corresponding entry will not be 2605 repeated." 2606 DEFVAL { 0 } 2607 ::= { traceRouteCtlEntry 19 } 2609 traceRouteCtlStorageType OBJECT-TYPE 2610 SYNTAX StorageType 2611 MAX-ACCESS read-create 2612 STATUS current 2613 DESCRIPTION 2614 "The storage type for this conceptual row. 2615 Conceptual rows having the value 'permanent' need not 2616 allow write-access to any columnar objects in the row." 2617 DEFVAL { nonVolatile } 2618 ::= { traceRouteCtlEntry 20 } 2620 traceRouteCtlAdminStatus OBJECT-TYPE 2621 SYNTAX INTEGER { 2622 enabled(1), -- operation should be started 2623 disabled(2) -- operation should be stopped 2624 } 2625 MAX-ACCESS read-create 2626 STATUS current 2627 DESCRIPTION 2628 "Reflects the desired state that an traceRouteCtlEntry 2629 should be in: 2631 enabled(1) - Attempt to activate the test as defined by 2632 this traceRouteCtlEntry. 2633 disabled(2) - Deactivate the test as defined by this 2634 traceRouteCtlEntry. 2636 Refer to the corresponding traceRouteResultsOperStatus to 2637 determine the operational state of the test defined by 2638 this entry." 2639 DEFVAL { disabled } 2640 ::= { traceRouteCtlEntry 21 } 2642 traceRouteCtlDescr OBJECT-TYPE 2643 SYNTAX SnmpAdminString 2644 MAX-ACCESS read-create 2645 STATUS current 2646 DESCRIPTION 2647 "The purpose of this object is to provide a 2648 descriptive name of the remote traceroute 2649 test." 2650 DEFVAL { ''H } 2651 ::= { traceRouteCtlEntry 22 } 2653 traceRouteCtlMaxRows OBJECT-TYPE 2654 SYNTAX Unsigned32 2655 UNITS "rows" 2656 MAX-ACCESS read-create 2657 STATUS current 2658 DESCRIPTION 2659 "The maximum number of corresponding entries allowed 2660 in the traceRouteProbeHistoryTable. An implementation 2661 of this MIB will remove the oldest corresponding entry 2662 in the traceRouteProbeHistoryTable to allow the 2663 addition of an new entry once the number of 2664 corresponding rows in the traceRouteProbeHistoryTable 2665 reaches this value. 2667 Old entries are not removed when a new test is 2668 started. Entries are added to the 2669 traceRouteProbeHistoryTable until traceRouteCtlMaxRows 2670 is reached before entries begin to be removed. 2672 A value of 0 for this object disables creation of 2673 traceRouteProbeHistoryTable entries." 2674 DEFVAL { 50 } 2675 ::= { traceRouteCtlEntry 23 } 2677 traceRouteCtlTrapGeneration OBJECT-TYPE 2678 SYNTAX BITS { 2679 pathChange(0), 2680 testFailure(1), 2681 testCompletion(2) 2682 } 2683 MAX-ACCESS read-create 2684 STATUS current 2685 DESCRIPTION 2686 "The value of this object determines when and if to 2687 generate a notification for this entry: 2689 pathChange(0) - Generate a traceRoutePathChange 2690 notification when the current path varies from a 2691 previously determined path. 2692 testFailure(1) - Generate a traceRouteTestFailed 2693 notification when the full path to a target 2694 can't be determined. 2695 testCompletion(2) - Generate a traceRouteTestCompleted 2696 notification when the path to a target has been 2697 determined. 2699 The value of this object defaults to an empty set, 2700 indicating that none of the above options have been 2701 selected." 2702 DEFVAL { { } } 2703 ::= { traceRouteCtlEntry 24 } 2705 traceRouteCtlCreateHopsEntries OBJECT-TYPE 2706 SYNTAX TruthValue 2707 MAX-ACCESS read-create 2708 STATUS current 2709 DESCRIPTION 2710 "The current path for a traceroute test is kept in the 2711 traceRouteHopsTable on a per hop basis when the value of 2712 this object is true(1)." 2713 DEFVAL { false } 2714 ::= { traceRouteCtlEntry 25 } 2716 traceRouteCtlType OBJECT-TYPE 2717 SYNTAX OBJECT IDENTIFIER 2718 MAX-ACCESS read-create 2719 STATUS current 2720 DESCRIPTION 2721 "The value of this object is used either to report or 2722 select the implementation method to be used for 2723 performing a traceroute operation. The value of this 2724 object may be selected from 2725 traceRouteImplementationTypeDomains. 2727 Additional implementation types should be allocated as 2728 required by implementers of the DISMAN-TRACEROUTE-MIB 2729 under their enterprise specific registration point and 2730 not beneath traceRouteImplementationTypeDomains." 2731 DEFVAL { traceRouteUsingUdpProbes } 2732 ::= { traceRouteCtlEntry 26 } 2734 traceRouteCtlRowStatus OBJECT-TYPE 2735 SYNTAX RowStatus 2736 MAX-ACCESS read-create 2737 STATUS current 2738 DESCRIPTION 2739 "This object allows entries to be created and deleted 2740 in the traceRouteCtlTable. Deletion of an entry in 2741 this table results in all corresponding (same 2742 traceRouteCtlOwnerIndex and traceRouteCtlTestName 2743 index values) traceRouteResultsTable, 2744 traceRouteProbeHistoryTable, and traceRouteHopsTable 2745 entries being deleted. 2747 A value MUST be specified for traceRouteCtlTargetAddress 2748 prior to a transition to active(1) state being 2749 accepted. 2751 When a value for pingCtlTargetAddress is set, 2752 the value of object pingCtlRowStatus changes 2753 from notReady(3) to notInService(2). 2755 Activation of a remote traceroute operation is 2756 controlled via traceRouteCtlAdminStatus and not 2757 by transitioning of this object's value to active(1). 2759 Transitions in and out of active(1) state are not 2760 allowed while an entry's traceRouteResultsOperStatus 2761 is active(1) with the exception that deletion of 2762 an entry in this table by setting its RowStatus 2763 object to destroy(6) will stop an active 2764 traceroute operation. 2766 The operational state of an traceroute operation 2767 can be determined by examination of the corresponding 2768 traceRouteResultsOperStatus object." 2769 REFERENCE 2770 "See definition of RowStatus in RFC 2579, 'Textual 2771 Conventions for SMIv2.'" 2773 ::= { traceRouteCtlEntry 27 } 2775 -- Traceroute Results Table 2777 traceRouteResultsTable OBJECT-TYPE 2778 SYNTAX SEQUENCE OF TraceRouteResultsEntry 2779 MAX-ACCESS not-accessible 2780 STATUS current 2781 DESCRIPTION 2782 "Defines the Remote Operations Traceroute Results Table for 2783 keeping track of the status of a traceRouteCtlEntry. 2785 An entry is added to the traceRouteResultsTable when an 2786 traceRouteCtlEntry is started by successful transition 2787 of its traceRouteCtlAdminStatus object to enabled(1). 2789 If object traceRouteCtlAdminStatus already has value 2790 enabled(1) and if the corresponding 2791 traceRouteResultsOperStatus object has value completed(3), 2792 then successfully writing enabled(1) to object 2793 traceRouteCtlAdminStatus re-initializes the already 2794 existing entry in the traceRouteResultsTable. The values of 2795 objects in the re-initialized entry are the same than 2796 the values of objects in a new entry would be. 2798 An entry is removed from the traceRouteResultsTable when 2799 its corresponding traceRouteCtlEntry is deleted." 2800 ::= { traceRouteObjects 3 } 2802 traceRouteResultsEntry OBJECT-TYPE 2803 SYNTAX TraceRouteResultsEntry 2804 MAX-ACCESS not-accessible 2805 STATUS current 2806 DESCRIPTION 2807 "Defines an entry in the traceRouteResultsTable. The 2808 traceRouteResultsTable has the same indexing as the 2809 traceRouteCtlTable in order for a traceRouteResultsEntry 2810 to correspond to the traceRouteCtlEntry that caused it to 2811 be created." 2812 INDEX { 2813 traceRouteCtlOwnerIndex, 2814 traceRouteCtlTestName 2815 } 2816 ::= { traceRouteResultsTable 1 } 2818 TraceRouteResultsEntry ::= 2819 SEQUENCE { 2820 traceRouteResultsOperStatus INTEGER, 2821 traceRouteResultsCurHopCount Gauge32, 2822 traceRouteResultsCurProbeCount Gauge32, 2823 traceRouteResultsIpTgtAddrType InetAddressType, 2824 traceRouteResultsIpTgtAddr InetAddress, 2825 traceRouteResultsTestAttempts Gauge32, 2826 traceRouteResultsTestSuccesses Gauge32, 2827 traceRouteResultsLastGoodPath DateAndTime 2828 } 2830 traceRouteResultsOperStatus OBJECT-TYPE 2831 SYNTAX INTEGER { 2832 enabled(1), -- test is in progress 2833 disabled(2), -- test has stopped 2834 completed(3) -- test is completed 2835 } 2836 MAX-ACCESS read-only 2837 STATUS current 2838 DESCRIPTION 2839 "Reflects the operational state of an traceRouteCtlEntry: 2841 enabled(1) - Test is active. 2842 disabled(2) - Test has stopped. 2843 completed(3) - Test is completed." 2844 ::= { traceRouteResultsEntry 1 } 2846 traceRouteResultsCurHopCount OBJECT-TYPE 2847 SYNTAX Gauge32 2848 UNITS "hops" 2849 MAX-ACCESS read-only 2850 STATUS current 2851 DESCRIPTION 2852 "Reflects the current TTL value (range from 1 to 2853 255) for a remote traceroute operation. 2854 Maximum TTL value is determined by 2855 traceRouteCtlMaxTtl." 2856 ::= { traceRouteResultsEntry 2 } 2858 traceRouteResultsCurProbeCount OBJECT-TYPE 2859 SYNTAX Gauge32 2860 UNITS "probes" 2861 MAX-ACCESS read-only 2862 STATUS current 2863 DESCRIPTION 2864 "Reflects the current probe count (1..10) for 2865 a remote traceroute operation. The maximum 2866 probe count is determined by 2867 traceRouteCtlProbesPerHop." 2868 ::= { traceRouteResultsEntry 3 } 2870 traceRouteResultsIpTgtAddrType OBJECT-TYPE 2871 SYNTAX InetAddressType 2872 MAX-ACCESS read-only 2873 STATUS current 2874 DESCRIPTION 2875 "This objects indicates the type of address stored 2876 in the corresponding traceRouteResultsIpTgtAddr 2877 object." 2878 ::= { traceRouteResultsEntry 4 } 2880 traceRouteResultsIpTgtAddr OBJECT-TYPE 2881 SYNTAX InetAddress 2882 MAX-ACCESS read-only 2883 STATUS current 2884 DESCRIPTION 2885 "This objects reports the IP address associated 2886 with a traceRouteCtlTargetAddress value when the 2887 destination address is specified as a DNS name. 2888 The value of this object should be a zero length 2889 octet string when a DNS name is not specified or 2890 when a specified DNS name fails to resolve." 2891 ::= { traceRouteResultsEntry 5 } 2893 traceRouteResultsTestAttempts OBJECT-TYPE 2894 SYNTAX Gauge32 2895 UNITS "tests" 2896 MAX-ACCESS read-only 2897 STATUS current 2898 DESCRIPTION 2899 "The current number of attempts to determine a path 2900 to a target. The value of this object MUST be started 2901 at 0." 2902 ::= { traceRouteResultsEntry 6 } 2904 traceRouteResultsTestSuccesses OBJECT-TYPE 2905 SYNTAX Gauge32 2906 UNITS "tests" 2907 MAX-ACCESS read-only 2908 STATUS current 2909 DESCRIPTION 2910 "The current number of attempts to determine a path 2911 to a target that have succeeded. The value of this 2912 object MUST be reported as 0 when no attempts have 2913 succeeded." 2914 ::= { traceRouteResultsEntry 7 } 2916 traceRouteResultsLastGoodPath OBJECT-TYPE 2917 SYNTAX DateAndTime 2918 MAX-ACCESS read-only 2919 STATUS current 2920 DESCRIPTION 2921 "The date and time when the last complete path 2922 was determined. A path is complete if responses 2923 were received or timeout occurred for each hop on 2924 the path, i.e. for each TTL value from the value 2925 of the corresponding traceRouteCtlInitialTtl object 2926 up to the end of the path or - if no reply from the 2927 target IP address was received - up to the value of 2928 the corresponding traceRouteCtlMaxTtl object." 2929 ::= { traceRouteResultsEntry 8 } 2931 -- Trace Route Probe History Table 2933 traceRouteProbeHistoryTable OBJECT-TYPE 2934 SYNTAX SEQUENCE OF TraceRouteProbeHistoryEntry 2935 MAX-ACCESS not-accessible 2936 STATUS current 2937 DESCRIPTION 2938 "Defines the Remote Operations Traceroute Results Table 2939 for storing the results of a traceroute operation. 2941 An implementation of this MIB will remove the oldest 2942 entry in the traceRouteProbeHistoryTable of the 2943 corresponding entry in the traceRouteCtlTable to allow 2944 the addition of an new entry once the number of rows in 2945 the traceRouteProbeHistoryTable reaches the value specified 2946 by traceRouteCtlMaxRows for the corresponding entry in the 2947 traceRouteCtlTable." 2948 ::= { traceRouteObjects 4 } 2950 traceRouteProbeHistoryEntry OBJECT-TYPE 2951 SYNTAX TraceRouteProbeHistoryEntry 2952 MAX-ACCESS not-accessible 2953 STATUS current 2954 DESCRIPTION 2955 "Defines a table for storing the results of a traceroute 2956 operation. Entries in this table are limited by 2957 the value of the corresponding traceRouteCtlMaxRows 2958 object. 2960 The first two index elements identify the 2961 traceRouteCtlEntry that a traceRouteProbeHistoryEntry 2962 belongs to. The third index element selects a single 2963 traceroute operation result. The fourth and fifth indexes 2964 select the hop and the probe for a particular 2965 traceroute operation." 2966 INDEX { 2967 traceRouteCtlOwnerIndex, 2968 traceRouteCtlTestName, 2969 traceRouteProbeHistoryIndex, 2970 traceRouteProbeHistoryHopIndex, 2971 traceRouteProbeHistoryProbeIndex 2973 } 2974 ::= { traceRouteProbeHistoryTable 1 } 2976 TraceRouteProbeHistoryEntry ::= 2977 SEQUENCE { 2978 traceRouteProbeHistoryIndex Unsigned32, 2979 traceRouteProbeHistoryHopIndex Unsigned32, 2980 traceRouteProbeHistoryProbeIndex Unsigned32, 2981 traceRouteProbeHistoryHAddrType InetAddressType, 2982 traceRouteProbeHistoryHAddr InetAddress, 2983 traceRouteProbeHistoryResponse Unsigned32, 2984 traceRouteProbeHistoryStatus OperationResponseStatus, 2985 traceRouteProbeHistoryLastRC Integer32, 2986 traceRouteProbeHistoryTime DateAndTime 2987 } 2989 traceRouteProbeHistoryIndex OBJECT-TYPE 2990 SYNTAX Unsigned32 (1..'ffffffff'h) 2991 MAX-ACCESS not-accessible 2992 STATUS current 2993 DESCRIPTION 2994 "An entry in this table is created when the result of 2995 a traceroute probe is determined. The initial 2 instance 2996 identifier index values identify the traceRouteCtlEntry 2997 that a probe result (traceRouteProbeHistoryEntry) belongs 2998 to. An entry is removed from this table when 2999 its corresponding traceRouteCtlEntry is deleted. 3001 An implementation MUST start assigning 3002 traceRouteProbeHistoryIndex values at 1 and wrap after 3003 exceeding the maximum possible value as defined by the 3004 limit of this object ('ffffffff'h)." 3005 ::= { traceRouteProbeHistoryEntry 1 } 3007 traceRouteProbeHistoryHopIndex OBJECT-TYPE 3008 SYNTAX Unsigned32 (1..255) 3009 MAX-ACCESS not-accessible 3010 STATUS current 3011 DESCRIPTION 3012 "Indicates which hop in a traceroute path that the probe's 3013 results are for. The value of this object is initially 3014 determined by the value of traceRouteCtlInitialTtl." 3015 ::= { traceRouteProbeHistoryEntry 2 } 3017 traceRouteProbeHistoryProbeIndex OBJECT-TYPE 3018 SYNTAX Unsigned32 (1..10) 3019 MAX-ACCESS not-accessible 3020 STATUS current 3021 DESCRIPTION 3022 "Indicates the index of a probe for a particular 3023 hop in a traceroute path. The number of probes per 3024 hop is determined by the value of the corresponding 3025 traceRouteCtlProbesPerHop object." 3026 ::= { traceRouteProbeHistoryEntry 3 } 3028 traceRouteProbeHistoryHAddrType OBJECT-TYPE 3029 SYNTAX InetAddressType 3030 MAX-ACCESS read-only 3031 STATUS current 3032 DESCRIPTION 3033 "This objects indicates the type of address stored 3034 in the corresponding traceRouteProbeHistoryHAddr 3035 object." 3036 ::= { traceRouteProbeHistoryEntry 4 } 3038 traceRouteProbeHistoryHAddr OBJECT-TYPE 3039 SYNTAX InetAddress 3040 MAX-ACCESS read-only 3041 STATUS current 3042 DESCRIPTION 3043 "The address of a hop in a traceroute path. This object 3044 is not allowed to be a DNS name. The value of the 3045 corresponding object, traceRouteProbeHistoryHAddrType, 3046 indicates this object's IP address type." 3047 ::= { traceRouteProbeHistoryEntry 5 } 3049 traceRouteProbeHistoryResponse OBJECT-TYPE 3050 SYNTAX Unsigned32 3051 UNITS "milliseconds" 3052 MAX-ACCESS read-only 3053 STATUS current 3054 DESCRIPTION 3055 "The amount of time measured in milliseconds from when 3056 a probe was sent to when its response was received or 3057 when it timed out. The value of this object is reported 3058 as 0 when it is not possible to transmit a probe." 3059 ::= { traceRouteProbeHistoryEntry 6 } 3061 traceRouteProbeHistoryStatus OBJECT-TYPE 3062 SYNTAX OperationResponseStatus 3063 MAX-ACCESS read-only 3064 STATUS current 3065 DESCRIPTION 3066 "The result of a traceroute operation made by a remote 3067 host for a particular probe." 3068 ::= { traceRouteProbeHistoryEntry 7 } 3070 traceRouteProbeHistoryLastRC OBJECT-TYPE 3071 SYNTAX Integer32 3072 MAX-ACCESS read-only 3073 STATUS current 3074 DESCRIPTION 3075 "The last implementation method specific reply code received. 3077 Traceroute is usually implemented by transmitting a series of 3078 probe packets with increasing time-to-live values. A probe 3079 packet is a UDP datagram encapsulated into an IP packet. 3080 Each hop in a path to the target (destination) host rejects 3081 the probe packets (probe's TTL too small, ICMP reply) until 3082 either the maximum TTL is exceeded or the target host is 3083 received." 3084 ::= { traceRouteProbeHistoryEntry 8 } 3086 traceRouteProbeHistoryTime OBJECT-TYPE 3087 SYNTAX DateAndTime 3088 MAX-ACCESS read-only 3089 STATUS current 3090 DESCRIPTION 3091 "Timestamp for when this probe results were determined." 3092 ::= { traceRouteProbeHistoryEntry 9 } 3094 -- Traceroute Hop Results Table 3096 traceRouteHopsTable OBJECT-TYPE 3097 SYNTAX SEQUENCE OF TraceRouteHopsEntry 3098 MAX-ACCESS not-accessible 3099 STATUS current 3100 DESCRIPTION 3101 "Defines the Remote Operations Traceroute Hop Table for 3102 keeping track of the results of traceroute tests on a 3103 per hop basis." 3104 ::= { traceRouteObjects 5 } 3106 traceRouteHopsEntry OBJECT-TYPE 3107 SYNTAX TraceRouteHopsEntry 3108 MAX-ACCESS not-accessible 3109 STATUS current 3110 DESCRIPTION 3111 "Defines an entry in the traceRouteHopsTable. 3113 The first two index elements identify the 3114 traceRouteCtlEntry that a traceRouteHopsEntry 3115 belongs to. The third index element, 3116 traceRouteHopsHopIndex, selects a 3117 hop in a traceroute path." 3118 INDEX { 3119 traceRouteCtlOwnerIndex, 3120 traceRouteCtlTestName, 3121 traceRouteHopsHopIndex 3122 } 3124 ::= { traceRouteHopsTable 1 } 3126 TraceRouteHopsEntry ::= 3127 SEQUENCE { 3128 traceRouteHopsHopIndex Unsigned32, 3129 traceRouteHopsIpTgtAddressType InetAddressType, 3130 traceRouteHopsIpTgtAddress InetAddress, 3131 traceRouteHopsMinRtt Unsigned32, 3132 traceRouteHopsMaxRtt Unsigned32, 3133 traceRouteHopsAverageRtt Unsigned32, 3134 traceRouteHopsRttSumOfSquares Unsigned32, 3135 traceRouteHopsSentProbes Unsigned32, 3136 traceRouteHopsProbeResponses Unsigned32, 3137 traceRouteHopsLastGoodProbe DateAndTime 3138 } 3140 traceRouteHopsHopIndex OBJECT-TYPE 3141 SYNTAX Unsigned32 (1..'ffffffff'h) 3142 MAX-ACCESS not-accessible 3143 STATUS current 3144 DESCRIPTION 3145 "Specifies the hop index for a traceroute hop. Values 3146 for this object with respect to the same 3147 traceRouteCtlOwnerIndex and traceRouteCtlTestName 3148 MUST start at 1 and increase monotonically. 3150 The traceRouteHopsTable keeps the current traceroute 3151 path per traceRouteCtlEntry if enabled by 3152 setting the corresponding traceRouteCtlCreateHopsEntries 3153 to true(1). 3155 All hops (traceRouteHopsTable entries) in a traceroute 3156 path MUST be updated at the same time when a traceroute 3157 operation completes. Care needs to be applied when either 3158 a path changes or can't be determined. The initial portion 3159 of the path, up to the first hop change, MUST retain the 3160 same traceRouteHopsHopIndex values. The remaining portion 3161 of the path SHOULD be assigned new traceRouteHopsHopIndex 3162 values." 3163 ::= { traceRouteHopsEntry 1 } 3165 traceRouteHopsIpTgtAddressType OBJECT-TYPE 3166 SYNTAX InetAddressType 3167 MAX-ACCESS read-only 3168 STATUS current 3169 DESCRIPTION 3170 "This objects indicates the type of address stored 3171 in the corresponding traceRouteHopsIpTgtAddress 3172 object." 3173 ::= { traceRouteHopsEntry 2 } 3175 traceRouteHopsIpTgtAddress OBJECT-TYPE 3176 SYNTAX InetAddress 3177 MAX-ACCESS read-only 3178 STATUS current 3179 DESCRIPTION 3180 "This object reports the IP address associated with 3181 the hop. A value for this object should be reported 3182 as a numeric IP address and not as a DNS name. 3184 The address type (InetAddressType) that relates to 3185 this object is specified by the corresponding value 3186 of pingCtlSourceAddressType." 3187 ::= { traceRouteHopsEntry 3 } 3189 traceRouteHopsMinRtt OBJECT-TYPE 3190 SYNTAX Unsigned32 3191 MAX-ACCESS read-only 3192 STATUS current 3193 DESCRIPTION 3194 "The minimum traceroute round-trip-time (RTT) received for 3195 this hop. A value of 0 for this object implies that no 3196 RTT has been received." 3197 ::= { traceRouteHopsEntry 4 } 3199 traceRouteHopsMaxRtt OBJECT-TYPE 3200 SYNTAX Unsigned32 3201 MAX-ACCESS read-only 3202 STATUS current 3203 DESCRIPTION 3204 "The maximum traceroute round-trip-time (RTT) received for 3205 this hop. A value of 0 for this object implies that no 3206 RTT has been received." 3207 ::= { traceRouteHopsEntry 5 } 3209 traceRouteHopsAverageRtt OBJECT-TYPE 3210 SYNTAX Unsigned32 3211 MAX-ACCESS read-only 3212 STATUS current 3213 DESCRIPTION 3214 "The current average traceroute round-trip-time (RTT) for 3215 this hop." 3216 ::= { traceRouteHopsEntry 6 } 3218 traceRouteHopsRttSumOfSquares OBJECT-TYPE 3219 SYNTAX Unsigned32 3220 MAX-ACCESS read-only 3221 STATUS current 3222 DESCRIPTION 3223 "This object contains the sum of the squares of all 3224 round-trip-times received for this hop. Its purpose is 3225 to enable standard deviation calculation." 3226 ::= { traceRouteHopsEntry 7 } 3228 traceRouteHopsSentProbes OBJECT-TYPE 3229 SYNTAX Unsigned32 3230 MAX-ACCESS read-only 3231 STATUS current 3232 DESCRIPTION 3233 "The value of this object reflects the number of probes sent 3234 for this hop during this traceroute test. The value of this 3235 object should start at 0." 3236 ::= { traceRouteHopsEntry 8 } 3238 traceRouteHopsProbeResponses OBJECT-TYPE 3239 SYNTAX Unsigned32 3240 MAX-ACCESS read-only 3241 STATUS current 3242 DESCRIPTION 3243 "Number of responses received for this hop during this 3244 traceroute test. This value of this object should start 3245 at 0." 3246 ::= { traceRouteHopsEntry 9 } 3248 traceRouteHopsLastGoodProbe OBJECT-TYPE 3249 SYNTAX DateAndTime 3250 MAX-ACCESS read-only 3251 STATUS current 3252 DESCRIPTION 3253 "Date and time was the last response was received for a probe 3254 for this hop during this traceroute test." 3255 ::= { traceRouteHopsEntry 10 } 3257 -- Notification Definition section 3259 traceRoutePathChange NOTIFICATION-TYPE 3260 OBJECTS { 3261 traceRouteCtlTargetAddressType, 3262 traceRouteCtlTargetAddress, 3263 traceRouteResultsIpTgtAddrType, 3264 traceRouteResultsIpTgtAddr 3265 } 3266 STATUS current 3267 DESCRIPTION 3268 "The path to a target has changed." 3269 ::= { traceRouteNotifications 1 } 3271 traceRouteTestFailed NOTIFICATION-TYPE 3272 OBJECTS { 3273 traceRouteCtlTargetAddressType, 3274 traceRouteCtlTargetAddress, 3275 traceRouteResultsIpTgtAddrType, 3276 traceRouteResultsIpTgtAddr 3277 } 3278 STATUS current 3279 DESCRIPTION 3280 "Could not determine the path to a target." 3281 ::= { traceRouteNotifications 2 } 3283 traceRouteTestCompleted NOTIFICATION-TYPE 3284 OBJECTS { 3285 traceRouteCtlTargetAddressType, 3286 traceRouteCtlTargetAddress, 3287 traceRouteResultsIpTgtAddrType, 3288 traceRouteResultsIpTgtAddr 3289 } 3290 STATUS current 3291 DESCRIPTION 3292 "The path to a target has just been determined." 3293 ::= { traceRouteNotifications 3 } 3295 -- Conformance information 3296 -- Compliance statements 3298 traceRouteCompliances OBJECT IDENTIFIER 3299 ::= { traceRouteConformance 1 } 3300 traceRouteGroups OBJECT IDENTIFIER 3301 ::= { traceRouteConformance 2 } 3303 -- Compliance statements 3305 traceRouteFullCompliance MODULE-COMPLIANCE 3306 STATUS current 3307 DESCRIPTION 3308 "The compliance statement for SNMP entities which 3309 fully implement the DISMAN-TRACEROUTE-MIB." 3310 MODULE -- this module 3311 MANDATORY-GROUPS { 3312 traceRouteMinimumGroup, 3313 traceRouteCtlRowStatusGroup, 3314 traceRouteHistoryGroup 3315 } 3317 GROUP traceRouteHopsTableGroup 3318 DESCRIPTION 3319 "This group lists the objects that make up a 3320 traceRouteHopsEntry. Support of the traceRouteHopsTable 3321 is optional." 3323 GROUP traceRouteNotificationsGroup 3324 DESCRIPTION 3325 "This group defines a collection of optional 3326 notifications." 3328 OBJECT traceRouteMaxConcurrentRequests 3329 MIN-ACCESS read-only 3330 DESCRIPTION 3331 "The agent is not required to support SET 3332 operations to this object." 3334 OBJECT traceRouteCtlByPassRouteTable 3335 MIN-ACCESS read-only 3336 DESCRIPTION 3337 "Write access to this object is not required by 3338 implementations that are not capable of its 3339 implementation. The function represented by this 3340 object is implementable if the setsockopt 3341 SOL_SOCKET SO_DONTROUTE option is supported." 3343 OBJECT traceRouteCtlDSField 3344 MIN-ACCESS read-only 3345 DESCRIPTION 3346 "Write access is not required. If write access is 3347 not supported return a 0 as the value of this object. 3348 A value of 0 implies that the function represented by 3349 this option is not supported." 3351 OBJECT traceRouteCtlSourceAddressType 3352 SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) } 3353 MIN-ACCESS read-only 3354 DESCRIPTION 3355 "Write access to this object is not required by 3356 implementations that are not capable of binding the 3357 send socket with a source address. An implementation 3358 is only required to support IPv4 and IPv6 addresses." 3360 OBJECT traceRouteCtlSourceAddress 3361 SYNTAX InetAddress (SIZE(0|4|16)) 3362 MIN-ACCESS read-only 3363 DESCRIPTION 3364 "Write access to this object is not required by 3365 implementations that are not capable of binding the 3366 send socket with a source address. An implementation 3367 is only required to support IPv4 and IPv6 addresses." 3369 OBJECT traceRouteCtlIfIndex 3370 MIN-ACCESS read-only 3371 DESCRIPTION 3372 "Write access is not required. If write access is 3373 not supported return a 0 as the value of this object. 3374 A value of 0 implies that the function represented by 3375 this option is not supported." 3377 OBJECT traceRouteCtlMiscOptions 3378 MIN-ACCESS read-only 3379 DESCRIPTION 3380 "Support of this object is optional. If not 3381 supporting, do not allow write access and return a 3382 zero length octet string as the value of the object." 3384 OBJECT traceRouteCtlStorageType 3385 MIN-ACCESS read-only 3386 DESCRIPTION 3387 "Write access is not required. It is also allowed 3388 for implementations to support only the volatile(2) 3389 StorageType enumeration." 3391 OBJECT traceRouteCtlType 3392 MIN-ACCESS read-only 3393 DESCRIPTION 3394 "Write access is not required. In addition, the only 3395 value that is RECOMMENDED to be supported by an 3396 implementation is traceRouteUsingUdpProbes." 3398 OBJECT traceRouteResultsIpTgtAddrType 3399 SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) } 3400 DESCRIPTION 3401 "An implementation should only support IPv4 and 3402 globally unique IPv6 address values for this object." 3404 OBJECT traceRouteResultsIpTgtAddr 3405 SYNTAX InetAddress (SIZE(0|4|16)) 3406 DESCRIPTION 3407 "An implementation should only support IPv4 and 3408 globally unique IPv6 address values for this object." 3410 OBJECT traceRouteResultsLastGoodPath 3411 DESCRIPTION 3412 "If the traceRouteHopsTableGroup is implemented, then 3413 this object is mandatory for implementations that have 3414 access to a system clock and are capable of setting 3415 the values for DateAndTime objects. It is RECOMMENDED 3416 that when this object is not supported that its values 3417 be reported as '0000000000000000'H." 3419 OBJECT traceRouteProbeHistoryHAddrType 3420 SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) } 3421 DESCRIPTION 3422 "An implementation should only support IPv4 and 3423 globally unique IPv6 address values for this object." 3425 OBJECT traceRouteProbeHistoryHAddr 3426 SYNTAX InetAddress (SIZE(0|4|16)) 3427 DESCRIPTION 3428 "An implementation should only support IPv4 and 3429 globally unique IPv6 address values for this object." 3431 OBJECT traceRouteProbeHistoryTime 3432 DESCRIPTION 3433 "This object is mandatory for implementations that have 3434 access to a system clock and are capable of setting 3435 the values for DateAndTime objects. It is RECOMMENDED 3436 that when this object is not supported that its values 3437 be reported as '0000000000000000'H." 3439 OBJECT traceRouteHopsIpTgtAddressType 3440 SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) } 3441 DESCRIPTION 3442 "An implementation should only support IPv4 and 3443 globally unique IPv6 address values for this object." 3445 OBJECT traceRouteHopsIpTgtAddress 3446 SYNTAX InetAddress (SIZE(0|4|16)) 3447 DESCRIPTION 3448 "An implementation should only support IPv4 and 3449 globally unique IPv6 address values for this object." 3451 OBJECT traceRouteHopsLastGoodProbe 3452 DESCRIPTION 3453 "This object is mandatory for implementations that have 3454 access to a system clock and are capable of setting 3455 the values for DateAndTime objects. It is RECOMMENDED 3456 that when this object is not supported that its values 3457 be reported as '0000000000000000'H." 3459 ::= { traceRouteCompliances 2 } 3461 traceRouteMinimumCompliance MODULE-COMPLIANCE 3462 STATUS current 3463 DESCRIPTION 3464 "The minimum compliance statement for SNMP entities 3465 which implement the minimal subset of the 3466 DISMAN-TRACEROUTE-MIB. Implementors might choose this 3467 subset for small devices with limited resources." 3468 MODULE -- this module 3469 MANDATORY-GROUPS { traceRouteMinimumGroup } 3471 GROUP traceRouteCtlRowStatusGroup 3472 DESCRIPTION 3473 "A compliant implementation does not have to implement 3474 the traceRouteCtlRowStatusGroup." 3476 GROUP traceRouteHistoryGroup 3477 DESCRIPTION 3478 "A compliant implementation does not have to implement 3479 the traceRouteHistoryGroup." 3481 GROUP traceRouteHopsTableGroup 3482 DESCRIPTION 3483 "This group lists the objects that make up a 3484 traceRouteHopsEntry. Support of the traceRouteHopsTable 3485 is optional." 3487 GROUP traceRouteNotificationsGroup 3488 DESCRIPTION 3489 "This group defines a collection of optional 3490 notifications." 3492 OBJECT traceRouteMaxConcurrentRequests 3493 MIN-ACCESS read-only 3494 DESCRIPTION 3495 "The agent is not required to support SET 3496 operations to this object." 3498 OBJECT traceRouteCtlByPassRouteTable 3499 MIN-ACCESS read-only 3500 DESCRIPTION 3501 "Write access is not required. If write access is 3502 not supported return a false(2) as the value of this 3503 object. A value of false(2) means that the function 3504 represented by this option is not supported." 3506 OBJECT traceRouteCtlDSField 3507 MIN-ACCESS read-only 3508 DESCRIPTION 3509 "Write access is not required. If write access is 3510 not supported return a 0 as the value of this object. 3511 A value of 0 implies that the function represented by 3512 this option is not supported." 3514 OBJECT traceRouteCtlSourceAddressType 3515 SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) } 3516 MIN-ACCESS read-only 3517 DESCRIPTION 3518 "Write access to this object is not required by 3519 implementations that are not capable of binding the 3520 send socket with a source address. An implementation 3521 is only required to support IPv4 and IPv6 addresses." 3523 OBJECT traceRouteCtlSourceAddress 3524 SYNTAX InetAddress (SIZE(0|4|16)) 3525 MIN-ACCESS read-only 3526 DESCRIPTION 3527 "Write access to this object is not required by 3528 implementations that are not capable of binding the 3529 send socket with a source address. An implementation 3530 is only required to support IPv4 and IPv6 addresses." 3532 OBJECT traceRouteCtlIfIndex 3533 MIN-ACCESS read-only 3534 DESCRIPTION 3535 "Write access is not required. If write access is 3536 not supported return a 0 as the value of this object. 3537 A value of 0 implies that the function represented by 3538 this option is not supported." 3540 OBJECT traceRouteCtlMiscOptions 3541 MIN-ACCESS read-only 3542 DESCRIPTION 3543 "Support of this object is optional. If not 3544 supporting do not allow write access and return a 3545 zero length octet string as the value of the object." 3547 OBJECT traceRouteCtlDontFragment 3548 MIN-ACCESS read-only 3549 DESCRIPTION 3550 "Write access is not required. If write access is 3551 not supported return a false(2) as the value of this 3552 object. A value of false(2) means that the function 3553 represented by this option is not supported." 3555 OBJECT traceRouteCtlInitialTtl 3556 MIN-ACCESS read-only 3557 DESCRIPTION 3558 "Write access is not required. If write access is 3559 not supported return a 1 as the value of this object." 3561 OBJECT traceRouteCtlFrequency 3562 MIN-ACCESS read-only 3563 DESCRIPTION 3564 "Write access is not required. If write access is 3565 not supported return a 0 as the value of this object. 3566 A value of 0 implies that the function represented by 3567 this option is not supported." 3569 OBJECT traceRouteCtlStorageType 3570 MIN-ACCESS read-only 3571 DESCRIPTION 3572 "Write access is not required. It is also allowed 3573 for implementations to support only the volatile(2) 3574 StorageType enumeration." 3576 OBJECT traceRouteCtlDescr 3577 MIN-ACCESS read-only 3578 DESCRIPTION 3579 "The agent is not required to support set 3580 operations to this object." 3582 OBJECT traceRouteCtlMaxRows 3583 MIN-ACCESS read-only 3584 DESCRIPTION 3585 "Write access is not required. If the 3586 traceRouteHistoryGroup is not implemented, then write 3587 access to this object MUST be disabled and the object 3588 MUST return a value of 0 when retrieved." 3590 OBJECT traceRouteCtlTrapGeneration 3591 MIN-ACCESS read-only 3592 DESCRIPTION 3593 "Write access is not required. If the 3594 traceRouteNotificationsGroup is not implemented, then 3595 write access to this object MUST be disabled and the 3596 object MUST return a value with no bit set when 3597 retrieved. No bit set indicates that no notification 3598 is generated." 3600 OBJECT traceRouteCtlCreateHopsEntries 3601 MIN-ACCESS read-only 3602 DESCRIPTION 3603 "Write access is not required. If the 3604 traceRouteHopsTableGroup is not implemented, then 3605 write access to this object MUST be disabled and the 3606 object MUST return a value of false(2) when retrieved." 3608 OBJECT traceRouteCtlType 3609 MIN-ACCESS read-only 3610 DESCRIPTION 3611 "Write access is not required. In addition, the only 3612 value that is RECOMMENDED to be supported by an 3613 implementation is traceRouteUsingUdpProbes." 3615 OBJECT traceRouteResultsIpTgtAddrType 3616 SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) } 3617 DESCRIPTION 3618 "An implementation should only support IPv4 and 3619 globally unique IPv6 address values for this object." 3621 OBJECT traceRouteResultsIpTgtAddr 3622 SYNTAX InetAddress (SIZE(0|4|16)) 3623 DESCRIPTION 3624 "An implementation should only support IPv4 and 3625 globally unique IPv6 address values for this object." 3627 OBJECT traceRouteResultsLastGoodPath 3628 DESCRIPTION 3629 "This object is mandatory for implementations that have 3630 access to a system clock and are capable of setting 3631 the values for DateAndTime objects. It is RECOMMENDED 3632 that when this object is not supported that its values 3633 be reported as '0000000000000000'H." 3635 OBJECT traceRouteProbeHistoryHAddrType 3636 SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) } 3637 DESCRIPTION 3638 "An implementation should only support IPv4 and 3639 globally unique IPv6 address values for this object." 3641 OBJECT traceRouteProbeHistoryHAddr 3642 SYNTAX InetAddress (SIZE(0|4|16)) 3643 DESCRIPTION 3644 "An implementation should only support IPv4 and 3645 globally unique IPv6 address values for this object." 3647 OBJECT traceRouteProbeHistoryTime 3648 DESCRIPTION 3649 "If the traceRouteHistoryGroup is implemented, then 3650 this object is mandatory for implementations that have 3651 access to a system clock and are capable of setting 3652 the values for DateAndTime objects. It is RECOMMENDED 3653 that when this object is not supported that its values 3654 be reported as '0000000000000000'H." 3656 OBJECT traceRouteHopsIpTgtAddressType 3657 SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) } 3658 DESCRIPTION 3659 "An implementation should only support IPv4 and 3660 globally unique IPv6 address values for this object." 3662 OBJECT traceRouteHopsIpTgtAddress 3663 SYNTAX InetAddress (SIZE(0|4|16)) 3664 DESCRIPTION 3665 "An implementation should only support IPv4 and 3666 globally unique IPv6 address values for this object." 3668 OBJECT traceRouteHopsLastGoodProbe 3669 DESCRIPTION 3670 "If the traceRouteHopsTableGroup is implemented, then 3671 this object is mandatory for implementations that have 3672 access to a system clock and are capable of setting 3673 the values for DateAndTime objects. It is RECOMMENDED 3674 that when this object is not supported that its values 3675 be reported as '0000000000000000'H." 3677 ::= { traceRouteCompliances 3 } 3679 traceRouteCompliance MODULE-COMPLIANCE 3680 STATUS deprecated 3681 DESCRIPTION 3682 "The compliance statement for the DISMAN-TRACEROUTE-MIB. 3683 This compliance statement has been deprecated because 3684 the traceRouteGroup and the traceRouteTimeStampGroup 3685 have been split and deprecated. The 3686 traceRouteFullCompliance is semantically identical to the 3687 deprecated traceRouteCompliance statement." 3688 MODULE -- this module 3689 MANDATORY-GROUPS { 3690 traceRouteGroup 3691 } 3692 GROUP traceRouteTimeStampGroup 3693 DESCRIPTION 3694 "This group is mandatory for implementations that have 3695 access to a system clock and are capable of setting 3696 the values for DateAndTime objects." 3698 GROUP traceRouteNotificationsGroup 3699 DESCRIPTION 3700 "This group defines a collection of optional 3701 notifications." 3703 GROUP traceRouteHopsTableGroup 3704 DESCRIPTION 3705 "This group lists the objects that make up a 3706 traceRouteHopsEntry. Support of the traceRouteHopsTable 3707 is optional." 3709 OBJECT traceRouteMaxConcurrentRequests 3710 MIN-ACCESS read-only 3711 DESCRIPTION 3712 "The agent is not required to support SET 3713 operations to this object." 3715 OBJECT traceRouteCtlByPassRouteTable 3716 MIN-ACCESS read-only 3717 DESCRIPTION 3718 "This object is not required by implementations that 3719 are not capable of its implementation. The function 3720 represented by this object is implementable if the 3721 setsockopt SOL_SOCKET SO_DONTROUTE option is 3722 supported." 3724 OBJECT traceRouteCtlSourceAddressType 3725 SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) } 3726 MIN-ACCESS read-only 3727 DESCRIPTION 3728 "This object is not required by implementations that 3729 are not capable of binding the send socket with a 3730 source address. An implementation is only required to 3731 support IPv4 and IPv6 addresses." 3733 OBJECT traceRouteCtlSourceAddress 3734 SYNTAX InetAddress (SIZE(0|4|16)) 3735 MIN-ACCESS read-only 3736 DESCRIPTION 3737 "This object is not required by implementations that 3738 are not capable of binding the send socket with a 3739 source address. An implementation is only required to 3740 support IPv4 and globally unique IPv6 addresses." 3742 OBJECT traceRouteCtlIfIndex 3743 MIN-ACCESS read-only 3744 DESCRIPTION 3745 "Write access is not required. When write access is 3746 not supported return a 0 as the value of this object. 3747 A value of 0 implies that the function represented by 3748 this option is not supported." 3750 OBJECT traceRouteCtlMiscOptions 3751 MIN-ACCESS read-only 3752 DESCRIPTION 3753 "Support of this object is optional. When not 3754 supporting do not allow write access and return a 3755 zero length octet string as the value of the object." 3757 OBJECT traceRouteCtlStorageType 3758 MIN-ACCESS read-only 3759 DESCRIPTION 3760 "Write access is not required. It is also allowed 3761 for implementations to support only the volatile 3762 StorageType enumeration." 3764 OBJECT traceRouteCtlDSField 3765 MIN-ACCESS read-only 3766 DESCRIPTION 3767 "Write access is not required. When write access is 3768 not supported return a 0 as the value of this object. 3769 A value of 0 implies that the function represented by 3770 this option is not supported." 3772 OBJECT traceRouteCtlType 3773 MIN-ACCESS read-only 3774 DESCRIPTION 3775 "Write access is not required. In addition, the only 3776 value that is RECOMMENDED to be supported by an 3777 implementation is traceRouteUsingUdpProbes." 3779 OBJECT traceRouteResultsIpTgtAddrType 3780 SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) } 3781 DESCRIPTION 3782 "An implementation should only support IPv4 and 3783 globally unique IPv6 address values for this object." 3785 OBJECT traceRouteResultsIpTgtAddr 3786 SYNTAX InetAddress (SIZE(0|4|16)) 3787 DESCRIPTION 3788 "An implementation should only support IPv4 and 3789 globally unique IPv6 address values for this object." 3791 OBJECT traceRouteProbeHistoryHAddrType 3792 SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) } 3793 DESCRIPTION 3794 "An implementation should only support IPv4 and 3795 globally unique IPv6 address values for this object." 3796 OBJECT traceRouteProbeHistoryHAddr 3797 SYNTAX InetAddress (SIZE(0|4|16)) 3798 DESCRIPTION 3799 "An implementation should only support IPv4 and 3800 globally unique IPv6 address values for this object." 3802 OBJECT traceRouteHopsIpTgtAddressType 3803 SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) } 3804 DESCRIPTION 3805 "An implementation should only support IPv4 and 3806 globally unique IPv6 address values for this object." 3808 OBJECT traceRouteHopsIpTgtAddress 3809 SYNTAX InetAddress (SIZE(0|4|16)) 3810 DESCRIPTION 3811 "An implementation should only support IPv4 and 3812 globally unique IPv6 address values for this object." 3813 ::= { traceRouteCompliances 1 } 3815 -- MIB groupings 3817 traceRouteMinimumGroup OBJECT-GROUP 3818 OBJECTS { 3819 traceRouteMaxConcurrentRequests, 3820 traceRouteCtlTargetAddressType, 3821 traceRouteCtlTargetAddress, 3822 traceRouteCtlByPassRouteTable, 3823 traceRouteCtlDataSize, 3824 traceRouteCtlTimeOut, 3825 traceRouteCtlProbesPerHop, 3826 traceRouteCtlPort, 3827 traceRouteCtlMaxTtl, 3828 traceRouteCtlDSField, 3829 traceRouteCtlSourceAddressType, 3830 traceRouteCtlSourceAddress, 3831 traceRouteCtlIfIndex, 3832 traceRouteCtlMiscOptions, 3833 traceRouteCtlMaxFailures, 3834 traceRouteCtlDontFragment, 3835 traceRouteCtlInitialTtl, 3836 traceRouteCtlFrequency, 3837 traceRouteCtlStorageType, 3838 traceRouteCtlAdminStatus, 3839 traceRouteCtlMaxRows, 3840 traceRouteCtlTrapGeneration, 3841 traceRouteCtlDescr, 3842 traceRouteCtlCreateHopsEntries, 3843 traceRouteCtlType, 3844 traceRouteResultsOperStatus, 3845 traceRouteResultsCurHopCount, 3846 traceRouteResultsCurProbeCount, 3847 traceRouteResultsIpTgtAddrType, 3848 traceRouteResultsIpTgtAddr, 3849 traceRouteResultsTestAttempts, 3850 traceRouteResultsTestSuccesses, 3851 traceRouteResultsLastGoodPath 3852 } 3853 STATUS current 3854 DESCRIPTION 3855 "The group of objects that comprise the remote traceroute 3856 operation." 3857 ::= { traceRouteGroups 5 } 3859 traceRouteCtlRowStatusGroup OBJECT-GROUP 3860 OBJECTS { 3861 traceRouteCtlRowStatus 3862 } 3863 STATUS current 3864 DESCRIPTION 3865 "The RowStatus object of the traceRouteCtlTable." 3866 ::= { traceRouteGroups 6 } 3868 traceRouteHistoryGroup OBJECT-GROUP 3869 OBJECTS { 3870 traceRouteProbeHistoryHAddrType, 3871 traceRouteProbeHistoryHAddr, 3872 traceRouteProbeHistoryResponse, 3873 traceRouteProbeHistoryStatus, 3874 traceRouteProbeHistoryLastRC, 3875 traceRouteProbeHistoryTime 3876 } 3878 STATUS current 3879 DESCRIPTION 3880 "The group of objects that comprise the history 3881 capability." 3882 ::= { traceRouteGroups 7 } 3884 traceRouteNotificationsGroup NOTIFICATION-GROUP 3885 NOTIFICATIONS { 3886 traceRoutePathChange, 3887 traceRouteTestFailed, 3888 traceRouteTestCompleted 3889 } 3890 STATUS current 3891 DESCRIPTION 3892 "The notifications which are required to be supported by 3893 implementations of this MIB." 3894 ::= { traceRouteGroups 3 } 3896 traceRouteHopsTableGroup OBJECT-GROUP 3897 OBJECTS { 3898 traceRouteHopsIpTgtAddressType, 3899 traceRouteHopsIpTgtAddress, 3900 traceRouteHopsMinRtt, 3901 traceRouteHopsMaxRtt, 3902 traceRouteHopsAverageRtt, 3903 traceRouteHopsRttSumOfSquares, 3904 traceRouteHopsSentProbes, 3905 traceRouteHopsProbeResponses, 3906 traceRouteHopsLastGoodProbe 3907 } 3908 STATUS current 3909 DESCRIPTION 3910 "The group of objects that comprise the traceRouteHopsTable." 3911 ::= { traceRouteGroups 4 } 3913 traceRouteGroup OBJECT-GROUP 3914 OBJECTS { 3915 traceRouteMaxConcurrentRequests, 3916 traceRouteCtlTargetAddressType, 3917 traceRouteCtlTargetAddress, 3918 traceRouteCtlByPassRouteTable, 3919 traceRouteCtlDataSize, 3920 traceRouteCtlTimeOut, 3921 traceRouteCtlProbesPerHop, 3922 traceRouteCtlPort, 3923 traceRouteCtlMaxTtl, 3924 traceRouteCtlDSField, 3925 traceRouteCtlSourceAddressType, 3926 traceRouteCtlSourceAddress, 3927 traceRouteCtlIfIndex, 3928 traceRouteCtlMiscOptions, 3929 traceRouteCtlMaxFailures, 3930 traceRouteCtlDontFragment, 3931 traceRouteCtlInitialTtl, 3932 traceRouteCtlFrequency, 3933 traceRouteCtlStorageType, 3934 traceRouteCtlAdminStatus, 3935 traceRouteCtlMaxRows, 3936 traceRouteCtlTrapGeneration, 3937 traceRouteCtlDescr, 3938 traceRouteCtlCreateHopsEntries, 3939 traceRouteCtlType, 3940 traceRouteCtlRowStatus, 3941 traceRouteResultsOperStatus, 3942 traceRouteResultsCurHopCount, 3943 traceRouteResultsCurProbeCount, 3944 traceRouteResultsIpTgtAddrType, 3945 traceRouteResultsIpTgtAddr, 3946 traceRouteResultsTestAttempts, 3947 traceRouteResultsTestSuccesses, 3948 traceRouteProbeHistoryHAddrType, 3949 traceRouteProbeHistoryHAddr, 3950 traceRouteProbeHistoryResponse, 3951 traceRouteProbeHistoryStatus, 3952 traceRouteProbeHistoryLastRC 3953 } 3954 STATUS deprecated 3955 DESCRIPTION 3956 "The group of objects that comprise the remote traceroute 3957 operation." 3958 ::= { traceRouteGroups 1 } 3960 traceRouteTimeStampGroup OBJECT-GROUP 3961 OBJECTS { 3962 traceRouteResultsLastGoodPath, 3963 traceRouteProbeHistoryTime 3964 } 3965 STATUS deprecated 3966 DESCRIPTION 3967 "The group of DateAndTime objects." 3968 ::= { traceRouteGroups 2 } 3970 END 3972 4.3. DISMAN-NSLOOKUP-MIB 3974 DISMAN-NSLOOKUP-MIB DEFINITIONS ::= BEGIN 3976 IMPORTS 3977 MODULE-IDENTITY, OBJECT-TYPE, 3978 Unsigned32, mib-2, Integer32 3979 FROM SNMPv2-SMI -- RFC2578 3980 RowStatus 3981 FROM SNMPv2-TC -- RFC2579 3982 MODULE-COMPLIANCE, OBJECT-GROUP 3983 FROM SNMPv2-CONF -- RFC2580 3984 SnmpAdminString 3985 FROM SNMP-FRAMEWORK-MIB -- RFC3411 3986 InetAddressType, InetAddress 3987 FROM INET-ADDRESS-MIB; -- RFC4001 3989 lookupMIB MODULE-IDENTITY 3990 LAST-UPDATED "200602141414Z" -- 14 February 2006 3991 ORGANIZATION "IETF Distributed Management Working Group" 3992 CONTACT-INFO 3993 "Juergen Quittek 3995 NEC Europe Ltd. 3996 Network Laboratories 3997 Kurfuersten-Anlage 36 3998 69115 Heidelberg 3999 Germany 4001 Phone: +49 6221 90511-15 4002 Email: quittek@ccrle.nec.de" 4003 DESCRIPTION 4004 "The Lookup MIB (DISMAN-NSLOOKUP-MIB) enables determination 4005 of either the name(s) corresponding to a host address or of 4006 the address(es) associated with a host name at a remote 4007 host. 4009 Copyright (C) The Internet Society (2006). This version of 4010 this MIB module is part of RFC XXXX; see the RFC itself for 4011 full legal notices." 4013 -- Revision history 4015 REVISION "200602141414Z" -- 14 February 2006 4016 DESCRIPTION 4017 "Updated version, published as RFC XXXX. 4018 - replaced references to RFC 2575 by RFC 3415 4019 - replaced references to RFC 2571 by RFC 3411 4020 - replaced references to RFC 2851 by RFC 4001 4021 - added value enabled(1) to SYNTAX clause of 4022 lookupCtlOperStatus 4023 - added lookupMinimumCompliance 4024 - defined semantics of value 0 for object 4025 lookupPurgeTime 4026 - added DEFVAL { unknown } to object 4027 lookupCtlTargetAddressType OBJECT-TYPE" 4029 REVISION "200009210000Z" -- 21 September 2000 4030 DESCRIPTION 4031 "Initial version, published as RFC 2925." 4033 ::= { mib-2 82 } 4035 -- Top level structure of the MIB 4037 lookupObjects OBJECT IDENTIFIER ::= { lookupMIB 1 } 4038 lookupConformance OBJECT IDENTIFIER ::= { lookupMIB 2 } 4040 -- Simple Object Definitions 4042 lookupMaxConcurrentRequests OBJECT-TYPE 4043 SYNTAX Unsigned32 4044 UNITS "requests" 4045 MAX-ACCESS read-write 4046 STATUS current 4047 DESCRIPTION 4048 "The maximum number of concurrent active lookup requests 4049 that are allowed within an agent implementation. A value 4050 of 0 for this object implies that there is no limit for 4051 the number of concurrent active requests in effect. 4053 The limit applies only to new requests being activated. 4054 When a new value is set, the agent will continue processing 4055 all the requests already active, even if their number 4056 exceed the limit just imposed." 4057 DEFVAL { 10 } 4058 ::= { lookupObjects 1 } 4060 lookupPurgeTime OBJECT-TYPE 4061 SYNTAX Unsigned32 (0..86400) 4062 UNITS "seconds" 4063 MAX-ACCESS read-write 4064 STATUS current 4065 DESCRIPTION 4066 "The amount of time to wait before automatically 4067 deleting an entry in the lookupCtlTable and any 4068 dependent lookupResultsTable entries 4069 after the lookup operation represented by an 4070 lookupCtlEntry has completed. 4072 An lookupCtEntry is considered complete 4073 when its lookupCtlOperStatus object has a 4074 value of completed(3). 4076 A value of 0 indicates that automatic deletion 4077 of entries is disabled." 4078 DEFVAL { 900 } -- 15 minutes as default 4079 ::= { lookupObjects 2 } 4081 -- Lookup Control Table 4083 lookupCtlTable OBJECT-TYPE 4084 SYNTAX SEQUENCE OF LookupCtlEntry 4085 MAX-ACCESS not-accessible 4086 STATUS current 4087 DESCRIPTION 4088 "Defines the Lookup Control Table for providing 4089 the capability of performing a lookup operation 4090 for a symbolic host name or for a host address 4091 from a remote host." 4092 ::= { lookupObjects 3 } 4094 lookupCtlEntry OBJECT-TYPE 4095 SYNTAX LookupCtlEntry 4096 MAX-ACCESS not-accessible 4097 STATUS current 4098 DESCRIPTION 4099 "Defines an entry in the lookupCtlTable. A 4100 lookupCtlEntry is initially indexed by 4101 lookupCtlOwnerIndex, which is of type SnmpAdminString, 4102 a textual convention that allows for use of the SNMPv3 4103 View-Based Access Control Model (RFC 3415, VACM) 4104 and also allows an management application to identify 4105 its entries. The second index element, 4106 lookupCtlOperationName, enables the same 4107 lookupCtlOwnerIndex entity to have multiple outstanding 4108 requests. The value of lookupCtlTargetAddressType 4109 determines which lookup function to perform." 4110 INDEX { 4111 lookupCtlOwnerIndex, 4112 lookupCtlOperationName 4113 } 4114 ::= { lookupCtlTable 1 } 4116 LookupCtlEntry ::= 4117 SEQUENCE { 4118 lookupCtlOwnerIndex SnmpAdminString, 4119 lookupCtlOperationName SnmpAdminString, 4120 lookupCtlTargetAddressType InetAddressType, 4121 lookupCtlTargetAddress InetAddress, 4122 lookupCtlOperStatus INTEGER, 4123 lookupCtlTime Unsigned32, 4124 lookupCtlRc Integer32, 4125 lookupCtlRowStatus RowStatus 4126 } 4128 lookupCtlOwnerIndex OBJECT-TYPE 4129 SYNTAX SnmpAdminString (SIZE(0..32)) 4130 MAX-ACCESS not-accessible 4131 STATUS current 4132 DESCRIPTION 4133 "To facilitate the provisioning of access control by a 4134 security administrator using the View-Based Access 4135 Control Model (RFC 2575, VACM) for tables in which 4136 multiple users may need to independently create or 4137 modify entries, the initial index is used as an 'owner 4138 index'. Such an initial index has a syntax of 4139 SnmpAdminString, and can thus be trivially mapped to a 4140 securityName or groupName as defined in VACM, in 4141 accordance with a security policy. 4143 When used in conjunction with such a security policy all 4144 entries in the table belonging to a particular user (or 4145 group) will have the same value for this initial index. 4146 For a given user's entries in a particular table, the 4147 object identifiers for the information in these entries 4148 will have the same subidentifiers (except for the 4149 'column' subidentifier) up to the end of the encoded 4150 owner index. To configure VACM to permit access to this 4151 portion of the table, one would create 4152 vacmViewTreeFamilyTable entries with the value of 4153 vacmViewTreeFamilySubtree including the owner index 4154 portion, and vacmViewTreeFamilyMask 'wildcarding' the 4155 column subidentifier. More elaborate configurations 4156 are possible." 4157 ::= { lookupCtlEntry 1 } 4159 lookupCtlOperationName OBJECT-TYPE 4160 SYNTAX SnmpAdminString (SIZE(0..32)) 4161 MAX-ACCESS not-accessible 4162 STATUS current 4163 DESCRIPTION 4164 "The name of a lookup operation. This is locally unique, 4165 within the scope of an lookupCtlOwnerIndex." 4166 ::= { lookupCtlEntry 2 } 4168 lookupCtlTargetAddressType OBJECT-TYPE 4169 SYNTAX InetAddressType 4170 MAX-ACCESS read-create 4171 STATUS current 4172 DESCRIPTION 4173 "Specifies the type of address for either performing a 4174 a lookup operation for a symbolic host name or for a host 4175 address from a remote host. 4177 Specification of dns(16) as the value for this object 4178 means that ia function such as, for example, getaddrinfo() 4179 or gethostbyname() should be performed to return one or 4180 more numeric addresses. Use of a value of either ipv4(1) 4181 or ipv6(2) means that a functions such as, for example 4182 getnameinfo() or gethostbyaddr() should be used to return 4183 the symbolic names associated with a host." 4184 DEFVAL { unknown } 4185 ::= { lookupCtlEntry 3 } 4187 lookupCtlTargetAddress OBJECT-TYPE 4188 SYNTAX InetAddress 4189 MAX-ACCESS read-create 4190 STATUS current 4191 DESCRIPTION 4192 "Specifies the address used for a resolver lookup at a 4193 remote host. The corresponding lookupCtlTargetAddressType 4194 objects determines its type as well as the function 4195 that can be requested. 4197 A value for this object MUST be set prior to 4198 transitioning its corresponding lookupCtlEntry to 4199 active(1) via lookupCtlRowStatus." 4200 ::= { lookupCtlEntry 4 } 4202 lookupCtlOperStatus OBJECT-TYPE 4203 SYNTAX INTEGER { 4204 enabled(1), -- operation is active 4205 notStarted(2), -- operation has not started 4206 completed(3) -- operation is done 4207 } 4208 MAX-ACCESS read-only 4209 STATUS current 4210 DESCRIPTION 4211 "Reflects the operational state of an lookupCtlEntry: 4213 enabled(1) - Operation is active. 4214 notStarted(2) - Operation has not been enabled. 4215 completed(3) - Operation has completed. 4217 An operation is automatically enabled(1) when its 4218 lookupCtlRowStatus object is transitioned to active(1) 4219 status. Until this occurs lookupCtlOperStatus MUST 4220 report a value of notStarted(2). After the lookup 4221 operation completes (success or failure) the value 4222 for lookupCtlOperStatus MUST be transitioned to 4223 completed(3)." 4224 ::= { lookupCtlEntry 5 } 4226 lookupCtlTime OBJECT-TYPE 4227 SYNTAX Unsigned32 4228 UNITS "milliseconds" 4229 MAX-ACCESS read-only 4230 STATUS current 4231 DESCRIPTION 4232 "Reports the number of milliseconds that a lookup 4233 operation required to be completed at a remote host. 4234 Completed means operation failure as well as 4235 success." 4236 ::= { lookupCtlEntry 6 } 4238 lookupCtlRc OBJECT-TYPE 4239 SYNTAX Integer32 4240 MAX-ACCESS read-only 4241 STATUS current 4242 DESCRIPTION 4243 "The system-specific return code from a lookup 4244 operation. All implementations MUST return a value 4245 of 0 for this object when the remote lookup 4246 operation succeeds. A non-zero value for this 4247 objects indicates failure. It is recommended that 4248 implementations return the error codes that are 4249 generated by lookup function used." 4250 ::= { lookupCtlEntry 7 } 4252 lookupCtlRowStatus OBJECT-TYPE 4253 SYNTAX RowStatus 4254 MAX-ACCESS read-create 4255 STATUS current 4256 DESCRIPTION 4257 "This object allows entries to be created and deleted 4258 in the lookupCtlTable. 4260 A remote lookup operation is started when an 4261 entry in this table is created via an SNMP set 4262 request and the entry is activated. This 4263 occurs by setting the value of this object 4264 to CreateAndGo(4) during row creation or 4265 by setting this object to active(1) after 4266 the row is created. 4268 A value MUST be specified for lookupCtlTargetAddress 4269 prior to a transition to active(1) state being 4270 accepted. 4272 A remote lookup operation starts when its entry 4273 first becomes active(1). Transitions in and 4274 out of active(1) state have no effect on the 4275 operational behavior of a remote lookup 4276 operation, with the exception that deletion of 4277 an entry in this table by setting its RowStatus 4278 object to destroy(6) will stop an active 4279 remote lookup operation. 4281 The operational state of a remote lookup operation 4282 can be determined by examination of its 4283 lookupCtlOperStatus object." 4284 REFERENCE 4285 "See definition of RowStatus in RFC 2579, 4286 'Textual Conventions for SMIv2.'" 4287 ::= { lookupCtlEntry 8 } 4289 -- Lookup Results Table 4291 lookupResultsTable OBJECT-TYPE 4292 SYNTAX SEQUENCE OF LookupResultsEntry 4293 MAX-ACCESS not-accessible 4294 STATUS current 4295 DESCRIPTION 4296 "Defines the Lookup Results Table for providing 4297 the capability of determining the results of a 4298 operation at a remote host. 4300 One or more entries are added to the 4301 lookupResultsTable when a lookup operation, 4302 as reflected by an lookupCtlEntry, completes 4303 successfully. All entries related to a 4304 successful lookup operation MUST be added 4305 to the lookupResultsTable at the same time 4306 that the associating lookupCtlOperStatus 4307 object is transitioned to completed(2). 4309 The number of entries added depends on the 4310 results determined for a particular lookup 4311 operation. All entries associated with an 4312 lookupCtlEntry are removed when the 4313 lookupCtlEntry is deleted. 4315 A remote host can be multi-homed and have more than one IP 4316 address associated with it (returned by lookup function) 4317 and/or it can have more than one symbolic name (returned 4318 by lookup function). 4320 A function such as, for example, getnameinfo() or 4321 gethostbyaddr() is called with a host address as its 4322 parameter and is used primarily to determine a symbolic 4323 name to associate with the host address. Entries in the 4324 lookupResultsTable MUST be made for each host name 4325 returned. If the function identifies an 'official host 4326 name' then this symbolic name MUST be assigned a 4327 lookupResultsIndex of 1. 4329 A function such as, for example, getaddrinfo() or 4330 gethostbyname() is called with a symbolic host name and is 4331 used primarily to retrieve a host address. The entries 4332 MUST be stored in the order that they are retrieved from 4333 the lookup function. lookupResultsIndex 1 MUST be 4334 assigned to the first entry." 4335 ::= { lookupObjects 4 } 4337 lookupResultsEntry OBJECT-TYPE 4338 SYNTAX LookupResultsEntry 4339 MAX-ACCESS not-accessible 4340 STATUS current 4341 DESCRIPTION 4342 "Defines an entry in the lookupResultsTable. The 4343 first two index elements identify the 4344 lookupCtlEntry that a lookupResultsEntry belongs 4345 to. The third index element selects a single 4346 lookup operation result." 4347 INDEX { 4348 lookupCtlOwnerIndex, 4349 lookupCtlOperationName, 4350 lookupResultsIndex 4351 } 4352 ::= { lookupResultsTable 1 } 4354 LookupResultsEntry ::= 4355 SEQUENCE { 4356 lookupResultsIndex Unsigned32, 4357 lookupResultsAddressType InetAddressType, 4358 lookupResultsAddress InetAddress 4359 } 4361 lookupResultsIndex OBJECT-TYPE 4362 SYNTAX Unsigned32 (1..'ffffffff'h) 4363 MAX-ACCESS not-accessible 4364 STATUS current 4365 DESCRIPTION 4366 "Entries in the lookupResultsTable are created when 4367 the result of a lookup operation is determined. 4369 Entries MUST be stored in the lookupResultsTable in 4370 the order that they are retrieved. Values assigned 4371 to lookupResultsIndex MUST start at 1 and increase 4372 consecutively." 4373 ::= { lookupResultsEntry 1 } 4375 lookupResultsAddressType OBJECT-TYPE 4376 SYNTAX InetAddressType 4377 MAX-ACCESS read-only 4378 STATUS current 4379 DESCRIPTION 4380 "Indicates the type of result of a remote lookup 4381 operation. A value of unknown(0) implies that 4382 either the operation hasn't been started or that 4383 it has failed." 4384 ::= { lookupResultsEntry 2 } 4386 lookupResultsAddress OBJECT-TYPE 4387 SYNTAX InetAddress 4388 MAX-ACCESS read-only 4389 STATUS current 4390 DESCRIPTION 4391 "Reflects a result for a remote lookup operation 4392 as per the value of lookupResultsAddressType. 4394 The address type (InetAddressType) that relates to 4395 this object is specified by the corresponding value 4396 of lookupResultsAddress." 4398 ::= { lookupResultsEntry 3 } 4400 -- Conformance information 4401 -- Compliance statements 4403 lookupCompliances OBJECT IDENTIFIER ::= { lookupConformance 1 } 4404 lookupGroups OBJECT IDENTIFIER ::= { lookupConformance 2 } 4406 -- Compliance statements 4408 lookupCompliance MODULE-COMPLIANCE 4409 STATUS current 4410 DESCRIPTION 4411 "The compliance statement for SNMP entities which 4412 fully implement the DISMAN-NSLOOKUP-MIB." 4413 MODULE -- this module 4414 MANDATORY-GROUPS { lookupGroup } 4416 OBJECT lookupMaxConcurrentRequests 4417 MIN-ACCESS read-only 4418 DESCRIPTION 4419 "The agent is not required to support set 4420 operations to this object." 4422 OBJECT lookupPurgeTime 4423 MIN-ACCESS read-only 4424 DESCRIPTION 4425 "The agent is not required to support a set 4426 operation to this object." 4427 ::= { lookupCompliances 1 } 4429 lookupMinimumCompliance MODULE-COMPLIANCE 4430 STATUS current 4431 DESCRIPTION 4432 "The minimum compliance statement for SNMP entities 4433 which implement the minimal subset of the 4434 DISMAN-NSLOOKUP-MIB. Implementors might choose this 4435 subset for small devices with limited resources." 4436 MODULE -- this module 4437 MANDATORY-GROUPS { lookupGroup } 4439 OBJECT lookupMaxConcurrentRequests 4440 MIN-ACCESS read-only 4441 DESCRIPTION 4442 "The agent is not required to support set 4443 operations to this object." 4445 OBJECT lookupPurgeTime 4446 MIN-ACCESS read-only 4447 DESCRIPTION 4448 "The agent is not required to support a set 4449 operation to this object." 4451 OBJECT lookupCtlRowStatus 4452 MIN-ACCESS read-only 4453 DESCRIPTION 4454 "Write access is not required. If write access is 4455 not supported then at least one entry in the 4456 lookupCtlTable MUST be established already when the SNMP 4457 agent starts offering access to the NSLOOKUP-MIB module. 4458 If in such a case only a single entry is offered, then 4459 it is RECOMMENDED that this entry uses strings with a 4460 length of 0 for both of its two index objects." 4461 ::= { lookupCompliances 2 } 4463 -- MIB groupings 4465 lookupGroup OBJECT-GROUP 4466 OBJECTS { 4467 lookupMaxConcurrentRequests, 4468 lookupPurgeTime, 4469 lookupCtlOperStatus, 4470 lookupCtlTargetAddressType, 4471 lookupCtlTargetAddress, 4472 lookupCtlTime, 4473 lookupCtlRc, 4474 lookupCtlRowStatus, 4475 lookupResultsAddressType, 4476 lookupResultsAddress 4477 } 4478 STATUS current 4479 DESCRIPTION 4480 "The group of objects that comprise the remote 4481 Lookup operation." 4482 ::= { lookupGroups 1 } 4484 END 4486 5. Security Considerations 4488 There are a number of management objects defined in the three MIB 4489 modules with a MAX-ACCESS clause of read-write and/or read-create. 4490 Such objects may be considered sensitive or vulnerable in some 4491 network environments. The support for SET operations in a non-secure 4492 environment without proper protection can have a negative effect on 4493 network operations. These are the tables and objects and their 4494 sensitivity/vulnerability: 4496 o pingMaxConcurrentRequests 4497 o traceRouteMaxConcurrentRequests 4498 o lookupMaxConcurrentRequests 4499 The MIB modules limit their maximum numbers of concurrent requests 4500 by the values of these objects. Unauthorized access to them may 4501 lead to an overload of the managed node and to a disruption of 4502 other functions of the managed node. 4504 o pingCtlTable 4505 o traceRouteCtlTable 4506 o lookupCtlTable 4507 All objects in entries of these tables (except index objects) have 4508 a MAX-ACCESS clause of read-create. Unauthorized access to these 4509 objects can disturb the measurements controlled by the tables. 4510 Also, the functions offered by the MIB modules can be misused for 4511 illegal data retrieval and for attacking other systems by floods 4512 of ping probes, traceorute probes or lookup requests, 4513 respectively. 4515 In general, all three, the ping, traceroute and lookup functions, 4516 when used excessively are considered a form of system attack. In the 4517 case of ping sending a system requests too often can negatively 4518 effect its performance or attempting to connect to what is supposed 4519 to be an unused port can be very unpredictable. Excessive use of the 4520 traceroute capability can like ping negatively affect system 4521 performance. The same applies to excessive use of the lookup 4522 service, particularly, if the lookup cannot be resolved locally. In 4523 insecure environments it is RECOMMENDED that the MIBs defined within 4524 this memo not be supported. 4526 o lookupPurgeTime 4527 Unauthorized access to this object can lead to results of lookup 4528 operations being deleted before they are read by a management 4529 system, if the object is set to 0 or small values close to 0. If 4530 otherwise, the object is set to very high values, unauthorized 4531 access can lead to a high consumption of resources for storing 4532 lookup results. 4534 Some of the readable objects in this MIB module (i.e., objects with a 4535 MAX-ACCESS other than not-accessible) may be considered sensitive or 4536 vulnerable in some network environments. It is thus important to 4537 control even GET and/or NOTIFY access to these objects and possibly 4538 to even encrypt the values of these objects when sending them over 4539 the network via SNMP. However, the only information that can be 4540 disclosed without encryption is the configuration and results of 4541 measurements that are performed by implementations of the MIB 4542 modules. 4544 To facilitate the provisioning of access control by a security 4545 administrator using the View-Based Access Control Model (VACM) 4546 defined in RFC 3415 [RFC3415] for tables in which multiple users may 4547 need to independently create or modify entries, the initial index is 4548 used as an "owner index". Such an initial index has a syntax of 4549 SnmpAdminString, and can thus be trivially mapped to a securityName 4550 or groupName as defined in VACM, in accordance with a security 4551 policy. 4553 All entries in related tables belonging to a particular user will 4554 have the same value for this initial index. For a given user's 4555 entries in a particular table, the object identifiers for the 4556 information in these entries will have the same subidentifiers 4557 (except for the "column" subidentifier) up to the end of the encoded 4558 owner index. To configure VACM to permit access to this portion of 4559 the table, one would create vacmViewTreeFamilyTable entries with the 4560 value of vacmViewTreeFamilySubtree including the owner index portion, 4561 and vacmViewTreeFamilyMask "wildcarding" the column subidentifier. 4562 More elaborate configurations are possible. The VACM access control 4563 mechanism described above provides control. 4565 SNMP versions prior to SNMPv3 did not include adequate security. 4566 Even if the network itself is secure (for example by using IPSec), 4567 even then, there is no control as to who on the secure network is 4568 allowed to access and GET/SET (read/change/create/delete) the objects 4569 in this MIB module. 4571 It is RECOMMENDED that implementers consider the security features as 4572 provided by the SNMPv3 framework (see [RFC3410], section 8), 4573 including full support for the SNMPv3 cryptographic mechanisms (for 4574 authentication and privacy). 4576 Further, deployment of SNMP versions prior to SNMPv3 is NOT 4577 RECOMMENDED. Instead, it is RECOMMENDED to deploy SNMPv3 and to 4578 enable cryptographic security. It is then a customer/operator 4579 responsibility to ensure that the SNMP entity giving access to an 4580 instance of this MIB module is properly configured to give access to 4581 the objects only to those principals (users) that have legitimate 4582 rights to indeed GET or SET (change/create/delete) them. 4584 6. IANA Considerations 4586 This document has no actions for IANA. Object identifiers for the 4587 contained MIB modules were already allocated when RFC 2925 was 4588 published. 4590 7. Acknowledgments 4592 This document is a product of the DISMAN Working Group. Thanks to 4593 Eduardo Cardona for suggesting the minimum compliance statements and 4594 to Juergen Schoenwaelder for the very detailed and constructive MIB 4595 review. 4597 8. References 4599 8.1. Normative References 4601 [RFC2578] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., 4602 Rose, M. and S. Waldbusser, "Structure of Management 4603 Information Version 2 (SMIv2)", STD 58, RFC 2578, April 4604 1999. 4606 [RFC2579] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., 4607 Rose, M. and S. Waldbusser, "Textual Conventions for SMIv2", 4608 STD 58, RFC 2579, April 1999. 4610 [RFC2580] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., 4611 Rose, M. and S. Waldbusser, "Conformance Statements for 4612 SMIv2", STD 58, RFC 2580, April 1999. 4614 [RFC2863] McCloghrie, K. and F. Kastenholz, "The Interfaces Group 4615 MIB", RFC 2863, June 2000. 4617 [RFC3411] Harrington, D., Presuhn, R. and B. Wijnen, "An Architecture 4618 for Describing Simple Network Management Protocol (SNMP) 4619 Management Frameworks", STD 62, RFC 3411, December 2002. 4621 [RFC4001] Daniele, M., Haberman, B., Routhier, S. and J. Schoenwaelder 4622 "Textual Conventions for Internet Network Addresses", RFC 4623 4001, February 2005. 4625 8.2. Informative References 4627 [RFC792] J. Postel, "Internet Control Message Protocol", RFC 792, 4628 September 1981. 4630 [RFC862] J. Postel, "Echo Protocol", STD 20, RFC 862, May 1983. 4632 [RFC1812] F. Baker, "Requirements for IP Version 4 Routers", RFC 1812, 4633 June 1995. 4635 [RFC2119] S. Bradner, "Key words for use in RFCs to Indicate 4636 Requirement Levels", RFC 2119, March 1997. 4638 [RFC2474] Nichols, K., Blake, S., Baker, F. and D. Black, "Definition 4639 of the Differentiated Services Field (DS Field) in the IPv4 4640 and IPv6 Headers", RFC 2474, December 1998. 4642 [RFC3260] D. Grossman, "New Terminology and Clarifications for 4643 Diffserv", RFC 3260, April 2002. 4645 [RFC3410] Case, J., Mundy, R., Partain, D. and B. Stewart, 4646 "Introduction and Applicability Statements for Internet- 4647 Standard Management Framework", RFC 3410, December 2002. 4649 [RFC3415] Wijnen, B., Presuhn, R. and K. McCloghrie, "View-based 4650 Access Control Model (VACM) for the Simple Network 4651 Management Protocol (SNMP)", STD 62, RFC 3415, December 4652 2002. 4654 9. Authors' Addresses 4656 Kenneth D. White 4657 Dept. BRQA/Bldg. 501/G114 4658 IBM Corporation 4659 P.O.Box 12195 4660 3039 Cornwallis 4661 Research Triangle Park, NC 27709, USA 4663 EMail: wkenneth@us.ibm.com 4665 Juergen Quittek 4666 NEC Europe Ltd. 4667 Network Laboratories 4668 Kurfuersten-Anlage 36 4669 69115 Heidelberg 4670 Germany 4672 Phone: +49 6221 90511-15 4673 EMail: quittek@netlab.nec.de 4675 Intellectual Property Statement 4677 The IETF takes no position regarding the validity or scope of any 4678 Intellectual Property Rights or other rights that might be claimed to 4679 pertain to the implementation or use of the technology described in 4680 this document or the extent to which any license under such rights 4681 might or might not be available; nor does it represent that it has 4682 made any independent effort to identify any such rights. Information 4683 on the procedures with respect to rights in RFC documents can be 4684 found in BCP 78 and BCP 79. 4686 Copies of IPR disclosures made to the IETF Secretariat and any 4687 assurances of licenses to be made available, or the result of an 4688 attempt made to obtain a general license or permission for the use of 4689 such proprietary rights by implementers or users of this 4690 specification can be obtained from the IETF on-line IPR repository at 4691 http://www.ietf.org/ipr. 4693 The IETF invites any interested party to bring to its attention any 4694 copyrights, patents or patent applications, or other proprietary 4695 rights that may cover technology that may be required to implement 4696 this standard. Please address the information to the IETF at 4697 ietf-ipr@ietf.org. 4699 Disclaimer of Validity 4701 This document and the information contained herein are provided on an 4702 "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS 4703 OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET 4704 ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, 4705 INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE 4706 INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED 4707 WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 4709 Copyright Statement 4711 Copyright (C) The Internet Society (2006). This document is subject 4712 to the rights, licenses and restrictions contained in BCP 78, and 4713 except as set forth therein, the authors retain all their rights. 4715 Acknowledgment 4717 Funding for the RFC Editor function is currently provided by the 4718 Internet Society.