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

	AP-WDS DEFINITIONS ::= BEGIN
 
		IMPORTS
			OBJECT-GROUP			
	 			FROM SNMPv2-CONF			
			enterprises, IpAddress, Unsigned32, Counter64, OBJECT-TYPE, MODULE-IDENTITY			
				FROM SNMPv2-SMI
			apRadioIndex
				FROM AP-RADIO				
			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-wds-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-wds-mib(5)"
			::= { apGeneralMib 5 }

--   Wireless LAN Access Point Identifier

-- **********************************************************************
-- *  WDS Info
-- **********************************************************************
	apWdsInfo OBJECT IDENTIFIER ::= { ap-wds-mib 1 }				
			
-- **********************************************************************
-- *  WDS Neighbor Network Info Table
-- **********************************************************************	
	apWdsNeighborNetworkInfoTable OBJECT-TYPE
		SYNTAX SEQUENCE OF ApWdsNeighborNetworkInfoEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			"WDS Neighbor Network Info table."
		::= { apWdsInfo 1 }

		apWdsNeighborNetworkInfoEntry OBJECT-TYPE
			SYNTAX ApWdsNeighborNetworkInfoEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"An entry in the apWdsNeighborNetworkInfoTable."
			INDEX { apWdsNeighborNetworkInfoIndex }
			::= { apWdsNeighborNetworkInfoTable 1 }

		ApWdsNeighborNetworkInfoEntry ::=
			SEQUENCE {			
				apWdsNeighborNetworkInfoIndex
					INTEGER,
				apWdsNeighborMacAddress	
					MacAddress,
				apWdsNeighborManufacturer	
					OCTET STRING,
				apWdsNeighborEncryption	
					INTEGER,
				apWdsNeighborSignal
					Integer32,
				apWdsNeighborTxPkts
					Counter64,
				apWdsNeighborTxBytes
					Counter64,
				apWdsNeighborRxPkts
					Counter64,
				apWdsNeighborRxBytes
					Counter64																
			}	

		apWdsNeighborNetworkInfoIndex OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"This attribute indicates the WDS config index"
			::= { apWdsNeighborNetworkInfoEntry 1 }		

		apWdsNeighborMacAddress	 OBJECT-TYPE
			SYNTAX MacAddress
			MAX-ACCESS 
			read-only
			STATUS current
			DESCRIPTION
				"This attribute indicates the WDS neighbor MAC address"
			::= { apWdsNeighborNetworkInfoEntry 2 }	

		apWdsNeighborManufacturer  OBJECT-TYPE
			SYNTAX OCTET STRING(SIZE(0..128))
			MAX-ACCESS 
			read-only
			STATUS current
			DESCRIPTION
				"This attribute indicates the WDS neighbor manufacturer"
			::= { apWdsNeighborNetworkInfoEntry 3 }	


		apWdsNeighborEncryption	 OBJECT-TYPE
			SYNTAX INTEGER{none(0), wep(1), aes(2)}
			MAX-ACCESS 
			read-only
			STATUS current
			DESCRIPTION
				"This attribute indicates the WDS neighbor encryption"
			::= { apWdsNeighborNetworkInfoEntry 4 }	

		apWdsNeighborSignal  OBJECT-TYPE
			SYNTAX Integer32
			MAX-ACCESS 
			read-only
			STATUS current
			DESCRIPTION
				"This attribute indicates the WDS neighbor signal"
			::= { apWdsNeighborNetworkInfoEntry 5 }	

		apWdsNeighborTxPkts  OBJECT-TYPE
			SYNTAX Counter64
			MAX-ACCESS 
			read-only
			STATUS current
			DESCRIPTION
				"This attribute indicates the WDS neighbor transmit packets"
			::= { apWdsNeighborNetworkInfoEntry 6 }	

		apWdsNeighborTxBytes OBJECT-TYPE
			SYNTAX Counter64
			MAX-ACCESS 
			read-only
			STATUS current
			DESCRIPTION
				"This attribute indicates the WDS neighbor transmit bytes"
			::= { apWdsNeighborNetworkInfoEntry 7 }	

		apWdsNeighborRxPkts OBJECT-TYPE
			SYNTAX Counter64
			MAX-ACCESS 
			read-only
			STATUS current
			DESCRIPTION
				"This attribute indicates the WDS neighbor receive packets"
			::= { apWdsNeighborNetworkInfoEntry 8 }	

		apWdsNeighborRxBytes  OBJECT-TYPE
			SYNTAX Counter64
			MAX-ACCESS 
			read-only
			STATUS current
			DESCRIPTION
				"This attribute indicates the WDS neighbor receive bytes"
			::= { apWdsNeighborNetworkInfoEntry 9 }

