-- -*- mib -*-
--
--  Managed objects and events for the No Wires Needed
--  802.11 product line (Parrot 1100 and Swallow 1100).
--
--  These objects complement the IEEE 802.11 MIB
--  (iso(1).member-body(2).us(840).ieee802dot11(10036))
--
--  Copyright(c) 1997,1998,1999 No Wires Needed BV
--
--  Version 2.0.0
--

NWN-DOT11EXT-MIB DEFINITIONS ::= BEGIN

IMPORTS
	MODULE-IDENTITY, OBJECT-TYPE, Integer32, BITS, 
	NOTIFICATION-TYPE
		FROM SNMPv2-SMI
	MacAddress, TruthValue, RowStatus
		FROM SNMPv2-TC
	MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
		FROM SNMPv2-CONF
	nwnProducts, nwnModules
		FROM NWN-GLOBAL-REG;
		

dot11ExtMibModule MODULE-IDENTITY
	LAST-UPDATED	"9906020000Z"
	ORGANIZATION	"No Wires Needed BV"
	CONTACT-INFO "
		 Name: 		Arnoud Zwemmer
		 Address:	P.O. Box 343
		 Zip:		3720 AH
		 City:		Bilthoven
		 Country:	The Netherlands
		 Phone:		+31-30-2296060
		 Fax:		+31-30-2296061
		 e-mail:	arnoud@nwn.com
		 "
	DESCRIPTION
		"The No Wires Needed 802.11 Extension MIB module."
	::= { nwnModules 2 }


-- root for items in the 802.11 Extension MIB Module
dot11ExtMIB			OBJECT IDENTIFIER ::= { nwnProducts 1 }

-- conformance and compliance specifications
dot11ExtConf		OBJECT IDENTIFIER ::= { dot11ExtMIB 1 }
dot11ExtGroups 		OBJECT IDENTIFIER ::= { dot11ExtConf 1 }
dot11ExtCompl		OBJECT IDENTIFIER ::= { dot11ExtConf 2 }

-- subtree for general 802.11 objects
dot11ExtGenObjs		OBJECT IDENTIFIER ::= { dot11ExtMIB 2 }
smt					OBJECT IDENTIFIER ::= { dot11ExtGenObjs 1 }

-- additional objects with product specifics (the Parrot)
dot11ExtAPObjs		OBJECT IDENTIFIER ::= { dot11ExtMIB 3 }
assoc				OBJECT IDENTIFIER ::= { dot11ExtAPObjs 1 }
security			OBJECT IDENTIFIER ::= { dot11ExtAPObjs 2 }

-- WBU object specifics
dot11ExtWBUObjs		OBJECT IDENTIFIER ::= { dot11ExtMIB 5 }
roam				OBJECT IDENTIFIER ::= { dot11ExtWBUObjs 1 }

-- subtree for events and notifications
dot11ExtEvents	 	OBJECT IDENTIFIER ::= { dot11ExtMIB 4 }
dot11ExtEventsV2 	OBJECT IDENTIFIER ::= { dot11ExtEvents 0 }


--
--  The SMT group, enhancing the IEEE 802.11 MIB
--

smtAssociationID OBJECT-TYPE
	SYNTAX		Integer32 (0..2007)
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION 
		"The Association ID of an association between an Access 
		 Point and a Station. The size constraint is taken from 
		 IEEE 802.11 section 7.3.1.8. For an Access Point, this
		 object is always zero."
	REFERENCE
		"IEEE 802.11, paragraph 7.3.1.8"
	::= { smt 1 }

smtCapabilityInfo OBJECT-TYPE
	SYNTAX		BITS { privacy(0), cfPollRequest(1), cfPollable(2),
					   ibss(3), ess(4) }
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION "The Capability Information of this entity."
	REFERENCE	"IEEE 802.11, paragraph 7.3.1.4"
	::= { smt 2 }

