CISCO-L4L7MODULE-RESOURCE-LIMIT-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY,
    OBJECT-TYPE,
    Unsigned32,
    Gauge32,
    Counter32,
    NOTIFICATION-TYPE
        FROM SNMPv2-SMI
    MODULE-COMPLIANCE,
    OBJECT-GROUP,
    NOTIFICATION-GROUP
        FROM SNMPv2-CONF
    TruthValue,
    TEXTUAL-CONVENTION,
    RowStatus,
    StorageType
            FROM SNMPv2-TC
    entPhysicalIndex 
        FROM ENTITY-MIB
    ciscoMgmt
        FROM CISCO-SMI;

ciscoL4L7moduleResourceLimitMIB MODULE-IDENTITY
    LAST-UPDATED    "200606190000Z" 
    ORGANIZATION    "Cisco Systems, Inc."
    CONTACT-INFO
        "       Cisco Systems
               Customer Service

        Postal: 170 W Tasman Drive
            San Jose, CA  95134
            USA

           Tel: +1 800 553-NETS

        E-mail: cs-l4l7security@cisco.com"
    DESCRIPTION
            "The MIB module for managing resource classes
            and configuring limits(max/min) to different
            resources.  The resource referenced in this MIB 
            are in addition to resource information availale 
            in other MIBs.  This MIB is applicable to
            L4-L7 modules which supports managing
            resource limits using a centralized approach.
            The resources (but not limited to) configured are 
            of following categories:
            - TCP/IP Connections
            - MAC Addresses
            - syslog buffer, ACL Memmory
            - NAT Translations etc

            ciscoL4L7ResourceClassTable is used for adding/deleting
            resource classes.  Resource class is identified
            by a name to which limits of multiple resources can
            be configured.

            ciscoL4L7ResourceLimitTable is used for adding/deleting
            limits to resources in a resource class.  This limit
            is either maximum value and/or minimum value.

            ciscoL4L7ResourceRateLimitTable is used for adding/deleting
            rate limits to resources in a resource class.

            Terminologies used:
              ARP - Address Resolution Protocol.
              ACL - Access Control List.
              NAT - Network Address Translation.
              NBAR - Network Based Application Recognition.
              BPDU - Bridge Protocol Data Unit."

    REVISION        "200606190000Z"
    DESCRIPTION
            "- Added following enumerations in CiscoResourceLimitType
                  hosts           (15)
                  ipsecSessions   (16)
                  asdmSessions    (17)
                  sshSessions     (18)
                  telnetSessions  (19)

             - Added following objects in ciscoL4L7ResourceLimitTable
                  crlResourceLimitCurrentUsage
                  crlResourceLimitPeakUsage
                  crlResourceLimitReqsDeniedCount

             - Added following objects in ciscoL4L7RateLimitTable
                  crlRateLimitResourceCurrentUsage
                  crlRateLimitResourcePeakUsage
                  crlRateLimitResourceReqsDeniedCount

             - Added following objects:
                  clrResourceLimitReachedNotifEnabled
                  clrResourceRateLimitReachedNotifEnabled

             - Added following Notification objects     
                  clrResourceLimitReached
                  clrResourceRateLimitReached

             - Added following in Compliance/Conformance
                  ciscoL4L7ResourceLimitComplianceRev1."

    REVISION        "200508050000Z"
    DESCRIPTION
            "Initial version of the MIB module."
    ::= { ciscoMgmt 480 }

ciscoL4L7ResourceLimitNotifs OBJECT IDENTIFIER ::=
            { ciscoL4L7moduleResourceLimitMIB 0 }

ciscoL4L7ResourceLimitMIBObjects OBJECT IDENTIFIER ::=
            { ciscoL4L7moduleResourceLimitMIB 1 }

ciscoResourceLimitMIBConform OBJECT IDENTIFIER ::=
            { ciscoL4L7moduleResourceLimitMIB 2 }

crlResource OBJECT IDENTIFIER ::= 
            { ciscoL4L7ResourceLimitMIBObjects 1 }

crlNotificationObjects  OBJECT IDENTIFIER ::= 
            { ciscoL4L7ResourceLimitMIBObjects 2 }

