Definitions of Managed Objects for Extensible SNMP Agents May 14, 1997 Maria Greene Ascom Nexion greene@nexen.com Smitha Gudur (editor) BMC Software, Inc. sgudur@bmc.com Status of this Memo This document is an Internet-Draft. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its Areas, and its Working Groups. Note that other groups may also distribute working documents as Internet-Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference mate- rial or to cite them other than as a work in progress. To learn the current status of any Internet-Draft, please check the 1id-abstracts.txt listing contained in the Internet-Drafts Shadow Direc- tories on ds.internic.net (US East Coast), nic.nordu.net (Europe), ftp.isi.edu (US West Coast), or munnari.oz.au (Pacific Rim). Abstract This memo defines an experimental portion of the Management Infor- mation Base (MIB) for use with network management protocols in the Internet community. In particular, it describes objects managing SNMP agents that use the Agent Extensibility (AgentX) Protocol. This memo specifies a MIB module in a manner that is both compliant to the SNMPv2 SMI, and semantically identical to the peer SNMPv1 defini- tions. AgentX Working Group Expires November 1997 FORMFEED[Page 1] Internet Draft AgentX MIB 14 May 1997 This memo does not specify a standard for the Internet community. The SNMP Network Management Framework presently consists of three major components. They are: the SMI, described in RFC 1902 [1] - the mechanisms used for describing and naming objects for the purpose of management. the MIB-II, STD 17, RFC 1213 [2] - the core set of managed objects for the Internet suite of protocols. the protocol, RFC 1157 [3] and/or RFC 1905 [4], - the protocol for accessing managed objects. The Framework permits new objects to be defined for the purpose of experimentation and evaluation. Managed objects are accessed via a virtual information store, termed the Management Information Base or MIB. Objects in the MIB are defined using the subset of Abstract Syntax Notation One (ASN.1) defined in the SMI. In particular, each object type is named by an OBJECT IDEN- TIFIER, an administratively assigned name. The object type together with an object instance serves to uniquely identify a specific instanti- ation of the object. For human convenience, we often use a textual string, termed the descriptor, to also refer to the object type. AgentX Working Group Expires November 1997 FORMFEED[Page 2] Internet Draft AgentX MIB 14 May 1997 The SNMP Agent Extensibility Protocol (AgentX) is a protocol used to distribute the implementation of an SNMP agent amongst a single "mas- ter agent" and multiple "subagents". See [5] for details about the AgentX protocol. The goals of the AgentX MIB are: List the set of subagents that currently have logical sessions open with the master agent. Identify the subagent's type, vendor, transport address, AgentX protocol version and other characteristics. Identify the set of MIB objects each sub- agent implements, the context in which the objects are registered and the priority of the registration. Provide statistics about the protocol operation such as the number of packets to and from each subagent. Determine protocol operational parameters such as the timeout interval for responses from a subagent and the priority at which a subagent reg- isters a particular MIB region. Allow (but do not require) managers to be able to modify AgentX protocol operational parameters and to explic- itly close subagent sessions with the master agent. AgentX Working Group Expires November 1997 FORMFEED[Page 3] Internet Draft AgentX MIB 14 May 1997 AGENTX-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, experimental, Counter32, Unsigned32 FROM SNMPv2-SMI MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF DisplayString, TimeStamp FROM SNMPv2-TC; agentxMIB MODULE-IDENTITY LAST-UPDATED "9705141200Z" -- May 14, 1997 ORGANIZATION "IETF AgentX Working Group" CONTACT-INFO "Smitha Gudur sgudur@bmc.com Send comments to the AgentX working group: agentx@fv.com." DESCRIPTION "The MIB module for the SNMP Agent Extensibility Protocol (AgentX). This MIB module will be implemented by the master agent." -- For testing purposes only. Need to get an experimental id -- ::= { experimental 2001 } ::= { experimental XX } agentxObjects OBJECT IDENTIFIER ::= { agentxMIB 1 } agentxGeneral OBJECT IDENTIFIER ::= { agentxObjects 1 } -- -- Textual Conventions -- Utf8String ::= TEXTUAL-CONVENTION DISPLAY-HINT "255a" STATUS current DESCRIPTION "To facilitate internationalization, this TC represents information taken from the ISO/IEC IS 10646-1 character set, encoded as an octet string using the UTF-8 character encoding scheme described in RFC 2044 [8]. For strings in 7-bit US-ASCII, there is no impact since the UTF-8 representation is identical to the US-ASCII encoding." SYNTAX OCTET STRING (SIZE (0..255)) agentxDefaultTimeout OBJECT-TYPE SYNTAX INTEGER (0..255) UNITS "seconds" AgentX Working Group Expires November 1997 FORMFEED[Page 4] Internet Draft AgentX MIB 14 May 1997 MAX-ACCESS read-write STATUS current DESCRIPTION "The default length of time, in seconds, that the master agent should allow to elapse after dispatching a message to a subagent before it regards the subagent as not responding. This is a system-wide value that may be overridden by the values associated with a particular subagent (agentxSATimeout) or a particular registered MIB region (agentxRegTimeout)." DEFVAL { 5 } ::= { agentxGeneral 1 } agentxMasterAgentXVer OBJECT-TYPE SYNTAX INTEGER (1..256) MAX-ACCESS read-only STATUS current DESCRIPTION "The AgentX protocol version supported by this master agent. Current version is 1. Note that the master agent must allow registration of earlier version subagents." DEFVAL { 1 } ::= { agentxGeneral 2 } agentxMasterTransports OBJECT-TYPE -- For testing with a pre-v2c compiler -- SYNTAX BIT STRING { SYNTAX BITS { unixDomainSockets(0), tcp(1), udp(2), sharedMem(3), other(4) } MAX-ACCESS read-only STATUS current DESCRIPTION "The transports that the master agent supports." DEFVAL { { unixDomainSockets } } ::= { agentxGeneral 4 } -- -- The AgentX Subagent Group -- agentxSubagent OBJECT IDENTIFIER ::= { agentxObjects 2 } agentxSATableLastChange OBJECT-TYPE SYNTAX TimeStamp AgentX Working Group Expires November 1997 FORMFEED[Page 5] Internet Draft AgentX MIB 14 May 1997 MAX-ACCESS read-only STATUS current DESCRIPTION "The value of sysUpTime when the last row creation or deletion occurred in the agentxSubagentTable." ::= { agentxSubagent 1 } agentxSANumber OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The current number of entries in the agentxSubagentTable. Note that this may be smaller than the largest value of agentxSAIndex since index values are not reused when entries come and go from the agentxSubagentTable." ::= { agentxSubagent 2 } -- -- The AgentX Subagent Table -- agentxSubagentTable OBJECT-TYPE SYNTAX SEQUENCE OF AgentxSubagentEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table of AgentX subagents that have open sessions with the AgentX master agent." ::= { agentxSubagent 3 } agentxSubagentEntry OBJECT-TYPE SYNTAX AgentxSubagentEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Information about a single open session between the AgentX master agent and a subagent." INDEX { agentxSAIndex } ::= { agentxSubagentTable 1 } AgentxSubagentEntry ::= SEQUENCE { agentxSAIndex Unsigned32, agentxSAObjectID OBJECT IDENTIFIER, agentxSADescr Utf8String, agentxSAAdminStatus INTEGER, agentxSAOpenTime TimeStamp, agentxSAAgentXVer INTEGER, AgentX Working Group Expires November 1997 FORMFEED[Page 6] Internet Draft AgentX MIB 14 May 1997 agentxSATimeout INTEGER, agentxSATransportType INTEGER, agentxSATransportAddr OCTET STRING } agentxSAIndex OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS not-accessible STATUS current DESCRIPTION "A unique, small-integer index for the subagent's session. Note that if a subagent's session with the master agent is closed for any reason its index will not be re-used, therefore, the values of agentxSAIndex may not be contiguous and will not be the same for the same subagent across multiple sessions." ::= { agentxSubagentEntry 1 } agentxSAObjectID OBJECT-TYPE SYNTAX OBJECT IDENTIFIER MAX-ACCESS read-only STATUS current DESCRIPTION "This is analogous to sysObjectID defined in MIB-2 [2] and is taken from the o.id field of the agentx-Open-PDU." ::= { agentxSubagentEntry 2 } agentxSADescr OBJECT-TYPE SYNTAX Utf8String MAX-ACCESS read-only STATUS current DESCRIPTION "A textual description of the subagent. This is analogous to sysDescr defined in MIB-2 [2] and is taken from the o.descr field of the agentx-Open-PDU." ::= { agentxSubagentEntry 3 } agentxSAAdminStatus OBJECT-TYPE SYNTAX INTEGER { up(1), down(2) } MAX-ACCESS read-write STATUS current DESCRIPTION "The administrative (desired) status of the subagent. Setting the value to 'down(2)' closes the subagent (with c.reason set to 'reasonByManager'). When read, the value returned is always 'up(1)'." AgentX Working Group Expires November 1997 FORMFEED[Page 7] Internet Draft AgentX MIB 14 May 1997 DEFVAL { up } ::= { agentxSubagentEntry 4 } agentxSAOpenTime OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "The value of sysUpTime when this session was opened and, therefore, this entry was added to the table." ::= { agentxSubagentEntry 5 } agentxSAAgentXVer OBJECT-TYPE SYNTAX INTEGER (1..256) MAX-ACCESS read-only STATUS current DESCRIPTION "The version of the AgentX protocol supported by the subagent. This will be equal to or less than the value of agentxMasterAgentXVer." DEFVAL { 1 } ::= { agentxSubagentEntry 6 } agentxSATimeout OBJECT-TYPE SYNTAX INTEGER (0..255) MAX-ACCESS read-write STATUS current DESCRIPTION "The length of time, in seconds, that a master agent should allow to elapse after dispatching a message to this subagent 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 subagent-wide value that may be overridden by values associated with specific registered MIB regions (see agentxRegTimeout). The default value of '0' indicates that the master agent's default timeout value should be used (see agentxDefaultTimeout). Note that, if the agent supports writing of this object the new value will be used for the next agentx-Open-PDU the subagent sends." DEFVAL { 0 } ::= { agentxSubagentEntry 7 } agentxSATransportType OBJECT-TYPE SYNTAX INTEGER { unixDomainSockets(1), AgentX Working Group Expires November 1997 FORMFEED[Page 8] Internet Draft AgentX MIB 14 May 1997 tcp(2), udp(3), sharedMem(4), other(5) } MAX-ACCESS read-only STATUS current DESCRIPTION "The transport used for AgentX protocol messages between this subagent and the master agent." ::= { agentxSubagentEntry 8 } agentxSATransportAddr OBJECT-TYPE SYNTAX OCTET STRING MAX-ACCESS read-only STATUS current DESCRIPTION "The 'address' of the session this subagent has open with the master agent. Interpretation of this value depends on the value of agentxSATransportType." ::= { agentxSubagentEntry 9 } -- -- The AgentX Registration Table -- agentxRegistrationTable OBJECT-TYPE SYNTAX SEQUENCE OF AgentxRegistrationEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table of registered OBJECT IDENTIFIER regions. This is the table used to dispatch AgentX PDUs to the appropriate subagent based on the requested OIDs in the SNMP messages. Note that a subagent registration may be broken up into multiple entries in this table, as described in the AgentX Protocol specification, [5]." ::= { agentxObjects 3 } agentxRegistrationEntry OBJECT-TYPE SYNTAX AgentxRegistrationEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A single registered region. Regions are added by the master agent when subagents register and are removed from the table when the subagents unregister the region or their sessions are AgentX Working Group Expires November 1997 FORMFEED[Page 9] Internet Draft AgentX MIB 14 May 1997 closed. Note that the combination of agentxRegContext, agentxRegStart and agentxRegDispatchOrder will be unique and could have been used for indexing purposes." INDEX { agentxRegIndex } ::= { agentxRegistrationTable 1 } AgentxRegistrationEntry ::= SEQUENCE { agentxRegIndex Unsigned32, agentxRegContext OCTET STRING, agentxRegStart OBJECT IDENTIFIER, agentxRegEnd OBJECT IDENTIFIER, agentxRegPriority Unsigned32, agentxRegSAIndex Unsigned32, agentxRegTimeout INTEGER } agentxRegIndex OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS not-accessible STATUS current DESCRIPTION "An integer that uniquely identifies a registration entry." ::= { agentxRegistrationEntry 1 } agentxRegContext OBJECT-TYPE SYNTAX OCTET STRING MAX-ACCESS read-only STATUS current DESCRIPTION "The context in which the subagent supports the objects in this region. A zero-length context indicates the default context." ::= { agentxRegistrationEntry 2 } agentxRegStart OBJECT-TYPE SYNTAX OBJECT IDENTIFIER MAX-ACCESS read-only STATUS current DESCRIPTION "The starting OBJECT IDENTIFIER of this registration entry. The subagent identified by agentxRegSAIndex implements objects starting at this value (inclusive). Note that this value could identify an object type, an object instance, or a partial object instance identifier." ::= { agentxRegistrationEntry 3 } agentxRegEnd OBJECT-TYPE SYNTAX OBJECT IDENTIFIER MAX-ACCESS read-only AgentX Working Group Expires November 1997 FORMFEED[Page 10] Internet Draft AgentX MIB 14 May 1997 STATUS current DESCRIPTION "The ending OBJECT IDENTIFIER of this registration entry. The subagent identified by agentxRegSAIndex implements objects up to but not including this value. Note that this value could identify an object type, an object instance, or a partial object instance identifier." ::= { agentxRegistrationEntry 4 } -- -- -- --agentxRegDispatchOrder OBJECT-TYPE -- SYNTAX INTEGER (0..256) -- MAX-ACCESS read-only -- STATUS current -- DESCRIPTION -- "An indication of this range's order or precedence for -- dispatching purposes. This value will normally be 0 indicating -- that there is no duplicate OID registration for this range. If -- the value is anything but 0 then there is duplicate registration -- and the entry with the lowest value of agentxRegDispatchOrder -- will be the one selected." -- REFERENCE -- "Agent Extensibility (AgentX) Protocol Version 1, [5], section -- 7.1.4.1 Handling Duplicate OID Ranges." -- DEFVAL { 0 } -- ::= { agentxRegistrationEntry 5 } -- -- To support other subagents types that can be visible to the manager. -- agentxRegPriority OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-write STATUS current DESCRIPTION "The subagent's priority when exporting this OID range. Lower values have higher priority. Note that, if the agent supports writing of this object the new value will be used for subsequent agentx-Register-PDUs the subagent sends for this region. In other words, if the manager wishes to change the value operationally, she must set this value then set the corresponding agentxSAAdminStatus to 'down(2)' (as indicated by agentxRegSAIndex), which will close the subagent, after which is will automatically re-open the AgentX Working Group Expires November 1997 FORMFEED[Page 11] Internet Draft AgentX MIB 14 May 1997 session and re-register its OID ranges with the new priority." DEFVAL { 255 } ::= { agentxRegistrationEntry 5 } agentxRegSAIndex OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The value of agentxSAIndex for the subagent that registered this OID range." ::= { agentxRegistrationEntry 6 } agentxRegTimeout OBJECT-TYPE SYNTAX INTEGER (0..255) MAX-ACCESS read-write STATUS current DESCRIPTION "The timeout value, in seconds, for subagent responses to requests associated with this OID range. The value '0' indicates that default value (indicated by agentxSATimeout or agentxDefaultTimeout) is to be used. This value is taken from the r.timeout field of the agentx-Register-PDU. Note that, if the agent supports writing of this object the new value will be used for subsequent agentx-Register-PDUs the subagent sends for this region." DEFVAL { 0 } ::= { agentxRegistrationEntry 7 } -- -- The AgentX Statistics Group -- -- The statistics in this group are maintained by the Master Agent. -- -- Other stats have been removed. Support trap generation based -- on certain situations for duplicate registration. -- agentxStats OBJECT IDENTIFIER ::= { agentxObjects 4 } agentxRegisterDuplicate OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of agentx-Response-PDU messages sent by the master agent in response to incoming agentx-Register-PDU messages where AgentX Working Group Expires November 1997 FORMFEED[Page 12] Internet Draft AgentX MIB 14 May 1997 the res.error field was set to 'duplicateRegistration'." ::= { agentxStats 1 } -- -- Conformance Statements for the AgentX MIB -- agentxConformance OBJECT IDENTIFIER ::= { agentxMIB 2 } agentxMIBGroups OBJECT IDENTIFIER ::= { agentxConformance 1 } agentxMIBCompliances OBJECT IDENTIFIER ::= { agentxConformance 2 } 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 -- this module MANDATORY-GROUPS { agentxMIBGroup } OBJECT agentxDefaultTimeout MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT agentxSATimeout MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT agentxSAAdminStatus MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT agentxRegPriority MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT agentxRegTimeout MIN-ACCESS read-only DESCRIPTION "Write access is not required." ::= { agentxMIBCompliances 1 } AgentX Working Group Expires November 1997 FORMFEED[Page 13] Internet Draft AgentX MIB 14 May 1997 agentxMIBGroup OBJECT-GROUP OBJECTS { agentxDefaultTimeout, agentxMasterAgentXVer, agentxMasterTransports, agentxSATableLastChange, agentxSANumber, agentxSATimeout, agentxSAObjectID, agentxSADescr, agentxSAAdminStatus, agentxSAOpenTime, agentxSAAgentXVer, agentxSATransportType, agentxSATransportAddr, agentxRegContext, agentxRegStart, agentxRegEnd, agentxRegPriority, agentxRegSAIndex, agentxRegTimeout, agentxRegisterDuplicate } STATUS current DESCRIPTION "All accessible objects in the AgentX MIB." ::= { agentxMIBGroups 1 } END This document is a product of the IETF's AgentX Working Group. Special acknowledgement is made to: Maria Greene Ascom Nexion 289 Great Road Acton, MA 01720 Phone: (508) 266-4570 EMail: greene@nexen.com This MIB is an evolution of the Subagent MIB by Bert Wijnen (wijnen@vnet.ibm.com) which in turn was derived from the SMUX-MIB by Marshall Rose [6]. AgentX Working Group Expires November 1997 FORMFEED[Page 14] Internet Draft AgentX MIB 14 May 1997 SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, Structure of Management Information for Version 2 of the Simple Network Management Protocol (SNMPv2), RFC1902, SNMP Research,Inc., Cisco Systems, Inc., Dover Beach Consulting, Inc., International Network Services, January 1996. McCloghrie, K., and M. Rose, Editors, Management Information Base for Network Manage- ment of TCP/IP-based internets: MIB-II, STD 17, RFC 1213, Hughes LAN Systems, Performance Systems International, March 1991. Case, J., Fedor, M., Schoffstall, M., and J. Davin, Simple Network Man- agement Protocol, RFC 1157, SNMP Research, Performance Systems International, Performance Systems International, MIT Laboratory for Computer Science, May 1990. SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, Protocol Operations for Version 2 of the Simple Network Management Protocol (SNMPv2), RFC1905, SNMP Research,Inc., Cisco Systems, Inc., Dover Beach Con- sulting, Inc., International Network Services, January 1996. Daniele, M., Wijnen, B., Francisco, D., Agent Extensibility (AgentX) Protocol, Version 1, draft-ietf-agentx-ext-pro-01.txt, Digital Equipment Corporation, T.J. Watson Research Center, IBM Corp., Cisco Systems, November, 1996. Rose, M., SNMP MUX Protocol and MIB, RFC1227, Performance Systems International, Inc., May 1991. Wijnen, B., Carpenter, G., Curran, K., Sehgal, A., and G. Waters, Simple Network Management Protocol: Distributed Protocol Interface, Version 2.0, RFC 1592, T.J. Watson Research Center, IBM Corp., Bell Northern Research, Ltd., March 1994. F. Yergeau, UTF-8, a transformation format of Unicode and ISO 10646,, RFC 2044, October 1996. AgentX Working Group Expires November 1997 FORMFEED[Page 15] Internet Draft AgentX MIB 14 May 1997 Security issues are not discussed in this memo. Editor's Address: Smitha Gudur BMC Software, Inc. 1190 Saratoga Avenue, Suite 130 San Jose, CA 95129-3433 Phone: (408) 556-0720 EMail: sgudur@bmc.com AgentX Working Group Expires November 1997 FORMFEED[Page 16]