-- *********************************************************************
-- CISCO-IP-LOCAL-POOL-MIB.my:  Cisco IP Local Pool MIB
--   
-- This MIB provides configuration and statistics reflecting the
-- allocation of Local IP Pools.
--   
-- December 2002, Federico Mota
--   
-- Copyright (c) 2002-2005, 2007 by Cisco Systems Inc.
-- All rights reserved.
-- ********************************************************************

CISCO-IP-LOCAL-POOL-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY,
    OBJECT-TYPE,
    NOTIFICATION-TYPE,
    Unsigned32,
    Gauge32
        FROM SNMPv2-SMI
    MODULE-COMPLIANCE,
    OBJECT-GROUP,
    NOTIFICATION-GROUP
        FROM SNMPv2-CONF
    TEXTUAL-CONVENTION,
    TruthValue,
    RowStatus
        FROM SNMPv2-TC
    InetAddressType,
    InetAddress
        FROM INET-ADDRESS-MIB
    InterfaceIndexOrZero
        FROM IF-MIB
    SnmpAdminString
        FROM SNMP-FRAMEWORK-MIB
    ciscoMgmt
        FROM CISCO-SMI;


ciscoIpLocalPoolMIB MODULE-IDENTITY
    LAST-UPDATED    "200711120000Z"
    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-snmp@cisco.com"
    DESCRIPTION
        "This MIB defines the configuration and monitoring capabilities
        relating to local IP pools.

        Local IP pools have the following characteristics:

        - An IP local pool consists of one or more IP address ranges.

        - An IP pool group consists of one or more IP local pools.

        - An IP local pool can only belong to one IP pool group.

        - IP local pools that belong to different groups can have
          overlapping addresses.

        - IP local pool names are unique even when they belong to
          different groups.

        - Addresses within an IP pool group can not overlap.

        - IP local pools without an explicit group name are considered
          members of the base system group.  In this MIB, the base
          system group is represented by a null IP pool group name.

        This MIB defines objects that expose the relationship between
        IP pool groups and IP local pools.  There exist other objects
        that maintain statistics about the address usage of IP local
        pools."
    REVISION        "200711120000Z"
    DESCRIPTION
        "Added one object to the cIpLocalPoolConfigTable:
        - cIpLocalPoolPriority

        Added ciscoIpLocalPoolMIBCompliance2 MODULE-COMPLIANCE 
        Added ciscoIpLocalPoolPriorityGroup OBJECT-GROUP"
    REVISION        "200501110000Z"
    DESCRIPTION
        "Added two objects to the cIpLocalPoolStatsTable:
        - cIpLocalPoolPercentAddrThldLo
        - cIpLocalPoolPercentAddrThldHi

        Added two notifications:
        - cilpPercentAddrUsedHiNotif
        - cilpPercentAddrUsedLoNotif"
    REVISION        "200304032000Z"
    DESCRIPTION
        "Initial version of this MIB module."
    ::= { ciscoMgmt 326 }



CIpLocalPoolName ::= TEXTUAL-CONVENTION
    STATUS          current
    DESCRIPTION
        "A non-empty string that uniquely identifies an IP local pool."
    SYNTAX          OCTET STRING (SIZE (1..48))

CIpLocalPoolGroupNameOrNull ::= TEXTUAL-CONVENTION
    STATUS          current
    DESCRIPTION
        "A string that uniquely identifies an IP pool group. The value
        of null is object-specific and must therefore be defined as part
        of the description of any object which uses this syntax."
    SYNTAX          OCTET STRING (SIZE (0..48))

CIpLocalPoolPercentage ::= TEXTUAL-CONVENTION
    DISPLAY-HINT    "d-2"
    STATUS          current
    DESCRIPTION
        "A percentage associated with the addresses used in a IP local
        pool."
    SYNTAX          Gauge32 (0..100 )
ciscoIpLocalPoolMIBNotifs  OBJECT IDENTIFIER
    ::= { ciscoIpLocalPoolMIB 0 }

ciscoIpLocalPoolMIBObjects  OBJECT IDENTIFIER
    ::= { ciscoIpLocalPoolMIB 1 }

ciscoIpLocalPoolMIBConform  OBJECT IDENTIFIER
    ::= { ciscoIpLocalPoolMIB 2 }

