Management Information Base
                          for Version 2 of the
              Simple Network Management Protocol (SNMPv2)

                            1 November 1994

                             19 March 1995                                |

                    draft-ietf-snmpv2-mib-ds-01.txt                       |

                            Jeffrey D. Case
                          SNMP Research, Inc.
                             case@snmp.com

                            Keith McCloghrie
                          Cisco Systems, Inc.
                             kzm@cisco.com

                            Marshall T. Rose
                      Dover Beach Consulting, Inc.
                         mrose@dbc.mtview.ca.us

                           Steven Waldbusser
                       Carnegie Mellon University
                           waldbusser@cmu.edu

                     <draft-ietf-snmpv2-mib-ds-00.txt>

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 material
or to cite them other than as ``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
Directories on ds.internic.net (US East Coast), nic.nordu.net (Europe),

ftp.isi.edu (US West Coast), or munnari.oz.au (Pacific Rim).

1.  Introduction

A management system contains: several (potentially many) nodes, each
with a processing entity, termed an agent, which has access to
management instrumentation; at least one management station; and, a
management protocol, used to convey management information between the
agents and management stations.  Operations of the protocol are carried
out under an administrative framework which defines authentication,
authorization, access control, and privacy policies.

Management stations execute management applications which monitor and
control managed elements.  Managed elements are devices such as hosts,
routers, terminal servers, etc., which are monitored and controlled via
access to their management information.

Management information is viewed as a collection of managed objects,
residing in a virtual information store, termed the Management
Information Base (MIB).  Collections of related objects are defined in
MIB modules.  These modules are written using a subset of OSI's Abstract
Syntax Notation One (ASN.1) [1], termed the Structure of Management
Information (SMI) [2].

The management protocol, SNMPv2 [3], provides for the exchange of
messages which convey management information between the agents and the
management stations.  It is the purpose of this document to define
managed objects which describe the behavior of a SNMPv2 entity.

1.1.  A Note on Terminology

For the purpose of exposition, the original Internet-standard Network
Management Framework, as described in RFCs 1155, 1157, and 1212, is
termed the SNMP version 1 framework (SNMPv1).  The current framework is
termed the SNMP version 2 framework (SNMPv2).

1.2.  Change Log

For the 19 March version:                                                 +

-    The changes adopted by the SNMPv2 Working Group.                     +

For the 1 November version:

-    recast RFC 1450 into an Internet-Draft,

-    fixed typos,

-    fixed syntax of snmpORIndex,

-    removed ObjectName from IMPORTS clause,

-    removed definitions of linkUp and linkDown notifications since they
     are defined in RFC 1573,

-    referenced definition of egpNeighborLoss notification (in RFC
     1213), in order to remove the last dependency on a MIB defined
     using SNMPv1's SMI,

-    included the system group from MIB-II.

2.  Definitions

SNMPv2-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
    TimeTicks, Counter32, snmpModules, mib-2
        FROM SNMPv2-SMI                                                   |
    TruthValue, DisplayString, TestAndIncr, TimeStamp
        FROM SNMPv2-TC                                                    |
    MODULE-COMPLIANCE, OBJECT-GROUP
        FROM SNMPv2-CONF
    partyEntry
        FROM SNMPv2-PARTY-MIB;                                            |

snmpMIB MODULE-IDENTITY
    LAST-UPDATED "9411010000Z" "9503190000Z"                                            |
    ORGANIZATION "IETF SNMPv2 Working Group"
    CONTACT-INFO
            "        Marshall T. Rose

             Postal: Dover Beach Consulting, Inc.
                     420 Whisman Court
                     Mountain View, CA  94043-2186
                     US

                Tel: +1 415 968 1052
                Fax: +1 415 968 2510

             E-mail: mrose@dbc.mtview.ca.us"
    DESCRIPTION
            "The MIB module for SNMPv2 entities."
    REVISION      "9104300000Z"                                           +
    DESCRIPTION                                                           +
            "The initial revision of this MIB module was published as     +
            RFC 1450."                                                    +
    ::= { snmpModules 1 }

snmpMIBObjects OBJECT IDENTIFIER ::= { snmpMIB 1 }

-- the System group
--
-- a collection of objects common to all managed systems.
-- The system group must be present in every SNMPv2 context.              +

system   OBJECT IDENTIFIER ::= { mib-2 1 }

sysDescr OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..255))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "A textual description of the entity.  This value should
            include the full name and version identification of the
            system's hardware type, software operating-system, and
            networking software."
    ::= { system 1 }