smtPowerSaveInterval OBJECT-TYPE
	SYNTAX		Integer32
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION 
		"The time limit, in units of beacon intervals, after which
		 the Client will go into Power Save Mode if the Client does
		 not detect activity. For an Access Point, this object is
		 always zero."
	::= { smt 3 }

smtListenInterval OBJECT-TYPE
	SYNTAX		Integer32
	MAX-ACCESS 	read-write
	STATUS		current
	DESCRIPTION
	 	"The time, in units of beacon intervals, that may pass before
		 the Client awakens and listens for the next Beacon. For an
		 Access Point, this object is always zero."
	REFERENCE
		"IEEE 802.11, paragraph 10.3.6.1 and 11.3"
	::= { smt 4 }

smtATIMWindow OBJECT-TYPE
	SYNTAX		Integer32
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"The duration of the ATIM Window, in TUs. For an Access Point,
		 this object is always zero."
	REFERENCE
		"IEEE 802.11, paragraph 11.2.2"
	::= { smt 5 }

smtOperationalChannels OBJECT-TYPE
	SYNTAX		OCTET STRING
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION 
		"The list of DS channels that shall be scanned with a higher
		 priority. All channels allowed by the current regulatory
		 domain are scanned, the channels specified in this object
		 are visited more frequently compared to the channels not in
		 the set of this object. If the object is null, the PHY will
		 default to the channel configured by dot11CurrentChannel."
	REFERENCE
		"IEEE 802.11, paragraph 10.3.2.1"
	::= { smt 6 }

smtCurrentBSSID OBJECT-TYPE
	SYNTAX		OCTET STRING
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION 
		"The current Basic Service Set ID. For a Client, this object
		 either contains the BSSID of the Access Point with which the
		 Client is associated or the BSSID of the IBSS it is currently
		 participating in (smtCurrentBSSType indicates which of the two
		 cases holds). If the object is all zeros, the Client is not
		 associated or participating in an IBSS. For an Access Point,
		 this object contains the BSSID of the Access Point. If the 
		 Access Point is in the process of resetting, the object is all
		 zeros."
	REFERENCE
		"IEEE 802.11, paragraph 7.1.3.3.3"
	::= { smt 7 }

smtCurrentSSID OBJECT-TYPE
	SYNTAX		OCTET STRING
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION	
		"The current Service Set ID. For a Client, this object either
		 contains the SSID of the infrastructure network or the SSID
		 of the IBSS it currently associated with or participating in.
		 For an Access Point, this object contains the BSSID of the
		 Access Point. If the Access Point is resetting, the object
		 is null."
	REFERENCE
		"IEEE 802.11, paragraph 7.3.2.1"
	::= { smt 8 }

smtCurrentBSSType OBJECT-TYPE
	SYNTAX		INTEGER { infrastructure(1), adhoc(2) }
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
		"The type of the Basic Service Set. For a Client, this object
		 indicates the type of SS it currently is associated with,
		 participating in. For an Access Point, this object is 1
		 (infrastructure)."
	REFERENCE
		"IEEE 802.11, paragraph 5.2"
	::= { smt 9 }

smtPublicKeyEnable OBJECT-TYPE
	SYNTAX		INTEGER { enabled(1), disabled(2) }
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION 
		"This object specifies whether public-key techniques shall be
		 used to negotiate keys."
	::= { smt 10 }

smtQualityLevel0 OBJECT-TYPE
	SYNTAX 		Integer32
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"This object relates quality level to a transmission rate.
		 Level 0 specifies the lowest (basic) rate."
	::= { smt 11 }
	
smtQualityLevel1 OBJECT-TYPE
	SYNTAX 		Integer32
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"This object relates quality level to a transmission rate.
		 Level 1 specifies the second lowest (basic) rate."
	::= { smt 12 }
	
smtQualityLevel2 OBJECT-TYPE
	SYNTAX 		Integer32
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"This object relates quality level to a transmission rate.
		 Level 2 specifies the an arbitrary (higher) rate."
	::= { smt 13 }
	
