SNMP-PROXY-MIB DEFINITIONS ::= BEGIN

IMPORTS
   MODULE-IDENTITY,
   OBJECT-TYPE,
   snmpModules
       FROM SNMPv2-SMI

   RowStatus,
   StorageType
       FROM SNMPv2-TC

   SnmpEngineID,
   SnmpAdminString
       FROM SNMP-FRAMEWORK-MIB

   SnmpTagValue
       FROM SNMP-TARGET-MIB

   MODULE-COMPLIANCE,
   OBJECT-GROUP
       FROM SNMPv2-CONF;

snmpProxyMIB MODULE-IDENTITY
   LAST-UPDATED "9808040000Z"
   ORGANIZATION "IETF SNMPv3 Working Group"
   CONTACT-INFO
       "WG-email:   snmpv3@lists.tislabs.com
	Subscribe:  majordomo@lists.tislabs.com
		    In message body:  subscribe snmpv3

	Chair:      Russ Mundy
		    Trusted Information Systems
	Postal:     3060 Washington Rd
		    Glenwood MD 21738
		    USA
	EMail:      mundy@tislabs.com
	Phone:      +1-301-854-6889

	Co-editor:  David B. Levi
		    SNMP Research, Inc.
	Postal:     3001 Kimberlin Heights Road
		    Knoxville, TN 37920-9716
	EMail:      levi@snmp.com
	Phone:      +1 423 573 1434

	Co-editor:  Paul Meyer
		    Secure Computing Corporation
	Postal:     2675 Long Lake Road
		    Roseville, MN 55113
	EMail:      paul_meyer@securecomputing.com
	Phone:      +1 651 628 1592

	Co-editor:  Bob Stewart
		    Cisco Systems, Inc.
	Postal:     170 West Tasman Drive
		    San Jose, CA 95134-1706
	EMail:      bstewart@cisco.com
	Phone:      +1 603 654 2686"
   DESCRIPTION
       "This MIB module defines MIB objects which provide
	mechanisms to remotely configure the parameters
	used by a proxy forwarding application."
   REVISION    "9808040000Z"
   DESCRIPTION "Clarifications, published as
		RFC2573."
   REVISION    "9707140000Z"
   DESCRIPTION "The initial revision, published as RFC2273."
   ::= { snmpModules 14 }

snmpProxyObjects        OBJECT IDENTIFIER ::= { snmpProxyMIB 1 }
snmpProxyConformance    OBJECT IDENTIFIER ::= { snmpProxyMIB 3 }

--
--
-- The snmpProxyObjects group
--
--

snmpProxyTable OBJECT-TYPE
   SYNTAX      SEQUENCE OF SnmpProxyEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
       "The table of translation parameters used by proxy forwarder
	applications for forwarding SNMP messages."
   ::= { snmpProxyObjects 2 }

snmpProxyEntry OBJECT-TYPE
   SYNTAX      SnmpProxyEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
       "A set of translation parameters used by a proxy forwarder
	application for forwarding SNMP messages.

	Entries in the snmpProxyTable are created and deleted
	using the snmpProxyRowStatus object."
   INDEX { IMPLIED snmpProxyName }
   ::= { snmpProxyTable 1 }

SnmpProxyEntry ::= SEQUENCE {
   snmpProxyName               SnmpAdminString,
   snmpProxyType               INTEGER,
   snmpProxyContextEngineID    SnmpEngineID,
   snmpProxyContextName        SnmpAdminString,
   snmpProxyTargetParamsIn     SnmpAdminString,
   snmpProxySingleTargetOut    SnmpAdminString,
   snmpProxyMultipleTargetOut  SnmpTagValue,
   snmpProxyStorageType        StorageType,
   snmpProxyRowStatus          RowStatus
}

snmpProxyName OBJECT-TYPE
   SYNTAX      SnmpAdminString (SIZE(1..32))
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
       "The locally arbitrary, but unique identifier associated
	with this snmpProxyEntry."
   ::= { snmpProxyEntry 1 }

snmpProxyType OBJECT-TYPE
   SYNTAX      INTEGER {
		   read(1),
		   write(2),
		   trap(3),
		   inform(4)
	       }
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION
       "The type of message that may be forwarded using
	the translation parameters defined by this entry."
   ::= { snmpProxyEntry 2 }