sysObjectID OBJECT-TYPE
    SYNTAX      OBJECT IDENTIFIER
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The vendor's authoritative identification of the network
            management subsystem contained in the entity.  This value is
            allocated within the SMI enterprises subtree (1.3.6.1.4.1)
            and provides an easy and unambiguous means for determining
            `what kind of box' is being managed.  For example, if vendor
            `Flintstones, Inc.' was assigned the subtree
            1.3.6.1.4.1.4242, it could assign the identifier
            1.3.6.1.4.1.4242.1.1 to its `Fred Router'."
    ::= { system 2 }

sysUpTime OBJECT-TYPE
    SYNTAX      TimeTicks
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The time (in hundredths of a second) since the network
            management portion of the system was last re-initialized."
    ::= { system 3 }

sysContact OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..255))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "The textual identification of the contact person for this
            managed node, together with information on how to contact
            this person.  If no contact information is known, the value
            is the zero-length string."
    ::= { system 4 }

sysName OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..255))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "An administratively-assigned name for this managed node.
            By convention, this is the node's fully-qualified domain
            name.  If the name is unknown, the value is the zero-length
            string."
    ::= { system 5 }

sysLocation OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..255))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The physical location of this node (e.g., `telephone
            closet, 3rd floor').  If the location is unknown, the value
            is the zero-length string."
    ::= { system 6 }

sysServices OBJECT-TYPE
    SYNTAX      INTEGER (0..127)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "A value which indicates the set of services that this
            entity may potentially offers.  The value is a sum.  This
            sum initially takes the value zero, Then, for each layer, L,
            in the range 1 through 7, that this node performs
            transactions for, 2 raised to (L - 1) is added to the sum.
            For example, a node which performs only routing functions
            would have a value of 4 (2^(3-1)).  In contrast, a node
            which is a host offering application services would have a
            value of 72 (2^(4-1) + 2^(7-1)).  Note that in the context
            of the Internet suite of protocols, values should be
            calculated accordingly:

                 layer      functionality                                 |
                   1        physical (e.g., repeaters)                    |
                   2        datalink/subnetwork (e.g., bridges)           |
                   3        internet (e.g., supports the IP)              |
                   4        end-to-end  (e.g., supports the TCP)          |
                   7        applications (e.g., supports the SMTP)        |

            For systems including OSI protocols, layers 5 and 6 may also
            be counted."
    ::= { system 7 }

-- the SNMPv2 statistics group object resource information                                            +
--                                                                        +
-- a collection of objects providing basic instrumentation of
-- which describe the SNMPv2 entity.

-- A Case diagram[4] relating these objects is:
--
--  \v/   transport service
--   |
-- ==+==  snmpStatsPackets
--   |
--   +==> snmpStats30Something
--   |
--   +==> snmpStatsEncodingErrors
--   |
--   +==> snmpStatsUnknownDstParties
--   |
--   +==> snmpStatsDstPartyMismatches
--   |
--   +==> snmpStatsUnknownSrcParties
--   |
--   +==> snmpStatsBadAuths
--   |
--   +==> snmpStatsNotInLifetimes
--   |
--   +==> snmpStatsWrongDigestValues
--   |
--   +==> snmpStatsUnknownContexts
--   |
--   +==> snmpStatsBadOperations
--   |
--   +==> snmpStatsSilentDrops entity's             +
--   | (statically and dynamically configurable) support of                   +
-- ===== sink

snmpStats      OBJECT IDENTIFIER ::= { snmpMIBObjects 1 }

snmpStatsPackets various MIB modules.                                                   +

sysORLastChange OBJECT-TYPE                                               +
    SYNTAX     Counter32     TimeStamp                                                  +
    MAX-ACCESS read-only                                                  +
    STATUS     current                                                    +
    DESCRIPTION                                                           +
            "The total number value of packets received by sysUpTime at the SNMPv2 entity
            from time of the transport service."
    REFERENCE
            "Derived from RFC1213-MIB.snmpInPkts." most recent        +
            change in state or value of any instance of sysORID."         +
    ::= { snmpStats 1 system 8 }

snmpStats30Something                                                      +

sysORTable OBJECT-TYPE                                                    +
    SYNTAX     Counter32     SEQUENCE OF SysOREntry                                     +
    MAX-ACCESS read-only not-accessible                                             +
    STATUS     current                                                    +
    DESCRIPTION                                                           +
            "The total number (conceptual) table listing the capabilities of packets which had the       +
            local SNMPv2 entity acting in an initial octet agent role with
            a value of 30 hexadecimal received by a respect to   +
            various MIB modules.  SNMPv2 entity which
            does not entities having dynamically-     +
            configurable support SNMPv1.  (Such packets are possibly
            misdirected SNMPv1 Messages.)"
    REFERENCE
            "Derived from RFC1213-MIB.snmpInASNParseErrs." of MIB modules will have a               +
            dynamically-varying number of conceptual rows."               +
    ::= { snmpStats 2 system 9 }