cIpLocalPoolConfig  OBJECT IDENTIFIER
    ::= { ciscoIpLocalPoolMIBObjects 1 }

cIpLocalPoolGroup  OBJECT IDENTIFIER
    ::= { ciscoIpLocalPoolMIBObjects 2 }

cIpLocalPoolStats  OBJECT IDENTIFIER
    ::= { ciscoIpLocalPoolMIBObjects 3 }


-- Config

cIpLocalPoolNotificationsEnable OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "An indication of whether the notifications defined by the
        ciscoIpLocalPoolNotifGroup are enabled." 
    ::= { cIpLocalPoolConfig 1 }

cIpLocalPoolConfigTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CIpLocalPoolConfigEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This table manages the creation, modification, and deletion
        of IP local pools using the RowStatus textual convention.  An
        entry in this table defines an IP address range that is
        associated with an IP local pool.

        A conceptual row in this table can not be modified while
        cIpLocalPoolRowStatus is set to 'active'.

        Since IP local pool names are unique even when they belong to
        different groups, and addresses within a group can not overlap,
        a row in this table is uniquely indexed by the pool name, and by
        the low address of the IP local pool together with its address
        type."
    ::= { cIpLocalPoolConfig 2 }

cIpLocalPoolConfigEntry OBJECT-TYPE
    SYNTAX          CIpLocalPoolConfigEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "Each entry provides information about a particular IP local
        pool, including the number of free and used addresses and its priority."
    INDEX           {
                        cIpLocalPoolName,
                        cIpLocalPoolAddrType,
                        cIpLocalPoolAddressLo
                    } 
    ::= { cIpLocalPoolConfigTable 1 }

CIpLocalPoolConfigEntry ::= SEQUENCE {
        cIpLocalPoolName             CIpLocalPoolName,
        cIpLocalPoolAddrType         InetAddressType,
        cIpLocalPoolAddressLo        InetAddress,
        cIpLocalPoolAddressHi        InetAddress,
        cIpLocalPoolFreeAddrs        Gauge32,
        cIpLocalPoolInUseAddrs       Gauge32,
        cIpLocalPoolGroupContainedIn CIpLocalPoolGroupNameOrNull,
        cIpLocalPoolRowStatus        RowStatus,
        cIpLocalPoolPriority         Unsigned32
}

cIpLocalPoolName OBJECT-TYPE
    SYNTAX          CIpLocalPoolName
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An arbitrary non-empty string that uniquely identifies the IP
        local pool.  This name must be unique among all the local IP
        pools even when they belong to different pool groups." 
    ::= { cIpLocalPoolConfigEntry 1 }

cIpLocalPoolAddrType OBJECT-TYPE
    SYNTAX          InetAddressType
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object specifies the address type of cIpLocalPoolAddressLo
        and cIpLocalPoolAddressHi." 
    ::= { cIpLocalPoolConfigEntry 2 }

cIpLocalPoolAddressLo OBJECT-TYPE
    SYNTAX          InetAddress
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object specifies the first IP address of the range of IP
        addresses contained by this pool entry.  The address type of
        this object is described by cIpLocalPoolAddrType.

        This address must be less than or equal to the address in
        cIpLocalPoolAddressHi." 
    ::= { cIpLocalPoolConfigEntry 3 }

cIpLocalPoolAddressHi OBJECT-TYPE
    SYNTAX          InetAddress
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the last IP address of the range of IP
        addresses mapped by this pool entry.  The address type of this
        object is described by cIpLocalPoolAddrType.  If only a single
        address is being mapped, the value of this object is equal to
        the value of cIpLocalPoolAddressLo." 
    ::= { cIpLocalPoolConfigEntry 4 }

cIpLocalPoolFreeAddrs OBJECT-TYPE
    SYNTAX          Gauge32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The number of IP addresses available for use in the range of
        IP addresses." 
    ::= { cIpLocalPoolConfigEntry 5 }

cIpLocalPoolInUseAddrs OBJECT-TYPE
    SYNTAX          Gauge32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The number of IP addresses being used in the range of IP
        addresses." 
    ::= { cIpLocalPoolConfigEntry 6 }

