-- ****************************************************************************
--  ALVARION-WDS-MIB definitions
--
--  Copyright (c) 2007, Alvarion Ltd.
--  All Rights Reserved.
--
--  Alvarion WDS MIB file.
--
-- ****************************************************************************


ALVARION-WDS-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, Integer32, Unsigned32
        FROM    SNMPv2-SMI
    DisplayString, MacAddress, TruthValue
        FROM    SNMPv2-TC
    MODULE-COMPLIANCE, OBJECT-GROUP
        FROM    SNMPv2-CONF
    alvarionMgmtV2
        FROM    ALVARION-SMI
;


alvarionWdsMIB MODULE-IDENTITY
    LAST-UPDATED    "200710310000Z"
    ORGANIZATION    "Alvarion Ltd."
    CONTACT-INFO    "Alvarion Ltd.
                     Postal: 21a HaBarzel St.
                             P.O. Box 13139
                             Tel-Aviv 69710
                             Israel
                     Phone:  +972 3 645 6262"
    DESCRIPTION     "Alvarion WDS MIB."

    ::= { alvarionMgmtV2 33 }


-- alvarionWdsMIB definition
alvarionWdsMIBObjects OBJECT IDENTIFIER ::= { alvarionWdsMIB 1 }

-- alvarion WDS groups
coWDSInfoGroup        OBJECT IDENTIFIER ::= { alvarionWdsMIBObjects 1 }
coWDSRadioGroup       OBJECT IDENTIFIER ::= { alvarionWdsMIBObjects 2 }
coWDSGroupGroup       OBJECT IDENTIFIER ::= { alvarionWdsMIBObjects 3 }
coWDSLinkGroup        OBJECT IDENTIFIER ::= { alvarionWdsMIBObjects 4 }
coWDSNetworkScanGroup OBJECT IDENTIFIER ::= { alvarionWdsMIBObjects 5 }

coWDSNumberOfGroup OBJECT-TYPE
    SYNTAX      Unsigned32 (1..6)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Number of WDS groups supported by the product."
    ::= { coWDSInfoGroup 1 }

coWDSDynamicModeImplemented OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Indicates if dynamic WDS mode is available in the product."
    ::= { coWDSInfoGroup 2 }

coWDSRadioTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF CoWDSRadioEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Conceptual table for the ACK distance parameter."
    ::= { coWDSRadioGroup 1 }

coWDSRadioEntry OBJECT-TYPE
    SYNTAX      CoWDSRadioEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "An Entry (conceptual row) in the ACK distance Table.

                 coWDSRadioIndex - Radio number where the ACK
                                      distance is applied."
    INDEX       { coWDSRadioIndex }
    ::= { coWDSRadioTable 1 }

CoWDSRadioEntry ::= SEQUENCE
{
    coWDSRadioIndex         Integer32,
    coWDSRadioAckDistance   Unsigned32,
    coWDSRadioQoS           INTEGER
}

coWDSRadioIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..3)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Radio number."
    ::= { coWDSRadioEntry 1 }

coWDSRadioAckDistance OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "km"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Maximum distance between the device and the remote peers."
    ::= { coWDSRadioEntry 2 }

coWDSRadioQoS OBJECT-TYPE
    SYNTAX      INTEGER
                {
                    disabled(1),
                    vlan(2),
                    veryHigh(3),
                    high(4),
                    normal(5),
                    low(6),
                    diffSrv(7),
                    tos(8),
                    ipQos(9)
                }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "QoS priority mechanism used to maps the traffic to
                 one of the four WMM traffic queues."
    ::= { coWDSRadioEntry 3 }

coWDSGroupTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF CoWDSGroupEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Conceptual table for the WDS Groups. This table contains
                 the six WDS Groups configuration information."
    ::= { coWDSGroupGroup 1 }

coWDSGroupEntry OBJECT-TYPE
    SYNTAX      CoWDSGroupEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "An Entry (conceptual row) in the WDS Group Table.

                 coWDSGroupIndex - Uniquely identify a WDS group
                                   inside the WDS group table."
    INDEX       { coWDSGroupIndex }
    ::= { coWDSGroupTable 1 }

CoWDSGroupEntry ::= SEQUENCE
{
    coWDSGroupIndex            Integer32,
    coWDSGroupName             DisplayString,
    coWDSGroupState            INTEGER,
    coWDSGroupSecurity         INTEGER,
    coWDSGroupAddressing       INTEGER,
    coWDSGroupStaticMacAddress MacAddress,
    coWDSGroupDynamicMode      INTEGER,
    coWDSGroupDynamicGroupId   Unsigned32
}

coWDSGroupIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..6)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "The auxiliary variable used to identify instances of WDS
                 groups."
    ::= { coWDSGroupEntry 1 }

