APTILO-ALE-IPALLOC-MIB DEFINITIONS ::= BEGIN

   IMPORTS
       MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
       Gauge32, Counter64
           FROM SNMPv2-SMI
       ale
           FROM APTILO-MIB;

   ipalloc MODULE-IDENTITY
       LAST-UPDATED "201206270950Z"
       ORGANIZATION "Aptilo"
       CONTACT-INFO
              "Technical Support
               support@aptilo.com"
       DESCRIPTION
              "This MIB has information about services specific to an ipallocd process on an ALE APEX node."
	REVISION "201206270950Z"
	DESCRIPTION
		"Initial revision"
       ::= { ale 4 }

   ipallocNumBusyAddresses OBJECT-TYPE
       SYNTAX     Gauge32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
                  "The total number of allocated addresses to busy sessions."
       ::= { ipalloc 1 }

   ipallocNumTemporaryAddresses OBJECT-TYPE
       SYNTAX     Gauge32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
                  "The total number of temporarily allocated IP addresses
		   (i.e. uncommitted)."
       ::= { ipalloc 2 }

   ipallocNumFreeAddresses OBJECT-TYPE
       SYNTAX     Gauge32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
                  "The total number of free IP addresses."
       ::= { ipalloc 3 }

   ipallocNumTotalAddresses OBJECT-TYPE
       SYNTAX     Gauge32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
                  "The total number of IP addresses that can be allocated."
       ::= { ipalloc 4 }

   ipallocBusyAddressPercentage OBJECT-TYPE
       SYNTAX     Gauge32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
                  "The ratio (in percent) of the total number of busy
                  IP addresses and the total
                  number of provisioned IP addresses."
       ::= { ipalloc 5 }

-- IP Pool Table:

   ipallocIpPoolTable OBJECT-TYPE
       SYNTAX     SEQUENCE OF IpPoolEntry
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
                  "A table of provisioned IP pools."
       ::= { ipalloc 6 }

   ipallocIpPoolEntry OBJECT-TYPE
       SYNTAX     IpPoolEntry
       MAX-ACCESS not-accessible STATUS     current
       DESCRIPTION
                  "An IP pool entry with statistical information."
       INDEX   { ipallocIpPoolId }
       ::= { ipallocIpPoolTable 1 }

   IpPoolEntry ::=
       SEQUENCE {
          ipallocIpPoolId
             INTEGER,

          ipallocIpPoolTotalAddresses
             Gauge32,
          ipallocIpPoolBusyAddresses
             Gauge32,
          ipallocIpPoolTemporaryAddresses
             Gauge32,
          ipallocIpPoolFreeAddresses
             Gauge32,
          ipallocIpPoolBusyAddressPercentage
             Gauge32,
          ipallocIpPoolWaitStateAddresses
             Gauge32
       }

   ipallocIpPoolId OBJECT-TYPE
       SYNTAX     INTEGER
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
                  "ID (primary key) of this IP pool."
       ::= { ipallocIpPoolEntry 1 }

   ipallocIpPoolNumTotalAddresses OBJECT-TYPE
       SYNTAX     Gauge32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
                  "Number of provisioned IP addresses in this pool."
       ::= { ipallocIpPoolEntry 2 }

   ipallocIpPoolNumBusyAddresses OBJECT-TYPE
       SYNTAX     Gauge32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
                  "Number of busy (allocated) IP addresses in this pool."
       ::= { ipallocIpPoolEntry 3 }

   ipallocIpPoolNumTemporaryAddresses OBJECT-TYPE
       SYNTAX     Gauge32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
                  "Number of temporarily allocated IP addresses in this pool."
       ::= { ipallocIpPoolEntry 4 }

   ipallocIpPoolNumFreeAddresses OBJECT-TYPE
       SYNTAX     Gauge32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
                   "Number of free IP addresses in this pool."
       ::= { ipallocIpPoolEntry 5 }

   ipallocIpPoolBusyAddressPercentage OBJECT-TYPE
       SYNTAX     Gauge32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
                  "The ratio (in percent) of the number of busy
                  IP addresses for this pool and the
                  number of provisioned IP addresses for this pool."
       ::= { ipallocIpPoolEntry 6 }

    ipallocIpPoolNumWaitStateAddresses OBJECT-TYPE
       SYNTAX     Gauge32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
                  "Number of IP addresses in wait-state in this pool."
       ::= { ipallocIpPoolEntry 7 }

-- END ipallocPoolTable

   ipallocIpPoolNumberOfEntries OBJECT-TYPE
       SYNTAX     Gauge32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
                  "Number of pool entries in table."
       ::= { ipallocIpPoolTable 2 }

   ipallocConfigurationState OBJECT-TYPE
       SYNTAX     INTEGER { disabled(0), enabled(1) }
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
                  "The current redundancy state."
       ::= { ipalloc 7 }

   ipallocRedundancyState OBJECT-TYPE
       SYNTAX     INTEGER { init(0), master(1), slave(2), unresponsive(3) }
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
                  "The current redundancy state."
       ::= { ipalloc 8 }

-- request statistics

   ipallocNumAllocationRequests OBJECT-TYPE
       SYNTAX     Counter64
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
                  "The total number of allocation requests received."
       ::= { ipalloc 9 }

   ipallocNumCommitRequests OBJECT-TYPE
       SYNTAX     Counter64
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
                  "The total number of commit requests received."
       ::= { ipalloc 10 }

   ipallocNumDeallocationRequests OBJECT-TYPE
       SYNTAX     Counter64
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
                  "The total number of deallocation requests received."
       ::= { ipalloc 11 }

   ipallocNumIpLookupRequests OBJECT-TYPE
       SYNTAX     Counter64
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
                  "The total number of ip-lookup requests received."
       ::= { ipalloc 12 }

   ipallocNumIdentityLookupRequests OBJECT-TYPE
       SYNTAX     Counter64
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
                  "The total number of identity-lookup requests received."
       ::= { ipalloc 13 }

   ipallocNumUpdateRequests OBJECT-TYPE
       SYNTAX     Counter64
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
                  "The total number of update-requests received."
       ::= { ipalloc 14 }

    ipallocNumWaitStateAddresses OBJECT-TYPE
       SYNTAX     Gauge32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
                  "The total number of IP addresses in wait-state
		   (i.e. unused but temporary locked )."
       ::= { ipalloc 15 }

-- Global network-specific traps regarding IP addresses

   ipallocIpPoolFewAddressesLeftTrap NOTIFICATION-TYPE
       OBJECTS { ipallocIpPoolBusyAddressPercentage, ipallocIpPoolId }
       STATUS current
       DESCRIPTION
           "There are few free IP addresses left in a pool."
       ::= { ipalloc 1000 }

   ipallocIpPoolFewAddressesLeftTrapReset NOTIFICATION-TYPE
       OBJECTS { ipallocIpPoolBusyAddressPercentage, ipallocIpPoolId }
       STATUS current
       DESCRIPTION
           "The number of IP addresses left in a pool is back to normal."
       ::= { ipalloc 1001 }

-- Misc traps
   ipallocDownTrap NOTIFICATION-TYPE
       STATUS current
       DESCRIPTION
           "The ip allocation service is down."
       ::= { ipalloc 1010 }

   ipallocDownTrapReset NOTIFICATION-TYPE
       STATUS current
       DESCRIPTION
           "Reset of ipallocDownTrap."
       ::= { ipalloc 1011 }

END