smtQualityPenalty OBJECT-TYPE
	SYNTAX 		Integer32
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"This object specifies a quality penalty for transmission
		 failures."
	::= { smt 14 }
	
smtStationDBTimeout OBJECT-TYPE
	SYNTAX 		Integer32
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"This object specifies a timeout on entries and their state
		 information in the Station database. For Clients the Station
		 database is mapped on the roamTable. For Access Points, the
		 Station database is mapped on the assocTable. The timeout
		 is in seconds."
	::= { smt 15 }
	
smtQualityIndicator OBJECT-TYPE
	SYNTAX 		Integer32 (0..3)
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"This object selects the quality indicator from the baseband.
		 Current quality indicators are:

		 1 = Signal Quality 1 (SQ1)
		 2 = Signal Quality 2 (SQ2)
		 3 = Signal Quality 3 (SQ3)"
	::= { smt 16 }
	
smtQualityUpperLimit OBJECT-TYPE
	SYNTAX		Integer32
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"An upper limit for the quality."
	::= { smt 17 }
	
smtQualityLowerLimit OBJECT-TYPE
	SYNTAX		Integer32
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"A lower limit for the quality."
	::= { smt 18 }
	
smtOEMCapabilityInformation OBJECT-TYPE
	SYNTAX		Integer32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
		"The OEM Capability Information."
	::= { smt 19 }
	
smtCWMin OBJECT-TYPE
	SYNTAX		Integer32
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"The CWMin value as defined by IEEE 802.11. Needs to be a power
		 of 2, minus 1."
	::= { smt 20 }

smtCWMax OBJECT-TYPE
	SYNTAX		Integer32
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"The CWMax value as defined by IEEE 802.11. Needs to be a power
		 of 2, minus 1, larger than or equal to smtCWMin."
	::= { smt 21 }

smtACKWindow OBJECT-TYPE
	SYNTAX		Integer32
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"The ACK frame time out defined in number of slottimes. This 
		 can be used to optimize long range links."
	::= { smt 22 }
	
	
--
--  Objects that are specific to the Parrot Access Point
-- 

assocTableMaxLength OBJECT-TYPE
    SYNTAX  	Integer32
    MAX-ACCESS  read-only
    STATUS  	current
    DESCRIPTION
		"This object specifies the maximum number of associations 
		the assocTable can hold."
	::= { assoc 1 }

assocTable OBJECT-TYPE
    SYNTAX  	SEQUENCE OF AssocEntry
    MAX-ACCESS  not-accessible
    STATUS  	current
    DESCRIPTION
		"The Association table. This table contains all the Clients
		 associated with the Access Point. The index of the entry
		 equals the Association ID of the Client with the Access Point.
		 An entry in the table is only valid if the assocAddress
		 object of that entry contains a MAC address other then the
		 all zeros MAC address.

		 Refer to sections 5.7 and 11.3 of the 802.11 standard for
		 more information on associations. The table is read-only."
	::= { assoc 2 }

assocEntry OBJECT-TYPE
    SYNTAX  	AssocEntry
    MAX-ACCESS  not-accessible
    STATUS  	current
    DESCRIPTION
		"An entry in the Association Table."
	INDEX { assocIndex }
	::= { assocTable 1 }

AssocEntry ::= 
    SEQUENCE {
		assocIndex
			Integer32,
		assocAddress
		    MacAddress,
		assocQuality
			Integer32,
		assocAge
			Integer32,
		assocRSSI
			Integer32
    }

assocIndex OBJECT-TYPE
	SYNTAX		Integer32 (1..2007)
	MAX-ACCESS	not-accessible
	STATUS		current
	DESCRIPTION
		"The index into the association table. The index equals the
		 association ID that is in use for the Client."
	::= { assocEntry 1 }

