
-- *******************************************************************
-- CISCO-LWAPP-DHCP-MIB.my : 
-- Light Weight Access Point Dynamic Host Configuration Protocol MIB 
-- June 2007, Arun Kumar
--
-- Copyright (c) 2007 by Cisco Systems, Inc.
-- All rights reserved.
-- *******************************************************************
--
CISCO-LWAPP-DHCP-MIB DEFINITIONS ::= BEGIN

IMPORTS 
        MODULE-IDENTITY, 
        NOTIFICATION-TYPE,
        OBJECT-TYPE,
        Unsigned32,
	IpAddress
                FROM SNMPv2-SMI
        OBJECT-GROUP,
        NOTIFICATION-GROUP
                FROM SNMPv2-CONF
        TruthValue,
	TimeStamp
                FROM SNMPv2-TC 
        InetAddressType,
        InetAddress
                FROM INET-ADDRESS-MIB
        CiscoURLString
                FROM CISCO-TC
        SnmpAdminString
                FROM SNMP-FRAMEWORK-MIB
        ciscoMgmt
                FROM CISCO-SMI;

--********************************************************************
--*  MODULE IDENTITY
--********************************************************************

ciscoLwappDhcpMIB    MODULE-IDENTITY
        LAST-UPDATED    "200604051150Z"
        ORGANIZATION    "Cisco Systems Inc."
        CONTACT-INFO  
               "        Cisco Systems,
                        Customer Service
                Postal: 170 West Tasman Drive
                        San Jose, CA  95134
                        USA
                   Tel: +1 800 553-NETS

                 Email: cs-wnbu-snmp@cisco.com"

        DESCRIPTION             
                "This MIB is intended to be implemented on all those
                devices operating as Central controllers, that
                terminate the Light Weight Access Point Protocol
                tunnel from Cisco Light-weight LWAPP Access Points.

                This MIB is used to show and configure Dynamic Host
		Configuration Protocol (DHCP) related statistics.


                The relationship between CC and the LWAPP APs
                can be depicted as follows:

        +......+     +......+     +......+           +......+
        +      +     +      +     +      +           +      +
        +  CC  +     +  CC  +     +  CC  +           +  CC  +
        +      +     +      +     +      +           +      +
        +......+     +......+     +......+           +......+
          ..            .             .                 .
          ..            .             .                 .
         .  .            .             .                 .
        .    .            .             .                 .
       .      .            .             .                 .
      .        .            .             .                 .
   +......+ +......+     +......+      +......+          +......+
   +      + +      +     +      +      +      +          +      +
   +  AP  + +  AP  +     +  AP  +      +  AP  +          +  AP  +
   +      + +      +     +      +      +      +          +      +
   +......+ +......+     +......+      +......+          +......+
              .              .             .                 .
            .  .              .             .                 .
           .    .              .             .                 .
          .      .              .             .                 .
         .        .              .             .                 .
      +......+ +......+     +......+      +......+          +......+
      +      + +      +     +      +      +      +          +      +
      +  MN  + +  MN  +     +  MN  +      +  MN  +          +  MN  +
      +      + +      +     +      +      +      +          +      +
      +......+ +......+     +......+      +......+          +......+


                The LWAPP tunnel exists between the controller and
                the APs.  The MNs communicate with the APs through
                the protocol defined by the 802.11 standard.

                LWAPP APs, upon bootup, discover and join one of the
                controllers and the controller pushes the configuration,
                that includes the WLAN parameters, to the LWAPP APs.
                The APs then encapsulate all the 802.11 frames from
                wireless clients inside LWAPP frames and forward
                the LWAPP frames to the controller.

                                   GLOSSARY

                Access Point ( AP )

                An entity that contains an 802.11 medium access
                control ( MAC ) and physical layer ( PHY ) interface
                and provides access to the distribution services via
                the wireless medium for associated clients.  

                LWAPP APs encapsulate all the 802.11 frames in
                LWAPP frames and sends them to the controller to which
                it is logically connected.

                Central Controller ( CC )

                The central entity that terminates the LWAPP protocol
                tunnel from the LWAPP APs.  Throughout this MIB,
                this entity also referred to as 'controller'. 

                Light Weight Access Point Protocol ( LWAPP ) 

                This is a generic protocol that defines the 
                communication between the Access Points and the
                Central Controller.

                Mobile Node ( MN )

                A roaming 802.11 wireless device in a wireless
                network associated with an access point. Mobile Node,
                Mobile Station(Ms) and client are used interchangeably. 
                
                REFERENCE
 
                [1] Wireless LAN Medium Access Control ( MAC ) and
                Physical Layer ( PHY ) Specifications.
  
                [2] Draft-obara-capwap-lwapp-00.txt, IETF Light 
                Weight Access Point Protocol "
        
        REVISION      "200706241150Z"
        DESCRIPTION
                "Initial version of this MIB module. "
        ::= { ciscoMgmt 193999 }

