--
-- Juniper Enterprise Specific MIB: Ping MIB
-- 
-- Copyright (c) 2001-2003, Juniper Networks, Inc.
-- All rights reserved.
--
-- The contents of this document are subject to change without notice.
--

JUNIPER-PING-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE
        FROM SNMPv2-SMI              -- RFC2578
    InterfaceIndexOrZero
        FROM IF-MIB                  -- RFC2863
    SnmpAdminString
        FROM SNMP-FRAMEWORK-MIB      -- RFC2571
    DisplayString
        FROM SNMPv2-TC
    jnxMibs
        FROM JUNIPER-SMI;

jnxPingMIB MODULE-IDENTITY
    LAST-UPDATED "200307182153Z" -- Fri Jul 18 21:53:56 2003 UTC
    ORGANIZATION "Juniper Networks, Inc."
    CONTACT-INFO
            "        Juniper Technical Assistance Center
		     Juniper Networks, Inc.
		     1194 N. Mathilda Avenue
		     Sunnyvale, CA 94089
		     E-mail: support@juniper.net"

    DESCRIPTION
            "This is Juniper Networks' implementation of enterprise specific
             portions of pingMib.  Any data stored in this MIB has directly
             related entries in mib-2, pingMIB."
    ::= { jnxMibs 7 }


jnxPingObjects      OBJECT IDENTIFIER ::= { jnxPingMIB 1 }

jnxPingCtlTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF JnxPingCtlEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Defines the jnxPing Control Table for providing enterprise specific
         options to the corresponding pingCtlTable entry."
   ::= { jnxPingObjects 2 }

jnxPingCtlEntry OBJECT-TYPE
    SYNTAX      JnxPingCtlEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Defines an entry in the jnxPingCtlTable.  The first index element,
         jnxPingCtlOwnerIndex, is of type SnmpAdminString, a textual
         convention that allows for use of the SNMPv3 View-Based Access
         Control Model (RFC 2575 [11], VACM) and allows an management
         application to identify its entries.  The second index,
         jnxPingCtlTestName (also an SnmpAdminString), enables the same
         management application to have multiple outstanding requests.
         Entries are created in the pingCtlTable and mirrored here."
    INDEX {
             jnxPingCtlOwnerIndex,
             jnxPingCtlTestName
          }
    ::= { jnxPingCtlTable 1 }

JnxPingCtlEntry ::=
    SEQUENCE {
        jnxPingCtlOwnerIndex             SnmpAdminString,
        jnxPingCtlTestName               SnmpAdminString,
        jnxPingCtlIfName                 DisplayString,
        jnxPingCtlRoutingIfIndex         InterfaceIndexOrZero,
        jnxPingCtlRoutingIfName          DisplayString,
        jnxPingCtlRoutingInstanceName    DisplayString
    }

jnxPingCtlOwnerIndex OBJECT-TYPE
    SYNTAX      SnmpAdminString (SIZE(0..32))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "To facilitate the provisioning of access control by a
       security administrator using the View-Based Access
       Control Model (RFC 2575, VACM) for tables in which
       multiple users may need to independently create or
       modify entries, the initial index is used as an 'owner
       index'.  Such an initial index has a syntax of
       SnmpAdminString, and can thus be trivially mapped to a
       securityName or groupName as defined in VACM, in
       accordance with a security policy.

       When used in conjunction with such a security policy all
       entries in the table belonging to a particular user (or
       group) will have the same value for this initial index.
       For a given user's entries in a particular table, the
       object identifiers for the information in these entries
       will have the same subidentifiers (except for the 'column'
       subidentifier) up to the end of the encoded owner index.
       To configure VACM to permit access to this portion of the
       table, one would create vacmViewTreeFamilyTable entries
       with the value of vacmViewTreeFamilySubtree including
       the owner index portion, and vacmViewTreeFamilyMask
       'wildcarding' the column subidentifier.  More elaborate
       configurations are possible."
    ::= { jnxPingCtlEntry 1 }

jnxPingCtlTestName OBJECT-TYPE
    SYNTAX      SnmpAdminString (SIZE(0..32))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The name of the ping test.  This is locally unique, within
        the scope of an pingCtlOwnerIndex."
    ::= { jnxPingCtlEntry 2 }

jnxPingCtlIfName  OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(0..24))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Setting this object to an interface name prior to starting a remote
        ping operation directs the ping probes to be transmitted over the
        specified interface.  To specify the interface index instead, see 
        pingCtlIfIndex.  The interface name must be specified under interfaces
        statement of the JUNOS configuration.  A zero length string value for
        this object means that this option is not enabled.  The following 
        values may be set simultaneously, however, only one value is used.
        The precedence order is a follows:
            pingCtlIfIndex (see pingCtlTable in pingMIB)
            jnxPingCtlIfName
            jnxPingCtlRoutingIfIndex   (deprecated)
            jnxPingCtlRoutingIfName    (deprecated)
            jnxPingCtlRoutingInstanceName"
    DEFVAL { ''H }
    ::= { jnxPingCtlEntry 3 }

jnxPingCtlRoutingIfIndex OBJECT-TYPE
    SYNTAX      InterfaceIndexOrZero
    MAX-ACCESS  read-create
    STATUS      deprecated
    DESCRIPTION
        "Use this option to specify the routing instance used when directing
        outgoing ping packets.  The interface ifIndex specified should be in
        the desired routing instance table.  The interface specified will not
        necessarily be the interface packets are transmitted on.  By default,
        the source address of the packets will be set to the address of the
        interface chosen.  pingCtlSourceAddress should be used to override
        the choice for source address if necessary. A value of zero for this 
        object means that this option is not enabled.
        NOTE: deprecated by jnxPingCtlRoutingInstanceName"
    DEFVAL { 0 }
    ::= { jnxPingCtlEntry 4 }

jnxPingCtlRoutingIfName OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(0..24))
    MAX-ACCESS  read-create
    STATUS      deprecated
    DESCRIPTION
        "Use this option to specify the routing instance used when directing
        outgoing ping packets.  The interface name specified should be in
        the desired routing instance table.  The interface specified will not
        necessarily be the interface packets are transmitted on.  By default,
        the source address of the packets will be set to the address of the
        interface chosen.  pingCtlSourceAddress should be used to override
        the choice for source address if necessary.
        NOTE: deprecated by jnxPingCtlRoutingInstanceName"
    DEFVAL { ''H }
    ::= { jnxPingCtlEntry 5 }

jnxPingCtlRoutingInstanceName  OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(0..31))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Use this option to specify the name of the routing instance used when
        directing outgoing ping packets.  The instance name specified must be
        configured under routing-instances of the JUNOS configuration."
    DEFVAL { ''H }
    ::= { jnxPingCtlEntry 6 }
END