assocAddress OBJECT-TYPE
    SYNTAX  	MacAddress
    MAX-ACCESS  read-only
    STATUS		current
    DESCRIPTION
		"MAC address of a Client associated with the Access Point.
		 If the association is pending (that is, the Client is scanning,
		 authenticating or associating), assocAddress contains the MAC
		 address of that Client with the group bit set to indicate that
		 the Access Point is aware of the presence of that Client. The
		 other objects of the entry will be updated based on the
		 information extracted from the received Probe Requests."
	::= { assocEntry 2 }
	
assocQuality OBJECT-TYPE
	SYNTAX		Integer32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
		"An indicator for the quality of the Client. If the association
		 is still pending, the quality is calculated over the received
		 Probe Requests from the Client. If the Client is associated,
		 the quality derived from any activity with the Client. The actual
		 quality source depends on the selected quality indicator.
		 The semantics of the indicator is 'low is good quality' and
		 'high is bad quality'."
	::= { assocEntry 3 }

assocAge OBJECT-TYPE
	SYNTAX		Integer32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
		"An indicator (in seconds) for the age of the information
		 on the Client. The age is reset to 0 if any activity of
		 this Client is detected."
	::= { assocEntry 4 }

assocRSSI OBJECT-TYPE
	SYNTAX		Integer32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
		"An indicator for the RSSI of the Client. If the association
		 is still pending, the RSSI is calculated over the received
		 Probe Requests from the Client. If the Client is associated,
		 the RSSI derived from any activity with the Client."
	::= { assocEntry 5 }


--
--  Security group for the Parrot 550
--

secMACAclMaxTableLength OBJECT-TYPE
	SYNTAX  	Integer32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
		"The maximum number of entries that the secMACAclTable
		 can contain."
	::= { security 1 }

secMACAclTable OBJECT-TYPE
	SYNTAX		SEQUENCE OF SecMACAclEntry
	MAX-ACCESS	not-accessible
	STATUS		current
	DESCRIPTION
		"The table containing an access control list (acl) with  MAC 
		 addresses of 802.11 Clients and whether they are allowed
		 to communicate with the wireless network through this Access
		 Point. This table enforces a source address check. 
		 
		 An address of FF-FF-FF-FF-FF-FF is used as a default entry,
		 i.e., it determines the access control for Clients that are
		 otherwise not listed in this table.
		 
		 When the table is empty, every Client is denied."
	::= { security 2 }

secMACAclEntry OBJECT-TYPE
	SYNTAX		SecMACAclEntry
	MAX-ACCESS 	not-accessible
	STATUS		current
	DESCRIPTION
		"An entry in the table."
	INDEX { secMACAclIndex }
	::= { secMACAclTable 1 }

SecMACAclEntry ::= SEQUENCE {
		secMACAclIndex				Integer32, 
		secMACAclAddress			MacAddress,
		secMACAclAllowed			TruthValue,
		secMACAclRowStatus			RowStatus
 	}

secMACAclIndex OBJECT-TYPE
	SYNTAX		Integer32 (1..2007)
	MAX-ACCESS	not-accessible
	STATUS		current
	DESCRIPTION 
		"The index into the secMACAclTable."
	REFERENCE
		"IEEE 802.11, paragraph 7.3.1.8"
	::= { secMACAclEntry 1 }

secMACAclAddress OBJECT-TYPE
	SYNTAX		MacAddress
	MAX-ACCESS	read-create
	STATUS		current
	DESCRIPTION
		"The MAC address of a Client allowed to join the 
		 network through this Access Point.
		 
		 The address FF-FF-FF-FF-FF-FF constitutes the
		 default behaviour for addresses not contained
		 in this table."
	::= { secMACAclEntry 2 }

secMACAclAllowed OBJECT-TYPE
	SYNTAX		TruthValue
	MAX-ACCESS	read-create
	STATUS		current
	DESCRIPTION 
		"The flag indicating whether the corresponding MAC
		 address is allowed to communicate through this 
		 Access Point or not."
	::= { secMACAclEntry 3 }

secMACAclRowStatus	OBJECT-TYPE
	SYNTAX		RowStatus
	MAX-ACCESS	read-create
	STATUS		current
	DESCRIPTION
		"The status value for creating and deleting rows
		 in this table."
	::= { secMACAclEntry 4 }