CiscoResourceClass ::= TEXTUAL-CONVENTION
    STATUS            current
    DESCRIPTION
        "This textual convention is used for representing
        resource classes.  A resource class is identified by
        a name preferably in human readable form.  This resource 
        class is used for identifying different type of resources.
        The resource class can represent single resource type or 
        multiple resource type.
        Resource category examples:
            memory, connections 
            NAT(network address translation) translations,
            number of syslog messages etc."
    SYNTAX OCTET STRING (SIZE(0..64))

CiscoResourceLimitType ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "This object represents the resource type.
        The possible values are :
        all         (1)    : This is not a resource. However
                             this value acts as the wild card
                             value to set all the resources
                             at the same time.  If an entry
                             exists with this value, then
                             for all the resources that are 
                             not configured in this table will
                             have the value specified in this
                             entry.
        macAddresses(2)     : The number of MAC addresses allowed in
                              the MAC address table.
        concurrentConns (3) : Concurrent TCP/UDP connections that are
                              supported.  Connections exist between 
                              any two hosts.  This is applicable
                              for through the box connections only.
        mgmtConnections (4) : This is applicable for to-the-box
                              traffic only.
        proxyConns      (5) : Sticky connections limit traffic to 
                              the individual real servers by allowing 
                              multiple connections from the same client 
                              to stick (or attach) to the same real 
                              server using source IP addresses, 
                              source IP subnets, cookies, and the 
                              secure socket layer (SSL) or
                              by redirecting these connections using 
                              Hypertext Transfer Protocol (HTTP) 
                              redirect messages.
        probes          (6)  : the number of health probes.
        stickyEntries   (7)  : the number of sticky entries.
                               This refers to statically configured
                               entries and dynamically created ones.
                               It represents the pool of entries
                               available for use/re-use.
        natTranslations (8)  : the number of NAT Translations.
        regexState      (9)  : Regular expression state.
                               Regex states are nodes in the
                               regular expression state graph, 
                               used for matching and sticking on HTTP 
                               fields such as URL, header, cookies.
        aclMemory       (10) : Memory that is allocated for managing 
                               ACLs.
        ipReassemBuffer (11) : buffer that is allocated for IP 
                               Reassembly.
        syslogBuffer    (12) : buffer that is allocated for syslog 
                               messages that can be logged in the
                               system.
        tcpOOOBuffer   (13) : buffer that is allocated for TCP Out Of 
                               Order packets.
        sslConnections  (14) : The number of SSL Connections.
        hosts           (15) : Number of hosts allowed through the system.
        ipsecSessions   (16) : Number of IPSec management sessions.
        asdmSessions    (17) : Number of ASDM management sessions.
        sshSessions     (18) : Number of SSH management sessions.
        telnetSessions  (19) : Number of Telnet management sessions."
    SYNTAX      INTEGER {
                   all               (1),
                   macAddresses      (2),
                   concurrentConns   (3),
                   mgmtConnections   (4),
                   proxyConns        (5),
                   probes            (6),
                   stickyEntries     (7),
                   natTranslations   (8),
                   regexState        (9),
                   aclMemory         (10),
                   syslogBuffer      (11),
                   ipReassemBuffer   (12),
                   tcpOOOBuffer      (13),
                   sslConnections    (14),
                   hosts             (15),
                   ipsecSessions     (16),
                   asdmSessions      (17),
                   sshSessions       (18),
                   telnetSessions    (19)
                }

CiscoRateLimitResourceType ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "This object represents the resource type
        for which rate limiting needs to be done.
        The value for rate limiting is specified
        in crlRateLimitResourceMin and
        crlRateLimitResourceMax.

        The possible value(s) are :
        all         (1) : This value represents a wildcard
                          value to mean all the resources.
        arpRequestsXmt  (2) : ARP requests generated per second
        arpResponses    (3) : ARP responses to received ARP requests
                              per second.
        bandwidth       (4) : Bandwidth of the card.
        connections     (5) : connections per second.
        appInspections  (6) : application inspections per second.
        syslog          (7) : syslog messages per second.
        sslBandwidth    (8) : SSL bandwidth in bytes pers second."
    SYNTAX      INTEGER {
                   all               (1),
                   arpRequestsXmt    (2),
                   arpResponses      (3),
                   bandwidth         (4),
                   connections       (5),
                   appInspections    (6),
                   syslog            (7),
                   sslBandwidth      (8)
                }