ciscoLwappDhcpMIBObjects OBJECT IDENTIFIER 
        ::= { ciscoLwappDhcpMIB 0 }

ciscoLwappDhcpGlobalConfig OBJECT IDENTIFIER
	::= { ciscoLwappDhcpMIBObjects 1 }

ciscoLwappDhcpStatsConfig OBJECT IDENTIFIER
	::= { ciscoLwappDhcpMIBObjects 2 }

ciscoLwappDhcpShowStats OBJECT IDENTIFIER
	::= { ciscoLwappDhcpMIBObjects  3 }
	
--*************************************************
--DHCP Global Config
--*************************************************

cLDhcpClearAllStats OBJECT-TYPE
	SYNTAX	    TruthValue
	MAX-ACCESS  read-write
	STATUS	    current
	DESCRIPTION
	"This attribute when set to true, clears
	all the statistics of all the DHCP servers."
	::= { ciscoLwappDhcpGlobalConfig  1 }

cLDhcpOpt82RemoteIdFormat OBJECT-TYPE
      SYNTAX        INTEGER {
                apMac (1),
                apMacSsid (2)
       }
      MAX-ACCESS  read-write
      STATUS        current
      DESCRIPTION
            "This object specifies the format for RemoteId field
             in DHCP option 82 of the controller.  
             when set to apMac (1), the DHCP Option 82 RemoteID format 
             is set to ap-mac.  when set to apMacSsid(2), the DHCP Option 82 
             RemoteID format is set to apmac::SSID."
      DEFVAL {apMac}
      ::= { ciscoLwappDhcpGlobalConfig  2 }

--********************************************************
--DHCP Statistics Config Table
--********************************************************

cLDhcpStatsConfigTable   OBJECT-TYPE
	SYNTAX 	     SEQUENCE OF CLDhcpStatsConfigEntry
	MAX-ACCESS   not-accessible
	STATUS	     current
	DESCRIPTION
		"This contains configurable attributes for
		statistics of the dhcp servers, uniquely
		identified by IP Address."
	::= { ciscoLwappDhcpStatsConfig 1 }

cLDhcpStatsConfigEntry  OBJECT-TYPE
	SYNTAX	      CLDhcpStatsConfigEntry
	MAX-ACCESS    not-accessible
	STATUS	      current
	DESCRIPTION
		"Each entry represents a DHCP server uniquely
		Identified by the IP Address. "
	INDEX         { cLDhcpServerIpAddress }
	::= { cLDhcpStatsConfigTable  1}

CLDhcpStatsConfigEntry  ::=
	SEQUENCE {
			  cLDhcpServerIpAddress   IpAddress,
			  cLDhcpClearStats        TruthValue
	         }

cLDhcpServerIpAddress  OBJECT-TYPE
	SYNTAX          IpAddress
	MAX-ACCESS      not-accessible
	STATUS          current   
	DESCRIPTION
               "This object represents every entry in the table uniquely."
        ::= { cLDhcpStatsConfigEntry  1 }

cLDhcpClearStats  OBJECT-TYPE
	SYNTAX		TruthValue
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
	        "This object when set to 'true', will clear the
	         Statistics of the dhcp server represented by the
		 unique MAC address."
        ::= { cLDhcpStatsConfigEntry    2 }

cLDhcpStatsShowTable  OBJECT-TYPE
	SYNTAX 	      SEQUENCE OF CLDhcpStatsShowEntry
	MAX-ACCESS    not-accessible
	STATUS	      current
	DESCRIPTION
		"This contains various statistics of the dhcp 
		Servers, uniquely identified by IP Address."
	::= { ciscoLwappDhcpShowStats 1}

cLDhcpStatsShowEntry  OBJECT-TYPE
	SYNTAX	      CLDhcpStatsShowEntry
	MAX-ACCESS    not-accessible
	STATUS	      current
	DESCRIPTION
		"Each entry represents a DHCP server uniquely
		Identified by the IP Address. "
	INDEX     { cLDhcpServerIpAddress }
	::= { cLDhcpStatsShowTable   1}