secLastError OBJECT-TYPE
	SYNTAX		OCTET STRING (SIZE(0..80))
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
		"When a security violation or error occurs, the error
		 code is written to this variable in the form of a string."
	::= { security 3 }

secLastErrorAddress OBJECT-TYPE
	SYNTAX		MacAddress
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
		"When a security violation or error occurs, the MAC
		 address involved in the violation or error is written
		 to this variable."
	::= { security 4 }


--
--  Notifications
--

securityViolation NOTIFICATION-TYPE
	OBJECTS 	{ secLastError, secLastErrorAddress }
	STATUS		current
	DESCRIPTION 
		"A security violation was detected. The secLastErrorCode
		 indicates the type of error/violation, the 
		 secLastErrorAddress indicates the involved MAC address."
	::= { dot11ExtEventsV2 1 }



--
--  Roaming group for the WBU
--

roamScanType OBJECT-TYPE
	SYNTAX		INTEGER { passive(0), active(1) }
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"This object configures the type of scanning the Client uses."
	REFERENCE
		"IEEE 802.11, paragraph 11.1.3"
	::= { roam 1 }

roamScanInterval OBJECT-TYPE
	SYNTAX		Integer32
	MAX-ACCESS 	read-write
	STATUS		current
	DESCRIPTION
		"The interval, in units of beacon intervals, between 
		 successive scans during an association."
	::= { roam 2 }

roamProbeDelay OBJECT-TYPE
	SYNTAX		Integer32
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"This object specifies the delay (in ms) to be used prior
		 to transmitting a Probe frame during active scanning. The
		 object implements the ProbeDelay parameter of the
		 MLME-SCAN.request primitive as defined in section 10.3.2.1
		 of the 802.11 standard."
	REFERENCE
		"IEEE 802.11, paragraph 10.3.2.1"
	::= { roam 3 }

roamMinChannelTime OBJECT-TYPE
	SYNTAX		Integer32
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"This object specifies the minimum time (in time units) to
		 spend on each channel when scanning. The object implements
		 the MinChannelTime parameter in the MLME-SCAN.request
		 primitive as defined in section 10.3.2.1 of the 802.11
		 standard."
	REFERENCE
		"IEEE 802.11, paragraph 10.3.2.1"
	::= { roam 4 }

roamMaxChannelTime OBJECT-TYPE
	SYNTAX		Integer32
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION	
		"This object specifies the maximum time (in time units) to
		 spend on each channel when scanning. The object implements
		 the MaxChannelTime parameter in the MLME-SCAN.request
		 primitive as defined in section 10.3.2.1 of the 802.11
		 standard."
	REFERENCE
		"IEEE 802.11, paragraph 10.3.2.1"
	::= { roam 5 }

roamJoinTimeout OBJECT-TYPE
	SYNTAX		Integer32
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"The firmware will keep trying to find a suitable BSS until
		 another MLME-JOIN.request is issued. The object roamJoinTimeout
		 allows the application to estimate how long it at least has to
		 wait before it can assume that MLME-JOIN.request is likely to
		 fail. The object should be considered for information 
		 purposes. Changing the object will have no effect.

		 Future versions may use this object to limit the time it
		 spends to try to join a specific Service Set."
	::= { roam 6 }

roamBeaconPeriodTimeout OBJECT-TYPE
	SYNTAX		Integer32
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"The time limit, in units of beacon intervals, after which 
		 the association is voided if no beacons are received."
	::= { roam 7 }

roamDontSwitch OBJECT-TYPE
	SYNTAX		Integer32
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"The time limit, in units of beacon intervals, during which
		 the Client will not use BSS quality parameters for making
		 the roaming decissions if it becomes associated with an
		 Access Point."
	::= { roam 8 }

