netconfcentral logo

AGENTX-MIB.yang



   module AGENTX-MIB {

      yang-version 1;

      namespace
         "urn:ietf:params:xml:ns:yang:smiv2:AGENTX-MIB";

      prefix "agentx-mib";

      import SNMP-FRAMEWORK-MIB {
         prefix "snmp-framework";
      }
      import SNMPv2-TC {
         prefix "smiv2";
      }
      import yang-smi {
         prefix "smi";
      }
      import ietf-yang-types {
         prefix "yang";
      }

      organization "AgentX Working Group";

      contact
         "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 "2000-01-10" {
         description "Initial version published as RFC 2742.";
      }


      typedef AgentxTAddress {
         type binary {
            length "0..255";
         }
         description
            "Denotes a transport service address.  This is identical to
            the TAddress textual convention (SNMPv2-SMI) except that
            zero-length values are permitted.";
      }

      container agentxGeneral {
         leaf agentxDefaultTimeout {
            type int32 {
               range "0..255";
            }
            units "seconds";
            config "false";
            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.";
            smi:default "5";
            smi:oid "1.3.6.1.2.1.74.1.1.1";
         }

         leaf agentxMasterAgentXVer {
            type int32 {
               range "1..255";
            }
            config "false";
            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.";
            smi:oid "1.3.6.1.2.1.74.1.1.2";
         }
         smi:oid "1.3.6.1.2.1.74.1.1";
      }  // container agentxGeneral

      container agentxConnection {
         leaf agentxConnTableLastChange {
            type yang:timestamp;
            config "false";
            description
               "The value of sysUpTime when the last row creation or deletion
               occurred in the agentxConnectionTable.";
            smi:oid "1.3.6.1.2.1.74.1.2.1";
         }

         list agentxConnectionEntry {
            key "agentxConnIndex";
            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.";
            leaf agentxConnIndex {
               type uint32 {
                  range "1..4294967295";
               }
               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.";
               smi:oid "1.3.6.1.2.1.74.1.2.2.1.1";
            }

            leaf agentxConnOpenTime {
               type yang:timestamp;
               config "false";
               description
                  "The value of sysUpTime when this connection was established
                  and, therefore, its value when this entry was added to the table.";
               smi:oid "1.3.6.1.2.1.74.1.2.2.1.2";
            }

            leaf agentxConnTransportDomain {
               type smiv2:TDomain;
               config "false";
               description
                  "The transport protocol in use for this connection to the
                  subagent.";
               smi:oid "1.3.6.1.2.1.74.1.2.2.1.3";
            }

            leaf agentxConnTransportAddress {
               type AgentxTAddress;
               config "false";
               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.";
               smi:oid "1.3.6.1.2.1.74.1.2.2.1.4";
            }
            smi:oid "1.3.6.1.2.1.74.1.2.2.1";
         }  // list agentxConnectionEntry
         smi:oid "1.3.6.1.2.1.74.1.2";
      }  // container agentxConnection

      container agentxSession {
         leaf agentxSessionTableLastChange {
            type yang:timestamp;
            config "false";
            description
               "The value of sysUpTime when the last row creation or deletion
               occurred in the agentxSessionTable.";
            smi:oid "1.3.6.1.2.1.74.1.3.1";
         }

         list agentxSessionEntry {
            key "agentxConnIndex agentxSessionIndex";
            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.";
            leaf agentxConnIndex {
               type leafref {
                  path
                     "/agentx-mib:agentxConnection/agentx-mib:agentxConnectionEntry/agentx-mib:agentxConnIndex";
               }
               description "Automagically generated leafref leaf.";
            }

            leaf agentxSessionIndex {
               type uint32 {
                  range "0..4294967295";
               }
               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.";
               smi:oid "1.3.6.1.2.1.74.1.3.2.1.1";
            }

            leaf agentxSessionObjectID {
               type yang:object-identifier;
               config "false";
               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.";
               smi:oid "1.3.6.1.2.1.74.1.3.2.1.2";
            }

            leaf agentxSessionDescr {
               type snmp-framework:SnmpAdminString;
               config "false";
               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.";
               smi:oid "1.3.6.1.2.1.74.1.3.2.1.3";
            }

            leaf agentxSessionAdminStatus {
               type enumeration {
                  enum "up" {
                     value 1;
                  }
                  enum "down" {
                     value 2;
                  }
               }
               description
                  "The administrative (desired) status of the session.  Setting
                  the value to 'down(2)' closes the subagent session (with c.reason
                  set to 'reasonByManager').";
               smi:oid "1.3.6.1.2.1.74.1.3.2.1.4";
            }

            leaf agentxSessionOpenTime {
               type yang:timestamp;
               config "false";
               description
                  "The value of sysUpTime when this session was opened and,
                  therefore, its value when this entry was added to the table.";
               smi:oid "1.3.6.1.2.1.74.1.3.2.1.5";
            }

            leaf agentxSessionAgentXVer {
               type int32 {
                  range "1..255";
               }
               config "false";
               description
                  "The version of the AgentX protocol supported by the
                  session.  This must be less than or equal to the value of
                  agentxMasterAgentXVer.";
               smi:oid "1.3.6.1.2.1.74.1.3.2.1.6";
            }

            leaf agentxSessionTimeout {
               type int32 {
                  range "0..255";
               }
               units "seconds";
               config "false";
               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).";
               smi:oid "1.3.6.1.2.1.74.1.3.2.1.7";
            }
            smi:oid "1.3.6.1.2.1.74.1.3.2.1";
         }  // list agentxSessionEntry
         smi:oid "1.3.6.1.2.1.74.1.3";
      }  // container agentxSession

      container agentxRegistration {
         leaf agentxRegistrationTableLastChange {
            type yang:timestamp;
            config "false";
            description
               "The value of sysUpTime when the last row creation or deletion
               occurred in the agentxRegistrationTable.";
            smi:oid "1.3.6.1.2.1.74.1.4.1";
         }

         list agentxRegistrationEntry {
            key "agentxConnIndex agentxSessionIndex agentxRegIndex";
            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.";
            leaf agentxConnIndex {
               type leafref {
                  path
                     "/agentx-mib:agentxConnection/agentx-mib:agentxConnectionEntry/agentx-mib:agentxConnIndex";
               }
               description "Automagically generated leafref leaf.";
            }

            leaf agentxSessionIndex {
               type leafref {
                  path
                     "/agentx-mib:agentxSession/agentx-mib:agentxSessionEntry/agentx-mib:agentxSessionIndex";
               }
               description "Automagically generated leafref leaf.";
            }

            leaf agentxRegIndex {
               type uint32 {
                  range "1..4294967295";
               }
               description
                  "agentxRegIndex uniquely identifies a registration entry.
                  This value is constant for the lifetime of an entry.";
               smi:oid "1.3.6.1.2.1.74.1.4.2.1.1";
            }

            leaf agentxRegContext {
               type binary;
               config "false";
               description
                  "The context in which the session supports the objects in this
                  region.  A zero-length context indicates the default context.";
               smi:oid "1.3.6.1.2.1.74.1.4.2.1.2";
            }

            leaf agentxRegStart {
               type yang:object-identifier;
               config "false";
               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.";
               smi:oid "1.3.6.1.2.1.74.1.4.2.1.3";
            }

            leaf agentxRegRangeSubId {
               type uint32;
               config "false";
               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.";
               smi:oid "1.3.6.1.2.1.74.1.4.2.1.4";
            }

            leaf agentxRegUpperBound {
               type uint32;
               config "false";
               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.";
               smi:oid "1.3.6.1.2.1.74.1.4.2.1.5";
            }

            leaf agentxRegPriority {
               type uint32;
               config "false";
               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.";
               smi:oid "1.3.6.1.2.1.74.1.4.2.1.6";
            }

            leaf agentxRegTimeout {
               type int32 {
                  range "0..255";
               }
               units "seconds";
               config "false";
               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.";
               smi:oid "1.3.6.1.2.1.74.1.4.2.1.7";
            }

            leaf agentxRegInstance {
               type smiv2:TruthValue;
               config "false";
               description
                  "The value of agentxRegInstance is `true' for
                  registrations for which the INSTANCE_REGISTRATION
                  was set, and is `false' for all other registrations.";
               smi:oid "1.3.6.1.2.1.74.1.4.2.1.8";
            }
            smi:oid "1.3.6.1.2.1.74.1.4.2.1";
         }  // list agentxRegistrationEntry
         smi:oid "1.3.6.1.2.1.74.1.4";
      }  // container agentxRegistration
   }  // module AGENTX-MIB