-- extracted from rfc2742.txt
-- at Tue Jan 25 07:08:37 2000

AGENTX-MIB DEFINITIONS ::= BEGIN

IMPORTS
        MODULE-IDENTITY,
        OBJECT-TYPE,
        Unsigned32,
        mib-2
                FROM SNMPv2-SMI
        SnmpAdminString
                FROM SNMP-FRAMEWORK-MIB
        MODULE-COMPLIANCE,
        OBJECT-GROUP
                FROM SNMPv2-CONF
        TEXTUAL-CONVENTION,
        TimeStamp,
        TruthValue,
        TDomain
                FROM SNMPv2-TC;

agentxMIB MODULE-IDENTITY
        LAST-UPDATED "200001100000Z"       -- Jan 10, 2000 12:00:00 AM
        ORGANIZATION "AgentX Working Group"
        CONTACT-INFO
               "WG-email:   agentx@dorothy.bmc.com
                Subscribe:  agentx-request@dorothy.bmc.com
                WG-email Archive:  ftp://ftp.peer.com/pub/agentx/archives
                FTP repository:  ftp://ftp.peer.com/pub/agentx
                http://www.ietf.org/html.charters/agentx-charter.html

                Chair:      Bob Natale
                            ACE*COMM Corporation
                Email:      bnatale@acecomm.com

                WG editor:  Mark Ellison
                            Ellison Software Consulting, Inc.
                Email:      ellison@world.std.com

                Co-author:  Lauren Heintz
                            Cisco Systems,
                EMail:      lheintz@cisco.com

                Co-author:  Smitha Gudur
                            Independent Consultant
                Email:      sgudur@hotmail.com

                "
        DESCRIPTION
               "This is the MIB module for the SNMP Agent Extensibility
                Protocol (AgentX).  This MIB module will be implemented by
                the master agent.
                "
        REVISION "200001100000Z"   -- Jan 10, 2000 12:00:00 AM
        DESCRIPTION
               "Initial version published as RFC 2742."
 -- 1.3.6.1.2.1.74 --  ::= { mib-2 74 }


-- Textual Conventions

AgentxTAddress ::= TEXTUAL-CONVENTION
        STATUS current
        DESCRIPTION
               "Denotes a transport service address.  This is identical to
                the TAddress textual convention (SNMPv2-SMI) except that
                zero-length values are permitted.
                "
        SYNTAX OCTET STRING (SIZE (0..255))


-- Administrative assignments

agentxObjects OBJECT IDENTIFIER 
 -- 1.3.6.1.2.1.74.1 --  ::= { agentxMIB 1 }

agentxGeneral OBJECT IDENTIFIER 
 -- 1.3.6.1.2.1.74.1.1 --  ::= { agentxObjects 1 }

agentxConnection OBJECT IDENTIFIER 
 -- 1.3.6.1.2.1.74.1.2 --  ::= { agentxObjects 2 }

agentxSession OBJECT IDENTIFIER 
 -- 1.3.6.1.2.1.74.1.3 --  ::= { agentxObjects 3 }

agentxRegistration OBJECT IDENTIFIER 
 -- 1.3.6.1.2.1.74.1.4 --  ::= { agentxObjects 4 }

agentxDefaultTimeout OBJECT-TYPE
        SYNTAX INTEGER (0..255)
        UNITS
               "seconds"
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
               "The default length of time, in seconds, that the master
                agent should allow to elapse after dispatching a message
                to a session before it regards the subagent as not
                responding.  This is a system-wide value that may
                override the timeout value associated with a particular
                session (agentxSessionTimeout) or a particular registered
                MIB region (agentxRegTimeout).  If the associated value of
                agentxSessionTimeout and agentxRegTimeout are zero, or
                impractical in accordance with implementation-specific
                procedure of the master agent, the value represented by
                this object will be the effective timeout value for the
                master agent to await a response to a dispatch from a
                given subagent.
                "
        DEFVAL { 5 }
 -- 1.3.6.1.2.1.74.1.1.1 --  ::= { agentxGeneral 1 }