roamBlackout OBJECT-TYPE
	SYNTAX		Integer32
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"The time, in units of beacon intervals, during which the BSS
		 is not considered candidate after the association was denied
		 or voided."
	::= { roam 9 }

roamDisassociateTime OBJECT-TYPE
	SYNTAX		Integer32
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"The time, in units of beacon intervals, taken by the
		 Disassociate procedure."
	REFERENCE
		"IEEE 802.11, paragraph 5.7.4"
	::= { roam 10 }

roamHandoffTime OBJECT-TYPE
	SYNTAX		Integer32
	MAX-ACCESS 	read-write
	STATUS		current
	DESCRIPTION
	 	"Time, in time units, during which data to the Access Point is
		 hold before a handoff is performed."
	::= { roam 11 }

roamWeightMetric1 OBJECT-TYPE
	SYNTAX		Integer32
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"A metric used to make roaming decisions."
	::= { roam 12 }

roamWeightMetric2 OBJECT-TYPE
	SYNTAX		Integer32
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"A metric used to make roaming decisions."
	::= { roam 13 }

roamWeightMetric3 OBJECT-TYPE
	SYNTAX		Integer32
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"A metric used to make roaming decisions."
	::= { roam 14 }

roamWeightMetric4 OBJECT-TYPE
	SYNTAX		Integer32
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"A metric used to make roaming decisions."
	::= { roam 15 }

roamWeightMetric5 OBJECT-TYPE
	SYNTAX		Integer32
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"A metric used to make roaming decisions."
	::= { roam 16 }

roamWeightMetric6 OBJECT-TYPE
	SYNTAX		Integer32
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"A metric used to make roaming decisions."
	::= { roam 17 }

roamWeightMetric7 OBJECT-TYPE
	SYNTAX		Integer32
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"A metric used to make roaming decisions."
	::= { roam 18 }

roamWeightMetric8 OBJECT-TYPE
	SYNTAX		Integer32
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"A metric used to make roaming decisions."
	::= { roam 19 }

roamMisc1 OBJECT-TYPE
	SYNTAX		Integer32
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"A misc roaming value."
	::= { roam 20 }

roamMisc2 OBJECT-TYPE
	SYNTAX		Integer32
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"A misc roaming value."
	::= { roam 21 }


-- the roaming database

roamTableLength OBJECT-TYPE
	SYNTAX		Integer32
	MAX-ACCESS  read-only
	STATUS  	current
	DESCRIPTION
		"This object specifies the maximum number of entries the
		 roamTable can hold."
	::= { roam 22 }

roamTable OBJECT-TYPE
	SYNTAX  	SEQUENCE OF RoamEntry
	MAX-ACCESS  not-accessible
	STATUS  	current
	DESCRIPTION
		"The Roaming table contains all the BSSs the Client is aware
		 of. An entry in the roamTable is only valid if the roamBSSID
		 object of that entry contains a MAC address other then the
		 all zeros MAC address.
		 
		 The table implements the BSSDescription table as defined in
		 10.3.2.2 of the 802.11 standard. This table is read-only."
	REFERENCE
		"IEEE 802.11, paragraph 5.2 and 10.3.2.2"
    ::= { roam 23 }

roamEntry OBJECT-TYPE
    SYNTAX  	RoamEntry
    MAX-ACCESS 	not-accessible
    STATUS  	current
    DESCRIPTION
		"An entry in the Roaming table."
    INDEX { roamIndex }
    ::= { roamTable 1 }

RoamEntry ::= 
    SEQUENCE {
		roamIndex
		    Integer32,
		roamBSSID
		    MacAddress,
		roamSSID
		    OCTET STRING,
		roamBSSType
			INTEGER,
		roamChannel
			Integer32,
		roamAge
		    Integer32,
		roamQuality
		    Integer32,	
		roamLoad
		    Integer32,
		roamBeaconPeriod
			Integer32,
		roamDTIMPeriod
			Integer32,
		roamCapabilityInfo
			BITS,
		roamRates
			OCTET STRING,
		roamRSSI
			Integer32
	}