cIpLocalPoolGroupContainedIn OBJECT-TYPE
    SYNTAX          CIpLocalPoolGroupNameOrNull
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object relates an IP local pool to its IP pool group.

        A null string indicates this IP local pool is not contained in a
        named IP pool group, but that it is contained in the base IP
        pool group.  An IP local pool can only belong to one IP pool
        group."
    DEFVAL          { "" } 
    ::= { cIpLocalPoolConfigEntry 7 }

cIpLocalPoolRowStatus OBJECT-TYPE
    SYNTAX          RowStatus
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object facilitates the creation, or deletion of a
        conceptual row in this table." 
    ::= { cIpLocalPoolConfigEntry 8 }

cIpLocalPoolPriority OBJECT-TYPE
    SYNTAX          Unsigned32 (1..255 )
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies priority of the IP local pool,
        where smaller value indicates the lower priority.
        The priority value is used in assigning IP Address 
        from local pools."
    DEFVAL          { 1 } 
    ::= { cIpLocalPoolConfigEntry 9 }
 

-- Group

cIpLocalPoolGroupContainsTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CIpLocalPoolGroupContainsEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "A table which exposes the container/'containee' relationships
        between local IP pools and IP pool groups.

        Entries in this table are created or deleted as a by-product of
        creating or deleting entries in the cIpLocalPoolConfigTable.

        When an entry is created and activated in the
        cIpLocalPoolConfigTable table, an entry in this table will come
        into existence if it does not already exist.

        When an entry is deleted in the cIpLocalPoolConfigTable table,
        if there is no other entry existing in that table with the same
        cIpLocalPoolGroupContainedIn and cIpLocalPoolName, the entry in
        this table with the respective cIpLocalPoolGroupName and
        cIpLocalPoolName indices will be removed."
    ::= { cIpLocalPoolGroup 1 }

cIpLocalPoolGroupContainsEntry OBJECT-TYPE
    SYNTAX          CIpLocalPoolGroupContainsEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "Each entry describes single container/'containee'
        relationship.

        Pool names can only be associated with one group.  Pools carry
        implicit group identifiers because pool names can only be
        associated with one group.  An entry in this table describes
        such an association."
    INDEX           {
                        cIpLocalPoolGroupName,
                        cIpLocalPoolChildIndex
                    } 
    ::= { cIpLocalPoolGroupContainsTable 1 }

CIpLocalPoolGroupContainsEntry ::= SEQUENCE {
        cIpLocalPoolGroupName  CIpLocalPoolGroupNameOrNull,
        cIpLocalPoolChildIndex CIpLocalPoolName
}

cIpLocalPoolGroupName OBJECT-TYPE
    SYNTAX          CIpLocalPoolGroupNameOrNull
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "A unique group name that identifies the IP pool group.  The
        null string represents the base IP pool group." 
    ::= { cIpLocalPoolGroupContainsEntry 1 }

cIpLocalPoolChildIndex OBJECT-TYPE
    SYNTAX          CIpLocalPoolName
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The value of cIpLocalPoolName for the contained IP local pool." 
    ::= { cIpLocalPoolGroupContainsEntry 2 }
 


cIpLocalPoolGroupTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CIpLocalPoolGroupEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This table provides statistics for configured IP pool groups.

        Entries in this table are created as the result of adding a new
        IP pool group to the cIpLocalPoolConfigTable.

        Entries in this table are deleted as the result of removing all
        IP local pools that are contained in an IP pool group in the
        cIpLocalPoolConfigTable.

        An entry in this table is uniquely indexed by IP pool group
        name."
    ::= { cIpLocalPoolGroup 2 }

cIpLocalPoolGroupEntry OBJECT-TYPE
    SYNTAX          CIpLocalPoolGroupEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "Each entry provides information about a particular IP pool
        group and the number of free and used addresses in an IP pool
        group."
    INDEX           { cIpLocalPoolGroupName } 
    ::= { cIpLocalPoolGroupTable 1 }

CIpLocalPoolGroupEntry ::= SEQUENCE {
        cIpLocalPoolGroupFreeAddrs  Gauge32,
        cIpLocalPoolGroupInUseAddrs Gauge32
}

