-- *------------------------------------------------------------------
-- * ALTIGA-DHCP-STATS-MIB.my:  The Altiga DHCP Statistics MIB.
-- *
-- * Altiga Networks was acquired by Cisco Systems on March 29, 2000
-- *
-- * Copyright (c) 2002 by Cisco Systems, Inc.
-- * All rights reserved.
-- *
-- *------------------------------------------------------------------

ALTIGA-DHCP-STATS-MIB DEFINITIONS ::= BEGIN

   IMPORTS
      MODULE-IDENTITY, OBJECT-TYPE, Integer32, IpAddress, Gauge32
         FROM SNMPv2-SMI
      RowStatus, DisplayString
         FROM SNMPv2-TC
      OBJECT-GROUP, MODULE-COMPLIANCE
         FROM SNMPv2-CONF
      alStatsDhcp, alDhcpGroup
         FROM ALTIGA-MIB
      alDhcpMibModule
         FROM ALTIGA-GLOBAL-REG;

   altigaDhcpStatsMibModule MODULE-IDENTITY
      LAST-UPDATED   "200209051300Z"
      ORGANIZATION   "Cisco Systems, Inc."
      CONTACT-INFO
         "Cisco Systems
          170 W Tasman Drive
          San Jose, CA  95134
          USA

          Tel: +1 800 553-NETS
          E-mail: cs-cvpn3000@cisco.com"

      DESCRIPTION
         "The Altiga DHCP Statistics MIB models counters and objects that are
          of management interest for DHCP.
         
          Acronyms
          The following acronyms are used in this document:

            DHCP:       Dynamic Host Configuration Protocol

            MIB:        Management Information Base

         "

        REVISION "200209051300Z"
        DESCRIPTION
                "Added module compliance."

        REVISION "200207100000Z"
        DESCRIPTION
                "Updated with new header"

      ::= { alDhcpMibModule 2 }


-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- MIB Objects
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++

alStatsDhcpGlobal	OBJECT IDENTIFIER ::= { alStatsDhcp 1 }

alDhcpStatsActiveLeases		OBJECT-TYPE
	SYNTAX			Gauge32
	MAX-ACCESS		read-only
	STATUS			current
	DESCRIPTION
      "The number of active DHCP leases."
	::= { alStatsDhcpGlobal 1 }

alDhcpStatsMaximumLeases	OBJECT-TYPE
	SYNTAX			Gauge32
	MAX-ACCESS		read-only
	STATUS			current
	DESCRIPTION
      "The number of leases that were active at any one time."
	::= { alStatsDhcpGlobal 2 }

alDhcpStatsDiscoversSent	OBJECT-TYPE
	SYNTAX			Gauge32
	MAX-ACCESS		read-only
	STATUS			current
	DESCRIPTION
      "The number of transmitted DHCPDISCOVER messages."
	::= { alStatsDhcpGlobal 3 }

alDhcpStatsOffersRcvd		OBJECT-TYPE
	SYNTAX			Gauge32
	MAX-ACCESS		read-only
	STATUS			current
	DESCRIPTION
      "The number of received DHCPOFFER messages."
	::= { alStatsDhcpGlobal 4 }

alDhcpStatsInitRequestsSent	OBJECT-TYPE
	SYNTAX			Gauge32
	MAX-ACCESS		read-only
	STATUS			current
	DESCRIPTION
      "The number of initially (i.e. in the SELECTING or REQUESTING state) 
       transmitted DHCPREQUEST messages."
	::= { alStatsDhcpGlobal 5 }

alDhcpStatsT1RequestsSent	OBJECT-TYPE
	SYNTAX			Gauge32
	MAX-ACCESS		read-only
	STATUS			current
	DESCRIPTION
      "The number of transmitted DHCPDISCOVER messages after the T1 
       timer expired."
	::= { alStatsDhcpGlobal 6 }

alDhcpStatsT2RequestsSent	OBJECT-TYPE
	SYNTAX			Gauge32
	MAX-ACCESS		read-only
	STATUS			current
	DESCRIPTION
      "The number of transmitted DHCPDISCOVER messages after the T2
       timer expired."
	::= { alStatsDhcpGlobal 7 }

alDhcpStatsInitAcksRcvd		OBJECT-TYPE
	SYNTAX			Gauge32
	MAX-ACCESS		read-only
	STATUS			current
	DESCRIPTION
      "The number of received original (i.e. in the REQUESTING state)
       DHCPACK messages."
	::= { alStatsDhcpGlobal 8 }

