-- extracted from rfc2573.txt
-- at Mon Nov 15 17:12:03 1999

SNMP-NOTIFICATION-MIB DEFINITIONS ::= BEGIN

IMPORTS
        MODULE-IDENTITY,
        OBJECT-TYPE,
        snmpModules
                FROM SNMPv2-SMI
        RowStatus,
        StorageType
                FROM SNMPv2-TC
        SnmpAdminString
                FROM SNMP-FRAMEWORK-MIB
        SnmpTagValue,
        snmpTargetParamsName
                FROM SNMP-TARGET-MIB
        MODULE-COMPLIANCE,
        OBJECT-GROUP
                FROM SNMPv2-CONF;

snmpNotificationMIB MODULE-IDENTITY
        LAST-UPDATED "9808040000Z"      -- Aug 4, 1998 12:00:00 AM
        ORGANIZATION "IETF SNMPv3 Working Group"
        CONTACT-INFO
                "WG-email:   snmpv3@lists.tislabs.com
                Subscribe:  majordomo@lists.tislabs.com
                            In message body:  subscribe snmpv3

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

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

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

                Co-editor:  Bob Stewart
                            Cisco Systems, Inc.
                Postal:     170 West Tasman Drive
                            San Jose, CA 95134-1706
                EMail:      bstewart@cisco.com
                Phone:      +1 603 654 2686"
        DESCRIPTION
                "This MIB module defines MIB objects which provide
                mechanisms to remotely configure the parameters
                used by an SNMP entity for the generation of
                notifications."
        REVISION "9808040000Z"  -- Aug 4, 1998 12:00:00 AM
        DESCRIPTION
                "Clarifications, published as
                RFC2573"
        REVISION "9707140000Z"  -- Jul 14, 1997 12:00:00 AM
        DESCRIPTION
                "The initial revision, published as RFC2273."
 -- 1.3.6.1.6.3.13 --  ::= { snmpModules 13 }


snmpNotifyObjects OBJECT IDENTIFIER 
 -- 1.3.6.1.6.3.13.1 --  ::= { snmpNotificationMIB 1 }

snmpNotifyConformance OBJECT IDENTIFIER 
 -- 1.3.6.1.6.3.13.3 --  ::= { snmpNotificationMIB 3 }

--
--
-- The snmpNotifyObjects group
--
--

snmpNotifyTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SnmpNotifyEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "This table is used to select management targets which should
                receive notifications, as well as the type of notification
                which should be sent to each selected management target."
 -- 1.3.6.1.6.3.13.1.1 --  ::= { snmpNotifyObjects 1 }


snmpNotifyEntry OBJECT-TYPE
        SYNTAX  SnmpNotifyEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "An entry in this table selects a set of management targets
                which should receive notifications, as well as the type of
                notification which should be sent to each selected
                management target.

                Entries in the snmpNotifyTable are created and
                deleted using the snmpNotifyRowStatus object."
        INDEX {
                IMPLIED snmpNotifyName }
 -- 1.3.6.1.6.3.13.1.1.1 --  ::= { snmpNotifyTable 1 }


SnmpNotifyEntry ::= SEQUENCE {

        snmpNotifyName        SnmpAdminString,
        snmpNotifyTag         SnmpTagValue,
        snmpNotifyType        INTEGER,
        snmpNotifyStorageType StorageType,
        snmpNotifyRowStatus   RowStatus }


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


snmpNotifyTag OBJECT-TYPE
        SYNTAX  SnmpTagValue
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "This object contains a single tag value which is used
                to select entries in the snmpTargetAddrTable.  Any entry
                in the snmpTargetAddrTable which contains a tag value
                which is equal to the value of an instance of this
                object is selected.  If this object contains a value
                of zero length, no entries are selected."
        DEFVAL { "" }
 -- 1.3.6.1.6.3.13.1.1.1.2 --  ::= { snmpNotifyEntry 2 }


snmpNotifyType OBJECT-TYPE
        SYNTAX  INTEGER {
                        trap(1),
                        inform(2) }
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "This object determines the type of notification to
                be generated for entries in the snmpTargetAddrTable
                selected by the corresponding instance of
                snmpNotifyTag.  This value is only used when
                generating notifications, and is ignored when
                using the snmpTargetAddrTable for other purposes.

                If the value of this object is trap(1), then any
                messages generated for selected rows will contain
                Unconfirmed-Class PDUs.

                If the value of this object is inform(2), then any
                messages generated for selected rows will contain
                Confirmed-Class PDUs.

                Note that if an SNMP entity only supports
                generation of Unconfirmed-Class PDUs (and not
                Confirmed-Class PDUs), then this object may be
                read-only."
        DEFVAL { trap }
 -- 1.3.6.1.6.3.13.1.1.1.3 --  ::= { snmpNotifyEntry 3 }