cIpLocalPoolGroupFreeAddrs OBJECT-TYPE
    SYNTAX          Gauge32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The number of IP addresses available for use in the IP pool
        group." 
    ::= { cIpLocalPoolGroupEntry 1 }

cIpLocalPoolGroupInUseAddrs OBJECT-TYPE
    SYNTAX          Gauge32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The number of IP addresses that have been allocated from the
        IP pool group." 
    ::= { cIpLocalPoolGroupEntry 2 }
 

-- Stats

cIpLocalPoolStatsTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CIpLocalPoolStatsEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "A table providing statistics for each IP local pool.

        Entries in this table are created as the result of adding a new
        IP local pool to the cIpLocalPoolConfigTable.

        Entries in this table are deleted as the result of removing all
        the address ranges that are contained in an IP local pool in the
        cIpLocalPoolConfigTable.

        Entries in this table are uniquely indexed by the name of the IP
        local pool."
    ::= { cIpLocalPoolStats 1 }

cIpLocalPoolStatsEntry OBJECT-TYPE
    SYNTAX          CIpLocalPoolStatsEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "Each entry provides statistical information about a particular
        IP local pool, and the total number of free and used addresses
        of all the ranges in an IP local pool."
    INDEX           { cIpLocalPoolName } 
    ::= { cIpLocalPoolStatsTable 1 }

CIpLocalPoolStatsEntry ::= SEQUENCE {
        cIpLocalPoolStatFreeAddrs        Gauge32,
        cIpLocalPoolStatInUseAddrs       Gauge32,
        cIpLocalPoolStatHiWaterUsedAddrs Unsigned32,
        cIpLocalPoolStatInUseAddrThldLo  Unsigned32,
        cIpLocalPoolStatInUseAddrThldHi  Unsigned32,
        cIpLocalPoolPercentAddrThldLo    CIpLocalPoolPercentage,
        cIpLocalPoolPercentAddrThldHi    CIpLocalPoolPercentage
}

cIpLocalPoolStatFreeAddrs OBJECT-TYPE
    SYNTAX          Gauge32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The number of IP addresses available for use in this IP local
        pool." 
    ::= { cIpLocalPoolStatsEntry 1 }

cIpLocalPoolStatInUseAddrs OBJECT-TYPE
    SYNTAX          Gauge32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The number of IP addresses being used in this IP local pool." 
    ::= { cIpLocalPoolStatsEntry 2 }

cIpLocalPoolStatHiWaterUsedAddrs OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "This object contains the high water mark of used addresses
        in an IP local pool since pool creation, since the system was
        restarted, or since this object was reset, whichever occurred
        last.  This object can only be set to zero, and by doing so, it
        is reset to the value of cIpLocalPoolStatInUseAddrs.

        Since the number of addresses in a pool can be reduced (e.g. by
        deleting one of its ranges), the value of this object may be
        greater than the sum of cIpLocalPoolStatFreeAddrs and
        cIpLocalPoolStatInUseAddrs." 
    ::= { cIpLocalPoolStatsEntry 3 }

cIpLocalPoolStatInUseAddrThldLo OBJECT-TYPE
    SYNTAX          Unsigned32 (0..4294967295 )
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "When the number of used addresses in an IP local pool falls
        below this threshold value, the ciscoIpLocalPoolInUseAddrNoti
        notification will be rearmed.

        The value of this object should never be greater than the value
        of cIpLocalPoolStatInUseAddrThldHi."
    DEFVAL          { 0 } 
    ::= { cIpLocalPoolStatsEntry 4 }

cIpLocalPoolStatInUseAddrThldHi OBJECT-TYPE
    SYNTAX          Unsigned32 (0..4294967295 )
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "When the number of used addresses in an IP local pool
        is equal or exceeds this threshold value, a
        ciscoIpLocalPoolInUseAddrNoti notification will be generated.
        Once this notification is generated, it will be disarmed and it
        will not be generated again until the number of used address
        falls below the value indicated by
        cIpLocalPoolStatInUseAddrThldLo.

        The value of this object should never be smaller than the value
        of cIpLocalPoolStatInUseAddrThldLo."
    DEFVAL          { 4294967295 } 
    ::= { cIpLocalPoolStatsEntry 5 }