agentxMasterAgentXVer OBJECT-TYPE
        SYNTAX INTEGER (1..255)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
               "The AgentX protocol version supported by this master agent.
                The current protocol version is 1.  Note that the master agent
                must also allow interaction with earlier version subagents.
                "
 -- 1.3.6.1.2.1.74.1.1.2 --  ::= { agentxGeneral 2 }


--      The AgentX Subagent Connection Group

agentxConnTableLastChange OBJECT-TYPE
        SYNTAX TimeStamp
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
               "The value of sysUpTime when the last row creation or deletion
                occurred in the agentxConnectionTable.
                "
 -- 1.3.6.1.2.1.74.1.2.1 --  ::= { agentxConnection 1 }


agentxConnectionTable OBJECT-TYPE
        SYNTAX SEQUENCE OF AgentxConnectionEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
               "The agentxConnectionTable tracks all current AgentX transport
                connections.  There may be zero, one, or more AgentX sessions
                carried on a given AgentX connection.
                "
 -- 1.3.6.1.2.1.74.1.2.2 --  ::= { agentxConnection 2 }


agentxConnectionEntry OBJECT-TYPE
        SYNTAX AgentxConnectionEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
               "An agentxConnectionEntry contains information describing a
                single AgentX transport connection.  A connection may be
                used to support zero or more AgentX sessions.  An entry is
                created when a new transport connection is established,
                and is destroyed when the transport connection is terminated.
                "
        INDEX {
                agentxConnIndex }
 -- 1.3.6.1.2.1.74.1.2.2.1 --  ::= { agentxConnectionTable 1 }


AgentxConnectionEntry ::= SEQUENCE {
        agentxConnIndex            Unsigned32,
        agentxConnOpenTime         TimeStamp,
        agentxConnTransportDomain  TDomain,
        agentxConnTransportAddress AgentxTAddress }


agentxConnIndex OBJECT-TYPE
        SYNTAX Unsigned32 (1..4294967295)
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
               "agentxConnIndex contains the value that uniquely identifies
                an open transport connection used by this master agent
                to provide AgentX service.  Values of this index should
                not be re-used.  The value assigned to a given transport
                connection is constant for the lifetime of that connection.
                "
 -- 1.3.6.1.2.1.74.1.2.2.1.1 --  ::= { agentxConnectionEntry 1 }


agentxConnOpenTime OBJECT-TYPE
        SYNTAX TimeStamp
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
               "The value of sysUpTime when this connection was established
                and, therefore, its value when this entry was added to the table.
                "
 -- 1.3.6.1.2.1.74.1.2.2.1.2 --  ::= { agentxConnectionEntry 2 }


agentxConnTransportDomain OBJECT-TYPE
        SYNTAX TDomain
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
               "The transport protocol in use for this connection to the
                subagent.
                "
 -- 1.3.6.1.2.1.74.1.2.2.1.3 --  ::= { agentxConnectionEntry 3 }


agentxConnTransportAddress OBJECT-TYPE
        SYNTAX AgentxTAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
               "The transport address of the remote (subagent) end of this
                connection to the master agent.  This object may be zero-length
                for unix-domain sockets (and possibly other types of transport
                addresses) since the subagent need not bind a filename to its
                local socket.
                "
 -- 1.3.6.1.2.1.74.1.2.2.1.4 --  ::= { agentxConnectionEntry 4 }


-- The AgentX Subagent Session Group

agentxSessionTableLastChange OBJECT-TYPE
        SYNTAX TimeStamp
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
               "The value of sysUpTime when the last row creation or deletion
                occurred in the agentxSessionTable.
                "
 -- 1.3.6.1.2.1.74.1.3.1 --  ::= { agentxSession 1 }


agentxSessionTable OBJECT-TYPE
        SYNTAX SEQUENCE OF AgentxSessionEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
               "A table of AgentX subagent sessions currently in effect.
                "
 -- 1.3.6.1.2.1.74.1.3.2 --  ::= { agentxSession 2 }