ciscoL4L7ResourceClassTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF CiscoL4L7ResourceClassEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table contains one row per resource class.
        This table is used for adding/deleting the resource 
        class in the system.  A resource class can contain
        limits for different category of resources and
        these resources can be configured using other tables."
    ::= { crlResource 1 }

ciscoL4L7ResourceClassEntry OBJECT-TYPE
    SYNTAX      CiscoL4L7ResourceClassEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Information about a particular resource class.
        Each entry provides the name of class.
        The entPhysicalIndex refers to resource manageable
        component in entPhysicalTable with 
        entPhysicalClass -> 'module'."
    INDEX   { entPhysicalIndex,
              crlResourceClassName
            }
    ::= { ciscoL4L7ResourceClassTable 1 }

CiscoL4L7ResourceClassEntry ::= SEQUENCE {
      crlResourceClassName           CiscoResourceClass,
      crlResourceClassStorageType    StorageType,
      crlResourceClassRowStatus      RowStatus
}

crlResourceClassName OBJECT-TYPE
    SYNTAX      CiscoResourceClass
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This object identifies a unique resource class
        in a resource manageable component identified
        by entPhysicalIndex."
    ::= { ciscoL4L7ResourceClassEntry 1 }

crlResourceClassStorageType OBJECT-TYPE
    SYNTAX       StorageType
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION
        "The storage type for this conceptual row.
        Conceptual rows having the value 'permanent' need not
        allow write-access to any columnar objects in the row.
        This object can not be modified when the value of
        crlResourceClassRowStatus is 'active'."
    DEFVAL      { nonVolatile }
    ::= { ciscoL4L7ResourceClassEntry 2 }

crlResourceClassRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object is used for adding/deleting
        resource classes in a system."
    ::= { ciscoL4L7ResourceClassEntry 3 }

ciscoL4L7ResourceLimitTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF CiscoL4L7ResourceLimitEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table is used for adding resource limits 
        to resources in a resource class."
    ::= { crlResource 2 }

ciscoL4L7ResourceLimitEntry OBJECT-TYPE
    SYNTAX      CiscoL4L7ResourceLimitEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Information about a particular resource in a resource
        class.  Each entry provides the type of resource,
        the limit that is supported for that resource
        and type of the limit value."
    INDEX   { 
              crlResourceClassName,
              crlResourceLimitType 
            }
    ::= { ciscoL4L7ResourceLimitTable 1 }

CiscoL4L7ResourceLimitEntry ::= SEQUENCE {
      crlResourceLimitType               CiscoResourceLimitType,
      crlResourceLimitValueType          INTEGER,
      crlResourceLimitMin                Unsigned32,
      crlResourceLimitMax                Unsigned32,
      crlResourceLimitStorageType        StorageType,
      crlResourceLimitRowStatus          RowStatus,
      crlResourceLimitCurrentUsage       Gauge32,
      crlResourceLimitPeakUsage          Gauge32,
      crlResourceLimitReqsDeniedCount    Counter32
}

crlResourceLimitType OBJECT-TYPE
    SYNTAX      CiscoResourceLimitType
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This object represents the type of
        resource in a resource class identified
        by crlResourceClassName."
    ::= { ciscoL4L7ResourceLimitEntry 2 }

crlResourceLimitValueType OBJECT-TYPE
    SYNTAX      INTEGER {
                   absolute   (1),
                   percentage (2)
                }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object represents the type of value specified
       in crlResourceLimitMax and crlResourceLimitMin objects.
        The possible values are :
        absolute    (1) : the value represents an absolute number.
        percentage  (2) : the value represents the % of the total
                          available for the system.  In this case
                          only crlResourceLimitMax object is
                          applicable."
    DEFVAL { percentage }
    ::= { ciscoL4L7ResourceLimitEntry 3 }

crlResourceLimitMin OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object represents the rate limit allowed for
        the resource identified by 'ciscoResourceLimitType'.
        This value cannot be greater than the value
        specified in ciscoResourceLimitMax.
        The value zero signifies that this object is 
        not applicable to the resource."
    DEFVAL { 0 }
    ::= { ciscoL4L7ResourceLimitEntry 4 }