cIpLocalPoolPercentAddrThldLo OBJECT-TYPE
    SYNTAX          CIpLocalPoolPercentage
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "When the percentage of used addresses in an IP local pool
        falls below this threshold value, a cilpPercentAddrUsedLoNotif
        notification will be generated.  Once the notification is
        generated, it will be disarmed and it will not be generated
        again until the number of used addresses equals or exceeds the
        value indicated by cIpLocalPoolPercentAddrThldHi.

        The value of this object should never be greater than the value
        of cIpLocalPoolPercentAddrThldHi."
    DEFVAL          { 0 } 
    ::= { cIpLocalPoolStatsEntry 6 }

cIpLocalPoolPercentAddrThldHi OBJECT-TYPE
    SYNTAX          CIpLocalPoolPercentage
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "When the percentage of used addresses in an IP local pool
        is equal or exceeds this threshold value, a
        cilpPercentAddrUsedHiNotif notification will be generated. Once
        the notification is generated, it will be disarmed and it will
        not be generated again until the number of used addresses falls
        below the value indicated by cIpLocalPoolPercentAddrThldLo.

        The value of this object should never be smaller than the value
        of cIpLocalPoolPercentAddrThldLo."
    DEFVAL          { 100 } 
    ::= { cIpLocalPoolStatsEntry 7 }
 


cIpLocalPoolAllocTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CIpLocalPoolAllocEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This table lists all addresses that have been allocated out of
        an IP local pool.

        Entries in this table are created when a remote peer allocates
        an address from one of the IP local pools in the
        cIpLocalPoolConfigTable.

        Entries in this table are deleted when a remote peer deallocates
        an address from one of the IP local pool in the
        cIpLocalPoolConfigTable.

        Entries in this table are uniquely indexed by the name of the IP
        local pool, and the allocated address, together with its address
        type."
    ::= { cIpLocalPoolStats 2 }

cIpLocalPoolAllocEntry OBJECT-TYPE
    SYNTAX          CIpLocalPoolAllocEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "Each entry refers to conceptual row that associates an IP
        addresses with the interface where the request was received, and
        the user that requested the address."
    INDEX           {
                        cIpLocalPoolName,
                        cIpLocalPoolAllocAddrType,
                        cIpLocalPoolAllocAddr
                    } 
    ::= { cIpLocalPoolAllocTable 1 }

CIpLocalPoolAllocEntry ::= SEQUENCE {
        cIpLocalPoolAllocAddrType InetAddressType,
        cIpLocalPoolAllocAddr     InetAddress,
        cIpLocalPoolAllocIfIndex  InterfaceIndexOrZero,
        cIpLocalPoolAllocUser     SnmpAdminString
}

cIpLocalPoolAllocAddrType OBJECT-TYPE
    SYNTAX          InetAddressType
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object specifies the address type of
        cIpLocalPoolAllocAddr." 
    ::= { cIpLocalPoolAllocEntry 1 }

cIpLocalPoolAllocAddr OBJECT-TYPE
    SYNTAX          InetAddress
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object specifies the allocated IP address.  The address
        type of this object is described by cIpLocalPoolAllocAddrType." 
    ::= { cIpLocalPoolAllocEntry 2 }

cIpLocalPoolAllocIfIndex OBJECT-TYPE
    SYNTAX          InterfaceIndexOrZero
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the interface from which the allocation
        message was sent.

        In the case that the interface can not be determined, the value
        of this object will be zero." 
    ::= { cIpLocalPoolAllocEntry 3 }

cIpLocalPoolAllocUser OBJECT-TYPE
    SYNTAX          SnmpAdminString
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the user name of the person from whom the
        allocation message was sent.

        In the case that the user name can not be determined, the value
        of this object will the null string." 
    ::= { cIpLocalPoolAllocEntry 4 }
 


-- Notifications

ciscoIpLocalPoolInUseAddrNoti NOTIFICATION-TYPE
    OBJECTS         {
                        cIpLocalPoolStatFreeAddrs,
                        cIpLocalPoolStatInUseAddrs
                    }
    STATUS          current
    DESCRIPTION
        "A notification indicating that number of used addresses of an
        IP local pool exceeded the threshold value indicated by
        cIpLocalPoolStatInUseAddrThldHi."
   ::= { ciscoIpLocalPoolMIBNotifs 1 }