snmpProxyContextEngineID OBJECT-TYPE
   SYNTAX      SnmpEngineID
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION
       "The contextEngineID contained in messages that
	may be forwarded using the translation parameters
	defined by this entry."
   ::= { snmpProxyEntry 3 }

snmpProxyContextName OBJECT-TYPE
   SYNTAX      SnmpAdminString
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION
       "The contextName contained in messages that may be
	forwarded using the translation parameters defined
	by this entry.

	This object is optional, and if not supported, the
	contextName contained in a message is ignored when
	selecting an entry in the snmpProxyTable."
   ::= { snmpProxyEntry 4 }

snmpProxyTargetParamsIn OBJECT-TYPE
   SYNTAX      SnmpAdminString
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION
       "This object selects an entry in the snmpTargetParamsTable.
	The selected entry is used to determine which row of the
	snmpProxyTable to use for forwarding received messages."
   ::= { snmpProxyEntry 5 }

snmpProxySingleTargetOut OBJECT-TYPE
   SYNTAX      SnmpAdminString
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION
       "This object selects a management target defined in the
	snmpTargetAddrTable (in the SNMP-TARGET-MIB).  The
	selected target is defined by an entry in the
	snmpTargetAddrTable whose index value (snmpTargetAddrName)
	is equal to this object.

	This object is only used when selection of a single
	target is required (i.e. when forwarding an incoming
	read or write request)."
   ::= { snmpProxyEntry 6 }

snmpProxyMultipleTargetOut OBJECT-TYPE
   SYNTAX      SnmpTagValue
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION
       "This object selects a set of management targets defined
	in the snmpTargetAddrTable (in the SNMP-TARGET-MIB).

	This object is only used when selection of multiple
	targets is required (i.e. when forwarding an incoming
	notification)."
   ::= { snmpProxyEntry 7 }

snmpProxyStorageType OBJECT-TYPE
   SYNTAX      StorageType
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION
       "The storage type of this conceptual row."
   DEFVAL { nonVolatile }
   ::= { snmpProxyEntry 8 }

snmpProxyRowStatus OBJECT-TYPE
   SYNTAX      RowStatus
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION
       "The status of this conceptual row.

	To create a row in this table, a manager must
	set this object to either createAndGo(4) or
	createAndWait(5).

	The following objects may not be modified while the
	value of this object is active(1):
	    - snmpProxyType
	    - snmpProxyContextEngineID
	    - snmpProxyContextName
	    - snmpProxyTargetParamsIn
	    - snmpProxySingleTargetOut
	    - snmpProxyMultipleTargetOut"
   ::= { snmpProxyEntry 9 }

--
--
-- Conformance information
--
--

snmpProxyCompliances OBJECT IDENTIFIER ::=
					{ snmpProxyConformance 1 }
snmpProxyGroups      OBJECT IDENTIFIER ::=
					{ snmpProxyConformance 2 }

--
--
-- Compliance statements
--
--

snmpProxyCompliance MODULE-COMPLIANCE
   STATUS      current
   DESCRIPTION
       "The compliance statement for SNMP entities which include
	a proxy forwarding application."
   MODULE SNMP-TARGET-MIB
       MANDATORY-GROUPS { snmpTargetBasicGroup,
			  snmpTargetResponseGroup }
   MODULE -- This Module
       MANDATORY-GROUPS { snmpProxyGroup }
   ::= { snmpProxyCompliances 1 }

snmpProxyGroup OBJECT-GROUP
   OBJECTS {
       snmpProxyType,
       snmpProxyContextEngineID,
       snmpProxyContextName,
       snmpProxyTargetParamsIn,
       snmpProxySingleTargetOut,
       snmpProxyMultipleTargetOut,
       snmpProxyStorageType,
       snmpProxyRowStatus
   }
   STATUS      current
   DESCRIPTION
       "A collection of objects providing remote configuration of
	management target translation parameters for use by
	proxy forwarder applications."
   ::= { snmpProxyGroups 3 }

END