roamIndex OBJECT-TYPE
	SYNTAX  	Integer32
	MAX-ACCESS  not-accessible
	STATUS  	current
	DESCRIPTION
		"The index into the table"
	::= { roamEntry 1 }

roamBSSID OBJECT-TYPE
	SYNTAX  	MacAddress
	MAX-ACCESS 	read-only
	STATUS  	current
	DESCRIPTION
		"The BSSID of the BSS. If this entry in the roamTable
		is not used, the roamBSSID is all zeros."
	REFERENCE
		"IEEE 802.11, paragraph 7.1.3.3.3"
	::= { roamEntry 2 }

roamSSID OBJECT-TYPE
	SYNTAX  	OCTET STRING
	MAX-ACCESS  read-only
	STATUS  	current
	DESCRIPTION
		"The Service Set ID the BSS is part of."
	REFERENCE
		"IEEE 802.11, paragraph 7.3.2.1"
	::= { roamEntry 3 }

roamBSSType OBJECT-TYPE
	SYNTAX 		INTEGER { infrastructure(1), independent(2) }
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
		"The BSS Type of the entry."
	REFERENCE
		"IEEE 802.11, paragraph 5.2"
	::= { roamEntry 4 }

roamChannel OBJECT-TYPE
	SYNTAX		Integer32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	 	"The DS channel the BSS is using."
	::= { roamEntry 5 }

roamAge OBJECT-TYPE
	SYNTAX  	Integer32
	MAX-ACCESS  read-only
	STATUS  	current
	DESCRIPTION
		"An indicator (in seconds) for the age of the information
		on the BSS. The age is reset to 0 if a Beacon of this
		BSS is received."
	::= { roamEntry 6 }

roamQuality OBJECT-TYPE
    SYNTAX  	Integer32
    MAX-ACCESS  read-only
    STATUS  	current
    DESCRIPTION
		"An indicator for the quality of the BSS. The quality is
		 calculated over the received Beacons of the BSS and depends
		 on the selected quality indicator. The semantics of the
		 indicator is 'low is good quality' and 'high is bad quality'."
	::= { roamEntry 7 }

roamLoad OBJECT-TYPE
	SYNTAX  	Integer32
	MAX-ACCESS  read-only
	STATUS  	current
	DESCRIPTION
		"An indicator for the load of the BSS."
	::= { roamEntry 8 }

roamBeaconPeriod OBJECT-TYPE
	SYNTAX		Integer32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
		"The beacon period (in time units) of this BSS."
	REFERENCE
		"IEEE 802.11, paragraph 11.1.2.1"
	::= { roamEntry 9 }

roamDTIMPeriod OBJECT-TYPE
	SYNTAX		Integer32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
		"The DTIM period of this BSS."
	REFERENCE
		"IEEE 802.11, paragraph 11.2"
	::= { roamEntry 10 }

roamCapabilityInfo OBJECT-TYPE
	SYNTAX		BITS { privacy(0), cfPollRequest(1), cfPollable(2),
					   ibss(3), ess(4) }
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION 
		"The Capability Information for this BSS."
	REFERENCE
		"IEEE 802.11, paragraph 7.3.1.4"
	::= { roamEntry 11 }

roamRates OBJECT-TYPE
	SYNTAX		OCTET STRING
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
		"The bit rates supported by the BSS. The least-significant 7 
		 bits of each non-null octet value are a count from 00h -7Fh,  
		 corresponding to data rates in increments of 500Kbit/s. The 
		 most-significant bit of each non-null octet is set to one if 
		 the data rate represented by this octet is a member of the
		 basic rate set and is set to zero if this data rate is 
		 optional. The list ends with a null octet."
	REFERENCE
		"IEEE 802.11, paragraph 10.3.2.2"
	::= { roamEntry 12 }

roamRSSI OBJECT-TYPE
    SYNTAX  	Integer32
    MAX-ACCESS  read-only
    STATUS  	current
    DESCRIPTION
		"An indicator for the RSSI of the BSS. The RSSI is
		 calculated over the received Beacons of the BSS."
	::= { roamEntry 13 }