-- **********************************************************************
-- *  WDS Configuration
-- **********************************************************************
	apWdsConfig OBJECT IDENTIFIER ::= { ap-wds-mib 2 }			

-- **********************************************************************
-- *  WDS Configuration Table
-- **********************************************************************	
	apWdsConfigTable OBJECT-TYPE
		SYNTAX SEQUENCE OF ApWdsConfigEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			"WDS config table."
		::= { apWdsConfig 1 }

		apWdsConfigEntry OBJECT-TYPE
			SYNTAX ApWdsConfigEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"An entry in the apWdsConfigTable."
			INDEX { apWdsConfigIndex }
			::= { apWdsConfigTable 1 }

		ApWdsConfigEntry ::=
			SEQUENCE {			
				apWdsConfigIndex
					INTEGER,
				apWdsConfigRowControl
					INTEGER,
				apWdsConfigMacAddress
					MacAddress,
				apWdsConfigEnable
					INTEGER,
				apWdsConfigEncryption
					INTEGER,
				apWdsConfigKeySize
					INTEGER,
				apWdsConfigKeyFormat
					INTEGER,
				apWdsConfigEncryptKey
					OCTET STRING,
				apWdsRadioSelect
					INTEGER
			}	

		apWdsConfigIndex OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"This attribute indicates the WDS config index"
			::= { apWdsConfigEntry 1 }

		apWdsConfigRowControl OBJECT-TYPE
                        SYNTAX RowStatus
                  	MAX-ACCESS read-create
                        STATUS current
                        DESCRIPTION
                                "The WDS config 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"
			::= { apWdsConfigEntry 2 }

		apWdsConfigMacAddress OBJECT-TYPE
                        SYNTAX MacAddress
			MAX-ACCESS read-write
		  	STATUS current
                        DESCRIPTION                               
				"This field should indicate an MAC address entry in the
				WDS config.
				Remarks:
				Input format:
				0xXX 0xXX 0xXX 0xXX 0xXX 0xXX OR XX:XX:XX:XX:XX:XX OR XX-XX-XX-XX-XX-XX
				(examples: 0xab 0xcd 0xef 0x01 0x02 0x03 OR ab:cd:ef:01:02:03 OR ab-cd-ef-01-02-03)
				X: [0:9] or [a:f] or [A:F]
				*** Please don 't enter duplicate MAC address in the WDS list. ***"                              
			::= { apWdsConfigEntry 3 }

		apWdsConfigEnable OBJECT-TYPE
			SYNTAX INTEGER{
				disable(0), 
				enable(1)
			}
			MAX-ACCESS read-write
			STATUS current
                        DESCRIPTION                               
				"This attribute indicates enable status of WDS config."
			::= { apWdsConfigEntry 4 }

		apWdsConfigEncryption OBJECT-TYPE
			SYNTAX INTEGER{
				none(0), 
				aes(2)
			}
			MAX-ACCESS read-write
			STATUS current
                        DESCRIPTION                               
				"This attribute indicates encryption type of WDS config.
				0: none
				1: wep
				2: aes"
			::= { apWdsConfigEntry 5 }

		apWdsConfigKeySize OBJECT-TYPE
			SYNTAX INTEGER{
				hex64(64), 
				hex128(128), 
				hex152(152)
			}
			MAX-ACCESS read-write
			STATUS current
                        DESCRIPTION                               
				"This attribute indicates encryption key size of WDS config."
			::= { apWdsConfigEntry 6 }

		apWdsConfigKeyFormat OBJECT-TYPE
			SYNTAX INTEGER{
				ascii(0),
				hex(1)
			}
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"This attribute indicates the wep key format of the wireless network."
			::= { apWdsConfigEntry 7 }

		apWdsConfigEncryptKey OBJECT-TYPE
			SYNTAX	OCTET STRING(SIZE(0..32))
			MAX-ACCESS read-write
			STATUS current
                        DESCRIPTION                               
				"This attribute indicates encryption key of WDS config.
				Remarks:
				apWdsConfigEncryption = wep(1):
				- hex64: 5 ASCII/10 hex characters
				- hex128: 13 ASCII/26 hex characters
				- hex152: 16 ASCII/32 hex characters
				apWdsConfigEncryption = aes(2):
				16 to 32 characters"
			::= { apWdsConfigEntry 8 }

		apWdsRadioSelect OBJECT-TYPE
			SYNTAX INTEGER(1..2)
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"This attribute indicates the radio selection of WDS config.
				Remarks:
				1 means start on radio 1,
				2 means start on radio 2"
			::= { apWdsConfigEntry 9 }
END