snmpStatsEncodingErrors                                                      +

sysOREntry OBJECT-TYPE                                                    +
    SYNTAX     Counter32     SysOREntry                                                 +
    MAX-ACCESS read-only not-accessible                                             +
    STATUS     current                                                    +
    DESCRIPTION
            "The total number of packets received by                                                           +
            "An entry (conceptual row) in the SNMPv2 entity
            which were improperly encoded or had invalid syntax."
    REFERENCE
            "Derived from RFC1213-MIB.snmpInASNParseErrs." sysORTable."                +
    INDEX      { sysORIndex }                                             +
    ::= { snmpStats 3 sysORTable 1 }

snmpStatsUnknownDstParties                                                  +

SysOREntry ::= SEQUENCE {                                                 +
    sysORIndex     INTEGER,                                               +
    sysORID        OBJECT IDENTIFIER,                                     +
    sysORDescr     DisplayString,                                         +
    sysORUpTime    TimeStamp                                              +
}                                                                         +

sysORIndex OBJECT-TYPE                                                    +
    SYNTAX     Counter32     INTEGER (1..2147483647)                                    +
    MAX-ACCESS read-only not-accessible                                             +
    STATUS     current                                                    +
    DESCRIPTION                                                           +
            "The total number auxiliary variable used for identifying instances of SnmpPrivMsgs delivered to     +
            the SNMPv2
            entity for which columnar objects in the privDst field was not a known local
            party." sysORTable."                      +
    ::= { snmpStats 4 sysOREntry 1 }

snmpStatsDstPartyMismatches                                                  +

sysORID OBJECT-TYPE                                                       +
    SYNTAX     Counter32     OBJECT IDENTIFIER                                          +
    MAX-ACCESS read-only                                                  +
    STATUS     current                                                    +
    DESCRIPTION
            "The total number                                                           +
            "An authoritative identification of SnmpPrivMsgs delivered a capabilities statement  +
            with respect to various MIB modules supported by the local    +
            SNMPv2 entity which contained a SnmpAuthMsg for which the
            authData.dstParty field did not match the privDst field acting in
            the SnmpPrivMsg." an agent role."                       +
    ::= { snmpStats 5 sysOREntry 2 }

snmpStatsUnknownSrcParties                                                  +

sysORDescr OBJECT-TYPE                                                    +
    SYNTAX     Counter32     DisplayString                                              +
    MAX-ACCESS read-only                                                  +
    STATUS     current                                                    +
    DESCRIPTION
            "The total number                                                           +
            "A textual description of SnmpAuthMsgs delivered to the SNMPv2
            entity for which capabilities identified by the authData.srcParty field was not a known
            remote party."  +
            corresponding instance of sysORID."                           +
    ::= { snmpStats 6 sysOREntry 3 }

snmpStatsBadAuths                                                  +

sysORUpTime OBJECT-TYPE                                                   +
    SYNTAX     Counter32     TimeStamp                                                  +
    MAX-ACCESS read-only                                                  +
    STATUS     current                                                    +
    DESCRIPTION                                                           +
            "The total number value of SnmpAuthMsgs delivered to sysUpTime at the SNMPv2
            entity which contained an authInfo field which time this conceptual row was
            inconsistent with the authentication protocol associated
            with the source party."   +
            last instanciated."                                           +
    ::= { snmpStats 7 sysOREntry 4 }                                                  +

-- the SNMPv2 statistics group
--
-- a collection of objects providing basic instrumentation of
-- the SNMPv2 entity.

-- A Case diagram[4] relating these objects is:
--                                                                        |
--  \v/   transport service
--   |
-- ==+==  snmpStatsPackets
--   |
--   +==> snmpStats30Something
--   |
--   +==> snmpStatsEncodingErrors
--   |
--   +==> snmpStatsUnknownDstParties
--   |
--   +==> snmpStatsDstPartyMismatches
--   |
--   +==> snmpStatsUnknownSrcParties
--   |
--   +==> snmpStatsBadAuths
--   |
--   +==> snmpStatsNotInLifetimes
--   |
--   +==> snmpStatsWrongDigestValues
--   |
--   +==> snmpStatsUnknownContexts
--   |
--   +==> snmpStatsBadOperations
--   |
--   +==> snmpStatsSilentDrops
--   |
-- ===== sink