coWDSGroupName OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(0..32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Friendly name of the WDS group."
    ::= { coWDSGroupEntry 2 }

coWDSGroupState OBJECT-TYPE
    SYNTAX      INTEGER
                {
                    enable(1),
                    disable(2)
                }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Specifies if the WDS group is active in the radios."
    ::= { coWDSGroupEntry 3 }

coWDSGroupSecurity OBJECT-TYPE
    SYNTAX      INTEGER
                {
                    none(1),
                    wep(2),
                    tkip(3),
                    aes(4)
                }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Specifies the encryption used by the WDS group."
    ::= { coWDSGroupEntry 4 }

coWDSGroupAddressing OBJECT-TYPE
    SYNTAX      INTEGER
                {
                    static(1),
                    dynamic(2)
                }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Specifies if the WDS group is static or dynamic."
    ::= { coWDSGroupEntry 5 }

coWDSGroupStaticMacAddress OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "For static WDS group, this object specify the MAC
                 address of the remote WDS device."
    ::= { coWDSGroupEntry 6 }

coWDSGroupDynamicMode OBJECT-TYPE
    SYNTAX      INTEGER
                {
                    none(0),
                    master(1),
                    slave(2),
                    alternateMaster(3)
                }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Specifies the mode of the dynamic WDS group."
    ::= { coWDSGroupEntry 7 }

coWDSGroupDynamicGroupId OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Specifies the group identifier of the dynamic WDS group."
    ::= { coWDSGroupEntry 8 }

coWDSLinkTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF CoWDSLinkEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Conceptual table for the WDS links. This table contains
                 up to 54 WDS links status information."
    ::= { coWDSLinkGroup 1 }

coWDSLinkEntry OBJECT-TYPE
    SYNTAX      CoWDSLinkEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "An Entry (conceptual row) in the WDS Link Table.

                 coWDSGroupIndex - Uniquely identify a WDS group
                                   inside the WDS group table.
                 coWDSLinkIndex - Uniquely identify a WDS link
                                  inside a WDS group."
    INDEX       { coWDSGroupIndex, coWDSLinkIndex }
    ::= { coWDSLinkTable 1 }

CoWDSLinkEntry ::= SEQUENCE
{
    coWDSLinkIndex          Integer32,
    coWDSLinkState          INTEGER,
    coWDSLinkRadio          Integer32,
    coWDSLinkPeerMacAddress MacAddress,
    coWDSLinkMaster         TruthValue,
    coWDSLinkAuthorized     TruthValue,
    coWDSLinkEncryption     INTEGER,
    coWDSLinkIdleTime       Unsigned32,
    coWDSLinkSNR            Integer32,
    coWDSLinkTxRate         Unsigned32,
    coWDSLinkRxRate         Unsigned32,
    coWDSLinkIfIndex        Integer32
}

coWDSLinkIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..54)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "The auxiliary variable used to identify instances of WDS
                 links."
    ::= { coWDSLinkEntry 1 }

coWDSLinkState OBJECT-TYPE
    SYNTAX      INTEGER
                {
                    down(1),
                    acquiring(2),
                    inactive(3),
                    active(4)
                }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Specifies the state of the WDS link."
    ::= { coWDSLinkEntry 2 }

coWDSLinkRadio OBJECT-TYPE
    SYNTAX      Integer32 (1..3)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Radio number where the WDS peer was detected."
    ::= { coWDSLinkEntry 3 }

coWDSLinkPeerMacAddress OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "MAC address of the WDS peer."
    ::= { coWDSLinkEntry 4 }

coWDSLinkMaster OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Determine if this link is a link to a master.
                 Providing upstream network access."
    ::= { coWDSLinkEntry 5 }

coWDSLinkAuthorized OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Encryption, if any, can proceed."
    ::= { coWDSLinkEntry 6 }

coWDSLinkEncryption OBJECT-TYPE
    SYNTAX      INTEGER
                {
                    none(1),
                    wep(2),
                    tkip(3),
                    aes(4)
                }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Specifies the encryption used by the WDS link."
    ::= { coWDSLinkEntry 7 }

coWDSLinkIdleTime OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "seconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Inactivity time."
    ::= { coWDSLinkEntry 8 }

coWDSLinkSNR OBJECT-TYPE
    SYNTAX      Integer32 (0..92)
    UNITS       "dBm"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Signal noise ratio of the WDS peer."
    ::= { coWDSLinkEntry 9 }

coWDSLinkTxRate OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "500Kb/s"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Current transmit rate of the WDS peer."
    ::= { coWDSLinkEntry 10 }

coWDSLinkRxRate OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "500Kb/s"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Current receive rate of the WDS peer."
    ::= { coWDSLinkEntry 11 }

coWDSLinkIfIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "ifIndex of the associated interface in the ifTable."
    ::= { coWDSLinkEntry 12 }

coWDSNetworkScanTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF CoWDSNetworkScanEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Conceptual table for the WDS network scans."
    ::= { coWDSNetworkScanGroup 1 }

coWDSNetworkScanEntry OBJECT-TYPE
    SYNTAX      CoWDSNetworkScanEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "An Entry (conceptual row) in the WDS Network Scan
                 Table.

                 coWDSScanRadioIndex - Radio number where the WDS peer
                                       was detected.
                 coWDSScanPeerIndex - Uniquely identify a WDS peer
                                      on a radio inside the WDS
                                      network scan table."
    INDEX       { coWDSScanRadioIndex, coWDSScanPeerIndex }
    ::= { coWDSNetworkScanTable 1 }