CLDhcpStatsShowEntry  ::=
	SEQUENCE {
			 cLDhcpProxy		TruthValue,
		  	 cLDhcpDiscoverPkts     Counter32,
		 	 cLDhcpRequestPkts      Counter32,
                         cLDhcpDeclinePkts      Counter32,
		       	 cLDhcpInformPkts       Counter32,
		  	 cLDhcpReleasePkts      Counter32,
		 	 cLDhcpReplyPkts        Counter32,
		 	 cLDhcpOfferPkts        Counter32,
		 	 cLDhcpAckPkts           Counter32,
			 cLDhcpNakPkts           Counter32,
		 	 cLDhcpTxFailures        Counter32,
			 cLDhcpLastRspTime       TimeStamp,
			 cLDhcpLastReqTime       TimeStamp
		 }

cLDhcpProxy   OBJECT-TYPE
	SYNTAX		TruthValue
	MAX-ACCESS	read-only
	STATUS		deprecated
	DESCRIPTION
               "This object represents whether the proxy option is
	        Enabled or disabled."
	::= { cLDhcpStatsShowEntry    1 }
			
cLDhcpDiscoverPkts     OBJECT-TYPE
	SYNTAX          Counter32
	UNITS           "packets"
	MAX-ACCESS      read-only
	STATUS          current   
	DESCRIPTION
               "This object represents the number of DHCP discover
	       Packets sent by the controller."
	::= { cLDhcpStatsShowEntry  2 }

cLDhcpRequestPkts    OBJECT-TYPE
	SYNTAX       Counter32
	UNITS        "packets"
	MAX-ACCESS   read-only
	STATUS       current   
	DESCRIPTION
	        "This object represents the number of DHCP request
	        packets sent by the controller."
	::= { cLDhcpStatsShowEntry  3 }

cLDhcpDeclinePkts    OBJECT-TYPE
	SYNTAX       Counter32
	UNITS        "packets"
	MAX-ACCESS   read-only
	STATUS       current  
	DESCRIPTION
              "This object represents the number of DHCP decline
	       Packets received by the controller."
	::= { cLDhcpStatsShowEntry  4 }

cLDhcpInformPkts   OBJECT-TYPE
	SYNTAX     Counter32
	UNITS      "packets"
	MAX-ACCESS read-only
	STATUS     current   
	DESCRIPTION
	        "This object represents the number of DHCP 
	       	 inform packets."
	::= { cLDhcpStatsShowEntry  5 }

cLDhcpReleasePkts    OBJECT-TYPE
	SYNTAX       Counter32
	UNITS        "packets"
	MAX-ACCESS   read-only
	STATUS       current   
	DESCRIPTION
              "This object represents the number of DHCP 
	      release packets."
        ::= { cLDhcpStatsShowEntry  6 }

cLDhcpReplyPkts    OBJECT-TYPE
	SYNTAX     Counter32
	UNITS      "packets"
	MAX-ACCESS read-only
	STATUS     current   
	DESCRIPTION
	       "This object represents the number of DHCP reply
	        Packets received by the controller."
	::= { cLDhcpStatsShowEntry  7 }

cLDhcpOfferPkts    OBJECT-TYPE
	SYNTAX          Counter32
	UNITS           "packets"
	MAX-ACCESS      read-only
	STATUS          current   
	DESCRIPTION
              "This object represents the number of DHCP 
	      offer packets."
       ::= { cLDhcpStatsShowEntry  8 }

cLDhcpAckPkts    OBJECT-TYPE
        SYNTAX          Counter32
  	UNITS           "packets"
  	MAX-ACCESS      read-only
  	STATUS          current   
  	DESCRIPTION
		"This object represents the number of Ack  packets"
       ::= { cLDhcpStatsShowEntry  9 }

cLDhcpNakPkts    OBJECT-TYPE
	SYNTAX          Counter32
	UNITS           "packets"
	MAX-ACCESS      read-only
	STATUS          current   
	DESCRIPTION
              "This object represents the number of Nak packets"
	::= { cLDhcpStatsShowEntry  10 }

cLDhcpTxFailures   OBJECT-TYPE
  	SYNTAX          Counter32
  	MAX-ACCESS      read-only
  	STATUS          current   
  	DESCRIPTION
	       "This object represents the number of transmission
	        failures."
	::= { cLDhcpStatsShowEntry  11 }
	
cLDhcpLastRspTime   OBJECT-TYPE
	SYNTAX          TimeStamp
	UNITS           "seconds"
	MAX-ACCESS      read-only
	STATUS          current   
	DESCRIPTION
         	"This object represents the time at which the last
		 DHCP response was received by the controller."
       ::= { cLDhcpStatsShowEntry  12 }

cLDhcpLastReqTime   OBJECT-TYPE
        SYNTAX          TimeStamp
        UNITS           "seconds"
        MAX-ACCESS      read-only
        STATUS          current   
        DESCRIPTION
               "This object represents the time at which the last
                DHCP requset was sent by the controller."
	::= { cLDhcpStatsShowEntry  13 }

END