snmpStats      OBJECT IDENTIFIER ::= { snmpMIBObjects 1 }

snmpStatsPackets OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The total number of SnmpAuthMsgs delivered to packets received by the SNMPv2 entity which were deemed unauthentic due to their
            authInfo.authSrcTimestamp field being less than
            from the source
            party's clock plus lifetime." transport service."
    REFERENCE
            "Derived from RFC1213-MIB.snmpInPkts."
    ::= { snmpStats 8 1 }

snmpStatsWrongDigestValues

snmpStats30Something OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The total number of SnmpAuthMsgs delivered to the packets which had an initial octet with
            a value of 30 hexadecimal received by a SNMPv2 entity which were deemed unauthentic due to their
            authInfo.authDigest field being unequal to the expected
            digest value."
            does not support SNMPv1.  (Such packets are possibly
            misdirected SNMPv1 Messages.)"
    REFERENCE
            "Derived from RFC1213-MIB.snmpInASNParseErrs."
    ::= { snmpStats 9 2 }

snmpStatsUnknownContexts

snmpStatsEncodingErrors OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The total number of SnmpMgmtComs delivered to packets received by the SNMPv2 entity for
            which the context field was not a known SNMPv2
            context." were improperly encoded or had invalid syntax."
    REFERENCE
            "Derived from RFC1213-MIB.snmpInASNParseErrs."
    ::= { snmpStats 10 3 }

snmpStatsBadOperations

snmpStatsUnknownDstParties OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The total number of messages SnmpPrivMsgs delivered to the SNMPv2
            entity for which were silently dropped because the PDU type referred to
            an operation privDst field was not allowed in the aclTable[5]." a known local
            party."
    ::= { snmpStats 11 4 }

snmpStatsSilentDrops

snmpStatsDstPartyMismatches OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The total number of GetRequest-PDUs, GetNextRequest-PDUs,
            GetBulkRequest-PDUs, SetRequest-PDUs, and InformRequest-PDUs SnmpPrivMsgs delivered to the SNMPv2
            entity which were silently dropped
            because the size of a reply containing an alternate
            Response-PDU with an empty variable-bindings field was
            greater than either contained a local constraint or the maximum
            message size of SnmpAuthMsg for which the request's source party."
    ::= { snmpStats 12 }

--
            authData.dstParty field did not match the SNMPv1 statistics group
--
-- a collection of objects providing basic instrumentation of
-- a SNMPv2 entity which also implements SNMPv1.

-- A Case diagram[4] relating these objects
-- (and those applicable objects privDst field in
            the snmpStats group)
-- is:
--
--  \v/   transport service
--   |
-- ==+==  snmpStatsPackets
--   |
--   +==> snmpStatsEncodingErrors
--   |
--   +==> snmpV1BadCommunityNames
--   |
--   +==> snmpV1BadCommunityUses
--   |
-- ===== sink

snmpV1         OBJECT IDENTIFIER SnmpPrivMsg."
    ::= { snmpMIBObjects 2 snmpStats 5 }

snmpV1BadCommunityNames

snmpStatsUnknownSrcParties OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The total number of SNMPv1 Messages SnmpAuthMsgs delivered to the SNMPv2
            entity for which used a community name the authData.srcParty field was not a known to the SNMPv2
            entity."
    REFERENCE
            "Derived from RFC1213-MIB.snmpInBadCommunityNames."
            remote party."
    ::= { snmpV1 1 snmpStats 6 }

snmpV1BadCommunityUses

snmpStatsBadAuths OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The total number of SNMPv1 Messages SnmpAuthMsgs delivered to the SNMPv2
            entity containing which contained an operation authInfo field which was not allowed for
            inconsistent with the
            community named in authentication protocol associated
            with the Message."
    REFERENCE
            "Derived from RFC1213-MIB.snmpInBadCommunityUses." source party."
    ::= { snmpV1 2 snmpStats 7 }

-- the object resource group
--
-- a collection

snmpStatsNotInLifetimes OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The total number of objects allowing a SnmpAuthMsgs delivered to the SNMPv2
            entity acting in
-- an agent role which were deemed unauthentic due to describe its dynamically-configurable
-- object resources.

snmpOR         OBJECT IDENTIFIER their
            authInfo.authSrcTimestamp field being less than the source
            party's clock plus lifetime."
    ::= { snmpMIBObjects 3 snmpStats 8 }

snmpORLastChange