CoWDSNetworkScanEntry ::= SEQUENCE
{
    coWDSScanRadioIndex     Integer32,
    coWDSScanPeerIndex      Integer32,
    coWDSScanGroupId        Unsigned32,
    coWDSScanPeerMacAddress MacAddress,
    coWDSScanChannel        Unsigned32,
    coWDSScanSNR            Integer32,
    coWDSScanMode           INTEGER,
    coWDSScanAvailable      TruthValue
}

coWDSScanRadioIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..3)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Radio number where the WDS peer was detected."
    ::= { coWDSNetworkScanEntry 1 }

coWDSScanPeerIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..100)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Uniquely identify a WDS peer on a radio."
    ::= { coWDSNetworkScanEntry 2 }

coWDSScanGroupId OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Group id used by the WDS peer."
    ::= { coWDSNetworkScanEntry 3 }

coWDSScanPeerMacAddress OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "MAC address of the WDS peer."
    ::= { coWDSNetworkScanEntry 4 }

coWDSScanChannel OBJECT-TYPE
    SYNTAX      Unsigned32 (1..199)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Channel on which the peer is transmitting."
    ::= { coWDSNetworkScanEntry 5 }

coWDSScanSNR OBJECT-TYPE
    SYNTAX      Integer32 (0..92)
    UNITS       "dBm"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Signal noise ratio of the WDS peer."
    ::= { coWDSNetworkScanEntry 6 }

coWDSScanMode OBJECT-TYPE
    SYNTAX      INTEGER
                {
                    master(1),
                    slave(2),
                    alternateMaster(3)
                }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Current mode of the WDS peer."
    ::= { coWDSNetworkScanEntry 7 }

coWDSScanAvailable OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Peer is accepting connections."
    ::= { coWDSNetworkScanEntry 8 }


-- conformance information
alvarionWdsMIBConformance OBJECT IDENTIFIER ::= { alvarionWdsMIB 2 }
alvarionWdsMIBCompliances OBJECT IDENTIFIER ::= { alvarionWdsMIBConformance 1 }
alvarionWdsMIBGroups      OBJECT IDENTIFIER ::= { alvarionWdsMIBConformance 2 }

-- compliance statements
alvarionWdsMIBCompliance MODULE-COMPLIANCE
    STATUS      current
    DESCRIPTION "The compliance statement for the WDS MIB."
    MODULE      MANDATORY-GROUPS
                    {
                        alvarionWDSInfoMIBGroup,
                        alvarionWDSRadioMIBGroup,
                        alvarionWDSGroupMIBGroup,
                        alvarionWDSLinkMIBGroup,
                        alvarionWDSScanMIBGroup
                    }
    ::= { alvarionWdsMIBCompliances 1 }

-- units of conformance
alvarionWDSInfoMIBGroup OBJECT-GROUP
    OBJECTS     {
                    coWDSNumberOfGroup,
                    coWDSDynamicModeImplemented
                }
    STATUS      current
    DESCRIPTION "A collection of scalar objects for WDS."
    ::= { alvarionWdsMIBGroups 1 }

alvarionWDSRadioMIBGroup OBJECT-GROUP
    OBJECTS     {
                    coWDSRadioAckDistance,
                    coWDSRadioQoS
                }
    STATUS      current
    DESCRIPTION "A collection of objects for the WDS radios."
    ::= { alvarionWdsMIBGroups 2 }

alvarionWDSGroupMIBGroup OBJECT-GROUP
    OBJECTS     {
                    coWDSGroupName,
                    coWDSGroupState,
                    coWDSGroupSecurity,
                    coWDSGroupAddressing,
                    coWDSGroupStaticMacAddress,
                    coWDSGroupDynamicMode,
                    coWDSGroupDynamicGroupId
                }
    STATUS      current
    DESCRIPTION "A collection of objects for the WDS groups."
    ::= { alvarionWdsMIBGroups 3 }

alvarionWDSLinkMIBGroup OBJECT-GROUP
    OBJECTS     {
                    coWDSLinkState,
                    coWDSLinkRadio,
                    coWDSLinkPeerMacAddress,
                    coWDSLinkMaster,
                    coWDSLinkAuthorized,
                    coWDSLinkEncryption,
                    coWDSLinkIdleTime,
                    coWDSLinkSNR,
                    coWDSLinkTxRate,
                    coWDSLinkRxRate,
                    coWDSLinkIfIndex
                }
    STATUS      current
    DESCRIPTION "A collection of objects for the WDS links."
    ::= { alvarionWdsMIBGroups 4 }

alvarionWDSScanMIBGroup OBJECT-GROUP
    OBJECTS     {
                    coWDSScanGroupId,
                    coWDSScanPeerMacAddress,
                    coWDSScanChannel,
                    coWDSScanSNR,
                    coWDSScanMode,
                    coWDSScanAvailable
                }
    STATUS      current
    DESCRIPTION "A collection of objects for the WDS network scan."
    ::= { alvarionWdsMIBGroups 5 }

END
