HOTWIRE-DIAGNOSTICS-MIB DEFINITIONS ::= BEGIN -- Version : 2.0 -- Created by : Prakash Easwar 11/15/96 -- Last Updated : 2/10/97 Prakash Easwar -- Last Updated : 2/12/98 Kevin Rise IMPORTS IpAddress FROM RFC1155-SMI OBJECT-TYPE FROM RFC-1212 TRAP-TYPE FROM RFC-1215 ifIndex, ifAdminStatus, ifOperStatus FROM RFC1213-MIB ent-8800 FROM PDN-HEADER-MIB; -- -- The HotWire Diagnostics MIB -- -- This MIB provides an NMS to trigger a diagnostic test -- The tests that can be performed are grouped into the following -- categories : -- 1. Device Tests ( Self, Test Reset ...) -- 2. interface related tests (bert test, packet loopback ...) -- 3. application based diagnostic tests (Ping, TraceRoute ...) -- -- Interface related tests (2) are an exception. An NMS will use -- the ifTestTable of RFC1573 to start these tests. However if any -- of the interface related tests need to have inputs. those tests -- will use the objects defined under the ifTestInput group. -- Hence in these cases implementation of the following groups -- are mandatory. -- ifDeviceInput -- ifDeviceResults - This group is mandatory if more specific -- information about the results is required -- (other than ifTestResult - RFC 1573,ifTestTable) -- to be sent back to an NMS. -- Hence in these cases it is left to the -- implementor of the device to put -- the OID of the object or results table -- containing such specifics to be put -- in ifTestCode (RFC 1573, ifTestTable). -- Note that the above mentioned groups compliment the ifTestTable -- of RFC 1573 -- -- if the device supports device tests (1), the devControl.mib needs -- to be implemented. In addition the following group needs to be -- implemented -- deviceTestInput -- deviceTestResults -- -- if the device supports application tests (1). implementation of the -- following groups are mandatory. -- applTestInput -- applTests -- applTestResults -- -- History -- 12/13/96 -- 1. Changed the descriptions if the following objects -- loopbackResultsPktErrorRate -- applTestStatusObject -- applMaxNumberOfTests -- applCurrentNumberOfTests -- loopbackInputNumCycles -- 2. Added an enum noop to the following object -- applClearAllTests -- 3. Removed the device tests group. (this has already been implemented -- in the devControl.mib) -- 4. Changed the "interesting variables" associated with the following -- traps -- diagTestStart -- diagTestStop -- 5. Added Two new objects to the appltestResults group -- applPingResultsStatus -- applTracerouteResultsStatus -- 12/17/96 -- 1. Changed the descriptions if the following objects -- loopbackInputNumCycles -- 2. Changed the OID of the enterprises field for the traps to ent-tonga -- 1/6/97 -- 1. Changed the description of the selfTestFailureTrap -- 1/7/97 -- 1. changed object names which have "tonga" in it to names -- which have "sys" in it. -- 1/8/97 -- 1. changed top level oid name "ent-tonga" to "ent-8500" -- 1/16/97 -- 1. added a new object deviceSwDwldResult -- this object is needed to support software download -- 2. changed the description of the following object -- deviceSelfTestResult -- 1/24/97 -- 1. added two new objects to provide input parameters before starting -- off a software download. -- devDwldFileName -- devDwldServerIpAddress -- 1/28/97 -- 1. changed top level oid name "ent-tonga" to "ent-8800" -- 2/10/97 -- 1. added new trap -- swDnldFailure -- 2. Added a new object -- deviceSwDnldInitiator -- 11/14/97 -- 1. Delete the selfTestFailureTrap and deviceFailure trap as they have moved to hot_sys.mib -- 2. changed the enterprise for traps from ent-8800 to diagTests -- 3. devDwldFileName type is DisplayString instead of INTEGER -- 11/26/97 -- 1. Changed names of following object and added explaination to reflect config download -- devDwldFileName to devCnfgDnldFileName -- devDwldServerIpAddress to devCnfgDnldServerIpAddress -- deviceSwDnldResult to devCnfgDnldResult -- deviceSwDnldInitiator to devCnfgDnldInitiator -- -- 2. Changed trap name "swDnldFailure" to "devCnfgDnldFailure" trap and updated explaination -- 12/4/97 -- 1. Updated description for devCnfgDnldServerIpAddress -- -- 2/8/98 -- 1. Added objects for Config upload: -- devCnfgUpldFileName - the filename to use for uploads -- devCnfgUpldServerIpAddress - the IP address, also the trigger -- devCnfgUpldResult - the results structure -- devCnfgUpldInitiator - the initiator -- -- 2. Added traps for config upload: -- devCnfgUpldSuccess - the upload succeeded -- devCnfgUpldFailure - the upload failed -- -- 2/12/98 -- 1. Updated text explanations for the config upload objects -- -- Textual Conventions DisplayString ::= OCTET STRING -- This data type is used to model textual information taken -- from the NVT ASCII character set. By convention, objects -- with this syntax are declared as having SIZE (0..255) --thenewpdn OBJECT IDENTIFIER ::= { enterprises 1795 } --thenewpdn-mgmt OBJECT IDENTIFIER ::= { thenewpdn 2 } --paradyne OBJECT IDENTIFIER ::= { thenewpdn-mgmt 24 } --pdn-xdsl OBJECT IDENTIFIER ::= { paradyne 9 } --ent-8800 OBJECT IDENTIFIER ::= { pdn-xdsl 3 } diagTests OBJECT IDENTIFIER ::= { ent-8800 4 } ifTestInput OBJECT IDENTIFIER ::= { diagTests 1 } applTestInput OBJECT IDENTIFIER ::= { diagTests 2 } deviceTestInput OBJECT IDENTIFIER ::= { diagTests 3 } applTests OBJECT IDENTIFIER ::= { diagTests 4 } ifTestResults OBJECT IDENTIFIER ::= { diagTests 5 } applTestResults OBJECT IDENTIFIER ::= { diagTests 6 } deviceTestResults OBJECT IDENTIFIER ::= { diagTests 7 } -- The ifTestInput group. Implementation of all objects in this group is -- is mandatory ifLoopbackTestInputTable OBJECT-TYPE SYNTAX SEQUENCE OF IfLoopbackTestInputEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "This Table contains input parameters for the loopback test" ::= { ifTestInput 1 } ifLoopbackTestInputEntry OBJECT-TYPE SYNTAX IfLoopbackTestInputEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "This object signifies an entry into the ifLoopbackTestTable. this table is indexed by ifIndex of ifTable of MIB-II" INDEX { loopbackInputIfIndex } ::= { ifLoopbackTestInputTable 1 } IfLoopbackTestInputEntry ::= SEQUENCE { loopbackInputIfIndex INTEGER, loopbackInputNumCycles INTEGER (1..65535) } loopbackInputIfIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "This object corresponds directly to the ifIndex found in the iftable of MIB-II." ::= { ifLoopbackTestInputEntry 1 } loopbackInputNumCycles OBJECT-TYPE SYNTAX INTEGER (1..65535) ACCESS read-write STATUS mandatory DESCRIPTION "This object corresponds the number of cycles the test is to be run for. One cycle corresponds to a 15 second interval. The default value for this object is 40." ::= { ifLoopbackTestInputEntry 2 } -- The applTestInput group. Implementation of all objects in this group is -- is mandatory applPingInputTable OBJECT-TYPE SYNTAX SEQUENCE OF ApplPingInputEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "This table contains contains objects which allow network managers to pass input parameters to the device for the ping test. This table is indexed by applNewTestId. Hence a valid magic number must be obtained prior to setting values in this table." ::= { applTestInput 1 } applPingInputEntry OBJECT-TYPE SYNTAX ApplPingInputEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "An entry containing objects for passing input parameters for the Ping test" INDEX { applPingInputTestId } ::= { applPingInputTable 1 } ApplPingInputEntry ::= SEQUENCE { applPingInputTestId INTEGER (1..2147483647), applPingInputIpAddress IpAddress, applPingInputPacketSize INTEGER (1..65535), applPingInputTimeout INTEGER (1..65535), applPingInputMaxPings INTEGER (1..65535) } applPingInputTestId OBJECT-TYPE SYNTAX INTEGER (1..2147483647) ACCESS read-only STATUS mandatory DESCRIPTION "This object corresponds to a value obtained by using the applNewTestId object." ::= { applPingInputEntry 1 } applPingInputIpAddress OBJECT-TYPE SYNTAX IpAddress ACCESS read-write STATUS mandatory DESCRIPTION "This object corresponds to an IP address to Ping for" ::= { applPingInputEntry 2 } applPingInputPacketSize OBJECT-TYPE SYNTAX INTEGER (1..65535) ACCESS read-write STATUS mandatory DESCRIPTION "This object corresponds to the size of the packet (in bytes) which will be sent during the Ping test. The default value for this object is 64 bytes" ::= { applPingInputEntry 3 } applPingInputTimeout OBJECT-TYPE SYNTAX INTEGER (1..65535) ACCESS read-write STATUS mandatory DESCRIPTION "This object corresponds to a timeout value (in seconds) between Pings. the default value for this object is 5 seconds" ::= { applPingInputEntry 4 } applPingInputMaxPings OBJECT-TYPE SYNTAX INTEGER (1..65535) ACCESS read-write STATUS mandatory DESCRIPTION "This object corresponds to the maximum number of times the device should Ping for the destination. the default value for this object is 10" ::= { applPingInputEntry 5 } applTracerouteInputTable OBJECT-TYPE SYNTAX SEQUENCE OF ApplTracerouteInputEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "This table contains contains objects which allow network managers to pass input parameters to the device for the traceroute test. This table is indexed by applNewTestId. Hence a valid magic number must be obtained prior to setting values in this table." ::= { applTestInput 2 } applTracerouteInputEntry OBJECT-TYPE SYNTAX ApplTracerouteInputEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "An entry containing objects for passing input parameters for the Traceroute test" INDEX { applTracerouteInputTestId } ::= { applTracerouteInputTable 1 } ApplTracerouteInputEntry ::= SEQUENCE { applTracerouteInputTestId INTEGER (1..2147483647), applTracerouteInputIpAddress IpAddress, applTracerouteInputPacketSize INTEGER (1..65535), applTracerouteInputTimeout INTEGER (1..65535) } applTracerouteInputTestId OBJECT-TYPE SYNTAX INTEGER (1..2147483647) ACCESS read-only STATUS mandatory DESCRIPTION "This object corresponds to a value obtained by using the applNewTestId object." ::= { applTracerouteInputEntry 1 } applTracerouteInputIpAddress OBJECT-TYPE SYNTAX IpAddress ACCESS read-write STATUS mandatory DESCRIPTION "This object corresponds to a IP address whose path is to be traced from the source" ::= { applTracerouteInputEntry 2 } applTracerouteInputPacketSize OBJECT-TYPE SYNTAX INTEGER (1..65535) ACCESS read-write STATUS mandatory DESCRIPTION "This object corresponds to the size of the packet (in bytes) which will be sent during the traceroute test. The default value for this object is 38 bytes" ::= { applTracerouteInputEntry 3 } applTracerouteInputTimeout OBJECT-TYPE SYNTAX INTEGER (1..65535) ACCESS read-write STATUS mandatory DESCRIPTION "This object corresponds to a timeout value (in seconds) for a traceroute. the default value for this object is 5 seconds" ::= { applTracerouteInputEntry 4 } -- The deviceTestInput group. Implementation of all objects in this group is -- is mandatory -- -- A note about upload and download: -- Upload is considered to be from the device to a server on the network. -- Download is from a server on the network to the device. devCnfgDnldFileName OBJECT-TYPE SYNTAX DisplayString (SIZE(1..40)) ACCESS read-write STATUS mandatory DESCRIPTION "This object corresponds to the name of the file for a config. download." ::= { deviceTestInput 1 } devCnfgDnldServerIpAddress OBJECT-TYPE SYNTAX IpAddress ACCESS read-write STATUS mandatory DESCRIPTION "This object corresponds to the IP address of a tFTP server.If this object is set to 0.0.0.0, then config download will not start. To start the config download process, devCnfgDnldServerIpAddress and devCnfgDnldFileName must be set to a non-null IP address. Config download will be triggered only when this object is set to non-null value." ::= { deviceTestInput 2 } devCnfgUpldFileName OBJECT-TYPE SYNTAX DisplayString (SIZE(1..40)) ACCESS read-write STATUS mandatory DESCRIPTION "This object corresponds to the name of the file for a config. upload." ::= { deviceTestInput 3 } devCnfgUpldServerIpAddress OBJECT-TYPE SYNTAX IpAddress ACCESS read-write STATUS mandatory DESCRIPTION "This object corresponds to the IP address of a tFTP server. If this object is set to 0.0.0.0, then config upload will not start. To start the config upload process, devCnfgUpldServerIpAddress and devCnfgUpldFileName must be set to a non-null IP address. Config upload will be triggered only when this object is set to non-null value." ::= { deviceTestInput 4 } -- The applTests group. Implementation of all objects in this group is -- is mandatory applMaxNumberOfTests OBJECT-TYPE SYNTAX INTEGER (1..65535) ACCESS read-only STATUS mandatory DESCRIPTION "This object identifies the maximum number of application based tests that can be simultaneously instantiated on the device. Hence, for example if the device supports 3 tests and an NMS has instantiated one one of these, then the other NMS's put together can instatiate a maximum of 2 more tests." ::= { applTests 1 } applCurrentNumberOfTests OBJECT-TYPE SYNTAX INTEGER (1..65535) ACCESS read-only STATUS mandatory DESCRIPTION "This object identifies the current number of application based tests that are currently running on the device. Hence, for example, if there are three NMS's talking to this device and each NMS has instantited a test; then irrespective of which NMS reads this object they will all see the same value (in this example 3)" ::= { applTests 2 } applClearAllTests OBJECT-TYPE SYNTAX INTEGER { noop (1), clear (2) } ACCESS read-write STATUS mandatory DESCRIPTION "This value of this object corresponds to clearing all application based tests initiated by the requesting network manager." ::= { applTests 3 } applNewTestId OBJECT-TYPE SYNTAX INTEGER (1..2147483647) ACCESS read-only STATUS mandatory DESCRIPTION "This value of this object corresponds to getting a magic number to start an application based test initiated by the requesting network manager. Note that if the requesting network manager had already requested one which has not yet been used, that number will be returned. Also note that if a magic number cannot be assigned (for e.g. due to the limit of number of tests that can be started being exceeded), the device will return a NOSUCHNAME error" ::= { applTests 4 } applTestTable OBJECT-TYPE SYNTAX SEQUENCE OF ApplTestEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "This table contains contains objects which allow network managers to start a test, find the status of a test, and read the output of the test. Before starting a test, a manager-station must first obtain a magic number (using the applNewTestId object). For future queries about this test, the manager should use this magic number. With regards to visibility : only those entries which belong to the requesting network manager will be visible. A network manager can be identified by its IP address. The magic number can be re-used to start another test. However once the NMS uses applClearAllTests, the magic numbers assigned to a particular NMS can no longer be used." ::= { applTests 5 } applTestEntry OBJECT-TYPE SYNTAX ApplTestEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "An entry containing objects for invoking application based tests" INDEX { applTestId } ::= { applTestTable 1 } ApplTestEntry ::= SEQUENCE { applTestId INTEGER (1..2147483647), applTestStatus INTEGER, applTestType OBJECT IDENTIFIER, applTestResult INTEGER, applTestCode OBJECT IDENTIFIER, applTestOwner DisplayString (SIZE (1..40)) } applTestId OBJECT-TYPE SYNTAX INTEGER (1..2147483647) ACCESS read-only STATUS mandatory DESCRIPTION "This object uniquely identifies a test started by a particular network manager. Note that these numbers are locked to the IP address of the network manager" ::= { applTestEntry 1 } applTestStatus OBJECT-TYPE SYNTAX INTEGER { inUse (1), notInUse (2) } ACCESS read-only STATUS mandatory DESCRIPTION "This object indicates the state of the magic number (applTestId) associated with an NMS. inUse - indicates that a test is running and another test cannot be started using this magic number. notInuse - indicates that a test is not running and the magic number can be re-used. Note : that the notInUse state doesnot imply that the NMS has received the results. It only means that the results for the tests were requested for and that the device has successfully dispatched the results back to the NMS. Also note that once the results are read the state changes back to notInUse. A new test can be started only if the state is set to notInUse and the results of the previous test cannot be recovered once the new test is started. Also the results of the test should be read after the test is over" ::= { applTestEntry 2 } applTestType OBJECT-TYPE SYNTAX OBJECT IDENTIFIER ACCESS read-write STATUS mandatory DESCRIPTION "A control variable used to start and stop operator- initiated IP tests. Most OBJECT IDENTIFIER values assigned to tests are defined elsewhere However this document defines the special meanings of the subject identifier: noTest OBJECT IDENTIFIER ::= { 0 0 } When the value noTest is written to this object, no action is taken unless a test is in progress, in which case the test is aborted. Writing any other value to this object is only valid when no test is currently in progress, in which case the indicated test is initiated. When read, this object always returns the most recent value that applTestType was set to. or it returns noTest if not yet set." ::= { applTestEntry 3 } applTestResult OBJECT-TYPE SYNTAX INTEGER { none(1), -- no test yet requested success(2), inProgress(3), notSupported(4), unAbleToRun(5), -- due to state of system aborted(6), failed(7) } ACCESS read-only STATUS mandatory DESCRIPTION "This object contains the result of the most recently requested test, or the value none(1) if no tests have been requested since the last reset. Note that this facility provides no provision for saving the results of one test when starting another, as could be required if the same magic number is used to start another test." ::= { applTestEntry 4 } applTestCode OBJECT-TYPE SYNTAX OBJECT IDENTIFIER ACCESS read-only STATUS mandatory DESCRIPTION "This object contains a code which contains more specific information on the test result, for example an error-code after a failed test. Error codes and other values this object may take are specific to the type of interface and/or test. The value may have the semantics of either the AutonomousType or InstancePointer textual conventions as defined in RFC 1443. The identifier: testCodeUnknown OBJECT IDENTIFIER ::= { 0 0 } is defined for use if no additional result code is available." ::= { applTestEntry 5 } applTestOwner OBJECT-TYPE SYNTAX DisplayString (SIZE (1..40)) ACCESS read-write STATUS mandatory DESCRIPTION "The network manager who has started the test" ::= { applTestEntry 6 } -- The ifTestResults group. Implementation of all objects in this group is -- is mandatory ifLoopbackResultsTable OBJECT-TYPE SYNTAX SEQUENCE OF IfLoopbackResultsEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "This table contains results of a packet loopback test. This table is indexed by ifIndex." ::= { ifTestResults 1 } ifLoopbackResultsEntry OBJECT-TYPE SYNTAX IfLoopbackResultsEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "An entry containing objects for the results obtained from the packet loopback test" INDEX { loopbackResultsIfIndex } ::= { ifLoopbackResultsTable 1 } IfLoopbackResultsEntry ::= SEQUENCE { loopbackResultsIfIndex INTEGER, loopbackResultsPktsSent INTEGER (0..2147483647), loopbackResultsPktsRcvdOK INTEGER (0..2147483647), loopbackResultsPktsRcvdErr INTEGER (0..2147483647), loopbackResultsPktsNotRcvd INTEGER (0..2147483647), loopbackResultsPktErrorRate DisplayString (SIZE (1..32)), loopbackResultsErrSecs INTEGER (0..65535), loopbackResultsSvrErrSecs INTEGER (0..65535), loopbackResultsElpTime INTEGER (0..65535) } loopbackResultsIfIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "This object corresponds to a value of IfIndex" ::= { ifLoopbackResultsEntry 1 } loopbackResultsPktsSent OBJECT-TYPE SYNTAX INTEGER (0..2147483647) ACCESS read-only STATUS mandatory DESCRIPTION "This object corresponds to the number of packets sent" ::= { ifLoopbackResultsEntry 2 } loopbackResultsPktsRcvdOK OBJECT-TYPE SYNTAX INTEGER (0..2147483647) ACCESS read-only STATUS mandatory DESCRIPTION "This object corresponds to the number of packets which were received without any error" ::= { ifLoopbackResultsEntry 3 } loopbackResultsPktsRcvdErr OBJECT-TYPE SYNTAX INTEGER (0..2147483647) ACCESS read-only STATUS mandatory DESCRIPTION "This object corresponds to the number of packets which were received with errors" ::= { ifLoopbackResultsEntry 4 } loopbackResultsPktsNotRcvd OBJECT-TYPE SYNTAX INTEGER (0..2147483647) ACCESS read-only STATUS mandatory DESCRIPTION "This object corresponds to the number of packets which were sent but not received" ::= { ifLoopbackResultsEntry 5 } loopbackResultsPktErrorRate OBJECT-TYPE SYNTAX DisplayString (SIZE (1..32)) ACCESS read-only STATUS mandatory DESCRIPTION "Reflects the error rate of the loopback test. this string will represent a floating point number of the form [ErrRate][eE][+-][ErrRateBase] whrer ErrRate and ErrRateBase are integers. In Other Words ErrRate * [10^ -ErrRateBase] shown below are example of the values returned. 123456E-5 = 1.23456 344567e-6 = 0.344567" ::= { ifLoopbackResultsEntry 6 } loopbackResultsErrSecs OBJECT-TYPE SYNTAX INTEGER (0..65535) ACCESS read-only STATUS mandatory DESCRIPTION "This object corresponds to the number of errored seconds" ::= { ifLoopbackResultsEntry 7 } loopbackResultsSvrErrSecs OBJECT-TYPE SYNTAX INTEGER (0..65535) ACCESS read-only STATUS mandatory DESCRIPTION "This object corresponds to the number of severely errored seconds" ::= { ifLoopbackResultsEntry 8 } loopbackResultsElpTime OBJECT-TYPE SYNTAX INTEGER (0..65535) ACCESS read-only STATUS mandatory DESCRIPTION "This object corresponds to the number of seconds elapsed since the start of the test." ::= { ifLoopbackResultsEntry 9 } -- The applTestResults group. Implementation of all objects in this group is -- is mandatory applPingResultsTable OBJECT-TYPE SYNTAX SEQUENCE OF ApplPingResultsEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "This table contains results of a ping test. This table is indexed by applNewTestId." ::= { applTestResults 1 } applPingResultsEntry OBJECT-TYPE SYNTAX ApplPingResultsEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "An entry containing objects for the results obtained from Ping test" INDEX { applPingResultsTestId } ::= { applPingResultsTable 1 } ApplPingResultsEntry ::= SEQUENCE { applPingResultsTestId INTEGER, applPingResultsStatus INTEGER, applPingResultsPktsSent INTEGER (0..2147483647), applPingResultsPktsRcvdOK INTEGER (0..2147483647), applPingResultsElpTime INTEGER (0..65535) } applPingResultsTestId OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "This object corresponds to a value of applNewTestId" ::= { applPingResultsEntry 1 } applPingResultsStatus OBJECT-TYPE SYNTAX INTEGER { success (1), timeoutError (2), internalError (3), destUnreachable (4), destUnreachNetError (5), destUnreachNeedFragError (6), srcRouteFailedError (7) } ACCESS read-only STATUS mandatory DESCRIPTION "This object corresponds to the status of the ping test. success - the ping test was a success. timeoutError - a timeout occurred before a packet was received internalError - The device doesnot have adequate resources to start the test destUnreachable - The ICMP destination unreachable message was received destUnreachNetError - The ICMP destination (network) unreachable message was received destUnreachNeedFragError - Fragmentation of the packet is needed srcRouteFailedError - source route failed" ::= { applPingResultsEntry 2 } applPingResultsPktsSent OBJECT-TYPE SYNTAX INTEGER (0..2147483647) ACCESS read-only STATUS mandatory DESCRIPTION "This object corresponds to the total number of packets sent" ::= { applPingResultsEntry 3 } applPingResultsPktsRcvdOK OBJECT-TYPE SYNTAX INTEGER (0..2147483647) ACCESS read-only STATUS mandatory DESCRIPTION "This object corresponds to the total number of packets received without error" ::= { applPingResultsEntry 4 } applPingResultsElpTime OBJECT-TYPE SYNTAX INTEGER (0..65535) ACCESS read-only STATUS mandatory DESCRIPTION "This object corresponds to the time in seconds which has elapsed since the ping test was first started" ::= { applPingResultsEntry 5 } applTracerouteResultsTable OBJECT-TYPE SYNTAX SEQUENCE OF ApplTracerouteResultsEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "This table contains results of a ping test. This table is doubly indexed by applNewTestId and the ipAddress of the next hop" ::= { applTestResults 2 } applTracerouteResultsEntry OBJECT-TYPE SYNTAX ApplTracerouteResultsEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "An entry containing objects for the results obtained from traceroute test" INDEX { applTracerouteResultsTestId, applTracerouteResultsIpAddress } ::= { applTracerouteResultsTable 1 } ApplTracerouteResultsEntry ::= SEQUENCE { applTracerouteResultsTestId INTEGER, applTracerouteResultsStatus INTEGER, applTracerouteResultsIpAddress IpAddress, applTracerouteResultsHopCount INTEGER (0..65535) } applTracerouteResultsTestId OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "This object corresponds to a value of applNewTestId" ::= { applTracerouteResultsEntry 1 } applTracerouteResultsStatus OBJECT-TYPE SYNTAX INTEGER { success (1), timeoutError (2), internalError (3), destUnreachHostError (4), destUnreachNetError (5), destUnreachNeedFragError (6), srcRouteFailedError (7) } ACCESS read-only STATUS mandatory DESCRIPTION "This object corresponds to the status of the traceroute test. success - the traceroute test was a success. timeoutError - a timeout occurred before a packet was received internalError - The device doesnot have adequate resources to start the test destUnreachHostError - The ICMP destination (host) unreachable message was received destUnreachNetError - The ICMP destination (network) unreachable message was received destUnreachNeedFragError - Fragmentation of the packet is needed destUnreachNeedFragError - Fragmentation of the packet is needed srcRouteFailedError - source route failed" ::= { applTracerouteResultsEntry 2 } applTracerouteResultsIpAddress OBJECT-TYPE SYNTAX IpAddress ACCESS read-only STATUS mandatory DESCRIPTION "This object corresponds to the IpAddress of a node between the source and destination" ::= { applTracerouteResultsEntry 3 } applTracerouteResultsHopCount OBJECT-TYPE SYNTAX INTEGER (0..65535) ACCESS read-only STATUS mandatory DESCRIPTION "This object corresponds to the number of hops from the source to the node having IpAddress applTracerouteResultsIpAddress" ::= { applTracerouteResultsEntry 4 } -- The deviceTestResults group. Implementation of all objects in this group is -- is mandatory deviceSelfTestResult OBJECT-TYPE SYNTAX INTEGER { none (1), success (2), failure (3), inProgress (4) } ACCESS read-only STATUS mandatory DESCRIPTION "Results of a self-test none - no self test was initiated success - the self test was successful failure - the self test was not successful inProgress - the self test initiated is in progress" ::= { deviceTestResults 1 } devCnfgDnldResult OBJECT-TYPE SYNTAX INTEGER { none (1), success (2), failure (3), inProgress (4) } ACCESS read-only STATUS mandatory DESCRIPTION "Results of a config. download none - no config. download was initiated success - the config. download was successful failure - the config. download was not successful inProgress - the config. download is in progress. The failure result will persist until the next download, or the device is reset." ::= { deviceTestResults 2 } devCnfgDnldInitiator OBJECT-TYPE SYNTAX INTEGER { noop (1), telnet (2), console (3), snmp (4) } ACCESS read-only STATUS mandatory DESCRIPTION " This objects informs an NMS as to who initiated a currently ongoing config. download. This object can be accessed to determine who initiated a config. download which failed noop - no config. download was initiated console - the config. download was initiated from a console interface telnet - the config. download was initiated using telnet snmp - the config. download was initiated using snmp. In the case of a failure, this information will persist until the next download or the device is reset." ::= { deviceTestResults 3 } devCnfgUpldResult OBJECT-TYPE SYNTAX INTEGER { none (1), success (2), failure (3), inProgress (4) } ACCESS read-only STATUS mandatory DESCRIPTION "Results of a config. upload none - no config. upload was initiated success - the config. upload was successful failure - the config. upload was not successful inProgress - the config. upload is in progress The success/failure result will persist until the next upload, or the device is reset." ::= { deviceTestResults 4 } devCnfgUpldInitiator OBJECT-TYPE SYNTAX INTEGER { noop (1), telnet (2), console (3), snmp (4) } ACCESS read-only STATUS mandatory DESCRIPTION " This objects informs an NMS as to who initiated a currently ongoing config. upload. This object can be accessed to determine who initiated a config. upload which failed noop - no config. upload was initiated console - the config. upload was initiated from a console interface telnet - the config. upload was initiated using telnet snmp - the config. upload was initiated using snmp This information will persist until the next upload, or the device is reset." ::= { deviceTestResults 5 } -- Traps diagTestStart TRAP-TYPE ENTERPRISE diagTests VARIABLES { ifIndex, ifAdminStatus, ifOperStatus } DESCRIPTION "This trap signifies that a diagnostic test has been initiated. An additional varbind could be the ifTestType value defined in RFC-1573. The test type which is an OID will be sent along with this trap. This implies the every test implemented by the device is given a unique OID (under the mgmt sub-tree??). However in the case where a test is not assigned an OID the following should be sent. noName OBJECT IDENTIFIER ::= { 0 0 }" ::= 1 diagTestOver TRAP-TYPE ENTERPRISE diagTests VARIABLES { ifIndex, ifAdminStatus, ifOperStatus } DESCRIPTION "This trap signifies that a diagnostic test has completed. An additional varbind could be the ifTestType value defined in RFC-1573. The test type which is an OID will be sent along with this trap. This implies the every test implemented by the device is given a unique OID (under the mgmt sub-tree??). However in the case where a test is not assigned an OID the following should be sent. noName OBJECT IDENTIFIER ::= { 0 0 } This trap compliments the diagTestStart trap" ::= 101 devCnfgDnldFailure TRAP-TYPE ENTERPRISE diagTests VARIABLES { ifIndex, devCnfgDnldInitiator } DESCRIPTION "This trap signifies that a config download has failed. It is upto an NMS to restart the config download process once this trap is received from the device." ::= 2 devCnfgUpldSuccess TRAP-TYPE ENTERPRISE diagTests VARIABLES { ifIndex, devCnfgUpldInitiator } DESCRIPTION "This trap signifies that a config upload has succeeded." ::= 3 devCnfgUpldFailure TRAP-TYPE ENTERPRISE diagTests VARIABLES { ifIndex, devCnfgUpldInitiator } DESCRIPTION "This trap signifies that a config upload has failed. It is up to an NMS to restart config upload process once this trap is received from the device." ::= 4 END