snmpStatsWrongDigestValues OBJECT-TYPE
    SYNTAX     TimeStamp     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The value total number of sysUpTime at SnmpAuthMsgs delivered to the time of SNMPv2
            entity which were deemed unauthentic due to their
            authInfo.authDigest field being unequal to the most recent
            change in state or value of any instance of snmpORID." expected
            digest value."
    ::= { snmpOR 1 snmpStats 9 }

snmpORTable

snmpStatsUnknownContexts OBJECT-TYPE
    SYNTAX     SEQUENCE OF SnmpOREntry     Counter32
    MAX-ACCESS not-accessible read-only
    STATUS     current
    DESCRIPTION
            "The (conceptual) table listing total number of SnmpMgmtComs delivered to the dynamically-configurable
            object resources in a SNMPv2
            entity acting in an agent role.
            SNMPv2 entities for which do the context field was not support dynamically-
            configurable object resources will never have any instances a known SNMPv2     |
            context, or for which the local/remote realization of the columnar objects in this table."     |
            SNMPv2 context was not consistent with the operation          |
            referred to by the PDU type."                                 |
    ::= { snmpOR 2 snmpStats 10 }

snmpOREntry

snmpStatsBadOperations OBJECT-TYPE
    SYNTAX     SnmpOREntry     Counter32
    MAX-ACCESS not-accessible read-only
    STATUS     current
    DESCRIPTION
            "An entry (conceptual row) in
            "The total number of messages delivered to the snmpORTable."
    INDEX SNMPv2 entity
            which were silently dropped because the PDU type referred to
            an operation not authorized by the acTable [5]."              |
    ::= { snmpORIndex snmpStats 11 }

snmpStatsSilentDrops OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The total number of GetRequest-PDUs, GetNextRequest-PDUs,
            GetBulkRequest-PDUs, SetRequest-PDUs, and InformRequest-PDUs
            delivered to the SNMPv2 entity which were silently dropped
            because the size of a reply containing an alternate
            Response-PDU with an empty variable-bindings field was
            greater than either a local constraint or the maximum
            message size of the request's source party."
    ::= { snmpORTable 1 snmpStats 12 }

SnmpOREntry

snmpStatsProxyDrops OBJECT-TYPE                                           +
    SYNTAX     Counter32                                                  +
    MAX-ACCESS read-only                                                  +
    STATUS     current                                                    +
    DESCRIPTION                                                           +
            "The total number of GetRequest-PDUs, GetNextRequest-PDUs,    +
            GetBulkRequest-PDUs, SetRequest-PDUs, and InformRequest-PDUs  +
            delivered to the SNMPv2 entity which were silently dropped    +
            because the context indicated a proxy SNMPv2 context and the  +
            transmission of the (possibly translated) message to a proxy  +
            target failed in a manner (other than a time-out) such that   +
            no Response-PDU could be returned to the original request's   +
            source party."                                                +
    ::= SEQUENCE {
    snmpORIndex                         INTEGER,
    snmpORID                            OBJECT IDENTIFIER,
    snmpORDescr                         DisplayString snmpStats 13 }

snmpORIndex                                                  +

snmpV2EnableReports OBJECT-TYPE                                           +
    SYNTAX     INTEGER (1..2147483647)     TruthValue                                                 +
    MAX-ACCESS not-accessible read-write                                                 +
    STATUS     current                                                    +
    DESCRIPTION
            "The auxiliary variable used for identifying instances                                                           +
            "Indicates whether the SNMPv2 entity, when acting in an       +
            agent role, is permitted to generate the report PDU.  The     +
            value of this object overrides any configuration              +
            information; as such, it provides a means whereby error       +
            reports may be disabled.                                      +

            Note that it is strongly recommended that this object be      +
            stored in non-volatile memory so that it remains constant     +
            across re-initializations of the columnar network management system."  +
    ::= { snmpStats 14 }                                                  +

-- the SNMPv1 statistics group
--
-- a collection of objects providing basic instrumentation of
-- a SNMPv2 entity which also implements SNMPv1.