alDhcpStatsInitNaksRcvd		OBJECT-TYPE
	SYNTAX			Gauge32
	MAX-ACCESS		read-only
	STATUS			current
	DESCRIPTION
      "The number of received original (i.e. in the REQUESTING state)
       DHCPNAK messages."
	::= { alStatsDhcpGlobal 9 }

alDhcpStatsT1AcksRcvd		OBJECT-TYPE
	SYNTAX			Gauge32
	MAX-ACCESS		read-only
	STATUS			current
	DESCRIPTION
      "The number of received DHCPACK messages after the T1 timer
       expired."
	::= { alStatsDhcpGlobal 10 }

alDhcpStatsT1NaksRcvd		OBJECT-TYPE
	SYNTAX			Gauge32
	MAX-ACCESS		read-only
	STATUS			current
	DESCRIPTION
      "The number of received DHCPNAK messages after the T1 timer
       expired."
	::= { alStatsDhcpGlobal 11 }

alDhcpStatsT2AcksRcvd		OBJECT-TYPE
	SYNTAX			Gauge32
	MAX-ACCESS		read-only
	STATUS			current
	DESCRIPTION
      "The number of received DHCPACK messages after the T2 timer
       expired."
	::= { alStatsDhcpGlobal 12 }

alDhcpStatsT2NaksRcvd		OBJECT-TYPE
	SYNTAX			Gauge32
	MAX-ACCESS		read-only
	STATUS			current
	DESCRIPTION
      "The number of received DHCPNAK messages after the T2 timer
       expired."
	::= { alStatsDhcpGlobal 13 }

alDhcpStatsT1Timeouts		OBJECT-TYPE
	SYNTAX			Gauge32
	MAX-ACCESS		read-only
	STATUS			current
	DESCRIPTION
      "The number of T1 timeouts that occurred."
	::= { alStatsDhcpGlobal 14 }

alDhcpStatsT2Timeouts		OBJECT-TYPE
	SYNTAX			Gauge32
	MAX-ACCESS		read-only
	STATUS			current
	DESCRIPTION
      "The number of T2 timeouts that occurred."
	::= { alStatsDhcpGlobal 15 }

alDhcpStatsApiRequests		OBJECT-TYPE
	SYNTAX			Gauge32
	MAX-ACCESS		read-only
	STATUS			current
	DESCRIPTION
      "The number of requests made to obtain an IP address from 
       the DHCP module."
	::= { alStatsDhcpGlobal 16 }

alDhcpStatsLeaseTimeouts	OBJECT-TYPE
	SYNTAX			Gauge32
	MAX-ACCESS		read-only
	STATUS			current
	DESCRIPTION
      "The number of leases that expired."
	::= { alStatsDhcpGlobal 17 }


--   Per session stats 

alDhcpStatsSessTable		OBJECT-TYPE
	SYNTAX			SEQUENCE OF AlDhcpStatsSessEntry
	MAX-ACCESS		not-accessible
	STATUS			current
	DESCRIPTION
      "List of active sessions."
	::= { alStatsDhcp 2 }

alDhcpStatsSessEntry		OBJECT-TYPE
	SYNTAX			AlDhcpStatsSessEntry
	MAX-ACCESS		not-accessible
	STATUS			current
	DESCRIPTION
      "An entry in the alDhcpStatsSessTable."
	INDEX			   { alDhcpStatsSessIpAddr }
	::= { alDhcpStatsSessTable 1 }

AlDhcpStatsSessEntry ::= SEQUENCE {
   alDhcpStatsSessRowStatus      RowStatus,
   alDhcpStatsSessId             Integer32,
   alDhcpStatsSessKey            Integer32,
   alDhcpStatsSessIpAddr         IpAddress,
   alDhcpStatsSessUpTime         Integer32,
   alDhcpStatsSessLeaseDuration  Integer32,
   alDhcpStatsSessLeaseExpire    Integer32,
   alDhcpStatsSessState          DisplayString,
   alDhcpStatsSessClientId       DisplayString,
   alDhcpStatsSessSrvrIpAddr     IpAddress
}

alDhcpStatsSessRowStatus	OBJECT-TYPE
	SYNTAX			RowStatus
	MAX-ACCESS		read-write
	STATUS			current		
	DESCRIPTION
   "The status of this row. This can be used to delete the
    lease, but can not be used to create one."
	::= { alDhcpStatsSessEntry 1 }