cilpPercentAddrUsedLoNotif NOTIFICATION-TYPE
    OBJECTS         {
                        cIpLocalPoolStatFreeAddrs,
                        cIpLocalPoolStatInUseAddrs
                    }
    STATUS          current
    DESCRIPTION
        "A notification indicating that the percentage of used addresses
        of an IP local pool went below the threshold value indicated by
        cIpLocalPoolPercentAddrThldLo."
   ::= { ciscoIpLocalPoolMIBNotifs 2 }

cilpPercentAddrUsedHiNotif NOTIFICATION-TYPE
    OBJECTS         {
                        cIpLocalPoolStatFreeAddrs,
                        cIpLocalPoolStatInUseAddrs
                    }
    STATUS          current
    DESCRIPTION
        "A notification indicating that the percentage of used addresses
        of an IP local pool is equal to or exceeds the threshold value
        indicated by cIpLocalPoolPercentAddrThldHi."
   ::= { ciscoIpLocalPoolMIBNotifs 3 }
-- Conformance

ciscoIpLocalPoolMIBCompliances  OBJECT IDENTIFIER
    ::= { ciscoIpLocalPoolMIBConform 1 }

ciscoIpLocalPoolMIBGroups  OBJECT IDENTIFIER
    ::= { ciscoIpLocalPoolMIBConform 2 }


ciscoIpLocalPoolMIBCompliance MODULE-COMPLIANCE
    STATUS          deprecated
    DESCRIPTION
        "The compliance statement for entities which implement the Cisco
        IP Local Pool MIB."
    MODULE          -- this module
    MANDATORY-GROUPS {
                        ciscoIpLocalPoolConfigGroup,
                        ciscoIpLocalPoolStatsGroup
                    }

    GROUP           ciscoIpLocalPoolGroupGroup
    DESCRIPTION
        "This group is optional."

    OBJECT          cIpLocalPoolAddressHi
    MIN-ACCESS      read-only
    DESCRIPTION
        "Create/Write access is optional."

    OBJECT          cIpLocalPoolGroupContainedIn
    MIN-ACCESS      read-only
    DESCRIPTION
        "Create/Write access is optional."

    OBJECT          cIpLocalPoolRowStatus
    MIN-ACCESS      read-only
    DESCRIPTION
        "Create/Write access is optional."
    ::= { ciscoIpLocalPoolMIBCompliances 1 }

ciscoIpLocalPoolMIBCompliance1 MODULE-COMPLIANCE
    STATUS          deprecated
    DESCRIPTION
        "The compliance statement for entities which implement the Cisco
        IP Local Pool MIB."
    MODULE          -- this module
    MANDATORY-GROUPS {
                        ciscoIpLocalPoolConfigGroup,
                        ciscoIpLocalPoolStatsGroup,
                        ciscoIpLocalPoolNotifGroup
                    }

    GROUP           ciscoIpLocalPoolGroupGroup
    DESCRIPTION
        "This group is optional."

    GROUP           ciscoIpLocalPoolStatsGroupSup1
    DESCRIPTION
        "This group is optional."

    GROUP           ciscoIpLocalPoolNotifGroupSup1
    DESCRIPTION
        "This group is optional."

    OBJECT          cIpLocalPoolAddressHi
    MIN-ACCESS      read-only
    DESCRIPTION
        "Create/Write access is optional."

    OBJECT          cIpLocalPoolGroupContainedIn
    MIN-ACCESS      read-only
    DESCRIPTION
        "Create/Write access is optional."

    OBJECT          cIpLocalPoolRowStatus
    MIN-ACCESS      read-only
    DESCRIPTION
        "Create/Write access is optional."
    ::= { ciscoIpLocalPoolMIBCompliances 2 }