snmpNotifyStorageType OBJECT-TYPE
        SYNTAX  StorageType
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "The storage type for this conceptual row."
        DEFVAL { nonVolatile }
 -- 1.3.6.1.6.3.13.1.1.1.4 --  ::= { snmpNotifyEntry 4 }


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

                To create a row in this table, a manager must
                set this object to either createAndGo(4) or
                createAndWait(5)."
 -- 1.3.6.1.6.3.13.1.1.1.5 --  ::= { snmpNotifyEntry 5 }


snmpNotifyFilterProfileTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SnmpNotifyFilterProfileEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "This table is used to associate a notification filter
                profile with a particular set of target parameters."
 -- 1.3.6.1.6.3.13.1.2 --  ::= { snmpNotifyObjects 2 }


snmpNotifyFilterProfileEntry OBJECT-TYPE
        SYNTAX  SnmpNotifyFilterProfileEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "An entry in this table indicates the name of the filter
                profile to be used when generating notifications using
                the corresponding entry in the snmpTargetParamsTable.

                Entries in the snmpNotifyFilterProfileTable are created
                and deleted using the snmpNotifyFilterProfileRowStatus
                object."
        INDEX {
                IMPLIED snmpTargetParamsName }
 -- 1.3.6.1.6.3.13.1.2.1 --  ::= { snmpNotifyFilterProfileTable 1 }


SnmpNotifyFilterProfileEntry ::= SEQUENCE {

        snmpNotifyFilterProfileName      SnmpAdminString,
        snmpNotifyFilterProfileStorType  StorageType,
        snmpNotifyFilterProfileRowStatus RowStatus }


snmpNotifyFilterProfileName OBJECT-TYPE
        SYNTAX  SnmpAdminString (SIZE (1..32))
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "The name of the filter profile to be used when generating
                notifications using the corresponding entry in the
                snmpTargetAddrTable."
 -- 1.3.6.1.6.3.13.1.2.1.1 --  ::= { snmpNotifyFilterProfileEntry 1 }


snmpNotifyFilterProfileStorType OBJECT-TYPE
        SYNTAX  StorageType
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "The storage type of this conceptual row."
        DEFVAL { nonVolatile }
 -- 1.3.6.1.6.3.13.1.2.1.2 --  ::= { snmpNotifyFilterProfileEntry 2 }


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

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

                Until instances of all corresponding columns are
                appropriately configured, the value of the
                corresponding instance of the
                snmpNotifyFilterProfileRowStatus column is 'notReady'.

                In particular, a newly created row cannot be made
                active until the corresponding instance of
                snmpNotifyFilterProfileName has been set."
 -- 1.3.6.1.6.3.13.1.2.1.3 --  ::= { snmpNotifyFilterProfileEntry 3 }


snmpNotifyFilterTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SnmpNotifyFilterEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "The table of filter profiles.  Filter profiles are used
                to determine whether particular management targets should
                receive particular notifications.

                When a notification is generated, it must be compared
                with the filters associated with each management target
                which is configured to receive notifications, in order to
                determine whether it may be sent to each such management
                target.

                A more complete discussion of notification filtering
                can be found in section 6. of [RFC2573]."
 -- 1.3.6.1.6.3.13.1.3 --  ::= { snmpNotifyObjects 3 }


snmpNotifyFilterEntry OBJECT-TYPE
        SYNTAX  SnmpNotifyFilterEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "An element of a filter profile.

                Entries in the snmpNotifyFilterTable are created and
                deleted using the snmpNotifyFilterRowStatus object."
        INDEX {
                snmpNotifyFilterProfileName,
                IMPLIED snmpNotifyFilterSubtree }
 -- 1.3.6.1.6.3.13.1.3.1 --  ::= { snmpNotifyFilterTable 1 }


SnmpNotifyFilterEntry ::= SEQUENCE {

        snmpNotifyFilterSubtree     OBJECT IDENTIFIER,
        snmpNotifyFilterMask        OCTET STRING,
        snmpNotifyFilterType        INTEGER,
        snmpNotifyFilterStorageType StorageType,
        snmpNotifyFilterRowStatus   RowStatus }