crlResourceLimitMax OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object represents the limit allowed for
        the resource identified by 'ciscoResourceLimitType'.
        The value zero specifies that this resource
        can be used until the system limit reached."
    DEFVAL { 0 }
    ::= { ciscoL4L7ResourceLimitEntry 5 }

crlResourceLimitStorageType OBJECT-TYPE
    SYNTAX       StorageType
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION
        "The storage type for this conceptual row.
        Conceptual rows having the value 'permanent' need not
        allow write-access to any columnar objects in the row.
        This object cannot be modified when the value of
        crlResourceLimitRowStatus is 'active'."
    DEFVAL      { nonVolatile }
    ::= { ciscoL4L7ResourceLimitEntry 6 }

crlResourceLimitRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object is used for adding/deleting
        entries in this table."
    ::= { ciscoL4L7ResourceLimitEntry 7 }

crlResourceLimitCurrentUsage OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object indicates the number of resources identified by 
        'ciscoResourceLimitType', that are currently being used in 
        the system."
    ::= { ciscoL4L7ResourceLimitEntry 8 }

crlResourceLimitPeakUsage OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object represents the peak usage of the resource 
         identified by 'ciscoResourceLimitType' since the statistics
         were last cleared either through the command line interface or
         bacause of the system reboot."
    ::= { ciscoL4L7ResourceLimitEntry 9 }

crlResourceLimitReqsDeniedCount OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object represents the number of resource requests that 
         were denied when the configured resource limit is exceeded
         for the resource identified by 'ciscoResourceLimitType'.

         The value for resource limiting is specified
         in 'crlResourceLimitMax'."
    ::= { ciscoL4L7ResourceLimitEntry 10 }

ciscoL4L7ResourceRateLimitTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF CiscoL4L7ResourceRateLimitEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table is used for adding/deleting 
        the rate limiting of the resources in a
        resource class."
    ::= { crlResource 4 }

ciscoL4L7ResourceRateLimitEntry OBJECT-TYPE
    SYNTAX      CiscoL4L7ResourceRateLimitEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Information about an entry in the table
        Each entry provides the name of group, the rate
        configured for a resource."
    INDEX   { 
              crlResourceClassName,
              crlRateLimitResourceType 
            }
    ::= { ciscoL4L7ResourceRateLimitTable 1 }

CiscoL4L7ResourceRateLimitEntry ::= SEQUENCE {
      crlRateLimitResourceType               CiscoRateLimitResourceType,
      crlRateLimitResourceMin                Unsigned32,
      crlRateLimitResourceMax                Unsigned32,
      crlRateLimitResourceStorageType        StorageType,
      crlRateLimitResourceRowStatus          RowStatus,
      crlRateLimitResourceCurrentUsage       Gauge32,
      crlRateLimitResourcePeakUsage          Gauge32,
      crlRateLimitResourceReqsDeniedCount    Counter32
}

crlRateLimitResourceType OBJECT-TYPE
    SYNTAX      CiscoRateLimitResourceType
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This object represents the resource type
        for which rate limiting needs to be done.
        The value for rate limiting is specified
        in crlRateLimitResourceMin and 
        crlRateLimitResourceMax."
    ::= { ciscoL4L7ResourceRateLimitEntry 1 }

crlRateLimitResourceMin OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object represents the rate limit allowed for
        the resource identified by 'crlRateLimitResourceType'.
        This value cannot be greater than the value
        specified in crlRateLimitResourceMax.
        The value zero signifies that this object is 
        not applicable to the resource."
    DEFVAL { 0 }
    ::= { ciscoL4L7ResourceRateLimitEntry 2 }

crlRateLimitResourceMax OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object represents the limit allowed for
        the resource identified by 'crlRateLimitResourceType'.
        The value zero specifies that this resource
        can be used until the system limit reached."
    DEFVAL { 0 }
    ::= { ciscoL4L7ResourceRateLimitEntry 3 }    

crlRateLimitResourceStorageType OBJECT-TYPE
    SYNTAX       StorageType
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION
        "The storage type for this conceptual row.
        Conceptual rows having the value 'permanent' need not
        allow write-access to any columnar objects in the row.
        This object cannot be modified when the value of
        crlRateLimitResourceRowStatus is 'active'."
    DEFVAL      { nonVolatile }
    ::= { ciscoL4L7ResourceRateLimitEntry 4 }

crlRateLimitResourceRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object is used for adding/deleting
        entries in this table.  This object cannot
        be set to 'active' until all the mandatory
        objects have valid value."
    ::= { ciscoL4L7ResourceRateLimitEntry 5 }

crlRateLimitResourceCurrentUsage OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object indicates the number of resources identified by 
        'crlRateLimitResourceType', that are currently being used in 
        the system."
    ::= { ciscoL4L7ResourceRateLimitEntry 6 }

crlRateLimitResourcePeakUsage OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object represents the peak usage of the resource
         identified by 'crlRateLimitResourceType' since the statistics
         were last cleared either through the command line interface or
         bacause of the system reboot."
    ::= { ciscoL4L7ResourceRateLimitEntry 7 }

crlRateLimitResourceReqsDeniedCount OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object represents the number of resource requests that
         were denied when the configured rate limit is exceeded
         for the resource identified by 'crlRateLimitResourceType'.

         The value for rate limiting is specified in
         'crlRateLimitResourceMax'."
    ::= { ciscoL4L7ResourceRateLimitEntry 8 }

-- notification control objects  

clrResourceLimitReachedNotifEnabled OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION 
                "This object controls the generation of
                 'clrResourceLimitReached' notification.

                 'true'  Indicates that clrResourceLimitReached
                         notification is to be generated when the 
                         configured resource limit is reached. 
                         The value for resource limiting is specified
                         in 'crlResourceLimitMax'.

                 'false' Indicates that clrResourceLimitReached
                         notification generation is disabled."
        DEFVAL { false }
        ::= { crlNotificationObjects 1 }

clrResourceRateLimitReachedNotifEnabled OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION 
            "This object controls the generation of
                 'clrResourceRateLimitReached' notification.

             'true'  Indicates that clrResourceRateLimitReached
                     notification is to be generated when the 
                     configured resource rate limit is reached.
                     The value for rate limiting is specified in
                         'crlRateLimitResourceMax'.

             'false' Indicates that clrResourceRateLimitReached
                         notification generation is disabled."         
        DEFVAL { false }
        ::= { crlNotificationObjects 2 }

-- notifications

clrResourceLimitReached NOTIFICATION-TYPE
    OBJECTS {
        crlResourceLimitValueType,
        crlResourceLimitMax
    }
    STATUS  current
    DESCRIPTION
        "This notification is generated when the configured resource
         limit value specified in 'crlResourceLimitMax' is reached
         for a particular resource. This resource is identified by
         'crlResourceLimitType' in ciscoL4L7ResourceLimitTable."
    ::= { ciscoL4L7ResourceLimitNotifs 1 }

clrResourceRateLimitReached NOTIFICATION-TYPE
    OBJECTS {
        crlRateLimitResourceMax
    }
    STATUS  current
    DESCRIPTION
        "This notification is generated when the configured rate
         limit value specified in 'crlRateLimitResourceMax' is reached
         for a particular resource. This resource is identified by
         'crlRateLimitResourceType' in ciscoL4L7ResourceRateLimitTable."
    ::= { ciscoL4L7ResourceLimitNotifs 2 }

-- conformance information

ciscoL4L7ResourceLimitConformance OBJECT IDENTIFIER ::= 
                              { ciscoL4L7moduleResourceLimitMIB 3 }
ciscoL4L7ResourceLimitCompliances OBJECT IDENTIFIER ::= 
                              { ciscoL4L7ResourceLimitConformance 1 }
ciscoL4L7ResourceLimitGroups      OBJECT IDENTIFIER ::= 
                              { ciscoL4L7ResourceLimitConformance 2 }

-- compliance statements

ciscoL4L7ResourceLimitCompliance MODULE-COMPLIANCE
    STATUS  deprecated
    DESCRIPTION
        "The compliance statement for SNMP entities which implement
        CISCO-L4L7MODULE-RESOURCE-LIMIT-MIB."
    MODULE  -- this module
        MANDATORY-GROUPS {
            ciscoL4L7ResourceClassGroup,
            ciscoL4L7ResourceLimitGroup
        }
    GROUP ciscoL4L7ResourceRateLimitGroup
    DESCRIPTION
        "This group is mandatory for those systems where
        rate limiting is supported."
    ::= { ciscoL4L7ResourceLimitCompliances 1 }