agentxSessionEntry OBJECT-TYPE
        SYNTAX AgentxSessionEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
               "Information about a single open session between the AgentX
                master agent and a subagent is contained in this entry.  An
                entry is created when a new session is successfully established
                and is destroyed either when the subagent transport connection
                has terminated or when the subagent session is closed.
                "
        INDEX {
                agentxConnIndex,
                agentxSessionIndex }
 -- 1.3.6.1.2.1.74.1.3.2.1 --  ::= { agentxSessionTable 1 }


AgentxSessionEntry ::= SEQUENCE {
        agentxSessionIndex       Unsigned32,
        agentxSessionObjectID    OBJECT IDENTIFIER,
        agentxSessionDescr       SnmpAdminString,
        agentxSessionAdminStatus INTEGER,
        agentxSessionOpenTime    TimeStamp,
        agentxSessionAgentXVer   INTEGER,
        agentxSessionTimeout     INTEGER }


agentxSessionIndex OBJECT-TYPE
        SYNTAX Unsigned32 (0..4294967295)
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
               "A unique index for the subagent session.  It is the same as
                h.sessionID defined in the agentx header.  Note that if
                a subagent's session with the master agent is closed for
                any reason its index should not be re-used.
                A value of zero(0) is specifically allowed in order
                to be compatible with the definition of h.sessionId.
                "
 -- 1.3.6.1.2.1.74.1.3.2.1.1 --  ::= { agentxSessionEntry 1 }


agentxSessionObjectID OBJECT-TYPE
        SYNTAX OBJECT IDENTIFIER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
               "This is taken from the o.id field of the agentx-Open-PDU.
                This attribute will report a value of '0.0' for subagents
                not supporting the notion of an AgentX session object
                identifier.
                "
 -- 1.3.6.1.2.1.74.1.3.2.1.2 --  ::= { agentxSessionEntry 2 }


agentxSessionDescr OBJECT-TYPE
        SYNTAX SnmpAdminString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
               "A textual description of the session.  This is analogous to
                sysDescr defined in the SNMPv2-MIB in RFC 1907 [19] and is
                taken from the o.descr field of the agentx-Open-PDU.
                This attribute will report a zero-length string value for
                subagents not supporting the notion of a session description.
                "
 -- 1.3.6.1.2.1.74.1.3.2.1.3 --  ::= { agentxSessionEntry 3 }