snmpNotifyFilterSubtree OBJECT-TYPE
        SYNTAX  OBJECT IDENTIFIER
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "The MIB subtree which, when combined with the corresponding
                instance of snmpNotifyFilterMask, defines a family of
                subtrees which are included in or excluded from the
                filter profile."
 -- 1.3.6.1.6.3.13.1.3.1.1 --  ::= { snmpNotifyFilterEntry 1 }


snmpNotifyFilterMask OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE (0..16))
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "The bit mask which, in combination with the corresponding
                instance of snmpNotifyFilterSubtree, defines a family of
                subtrees which are included in or excluded from the
                filter profile.

                Each bit of this bit mask corresponds to a
                sub-identifier of snmpNotifyFilterSubtree, with the
                most significant bit of the i-th octet of this octet
                string value (extended if necessary, see below)
                corresponding to the (8*i - 7)-th sub-identifier, and
                the least significant bit of the i-th octet of this
                octet string corresponding to the (8*i)-th
                sub-identifier, where i is in the range 1 through 16.

                Each bit of this bit mask specifies whether or not
                the corresponding sub-identifiers must match when
                determining if an OBJECT IDENTIFIER matches this
                family of filter subtrees; a '1' indicates that an
                exact match must occur; a '0' indicates 'wild card',
                i.e., any sub-identifier value matches.

                Thus, the OBJECT IDENTIFIER X of an object instance
                is contained in a family of filter subtrees if, for
                each sub-identifier of the value of
                snmpNotifyFilterSubtree, either:

                  the i-th bit of snmpNotifyFilterMask is 0, or

                  the i-th sub-identifier of X is equal to the i-th
                  sub-identifier of the value of
                  snmpNotifyFilterSubtree.

                If the value of this bit mask is M bits long and
                there are more than M sub-identifiers in the
                corresponding instance of snmpNotifyFilterSubtree,
                then the bit mask is extended with 1's to be the
                required length.
                Note that when the value of this object is the
                zero-length string, this extension rule results in
                a mask of all-1's being used (i.e., no 'wild card'),
                and the family of filter subtrees is the one
                subtree uniquely identified by the corresponding
                instance of snmpNotifyFilterSubtree."
        DEFVAL { ''H }
 -- 1.3.6.1.6.3.13.1.3.1.2 --  ::= { snmpNotifyFilterEntry 2 }


snmpNotifyFilterType OBJECT-TYPE
        SYNTAX  INTEGER {
                        included(1),
                        excluded(2) }
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "This object indicates whether the family of filter subtrees
                defined by this entry are included in or excluded from a
                filter.  A more detailed discussion of the use of this
                object can be found in section 6. of [RFC2573]."
        DEFVAL { included }
 -- 1.3.6.1.6.3.13.1.3.1.3 --  ::= { snmpNotifyFilterEntry 3 }


snmpNotifyFilterStorageType OBJECT-TYPE
        SYNTAX  StorageType
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "The storage type of this conceptual row."
        DEFVAL { nonVolatile }
 -- 1.3.6.1.6.3.13.1.3.1.4 --  ::= { snmpNotifyFilterEntry 4 }


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

                To create a row in this table, a manager must
                set this object to either createAndGo(4) or
                createAndWait(5)."
 -- 1.3.6.1.6.3.13.1.3.1.5 --  ::= { snmpNotifyFilterEntry 5 }


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

snmpNotifyCompliances OBJECT IDENTIFIER 
 -- 1.3.6.1.6.3.13.3.1 --  ::= { snmpNotifyConformance 1 }

snmpNotifyGroups OBJECT IDENTIFIER 
 -- 1.3.6.1.6.3.13.3.2 --  ::= { snmpNotifyConformance 2 }


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

