-- ********************************************************************
-- * Wireless LAN Enterprise Access Point Management Base
-- ********************************************************************

	AP-L2TP DEFINITIONS ::= BEGIN
 
		IMPORTS
			OBJECT-GROUP			
	 			FROM SNMPv2-CONF			
			enterprises, IpAddress, Unsigned32, Counter64, OBJECT-TYPE, MODULE-IDENTITY			
				FROM SNMPv2-SMI	
			apRadioIndex
				FROM AP-RADIO
			apWlanIndex
				FROM AP-WLAN
			DisplayString, RowStatus, TruthValue, MacAddress 			
				FROM SNMPv2-TC;
--
-- Node definitions
--

-- The Enterprises Number
		-- .1.3.6.1.4.1.27662	
		pepwave OBJECT IDENTIFIER ::= { enterprises 27662 }
        
		-- .1.3.6.1.4.1.27662.200
		productID  OBJECT IDENTIFIER ::= { pepwave 200 }

		-- .1.3.6.1.4.1.27662.200.1
		apMib OBJECT IDENTIFIER ::= { productID 1 }

		-- .1.3.6.1.4.1.27662.200.1.1
		apGeneralMib OBJECT IDENTIFIER ::= { apMib 1 }

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

		ap-l2tp-mib MODULE-IDENTITY 
			LAST-UPDATED "2011091900Z"		-- 09 19, 2011 at 12:00 GMT
			ORGANIZATION 
				"PEPWAVE"
			CONTACT-INFO 
				""
			DESCRIPTION 
				"The MIB module for PEPWAVE Enterprise WiFi AP.
				iso(1).org(3).dod(6).internet(1).private(4).
				enterprises(1).pepwave(27662).productID(200).apMib(1).apGeneralMib(1).ap-l2tp-mib(4)"
			::= { apGeneralMib 9 }

--   Wireless LAN Access Point Identifier
-- 
-- **********************************************************************
-- *  MIB attribute OBJECT-TYPE definitions follow
-- **********************************************************************
	apL2tpInfo OBJECT IDENTIFIER ::= { ap-l2tp-mib 1 }