ciscoIpLocalPoolMIBCompliance2 MODULE-COMPLIANCE
    STATUS          current
    DESCRIPTION
        "The compliance statement for entities which implement the Cisco
        IP Local Pool MIB."
    MODULE          -- this module
    MANDATORY-GROUPS {
                        ciscoIpLocalPoolConfigGroup,
                        ciscoIpLocalPoolStatsGroup,
                        ciscoIpLocalPoolNotifGroup,
                        ciscoIpLocalPoolPriorityGroup
                    }

    GROUP           ciscoIpLocalPoolGroupGroup
    DESCRIPTION
        "This group is optional."

    GROUP           ciscoIpLocalPoolStatsGroupSup1
    DESCRIPTION
        "This group is optional."

    GROUP           ciscoIpLocalPoolNotifGroupSup1
    DESCRIPTION
        "This group is optional."

    OBJECT          cIpLocalPoolAddressHi
    MIN-ACCESS      read-only
    DESCRIPTION
        "Create/Write access is optional."

    OBJECT          cIpLocalPoolGroupContainedIn
    MIN-ACCESS      read-only
    DESCRIPTION
        "Create/Write access is optional."

    OBJECT          cIpLocalPoolRowStatus
    MIN-ACCESS      read-only
    DESCRIPTION
        "Create/Write access is optional."
    ::= { ciscoIpLocalPoolMIBCompliances 3 }

-- Units of Conformance

ciscoIpLocalPoolConfigGroup OBJECT-GROUP
    OBJECTS         {
                        cIpLocalPoolNotificationsEnable,
                        cIpLocalPoolAddressHi,
                        cIpLocalPoolFreeAddrs,
                        cIpLocalPoolInUseAddrs,
                        cIpLocalPoolGroupContainedIn,
                        cIpLocalPoolRowStatus
                    }
    STATUS          current
    DESCRIPTION
        "Objects for providing configuration for IP local pools."
    ::= { ciscoIpLocalPoolMIBGroups 1 }

ciscoIpLocalPoolGroupGroup OBJECT-GROUP
    OBJECTS         {
                        cIpLocalPoolChildIndex,
                        cIpLocalPoolGroupFreeAddrs,
                        cIpLocalPoolGroupInUseAddrs
                    }
    STATUS          current
    DESCRIPTION
        "Objects for providing configuration for IP local pools."
    ::= { ciscoIpLocalPoolMIBGroups 2 }

ciscoIpLocalPoolStatsGroup OBJECT-GROUP
    OBJECTS         {
                        cIpLocalPoolStatFreeAddrs,
                        cIpLocalPoolStatInUseAddrs,
                        cIpLocalPoolStatHiWaterUsedAddrs,
                        cIpLocalPoolStatInUseAddrThldLo,
                        cIpLocalPoolStatInUseAddrThldHi,
                        cIpLocalPoolAllocIfIndex,
                        cIpLocalPoolAllocUser
                    }
    STATUS          current
    DESCRIPTION
        "Objects for providing IP local pool statistics and status."
    ::= { ciscoIpLocalPoolMIBGroups 3 }

ciscoIpLocalPoolNotifGroup NOTIFICATION-GROUP
   NOTIFICATIONS    { ciscoIpLocalPoolInUseAddrNoti }
    STATUS          current
    DESCRIPTION
        "The collection of notifications used for monitoring IP local
        pool utilization."
    ::= { ciscoIpLocalPoolMIBGroups 4 }

ciscoIpLocalPoolStatsGroupSup1 OBJECT-GROUP
    OBJECTS         {
                        cIpLocalPoolPercentAddrThldLo,
                        cIpLocalPoolPercentAddrThldHi
                    }
    STATUS          current
    DESCRIPTION
        "Supplemental objects for providing IP local pool statistics and
        status."
    ::= { ciscoIpLocalPoolMIBGroups 5 }

ciscoIpLocalPoolNotifGroupSup1 NOTIFICATION-GROUP
   NOTIFICATIONS    {
                        cilpPercentAddrUsedLoNotif,
                        cilpPercentAddrUsedHiNotif
                    }
    STATUS          current
    DESCRIPTION
        "The collection of suplemantal notifications used for monitoring
        IP local pool utilization."
    ::= { ciscoIpLocalPoolMIBGroups 6 }

ciscoIpLocalPoolPriorityGroup OBJECT-GROUP
    OBJECTS         { cIpLocalPoolPriority }
    STATUS          current
    DESCRIPTION
        "A collection of object which provides priority configuration of IP local pools."
    ::= { ciscoIpLocalPoolMIBGroups 7 }

END