snmpNotifyBasicCompliance MODULE-COMPLIANCE
        STATUS current
        DESCRIPTION
                "The compliance statement for minimal SNMP entities which
                implement only SNMP Unconfirmed-Class notifications and
                read-create operations on only the snmpTargetAddrTable."

        MODULE SNMP-TARGET-MIB
        MANDATORY-GROUPS {
                        snmpTargetBasicGroup }

        OBJECT snmpTargetParamsMPModel
          MIN-ACCESS read-only
          DESCRIPTION 
                "Create/delete/modify access is not required."
        OBJECT snmpTargetParamsSecurityModel
          MIN-ACCESS read-only
          DESCRIPTION 
                "Create/delete/modify access is not required."
        OBJECT snmpTargetParamsSecurityName
          MIN-ACCESS read-only
          DESCRIPTION 
                "Create/delete/modify access is not required."
        OBJECT snmpTargetParamsSecurityLevel
          MIN-ACCESS read-only
          DESCRIPTION 
                "Create/delete/modify access is not required."
        OBJECT snmpTargetParamsStorageType
          SYNTAX INTEGER {
                        readOnly(5) }
          MIN-ACCESS read-only
          DESCRIPTION 
                "Create/delete/modify access is not required.
                Support of the values other(1), volatile(2),
                nonVolatile(3), and permanent(4) is not required."
        OBJECT snmpTargetParamsRowStatus
          SYNTAX INTEGER {
                        active(1) }
          MIN-ACCESS read-only
          DESCRIPTION 
                "Create/delete/modify access to the
                snmpTargetParamsTable is not required.
                Support of the values notInService(2), notReady(3),
                createAndGo(4), createAndWait(5), and destroy(6) is
                not required."
        MODULE 
        MANDATORY-GROUPS {
                        snmpNotifyGroup }

        OBJECT snmpNotifyTag
          MIN-ACCESS read-only
          DESCRIPTION 
                "Create/delete/modify access is not required."
        OBJECT snmpNotifyType
          SYNTAX INTEGER {
                        trap(1) }
          MIN-ACCESS read-only
          DESCRIPTION 
                "Create/delete/modify access is not required.
                Support of the value notify(2) is not required."
        OBJECT snmpNotifyStorageType
          SYNTAX INTEGER {
                        readOnly(5) }
          MIN-ACCESS read-only
          DESCRIPTION 
                "Create/delete/modify access is not required.
                Support of the values other(1), volatile(2),
                nonVolatile(3), and permanent(4) is not required."
        OBJECT snmpNotifyRowStatus
          SYNTAX INTEGER {
                        active(1) }
          MIN-ACCESS read-only
          DESCRIPTION 
                "Create/delete/modify access to the
                snmpNotifyTable is not required.
                Support of the values notInService(2), notReady(3),
                createAndGo(4), createAndWait(5), and destroy(6) is
                not required."
 -- 1.3.6.1.6.3.13.3.1.1 --  ::= { snmpNotifyCompliances 1 }


snmpNotifyBasicFiltersCompliance MODULE-COMPLIANCE
        STATUS current
        DESCRIPTION
                "The compliance statement for SNMP entities which implement
                SNMP Unconfirmed-Class notifications with filtering, and
                read-create operations on all related tables."

        MODULE SNMP-TARGET-MIB
        MANDATORY-GROUPS {
                        snmpTargetBasicGroup }

        MODULE 
        MANDATORY-GROUPS {
                        snmpNotifyGroup,
                        snmpNotifyFilterGroup }

 -- 1.3.6.1.6.3.13.3.1.2 --  ::= { snmpNotifyCompliances 2 }


snmpNotifyFullCompliance MODULE-COMPLIANCE
        STATUS current
        DESCRIPTION
                "The compliance statement for SNMP entities which either
                implement only SNMP Confirmed-Class notifications, or both
                SNMP Unconfirmed-Class and Confirmed-Class notifications,
                plus filtering and read-create operations on all related
                tables."

        MODULE SNMP-TARGET-MIB
        MANDATORY-GROUPS {
                        snmpTargetBasicGroup,
                        snmpTargetResponseGroup }

        MODULE 
        MANDATORY-GROUPS {
                        snmpNotifyGroup,
                        snmpNotifyFilterGroup }

 -- 1.3.6.1.6.3.13.3.1.3 --  ::= { snmpNotifyCompliances 3 }

snmpNotifyGroup OBJECT-GROUP
        OBJECTS {
                snmpNotifyTag,
                snmpNotifyType,
                snmpNotifyStorageType,
                snmpNotifyRowStatus }
        STATUS current
        DESCRIPTION
                "A collection of objects for selecting which management
                targets are used for generating notifications, and the
                type of notification to be generated for each selected
                management target."
 -- 1.3.6.1.6.3.13.3.2.1 --  ::= { snmpNotifyGroups 1 }

snmpNotifyFilterGroup OBJECT-GROUP
        OBJECTS {
                snmpNotifyFilterProfileName,
                snmpNotifyFilterProfileStorType,
                snmpNotifyFilterProfileRowStatus,
                snmpNotifyFilterMask,
                snmpNotifyFilterType,
                snmpNotifyFilterStorageType,
                snmpNotifyFilterRowStatus }
        STATUS current
        DESCRIPTION
                "A collection of objects providing remote configuration
                of notification filters."
 -- 1.3.6.1.6.3.13.3.2.2 --  ::= { snmpNotifyGroups 2 }

END
-- 
--    Copyright (C) The Internet Society (1999).  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.
--