ciscoL4L7ResourceLimitComplianceRev1 MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
        "The compliance statement for SNMP entities which implement
        CISCO-L4L7MODULE-RESOURCE-LIMIT-MIB."
    MODULE  -- this module
        MANDATORY-GROUPS {
            ciscoL4L7ResourceClassGroup,
            ciscoL4L7ResourceLimitGroup,
            ciscoL4L7ResourceLimitUsageGroup
        }

    GROUP ciscoL4L7ResourceRateLimitGroup
    DESCRIPTION
          "This group is mandatory for those systems where
        rate limiting is supported."

    GROUP ciscoL4L7ResourceRateLimitUsageGroup
        DESCRIPTION
             "This group is mandatory for those systems where
        rate limiting is supported."

    GROUP ciscoL4L7ResourceNotifEnabledGroup
        DESCRIPTION
          "This group is mandatory for those systems which
        implement resource limit notifications."

    GROUP ciscoL4L7ResourceNotifGroup
        DESCRIPTION
          "This group is mandatory for those systems which
        implement resource limit notifications."
    ::= { ciscoL4L7ResourceLimitCompliances 2 }

-- MIB groupings

ciscoL4L7ResourceClassGroup OBJECT-GROUP
    OBJECTS {
        crlResourceClassStorageType,
        crlResourceClassRowStatus
    }
    STATUS  current
    DESCRIPTION
        "The collection of objects which are used to represent
         resource class in a system."
    ::= { ciscoL4L7ResourceLimitGroups 1 }

ciscoL4L7ResourceLimitGroup OBJECT-GROUP
    OBJECTS {
        crlResourceLimitValueType,
        crlResourceLimitMin,
        crlResourceLimitMax,
        crlResourceLimitStorageType,
        crlResourceLimitRowStatus
    }
    STATUS  current
    DESCRIPTION
        "The collection of objects which are used to represent
        limits of resources in a resource class."
    ::= { ciscoL4L7ResourceLimitGroups 2 }

ciscoL4L7ResourceRateLimitGroup OBJECT-GROUP
    OBJECTS {
        crlRateLimitResourceMin,
        crlRateLimitResourceMax,
        crlRateLimitResourceStorageType,
        crlRateLimitResourceRowStatus
    }
    STATUS  current
    DESCRIPTION
        "The collection of objects which are used to represent
        rate limits for resources."
    ::= { ciscoL4L7ResourceLimitGroups 3 }

ciscoL4L7ResourceLimitUsageGroup OBJECT-GROUP
    OBJECTS {
        crlResourceLimitCurrentUsage,
        crlResourceLimitPeakUsage,
        crlResourceLimitReqsDeniedCount        
    }
    STATUS  current
    DESCRIPTION
        "The collection of objects which are used to represent
        limit usage for resources."
    ::= { ciscoL4L7ResourceLimitGroups 4 }

ciscoL4L7ResourceRateLimitUsageGroup OBJECT-GROUP
    OBJECTS {
        crlRateLimitResourceCurrentUsage,
        crlRateLimitResourcePeakUsage,
        crlRateLimitResourceReqsDeniedCount
    }
    STATUS  current
    DESCRIPTION
        "The collection of objects which are used to represent
        rate limit usage for resources."
    ::= { ciscoL4L7ResourceLimitGroups 5 }

ciscoL4L7ResourceNotifEnabledGroup OBJECT-GROUP
    OBJECTS {
        clrResourceLimitReachedNotifEnabled,
        clrResourceRateLimitReachedNotifEnabled
    }
    STATUS  current
    DESCRIPTION
        "The collection of objects which are used to represent
        limit usage for resources."
    ::= { ciscoL4L7ResourceLimitGroups 6 }

ciscoL4L7ResourceNotifGroup NOTIFICATION-GROUP
    NOTIFICATIONS {
        clrResourceLimitReached,
        clrResourceRateLimitReached
    }
    STATUS  current
    DESCRIPTION
        "The collection of objects which are used to represent
        rate limit usage for resources."
    ::= { ciscoL4L7ResourceLimitGroups 7 }

END
