       HP-ICF-LINKTEST DEFINITIONS ::= BEGIN

       IMPORTS
           Integer32, OBJECT-TYPE, MODULE-IDENTITY
               FROM SNMPv2-SMI
           RowStatus, TimeInterval
               FROM SNMPv2-TC
           MODULE-COMPLIANCE, OBJECT-GROUP
               FROM SNMPv2-CONF
           OwnerString
               FROM RMON-MIB
           hpicfObjectModules, hpicfCommon
               FROM HP-ICF-OID;

       hpicfLinkTestMib MODULE-IDENTITY
            LAST-UPDATED "200011032225Z"  -- November 3, 2000
            ORGANIZATION "Hewlett Packard Company,
                          Network Infrastructure Solutions"
            CONTACT-INFO
                    "Hewlett Packard Company
                     8000 Foothills Blvd.
                     Roseville, CA 95747"
            DESCRIPTION
                    "This MIB module describes objects for managing
                    the link test features of devices in the HP
                    Integrated Communication Facility product line."

            REVISION     "200011032225Z"  -- November 3, 2000
            DESCRIPTION  "Updated division name."

            REVISION     "9703060338Z"  -- March 6, 1997
            DESCRIPTION
                    "Added 'destroyWhenDone' capability."
            REVISION     "9609062218Z"  -- September 6, 1996
            DESCRIPTION
                    "Initial version of this MIB module."
            ::= { hpicfObjectModules 7 }



       -- The HP ICF Linktest Group

       hpicfLinktest OBJECT IDENTIFIER ::= { hpicfCommon 6 }

       hpicfLinkTestNextIndex OBJECT-TYPE
           SYNTAX     Integer32 (0..65535)
           MAX-ACCESS read-write
           STATUS     current
           DESCRIPTION
                   "A currently unassigned value of hpicfLinkTestIndex.
                   The value 0 indicates that no unassigned values are
                   available.

                   In order to cause a non-zero value of this object to
                   be assigned for use as the hpicfLinkTestIndex of a
                   future link test, it must be successfully modified by
                   a set operation.  When modified by a set operation,
                   the new value must precisely match the value
                   presently held by the object.  If not, the management
                   protocol set operation will fail.

                   Immediately after the completion of a successful set
                   operation, the agent must modify the value of this
                   object.  The algorithm for modifying the value is
                   implementation-dependent, and may use a subset of
                   values within the legal range.  However, the agent
                   must guarantee that the new value is not assigned to
                   any in-use value of hpicfLinkTestIndex.

                   A management station creates a new link test using
                   this algorithm:

                      - issue a management protocol retrieval operation
                        to obtain the value of hpicfLinkTestNextIndex;
                        if the retrieved value is zero, a new link test
                        cannot be created at this time;

                      - issue a management protocol set operation for
                        hpicfLinkTestNextIndex, supplying the same value
                        as obtained in the previous step;

                      - if the set operation succeeds, use the supplied
                        value as the hpicfLinkTestIndex of the new
                        link test; if the set operation fails, go back
                        to the first step and obtain a new value for
                        hpicfLinkTestNextIndex;

                      - issue a management protocol set operation to
                        create an instance of the hpicfLinkTestStatus
                        object setting its value to 'createAndGo' or
                        'createAndWait' (as specified in the description
                        of the RowStatus textual convention).

                    Note that the set of hpicfLinkTestNextIndex and the
                    instance of hpicfLinkTestStatus may occur in the
                    same set operation if desired."
           ::= { hpicfLinktest 1 }

       hpicfLinkTestTable OBJECT-TYPE
           SYNTAX     SEQUENCE OF HpicfLinkTestEntry
           MAX-ACCESS not-accessible
           STATUS     current
           DESCRIPTION
                   "A table of in-progress link tests."
           ::= { hpicfLinktest 2 }

       hpicfLinkTestEntry OBJECT-TYPE
           SYNTAX     HpicfLinkTestEntry
           MAX-ACCESS not-accessible
           STATUS     current
           DESCRIPTION
                   "A row in the table, containing information about a
                   single link test."
           INDEX      { hpicfLinkTestIndex }
           ::= { hpicfLinkTestTable 1 }

       HpicfLinkTestEntry ::=
           SEQUENCE {
               hpicfLinkTestIndex              Integer32,
               hpicfLinkTestType               INTEGER,
               hpicfLinkTestAddress            OCTET STRING,
               hpicfLinkTestIfIndex            Integer32,
               hpicfLinkTestTimeout            TimeInterval,
               hpicfLinkTestRepetitions        Integer32,
               hpicfLinkTestAttempts           Integer32,
               hpicfLinkTestSuccesses          Integer32,
               hpicfLinkTestMinRespTime        Integer32,
               hpicfLinkTestMaxRespTime        Integer32,
               hpicfLinkTestTotalRespTime      Integer32,
               hpicfLinkTestOwner              OwnerString,
               hpicfLinkTestStatus             RowStatus,
               hpicfLinkTestDeleteMode         INTEGER
           }

       hpicfLinkTestIndex OBJECT-TYPE
           SYNTAX     Integer32 (1..65535)
           MAX-ACCESS not-accessible
           STATUS     current
           DESCRIPTION
                   "The value of this object uniquely identifies this
                   link test."
           ::= { hpicfLinkTestEntry 1 }

       hpicfLinkTestType OBJECT-TYPE
           SYNTAX     INTEGER {
                          icmpEcho(1),
                          ieee8022Test(2),
                          ipxDiagnostic(3)
                      }
           MAX-ACCESS read-create
           STATUS     current
           DESCRIPTION
                   "The type of test to run."
           ::= { hpicfLinkTestEntry 2 }

       hpicfLinkTestAddress OBJECT-TYPE
           SYNTAX     OCTET STRING (SIZE(4|6|10))
           MAX-ACCESS read-create
           STATUS     current
           DESCRIPTION
                   "The destination address used for sending link test
                   packets, formatted according to the value of the
                   corresponding instance of hpicfLinkTestType.  When
                   hpicfLinkTestType is equal to 'icmpEcho', this object
                   will be four octets long, and contain an IP address
                   in network byte order.  When hpicfLinkTestType is
                   equal to 'ieee8022Test', this object will be six
                   octets long, and contain an IEEE MAC address in
                   canonical order.  When hpicfLinkTestType is equal to
                   'ipxDiagnostic', this object will be ten octets long,
                   and will contain the IPX network number in network
                   byte order, followed by the IPX node number in
                   network byte order."
           ::= { hpicfLinkTestEntry 3 }

       hpicfLinkTestIfIndex OBJECT-TYPE
           SYNTAX     Integer32
           MAX-ACCESS read-create
           STATUS     current
           DESCRIPTION
                   "The local interface to send the link test packets
                   on.  The value of this object must correspond to an
                   ifIndex value for an interface capable of supporting
                   the requested link test.  The value 0 is used to
                   indicate that the agent should determine the
                   interface using local routing information."
           DEFVAL     { 0 }
           ::= { hpicfLinkTestEntry 4 }

       hpicfLinkTestTimeout OBJECT-TYPE
           SYNTAX     TimeInterval
           MAX-ACCESS read-create
           STATUS     current
           DESCRIPTION
                   "The time interval over which a link test response
                   must be recieved, or the test is counted as failed."
           DEFVAL     { 100 }    -- one second
           ::= { hpicfLinkTestEntry 5 }

       hpicfLinkTestRepetitions OBJECT-TYPE
           SYNTAX     Integer32 (1..65535)
           MAX-ACCESS read-create
           STATUS     current
           DESCRIPTION
                   "The total number of times that the agent should
                   send link test packets to the destination host."
           DEFVAL     { 1 }
           ::= { hpicfLinkTestEntry 6 }

       hpicfLinkTestAttempts OBJECT-TYPE
           SYNTAX     Integer32 (0..65535)
           MAX-ACCESS read-only
           STATUS     current
           DESCRIPTION
                   "The number of times we have sent link test packets
                   to the destination during the current test.  This
                   object will start at zero when the corresponding
                   instance of hpicfLinkTestStatus is set to 'active'.
                   It will increment at the completion of each iteration
                   of the test until either it reaches the value of
                   hpicfLinkTestRepetitions, or the corresponding
                   instance of hpicfLinkTestStatus is set to a value
                   other than 'active'.  Note that it is incremented
                   at the completion of each iteration, not when the
                   link test packet is sent, so that the number of
                   failures can be calculated accurately."
           ::= { hpicfLinkTestEntry 7 }

       hpicfLinkTestSuccesses OBJECT-TYPE
           SYNTAX     Integer32 (0..65535)
           MAX-ACCESS read-only
           STATUS     current
           DESCRIPTION
                   "The number of times that we have received a response
                   to a link test packet during the current test.  This
                   object will start at zero when the corresponding
                   instance of hpicfLinkTestStatus is set to 'active'.
                   It will increment each time the agent receives a
                   response from the destination of this test.  Note
                   that the number of failed attempts is given by
                   hpicfLinkTestAttempts - hpicfLinkTestSuccesses."
           ::= { hpicfLinkTestEntry 8 }

       hpicfLinkTestMinRespTime OBJECT-TYPE
           SYNTAX     Integer32
           MAX-ACCESS read-only
           STATUS     current
           DESCRIPTION
                   "The shortest time (in milliseconds) between request
                   and response for all of the link tests that have been
                   attempted as part of this test."
           ::= { hpicfLinkTestEntry 9 }

       hpicfLinkTestMaxRespTime OBJECT-TYPE
           SYNTAX     Integer32
           MAX-ACCESS read-only
           STATUS     current
           DESCRIPTION
                   "The longest time (in milliseconds) between request
                   and response for all of the link tests that have been
                   attempted as part of this test."
           ::= { hpicfLinkTestEntry 10 }

       hpicfLinkTestTotalRespTime OBJECT-TYPE
           SYNTAX     Integer32
           MAX-ACCESS read-only
           STATUS     current
           DESCRIPTION
                   "The sum of all of the response times (in
                   milliseconds) for all of the link tests that have
                   been attempted as part of this test.  This value can
                   be used in conjunction with hpicfLinkTestSuccesses
                   to calculate the average response time."
           ::= { hpicfLinkTestEntry 11 }

       hpicfLinkTestOwner OBJECT-TYPE
           SYNTAX     OwnerString
           MAX-ACCESS read-create
           STATUS     current
           DESCRIPTION
                   "The entity that configured this test and is
                   therefore using the resources assigned to it."
           ::= { hpicfLinkTestEntry 12 }

       hpicfLinkTestStatus OBJECT-TYPE
           SYNTAX     RowStatus
           MAX-ACCESS read-create
           STATUS     current
           DESCRIPTION
                   "The status of this entry."
           ::= { hpicfLinkTestEntry 13 }

       hpicfLinkTestDeleteMode OBJECT-TYPE
           SYNTAX     INTEGER {
                          keepWhenDone(1),
                          destroyWhenDone(2)
                      }
           MAX-ACCESS read-create
           STATUS     current
           DESCRIPTION
                   "When the value of this object is 'keepWhenDone',
                   the associated instance of the hpicfLinkTestStatus
                   object will be changed to 'notInService' upon
                   completion of the test.  It will then be timed out
                   by the agent after 5 minutes in the 'notInService'
                   state.

                   When the value of this object is 'destroyWhenDone',
                   the assocated instance of the hpicfLinkTestStatus
                   object will be changed to 'destroy' upon completion
                   of the test.  This will remove the row from the
                   table immediately after the test completes."
           DEFVAL     { keepWhenDone }
           ::= { hpicfLinkTestEntry 14 }

       -- Conformance information

       hpicfLinkTestConformance
           OBJECT IDENTIFIER ::= { hpicfLinkTestMib 1 }

       hpicfLinkTestCompliances
           OBJECT IDENTIFIER ::= { hpicfLinkTestConformance 1 }
       hpicfLinkTestGroups
           OBJECT IDENTIFIER ::= { hpicfLinkTestConformance 2 }


       -- Compliance statements

       hpicfLinkTestCompliance MODULE-COMPLIANCE
           STATUS     deprecated
           DESCRIPTION
                   "The compliance statement for ICF devices that
                   provide a connectivity test facility."
           MODULE
               MANDATORY-GROUPS { hpicfLinkTestGroup }

           ::= { hpicfLinkTestCompliances 1 }

       hpicfLinkTestCompliance2 MODULE-COMPLIANCE
           STATUS     current
           DESCRIPTION
                   "The compliance statement for ICF devices that
                   provide a connectivity test facility."
           MODULE
               MANDATORY-GROUPS { hpicfLinkTestGroup2 }

           ::= { hpicfLinkTestCompliances 2 }


       -- Units of conformance

       hpicfLinkTestGroup OBJECT-GROUP
           OBJECTS    { hpicfLinkTestNextIndex,
                        hpicfLinkTestType,
                        hpicfLinkTestAddress,
                        hpicfLinkTestIfIndex,
                        hpicfLinkTestTimeout,
                        hpicfLinkTestRepetitions,
                        hpicfLinkTestAttempts,
                        hpicfLinkTestSuccesses,
                        hpicfLinkTestMinRespTime,
                        hpicfLinkTestMaxRespTime,
                        hpicfLinkTestTotalRespTime,
                        hpicfLinkTestOwner,
                        hpicfLinkTestStatus
                      }
           STATUS     deprecated
           DESCRIPTION
                   "A collection of objects for initiating and
                   monitoring network connectivity tests on ICF
                   devices."
           ::= { hpicfLinkTestGroups 1 }

       hpicfLinkTestGroup2 OBJECT-GROUP
           OBJECTS    { hpicfLinkTestNextIndex,
                        hpicfLinkTestType,
                        hpicfLinkTestAddress,
                        hpicfLinkTestIfIndex,
                        hpicfLinkTestTimeout,
                        hpicfLinkTestRepetitions,
                        hpicfLinkTestAttempts,
                        hpicfLinkTestSuccesses,
                        hpicfLinkTestMinRespTime,
                        hpicfLinkTestMaxRespTime,
                        hpicfLinkTestTotalRespTime,
                        hpicfLinkTestOwner,
                        hpicfLinkTestStatus,
                        hpicfLinkTestDeleteMode
                      }
           STATUS     current
           DESCRIPTION
                   "A collection of objects for initiating and
                   monitoring network connectivity tests on ICF
                   devices."
           ::= { hpicfLinkTestGroups 2 }


       END