-- A Case diagram[4] relating these objects
-- (and those applicable objects in the snmpORTable." snmpStats group)
-- is:
--
--  \v/   transport service
--   |
-- ==+==  snmpStatsPackets
--   |
--   +==> snmpStatsEncodingErrors
--   |
--   +==> snmpV1BadCommunityNames
--   |
--   +==> snmpV1BadCommunityUses
--   |
-- ===== sink

snmpV1         OBJECT IDENTIFIER ::= { snmpOREntry 1 snmpMIBObjects 2 }

snmpORID

snmpV1BadCommunityNames OBJECT-TYPE
    SYNTAX     OBJECT IDENTIFIER     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "An authoritative identification of one
            "The total number of SNMPv1 Messages delivered to the dynamically-
            configurable object resources in a SNMPv2
            entity acting in
            an agent role.  This is analogous which used a community name not known to the sysObjectID object
            in the system group." SNMPv2
            entity."
    REFERENCE
            "Derived from RFC1213-MIB.snmpInBadCommunityNames."
    ::= { snmpOREntry 2 snmpV1 1 }

snmpORDescr

snmpV1BadCommunityUses OBJECT-TYPE
    SYNTAX     DisplayString     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "A textual description of one
            "The total number of the dynamically-
            configurable object resources in a SNMPv1 Messages delivered to SNMPv2
            entity acting in containing an agent role.  This is analogous to operation which was not allowed for the sysDescr object
            community named in the system group." Message."
    REFERENCE
            "Derived from RFC1213-MIB.snmpInBadCommunityUses."
    ::= { snmpV1 2 }

--  ::= { snmpOREntry snmpMIBObjects 3 }        this OID is obsolete                  |

-- the traps group                                                        -
--
-- a collection of objects which allow the SNMPv2 entity, when
-- acting in an agent role, to be configured to generate
-- SNMPv2-Trap-PDUs.

snmpTrap       OBJECT IDENTIFIER ::= { snmpMIBObjects 4 }

snmpTrapOID OBJECT-TYPE
    SYNTAX     OBJECT IDENTIFIER
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The authoritative identification of the trap currently
            being sent.  This variable occurs as the second varbind of a
            SNMPv2-Trap-PDU."
    ::= { snmpTrap 1 }

snmpTrapTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF SnmpTrapEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "A table which keeps track of how many traps have been sent
            to each SNMPv2 entity."
    ::= { snmpTrap 2 }

snmpTrapEntry OBJECT-TYPE
    SYNTAX     SnmpTrapEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "An entry which keeps track of how many traps have been sent
            to a particular SNMPv2 entity."
    AUGMENTS   { partyEntry }
    ::= { snmpTrapTable 1 }

SnmpTrapEntry ::= SEQUENCE {
    snmpTrapNumbers     Counter32                                         |
}

snmpTrapNumbers OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The number of traps which have been sent to a particular
            SNMPv2 party, since the last initialization of the SNMPv2
            entity, or the creation of the SNMPv2 party, whichever
            occurred most recently."
    ::= { snmpTrapEntry 1 }

snmpTrapEnterprise OBJECT-TYPE
    SYNTAX     OBJECT IDENTIFIER
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The authoritative identification of the enterprise
            associated with the trap currently being sent.  When a
            SNMPv2 proxy agent is mapping an RFC1157 Trap-PDU into a
            SNMPv2-Trap-PDU, this variable occurs as the last varbind."
    ::= { snmpTrap 3 }

snmpV2EnableAuthenTraps OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "Indicates whether the SNMPv2 entity, when acting in an
            agent role, is permitted to generate authenticationFailure
            traps.  The value of this object overrides any configuration
            information; as such, it provides a means whereby all
            authenticationFailure traps may be disabled.

            Note that it is strongly recommended that this object be
            stored in non-volatile memory so that it remains constant
            between     |
            across                                                        |
            re-initializations of the network management system."
    REFERENCE
            "Derived from RFC1213-MIB.snmpEnableAuthenTraps."
    ::= { snmpTrap 4 }

-- well-known traps

snmpTraps      OBJECT IDENTIFIER ::= { snmpMIBObjects 5 }

coldStart NOTIFICATION-TYPE
    STATUS  current
    DESCRIPTION
            "A coldStart trap signifies that the SNMPv2 entity, acting
            in an agent role, is reinitializing itself such and that its       |
            configuration may be have been altered."                         |
    ::= { snmpTraps 1 }

warmStart NOTIFICATION-TYPE
    STATUS  current
    DESCRIPTION
            "A warmStart trap signifies that the SNMPv2 entity, acting
            in an agent role, is reinitializing itself such that its
            configuration is unaltered."
    ::= { snmpTraps 2 }

-- Note the linkDown NOTIFICATION-TYPE ::= { snmpTraps 3 }
-- and the linkUp NOTIFICATION-TYPE ::= { snmpTraps 4 }
-- are defined in RFC 1573

authenticationFailure NOTIFICATION-TYPE
    STATUS  current
    DESCRIPTION
            "An authenticationFailure trap signifies that the SNMPv2
            entity, acting in an agent role, has received a protocol
            message that is not properly authenticated.  While all
            implementations of the SNMPv2 must be capable of generating
            this trap, the snmpV2EnableAuthenTraps object indicates
            whether this trap will be generated."
    ::= { snmpTraps 5 }

-- Note the egpNeighborLoss NOTIFICATION-TYPE ::= { snmpTraps 6 }
-- is defined in RFC 1213

-- the set group
--
-- a collection of objects which allow several cooperating
-- SNMPv2 entities, all acting in a manager role, to
-- coordinate their use of the SNMPv2 set operation.

snmpSet        OBJECT IDENTIFIER ::= { snmpMIBObjects 6 }

snmpSetSerialNo OBJECT-TYPE
    SYNTAX     TestAndIncr
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "An advisory lock used to allow several cooperating SNMPv2
            entities, all acting in a manager role, to coordinate their
            use of the SNMPv2 set operation.

            This object is used for coarse-grain coordination.  To
            achieve fine-grain coordination, one or more similar objects
            might be defined within each MIB group, as appropriate."
    ::= { snmpSet 1 }

-- conformance information

snmpMIBConformance
               OBJECT IDENTIFIER ::= { snmpMIB 2 }

snmpMIBCompliances
               OBJECT IDENTIFIER ::= { snmpMIBConformance 1 }
snmpMIBGroups  OBJECT IDENTIFIER ::= { snmpMIBConformance 2 }

-- compliance statements

snmpMIBCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
            "The compliance statement for SNMPv2 entities which
            implement the SNMPv2 MIB."
    MODULE  -- this module
        MANDATORY-GROUPS { systemGroup,                                   |
                           snmpStatsGroup, snmpORGroup,                                |
                           snmpTrapGroup, snmpSetGroup }                  |

        GROUP   snmpV1Group
        DESCRIPTION
            "The snmpV1 group is mandatory only for those
             SNMPv2 entities which also implement SNMPv1."
    ::= { snmpMIBCompliances 1 }

-- units of conformance

systemGroup OBJECT-GROUP
    OBJECTS { sysDescr, sysObjectID, sysUpTime,
              sysContact, sysName, sysLocation,
              sysServices
              sysServices,                                                |
              sysORLastChange, sysORID, sysORDescr }                      |
    STATUS  current
    DESCRIPTION
            "The system group defines objects which are common to all     |
            managed systems." systems (i.e., contained in all SNMPv2 contexts)."    |
    ::= { snmpMIBGroups 6 }

snmpStatsGroup OBJECT-GROUP
    OBJECTS { snmpStatsPackets, snmpStats30Something,
              snmpStatsEncodingErrors,
              snmpStatsUnknownDstParties,                                 |
              snmpStatsDstPartyMismatches,
              snmpStatsUnknownSrcParties, snmpStatsBadAuths,              |
              snmpStatsNotInLifetimes,
              snmpStatsWrongDigestValues,                                 |
              snmpStatsUnknownContexts,
              snmpStatsBadOperations,
              snmpStatsSilentDrops
              snmpStatsSilentDrops,                                       |
              snmpStatsProxyDrops,                                        |
              snmpV2EnableReports }                                       |
    STATUS  current
    DESCRIPTION
            "A collection of objects providing basic instrumentation of
            the SNMPv2 entity."
    ::= { snmpMIBGroups 1 }

snmpV1Group OBJECT-GROUP
    OBJECTS { snmpV1BadCommunityNames, snmpV1BadCommunityUses }
    STATUS  current
    DESCRIPTION
            "A collection of objects providing basic instrumentation of
            a SNMPv2 entity which also implements SNMPv1."
    ::= { snmpMIBGroups 2 }

snmpORGroup OBJECT-GROUP
    OBJECTS { snmpORLastChange, snmpORID, snmpORDescr }
    STATUS  current
    DESCRIPTION
            "A collection of objects allowing a SNMPv2 entity acting in
            an agent role to describe its dynamically-configurable
            object resources."

--  ::= { snmpMIBGroups 3 }           this OID is obsolete                |

snmpTrapGroup OBJECT-GROUP
    OBJECTS { snmpTrapNumbers, snmpV2EnableAuthenTraps }
    STATUS  current
    DESCRIPTION
            "A collection of objects which allow the SNMPv2 entity, when
            acting in an agent role, to be configured to generate
            SNMPv2-Trap-PDUs."
    ::= { snmpMIBGroups 4 }

snmpSetGroup OBJECT-GROUP
    OBJECTS { snmpSetSerialNo }
    STATUS  current
    DESCRIPTION
            "A collection of objects which allow several cooperating
            SNMPv2 entities, all acting in a manager role, to coordinate
            their use of the SNMPv2 set operation."
    ::= { snmpMIBGroups 5 }

END

3.  Acknowledgements

This document is a modified version

The authors wish to acknowledge the contributions of RFC 1450. the SNMPv2 Working
Group in general.  In particular, the following individuals

     Dave Arneson (Cabletron),
     Uri Blumenthal (IBM),
     Doug Book (Chipcom),
     Maria Greene (Ascom Timeplex),
     Deirdre Kostik (Bellcore),
     Dave Harrington (Cabletron),
     Jeff Johnson (Cisco Systems),
     Brian O'Keefe (Hewlett Packard),
     Dave Perkins (Bay Networks),
     Randy Presuhn (Peer Networks),
     Shawn Routhier (Epilogue),
     Bob Stewart (Cisco Systems),
     Kaj Tesink (Bellcore).

deserve special thanks for their contributions.

4.  References

[1]  Information processing systems - Open Systems Interconnection -
     Specification of Abstract Syntax Notation One (ASN.1),
     International Organization for Standardization.  International
     Standard 8824, (December, 1987).

[2]  Case, J., McCloghrie, K., Rose, M., and Waldbusser, S., "Structure
     of Management Information for Version 2 of the Simple Network
     Management Protocol (SNMPv2)", Internet Draft, SNMP Research, Inc.,
     Cisco Systems, Dover Beach Consulting, Inc., Carnegie Mellon
     University, November 1994. March 1995.                                              |

[3]  Case, J., McCloghrie, K., Rose, M., and Waldbusser, S., "Protocol
     Operations for Version 2 of the Simple Network Management Protocol
     (SNMPv2)", Internet Draft, SNMP Research, Inc., Cisco Systems,
     Dover Beach Consulting, Inc., Carnegie Mellon University, November
     1994. March      |
     1995.                                                                |

[4]  J.D. Case, C. Partridge, Case Diagrams: A First Step to Diagramed
     Management Information Bases.  Computer Communications Review,
     Volume 19, Number 1, (January, 1989).

[5]  Case, J., Galvin, J., McCloghrie, K., Rose, M., and Galvin, J., Waldbusser, S.,  |
     "Party MIB for Version 2 of the Simple Network Management Protocol
     (SNMPv2)", Internet Draft, Cisco
     Systems, SNMP Research, Inc., Trusted Information  |
     Systems, November 1994. Cisco Systems, Dover Beach Consulting, Inc., Carnegie       |
     Mellon University, March 1995.                                       |

5.  Security Considerations

Security issues are not discussed in this memo.

6.  Authors' Addresses

     Jeffrey D. Case
     SNMP Research, Inc.
     3001 Kimberlin Heights Rd.
     Knoxville, TN  37920-9716
     US

     Phone: +1 615 573 1434
     Email: case@snmp.com

     Keith McCloghrie
     Cisco Systems, Inc.
     170 West Tasman Drive,
     San Jose CA 95134-1706.

     Phone: +1 408 526 5260
     Email: kzm@cisco.com

     Marshall T. Rose
     Dover Beach Consulting, Inc.
     420 Whisman Court
     Mountain View, CA  94043-2186
     US

     Phone: +1 415 968 1052
     Email: mrose@dbc.mtview.ca.us

     Steven Waldbusser
     Carnegie Mellon University
     5000 Forbes Ave
     Pittsburgh, PA  15213
     US

     Phone: +1 412 268 6628
     Email: waldbusser@cmu.edu

Table of Contents

1 Introduction ....................................................    2    3
1.1 A Note on Terminology .........................................    2    3
1.2 Change Log ....................................................    2    3
2 Definitions .....................................................    4    5
2.1 The System Group ..............................................    5    6
2.2 The SNMPv2 Statistics Group ...................................    8   11
2.3 The SNMPv1 Statistics Group ...................................   13
2.4 The Object Resource Group .....................................   15   17
2.5 The Traps Group ...............................................   17   19
2.5.1 Well-known Traps ............................................   20   22
2.6 The Set Group .................................................   22   24
2.7 Conformance Information .......................................   23   25
2.7.1 Compliance Statements .......................................   23   25
2.7.2 Units of Conformance ........................................   24   26
3 Acknowledgements ................................................   26   28
4 References ......................................................   26   28
5 Security Considerations .........................................   27   30
6 Authors' Addresses ..............................................   27   30