alDhcpStatsSessId		OBJECT-TYPE
	SYNTAX			Integer32
	MAX-ACCESS		read-only
	STATUS			current
	DESCRIPTION
   "The unique DHCP session ID used as the index for this row."
	::= { alDhcpStatsSessEntry 2 }

alDhcpStatsSessKey		OBJECT-TYPE
	SYNTAX			Integer32
	MAX-ACCESS		read-only
	STATUS			current
	DESCRIPTION
   "The DHCP hash key for this lease."
	::= { alDhcpStatsSessEntry 3 }

alDhcpStatsSessIpAddr	OBJECT-TYPE
	SYNTAX			IpAddress
	MAX-ACCESS		read-only
	STATUS			current
	DESCRIPTION
		"The IP address of the remote client."
	::= { alDhcpStatsSessEntry 4 }

alDhcpStatsSessUpTime		OBJECT-TYPE
	SYNTAX			Integer32
	MAX-ACCESS		read-only
	STATUS			current
	DESCRIPTION
		"The total length of time that this session has had active 
		 lease(s)."
	::= { alDhcpStatsSessEntry 5 }

alDhcpStatsSessLeaseDuration	OBJECT-TYPE
	SYNTAX			Integer32
	MAX-ACCESS		read-only
	STATUS			current
	DESCRIPTION
      "The duration of the current lease."
	::= { alDhcpStatsSessEntry 6 }

alDhcpStatsSessLeaseExpire	OBJECT-TYPE
	SYNTAX			Integer32
	MAX-ACCESS		read-only
	STATUS			current
	DESCRIPTION
      "The remaining seconds until the current lease expires."
	::= { alDhcpStatsSessEntry 7 }

alDhcpStatsSessState		OBJECT-TYPE
	SYNTAX			DisplayString
	MAX-ACCESS		read-only
	STATUS			current
	DESCRIPTION
      "The state of this session."
	::= { alDhcpStatsSessEntry 8 }

alDhcpStatsSessClientId		OBJECT-TYPE
	SYNTAX			DisplayString
	MAX-ACCESS		read-only
	STATUS			current
	DESCRIPTION
      "The full 'client ID' value associated with this lease."
	::= { alDhcpStatsSessEntry 9 }

alDhcpStatsSessSrvrIpAddr	OBJECT-TYPE
	SYNTAX			IpAddress
	MAX-ACCESS		read-only
	STATUS			current
	DESCRIPTION
		"The IP address of the server from which this lease 
		 was obtained."
	::= { alDhcpStatsSessEntry 10 }

altigaDhcpStatsMibConformance OBJECT IDENTIFIER ::= { altigaDhcpStatsMibModule 1 }
altigaDhcpStatsMibCompliances OBJECT IDENTIFIER ::= { altigaDhcpStatsMibConformance 1 }

altigaDhcpStatsMibCompliance MODULE-COMPLIANCE
   STATUS         current
   DESCRIPTION
      "The compliance statement for agents which 
       implement the Altiga DHCP Statistics MIB."
   MODULE
   MANDATORY-GROUPS { 
      altigaDhcpStatsGroup
   }
   ::= { altigaDhcpStatsMibCompliances 1 }

altigaDhcpStatsGroup OBJECT-GROUP
	OBJECTS
	{
		alDhcpStatsActiveLeases,
		alDhcpStatsMaximumLeases,
		alDhcpStatsDiscoversSent,
		alDhcpStatsOffersRcvd,
		alDhcpStatsInitRequestsSent,
		alDhcpStatsT1RequestsSent,
 		alDhcpStatsT2RequestsSent,
		alDhcpStatsInitAcksRcvd,
		alDhcpStatsInitNaksRcvd,
		alDhcpStatsT1AcksRcvd,
		alDhcpStatsT1NaksRcvd,
		alDhcpStatsT2AcksRcvd,
		alDhcpStatsT2NaksRcvd,
		alDhcpStatsT1Timeouts,
		alDhcpStatsT2Timeouts,
		alDhcpStatsApiRequests,	
		alDhcpStatsLeaseTimeouts,
		alDhcpStatsSessRowStatus,
		alDhcpStatsSessId,
		alDhcpStatsSessKey,
		alDhcpStatsSessIpAddr,
		alDhcpStatsSessUpTime,
		alDhcpStatsSessLeaseDuration,
		alDhcpStatsSessLeaseExpire,
		alDhcpStatsSessState,
		alDhcpStatsSessClientId,
		alDhcpStatsSessSrvrIpAddr
	}
	STATUS 	current
	DESCRIPTION
      "The objects for the DHCP Server statistics."
	::= { alDhcpGroup 2 }

END