agentxSessionAdminStatus OBJECT-TYPE
        SYNTAX INTEGER {
                        up(1),
                        down(2) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
               "The administrative (desired) status of the session.  Setting
                the value to 'down(2)' closes the subagent session (with c.reason
                set to 'reasonByManager').
                "
 -- 1.3.6.1.2.1.74.1.3.2.1.4 --  ::= { agentxSessionEntry 4 }


agentxSessionOpenTime OBJECT-TYPE
        SYNTAX TimeStamp
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
               "The value of sysUpTime when this session was opened and,
                therefore, its value when this entry was added to the table.
                "
 -- 1.3.6.1.2.1.74.1.3.2.1.5 --  ::= { agentxSessionEntry 5 }


agentxSessionAgentXVer OBJECT-TYPE
        SYNTAX INTEGER (1..255)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
               "The version of the AgentX protocol supported by the
                session.  This must be less than or equal to the value of
                agentxMasterAgentXVer.
                "
 -- 1.3.6.1.2.1.74.1.3.2.1.6 --  ::= { agentxSessionEntry 6 }


agentxSessionTimeout OBJECT-TYPE
        SYNTAX INTEGER (0..255)
        UNITS
               "seconds"
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
               "The length of time, in seconds, that a master agent should
                allow to elapse after dispatching a message to this session
                before it regards the subagent as not responding.  This value
                is taken from the o.timeout field of the agentx-Open-PDU.
                This is a session-specific value that may be overridden by
                values associated with the specific registered MIB regions
                (see agentxRegTimeout). A value of zero(0) indicates that
                the master agent's default timeout value should be used
                (see agentxDefaultTimeout).
                "
 -- 1.3.6.1.2.1.74.1.3.2.1.7 --  ::= { agentxSessionEntry 7 }


-- The AgentX Registration Group

agentxRegistrationTableLastChange OBJECT-TYPE
        SYNTAX TimeStamp
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
               "The value of sysUpTime when the last row creation or deletion
                occurred in the agentxRegistrationTable.
                "
 -- 1.3.6.1.2.1.74.1.4.1 --  ::= { agentxRegistration 1 }


agentxRegistrationTable OBJECT-TYPE
        SYNTAX SEQUENCE OF AgentxRegistrationEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
               "A table of registered regions.
                "
 -- 1.3.6.1.2.1.74.1.4.2 --  ::= { agentxRegistration 2 }


agentxRegistrationEntry OBJECT-TYPE
        SYNTAX AgentxRegistrationEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
               "Contains information for a single registered region.  An
                entry is created when a session  successfully registers a
                region and is destroyed for any of three reasons: this region
                is unregistered by the session, the session is closed,
                or the subagent connection is closed.
                "
        INDEX {
                agentxConnIndex,
                agentxSessionIndex,
                agentxRegIndex }
 -- 1.3.6.1.2.1.74.1.4.2.1 --  ::= { agentxRegistrationTable 1 }


AgentxRegistrationEntry ::= SEQUENCE {
        agentxRegIndex      Unsigned32,
        agentxRegContext    OCTET STRING,
        agentxRegStart      OBJECT IDENTIFIER,
        agentxRegRangeSubId Unsigned32,
        agentxRegUpperBound Unsigned32,
        agentxRegPriority   Unsigned32,
        agentxRegTimeout    INTEGER,
        agentxRegInstance   TruthValue }


agentxRegIndex OBJECT-TYPE
        SYNTAX Unsigned32 (1..4294967295)
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
               "agentxRegIndex uniquely identifies a registration entry.
                This value is constant for the lifetime of an entry.
                "
 -- 1.3.6.1.2.1.74.1.4.2.1.1 --  ::= { agentxRegistrationEntry 1 }


agentxRegContext OBJECT-TYPE
        SYNTAX OCTET STRING
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
               "The context in which the session supports the objects in this
                region.  A zero-length context indicates the default context.
                "
 -- 1.3.6.1.2.1.74.1.4.2.1.2 --  ::= { agentxRegistrationEntry 2 }


agentxRegStart OBJECT-TYPE
        SYNTAX OBJECT IDENTIFIER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
               "The starting OBJECT IDENTIFIER of this registration entry.  The
                session identified by agentxSessionIndex implements objects
                starting at this value (inclusive).  Note that this value could
                identify an object type, an object instance, or a partial object
                instance.
                "
 -- 1.3.6.1.2.1.74.1.4.2.1.3 --  ::= { agentxRegistrationEntry 3 }


agentxRegRangeSubId OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
               "agentxRegRangeSubId is used to specify the range.  This is
                taken from r.region_subid in the registration PDU.  If the value
                of this object is zero, no range is specified.  If it is non-zero,
                it identifies the `nth' sub-identifier in r.region for which
                this entry's agentxRegUpperBound value is substituted in the
                OID for purposes of defining the region's upper bound.
                "
 -- 1.3.6.1.2.1.74.1.4.2.1.4 --  ::= { agentxRegistrationEntry 4 }


agentxRegUpperBound OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
               "agentxRegUpperBound represents the upper-bound sub-identifier in
                a registration.  This is taken from the r.upper_bound in the
                registration PDU.  If agentxRegRangeSubid (r.region_subid) is
                zero, this value is also zero and is not used to define an upper
                bound for this registration.
                "
 -- 1.3.6.1.2.1.74.1.4.2.1.5 --  ::= { agentxRegistrationEntry 5 }


agentxRegPriority OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
               "The registration priority.  Lower values have higher priority.
                This value is taken from r.priority in the register PDU.
                Sessions should use the value of 127 for r.priority if a
                default value is desired.
                "
 -- 1.3.6.1.2.1.74.1.4.2.1.6 --  ::= { agentxRegistrationEntry 6 }


agentxRegTimeout OBJECT-TYPE
        SYNTAX INTEGER (0..255)
        UNITS
               "seconds"
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
               "The timeout value, in seconds, for responses to
                requests associated with this registered MIB region.
                A value of zero(0) indicates the default value (indicated
                by by agentxSessionTimeout or agentxDefaultTimeout) is to
                be used.  This value is taken from the r.timeout field of
                the agentx-Register-PDU.
                "
 -- 1.3.6.1.2.1.74.1.4.2.1.7 --  ::= { agentxRegistrationEntry 7 }


agentxRegInstance OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
               "The value of agentxRegInstance is `true' for
                registrations for which the INSTANCE_REGISTRATION
                was set, and is `false' for all other registrations.
                "
 -- 1.3.6.1.2.1.74.1.4.2.1.8 --  ::= { agentxRegistrationEntry 8 }


-- Conformance Statements for AgentX

agentxConformance OBJECT IDENTIFIER 
 -- 1.3.6.1.2.1.74.2 --  ::= { agentxMIB 2 }

agentxMIBGroups OBJECT IDENTIFIER 
 -- 1.3.6.1.2.1.74.2.1 --  ::= { agentxConformance 1 }

agentxMIBCompliances OBJECT IDENTIFIER 
 -- 1.3.6.1.2.1.74.2.2 --  ::= { agentxConformance 2 }


-- Compliance Statements for AgentX

agentxMIBCompliance MODULE-COMPLIANCE
        STATUS current
        DESCRIPTION
               "The compliance statement for SNMP entities that implement the
                AgentX protocol.  Note that a compliant agent can implement all
                objects in this MIB module as read-only.
                "

        MODULE 
        MANDATORY-GROUPS {
                        agentxMIBGroup }

        OBJECT agentxSessionAdminStatus
          MIN-ACCESS read-only
          DESCRIPTION 
               "Write access is not required.
                "
 -- 1.3.6.1.2.1.74.2.2.1 --  ::= { agentxMIBCompliances 1 }

agentxMIBGroup OBJECT-GROUP
        OBJECTS {
                agentxDefaultTimeout,
                agentxMasterAgentXVer,
                agentxConnTableLastChange,
                agentxConnOpenTime,
                agentxConnTransportDomain,
                agentxConnTransportAddress,
                agentxSessionTableLastChange,
                agentxSessionTimeout,
                agentxSessionObjectID,
                agentxSessionDescr,
                agentxSessionAdminStatus,
                agentxSessionOpenTime,
                agentxSessionAgentXVer,
                agentxRegistrationTableLastChange,
                agentxRegContext,
                agentxRegStart,
                agentxRegRangeSubId,
                agentxRegUpperBound,
                agentxRegPriority,
                agentxRegTimeout,
                agentxRegInstance }
        STATUS current
        DESCRIPTION
               "All accessible objects in the AgentX MIB.
                "
 -- 1.3.6.1.2.1.74.2.1.1 --  ::= { agentxMIBGroups 1 }

END
-- 
--    Copyright (C) The Internet Society (2000).  All Rights Reserved.
-- 
--    This document and translations of it may be copied and furnished to
--    others, and derivative works that comment on or otherwise explain it
--    or assist in its implementation may be prepared, copied, published
--    and distributed, in whole or in part, without restriction of any
--    kind, provided that the above copyright notice and this paragraph are
--    included on all such copies and derivative works.  However, this
--    document itself may not be modified in any way, such as by removing
--    the copyright notice or references to the Internet Society or other
--    Internet organizations, except as needed for the purpose of
--    developing Internet standards in which case the procedures for
--    copyrights defined in the Internet Standards process must be
--    followed, or as required to translate it into languages other than
--    English.
-- 
--    The limited permissions granted above are perpetual and will not be
--    revoked by the Internet Society or its successors or assigns.
-- 
--    This document and the information contained herein is provided on an
--    "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
--    TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
--    BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
--    HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
--    MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
--