-- **********************************************************************
-- *  L2TP Info Table
-- **********************************************************************
	apL2tpInfoTable OBJECT-TYPE
		SYNTAX SEQUENCE OF ApL2tpInfoEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			"WLAN Info table."
		::= { apL2tpInfo 1 }

		apL2tpInfoEntry OBJECT-TYPE
			SYNTAX ApL2tpInfoEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"An entry in the apL2tpInfoTable."
			INDEX { apL2tpProfileIndex }
			::= { apL2tpInfoTable 1 }

		ApL2tpInfoEntry ::=
			SEQUENCE {
				apL2tpProfileIndex	
					Integer32,
				apL2tpProfileName
					OCTET STRING,
				apL2tpProfileStatus	
					INTEGER,
				apL2tpProfileIpAddress	
					IpAddress,
				apL2tpProfileSubnetMask
					IpAddress,
				apL2tpProfileManagementVlan
					INTEGER
			}	

		apL2tpProfileIndex OBJECT-TYPE
			SYNTAX Integer32
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"This attribute indicates the L2TP profile index"
			::= { apL2tpInfoEntry 1 }

		apL2tpProfileName OBJECT-TYPE
			SYNTAX OCTET STRING(SIZE(0..32))
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"This attribute indicates the L2TP profile name"
			::= { apL2tpInfoEntry 2 }

		apL2tpProfileStatus OBJECT-TYPE
			SYNTAX INTEGER{
				disable(0), 
				connecting(1), 
				connected(2)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"This attribute indicates the L2TP pofile connect status"
			::= { apL2tpInfoEntry 3 }

		apL2tpProfileIpAddress OBJECT-TYPE
			SYNTAX IpAddress
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"This attribute indicates the L2TP profile IP address"
			::= { apL2tpInfoEntry 4 }

		apL2tpProfileSubnetMask OBJECT-TYPE
			SYNTAX IpAddress
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"This attribute indicates the L2TP profile subnet mask"
			::= { apL2tpInfoEntry 5 }

		apL2tpProfileManagementVlan OBJECT-TYPE
			SYNTAX INTEGER(0..4095)
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"This attribute indicates the L2TP profile management VLAN"
			::= { apL2tpInfoEntry 6 }

-- **********************************************************************
-- *  L2TP Configuration
-- **********************************************************************
	apL2tpConfig OBJECT IDENTIFIER ::= { ap-l2tp-mib 2 }

-- **********************************************************************
-- *  L2TP Profile Configuration Table
-- **********************************************************************
	apL2tpConfigTable OBJECT-TYPE
		SYNTAX SEQUENCE OF ApL2tpConfigProfileEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			"L2TP profile configuration table."
		::= { apL2tpConfig 1 }

		apL2tpConfigProfileEntry OBJECT-TYPE
			SYNTAX ApL2tpConfigProfileEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"An entry in the apL2tpConfigProfileTable."
			INDEX { apL2tpConfigProfileIndex }
			::= { apL2tpConfigTable 1 }

		ApL2tpConfigProfileEntry ::=
			SEQUENCE {			
				apL2tpConfigProfileIndex
					INTEGER,
				apL2tpConfigProfileRowControl
					RowStatus,
				apL2tpConfigProfileName
					OCTET STRING,
				apL2tpConfigProfileStatus
					INTEGER,
				apL2tpConfigProfileServerAddress
					IpAddress,
				apL2tpConfigProfileUsername
					OCTET STRING,
				apL2tpConfigProfilePassword
					OCTET STRING,
				apL2tpConfigProfileIpAddressMode
					INTEGER,
				apL2tpConfigProfileIpAddress
					IpAddress,
				apL2tpConfigProfileSubnetMask
					IpAddress,
				apL2tpConfigProfileManagementVlan
					INTEGER,
				apL2tpConfigProfileMtu
					INTEGER,
				apL2tpConfigProfileMss
					INTEGER,
				apL2tpConfigProfileKeepAliveInterval
					INTEGER
			}	

		apL2tpConfigProfileIndex OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"This attribute indicates the L2TP profile index"
			::= { apL2tpConfigProfileEntry 1 }

		apL2tpConfigProfileRowControl OBJECT-TYPE
			SYNTAX RowStatus
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"The WLAN status.
				Supported values:
				active(1)      - valid entry
				notReady(3)    - non-valid entry
				createAndGo(4) - used to create a new entry
				destroy(6)     - removes the entry"
			::= { apL2tpConfigProfileEntry 2 }

		apL2tpConfigProfileName OBJECT-TYPE
			SYNTAX OCTET STRING(SIZE(0..32))
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"This attribute indicates the name of the L2TP profile."
			::= { apL2tpConfigProfileEntry 3 }

		apL2tpConfigProfileStatus OBJECT-TYPE
			SYNTAX INTEGER{
				disable(0),
				enable(1)
			}
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"This attribute indicates the status of the L2TP profile."
			::= { apL2tpConfigProfileEntry 4 }

		apL2tpConfigProfileServerAddress OBJECT-TYPE
			SYNTAX IpAddress
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"This attribute indicates the LNS server address of the
				L2TP profile."
			::= { apL2tpConfigProfileEntry 5 }

		apL2tpConfigProfileUsername OBJECT-TYPE
			SYNTAX OCTET STRING(SIZE(0..64))
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"This attribute indicates the username of the L2TP profile."
			::= { apL2tpConfigProfileEntry 6 }

		apL2tpConfigProfilePassword OBJECT-TYPE
			SYNTAX OCTET STRING(SIZE(0..32))
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"This attribute indicates the password of the L2TP profile."
			::= { apL2tpConfigProfileEntry 7 }
				
		apL2tpConfigProfileIpAddressMode OBJECT-TYPE
			SYNTAX INTEGER{
				auto(0),
				manual(1)
			}
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"This attribute indicates the IP address mode (auto/manual)
				of the L2TP profile."
			::= { apL2tpConfigProfileEntry 8 }

		apL2tpConfigProfileIpAddress OBJECT-TYPE
			SYNTAX IpAddress
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"This attribute indicates the IP address of the L2TP
				profile."
			::= { apL2tpConfigProfileEntry 9 }

		apL2tpConfigProfileSubnetMask OBJECT-TYPE
			SYNTAX IpAddress
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"This attribute indicates the subnet mask of the L2TP
				profile."
			::= { apL2tpConfigProfileEntry 10 }

		apL2tpConfigProfileManagementVlan OBJECT-TYPE
			SYNTAX INTEGER(0..4095)
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"This attribute indicates the management VLAN of the L2TP
				profile."
			::= { apL2tpConfigProfileEntry 11 }

		apL2tpConfigProfileMtu OBJECT-TYPE
			SYNTAX INTEGER(0..1500)
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"This attribute indicates the MTU of the L2TP profile."
			::= { apL2tpConfigProfileEntry 12 }

		apL2tpConfigProfileMss OBJECT-TYPE
			SYNTAX INTEGER(0..1500)
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"This attribute indicates the TCP MSS of the L2TP profile."
			::= { apL2tpConfigProfileEntry 13 }

		apL2tpConfigProfileKeepAliveInterval OBJECT-TYPE
			SYNTAX INTEGER(0..86400)
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"This attribute indicates the keep alive interval for the
				L2TP profile."
			::= { apL2tpConfigProfileEntry 14 }

-- **********************************************************************
-- *  L2TP Config SSID Table
-- **********************************************************************
	apL2tpConfigSsidProfileTable OBJECT-TYPE
		SYNTAX SEQUENCE OF ApL2tpConfigSsidProfileEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			"SSID config L2TP profile configuration table."
		::= { apL2tpConfig 2 }

		apL2tpConfigSsidProfileEntry OBJECT-TYPE
			SYNTAX ApL2tpConfigSsidProfileEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"An entry in the apL2tpConfigProfileTable."
			INDEX { apRadioIndex, apWlanIndex }
			::= { apL2tpConfigSsidProfileTable 1 }

		ApL2tpConfigSsidProfileEntry ::=
			SEQUENCE {			
				apL2tpConfigSsidProfile
					Integer32
			}

		apL2tpConfigSsidProfile OBJECT-TYPE
			SYNTAX Integer32
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"This attribute indicates the L2TP profile assigned to
				the SSID (If this attribute is 0, it means that none of the L2TP profile assigned.)"
			::= { apL2tpConfigSsidProfileEntry 1 }

-- **********************************************************************
-- *  L2TP Statistics
-- **********************************************************************
	apL2tpStat OBJECT IDENTIFIER ::= { ap-l2tp-mib 3 }

-- **********************************************************************
-- *  L2TP Statistics Table
-- **********************************************************************
	apL2tpStatTable OBJECT-TYPE
		SYNTAX SEQUENCE OF ApL2tpStatEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			"WLAN Stat table."
		::= { apL2tpStat 1 }

		apL2tpStatEntry OBJECT-TYPE
			SYNTAX ApL2tpStatEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"An entry in the apL2tpStatTable."
			INDEX { apL2tpProfileIndex }
			::= { apL2tpStatTable 1 }

		ApL2tpStatEntry ::=
			SEQUENCE {
				apL2tpProfileTxPackets
					Counter64,
				apL2tpProfileRxPackets
					Counter64,
				apL2tpProfileTxBytes
					Counter64,
				apL2tpProfileRxBytes
					Counter64
			}	

		apL2tpProfileTxPackets OBJECT-TYPE
			SYNTAX Counter64
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"This attribute indicates the number of transmitted
				packets of the L2TP profile"
			::= { apL2tpStatEntry 1 }

		apL2tpProfileRxPackets OBJECT-TYPE
			SYNTAX Counter64
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"This attribute indicates the number of received
				packets of the L2TP profile"
			::= { apL2tpStatEntry 2 }

		apL2tpProfileTxBytes OBJECT-TYPE
			SYNTAX Counter64
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"This attribute indicates the number of transmitted
				bytes of the L2TP profile"
			::= { apL2tpStatEntry 3 }

		apL2tpProfileRxBytes OBJECT-TYPE
			SYNTAX Counter64
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"This attribute indicates the number of received
				bytes of the L2TP profile"
			::= { apL2tpStatEntry 4 }

END