-- 
--  Object and event groups
--

smtGroup	OBJECT-GROUP
	OBJECTS {
			smtAssociationID,
			smtCapabilityInfo,
			smtPowerSaveInterval,
			smtListenInterval,
			smtATIMWindow,
			smtOperationalChannels,
			smtCurrentBSSID,
			smtCurrentSSID,
			smtCurrentBSSType,
			smtPublicKeyEnable,
			smtQualityLevel0,
			smtQualityLevel1,
			smtQualityLevel2,
			smtQualityPenalty,
			smtStationDBTimeout,
			smtQualityIndicator,
			smtQualityUpperLimit,
			smtQualityLowerLimit,
			smtOEMCapabilityInformation,
			smtCWMin,
			smtCWMax,
			smtACKWindow
			}
	STATUS		current
	DESCRIPTION	"The additional objects for Station Management"
	::= { dot11ExtGroups 1 }

assocGroup 	OBJECT-GROUP
	OBJECTS {
			assocTableMaxLength,
			assocAddress,
			assocQuality,
			assocAge,
			assocRSSI
			}
	STATUS		current
	DESCRIPTION "The association group"
	::= { dot11ExtGroups 2 }

securityGroup OBJECT-GROUP
	OBJECTS	{
			secMACAclMaxTableLength,
			secMACAclAddress,
			secMACAclAllowed,
			secMACAclRowStatus,
			secLastError,
			secLastErrorAddress
			}
	STATUS		current
	DESCRIPTION "The security group"
	::= { dot11ExtGroups 3 }

secNotificationGroup NOTIFICATION-GROUP
	NOTIFICATIONS { securityViolation }
	STATUS		current
	DESCRIPTION
		"The security-related notifications."
	::= { dot11ExtGroups 4 }

roamGroup OBJECT-GROUP
	OBJECTS {
			roamScanType,
			roamScanInterval,
			roamBeaconPeriodTimeout,
			roamBlackout,
			roamDisassociateTime,
			roamHandoffTime,
			roamWeightMetric1,
			roamWeightMetric2,
			roamWeightMetric3,
			roamWeightMetric4,
			roamWeightMetric5,
			roamWeightMetric6,
			roamWeightMetric7,
			roamWeightMetric8,
			roamMisc1,
			roamMisc2,
			roamProbeDelay,
			roamDontSwitch,
			roamMinChannelTime,
			roamMaxChannelTime,
			roamJoinTimeout,			
			roamTableLength,
			roamSSID,
			roamBSSID,
			roamBSSType,
			roamChannel,
			roamAge,
			roamQuality,
			roamLoad,
			roamBeaconPeriod,
			roamDTIMPeriod,
			roamCapabilityInfo,
			roamRates,
			roamRSSI
			}
	STATUS	current
	DESCRIPTION "The roaming group"
	::= { dot11ExtGroups 5 }


--
--	Compliance specifications
--  

dot11ExtBasicCompl MODULE-COMPLIANCE
	STATUS 		current	
	DESCRIPTION "The implementation requirements for an IEEE 802.11 Station."
	MODULE		-- this module
		MANDATORY-GROUPS {
			smtGroup
		}
	::= { dot11ExtCompl 1 }

dot11ExtAPCompl MODULE-COMPLIANCE
	STATUS		current
	DESCRIPTION "The implementation requirements for an Access Point."
	MODULE		-- this module
		MANDATORY-GROUPS {
			smtGroup,
			assocGroup,
			securityGroup
		}
		-- Trap support is not required.
	::= { dot11ExtCompl 2 }

dot11ExtWBUCompl MODULE-COMPLIANCE
	STATUS 		current
	DESCRIPTION "The implementation requirements for a WBU."
	MODULE		-- this module
		MANDATORY-GROUPS {
			roamGroup
		}
	::= { dot11ExtCompl 3 }
	
END
