-- *****************************************************************
-- AWC-VLAN-MIB.my: Cisco Aironet Wireless LAN VLAN Configuration
-- MIB file
--
-- September 2002, Victor Griswold 
--
-- Copyright (c) 2002 by Cisco Systems, Inc.
-- All rights reserved.
-- *****************************************************************
--

AWC-VLAN-CFG-MIB DEFINITIONS ::= BEGIN

IMPORTS
        MODULE-IDENTITY,
        OBJECT-TYPE,
        Unsigned32
                FROM SNMPv2-SMI
        MODULE-COMPLIANCE, 
        OBJECT-GROUP
                FROM SNMPv2-CONF
        TEXTUAL-CONVENTION,
        RowStatus,
        TruthValue
                FROM SNMPv2-TC
        awcVx,
        AwcVlanId,
        AwcPolId,
        WEPKeytype128,
        AwcDot11MicAlgorithm,
        AwcDot11WEPKeyPermuteAlgorithm,
        AwcPfPriority
                FROM AWCVX-MIB;


awcVlanCfgMIB MODULE-IDENTITY
        LAST-UPDATED    "200209060000Z"
        ORGANIZATION    "Cisco Systems, Inc."
        CONTACT-INFO
                "       Cisco Systems
                        Customer Service

                Postal: 170 W Tasman Drive
                        San Jose, CA  95134
                        USA

                   Tel: +1 800 553-NETS

                E-mail: cs-aironet@cisco.com"
        DESCRIPTION
                "Aironet products VLAN Configuration MIB."
        REVISION        "200107110000Z"
        DESCRIPTION
                "Initial version of this MIB module."
        ::= { awcVx 21 }


awcVlanCfgObjects OBJECT IDENTIFIER ::= { awcVlanCfgMIB 1 }


-- Textual Conventions

AwcVlanIndex ::= TEXTUAL-CONVENTION
        STATUS      current
        DESCRIPTION
                "A value used to index per-VLAN tables. 
                Represents an IEEE 802.1Q VLAN-ID with global scope
                within a given bridged domain (see AwcVlanId
                textual convention).  The value 4095 indicates
                that the conceptual row applies to non-VLAN-tagged
                frames (though it would be more directly 
                representative of the packet format, 0 can not be 
                used for this purpose, per SNMP conventions)."
        SYNTAX      Unsigned32 (1..4095)

AwcVlanEncapType ::= TEXTUAL-CONVENTION
        STATUS      current
        DESCRIPTION
                "The 802.1Q encapsulation mode. Valid values are:
                        dot1qDisabled (1),      Disabled
                        dot1qPriority (2)       802.1Q Priority Tagging
                        dot1qHybrid (3),        802.1Q VLAN Hybrid Trunk
                        dot1qTrunk (4)          802.1Q VLAN Trunk
                The default value is normally Disabled."
        SYNTAX      INTEGER {
                        dot1qDisabled(1),
                        dot1qPriority(2),
                        dot1qHybrid(3),
                        dot1qTrunk(4)
                    }


-- Object Type Definitions

awcMaxVlanIds OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The Maximum number of discrete VLAN IDs supported.  
                The VLAN IDs need not be consecutive."
        ::= { awcVlanCfgObjects 1 }

awcVlanEncapMode OBJECT-TYPE
        SYNTAX      AwcVlanEncapType
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The encapsulation mode setting controls transmit 
                tagging logic for all ports.  The value of this
                object is derived from other settings within the 
                VLAN MIB."
        DEFVAL      { dot1qDisabled }
        ::= { awcVlanCfgObjects 2 }

awcNativeVlanId OBJECT-TYPE
        SYNTAX      AwcVlanId
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                "Native VLAN ID for the device.  The default Native 
                VLAN ID is 0, for no VLAN ID. If the device is attached
                to an Ethernet bridge/switch VLAN port then a non-zero
                Native VLAN ID must match the Port VLAN ID of the 
                bridge/switch port.  The Native VLAN ID is the default
                VLAN ID for frames that are not otherwise 
                associated with a VLAN ID."
        DEFVAL      { 0 }
        ::= { awcVlanCfgObjects 3 }

awcVlanAllowEncrypted OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                "When this attribute is true, the STA shall
                indicate at the MAC service interface received
                MSDUs regardless of the setting of the WEP
                subfield of the Frame Control field, so long
                as no other VLAN parameters necessitate use
                of encryption. The default value of this attribute
                shall be true.

                The general use for awcVlanAllowEncrypted to be
                true even when no static WEP keys are set for
                a VLAN is to allow a station to utilize EAP
                authentication to encrypt directed packets,
                even while multicast packets are unencrypted."
        DEFVAL      { true }
        ::= { awcVlanCfgObjects 4 }

awcVlanAnyEnabled OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                "When this attribute is true, VLAN operation of the 
                system is enabled when any awcVlanEnabled value is 
                true.  When this attribute is false, VLAN operation
                is disabled.  The awcVlanAnyEnabled thus acts as a 
                master switch to enable or disable VLAN operation."
        DEFVAL      { false }
        ::= { awcVlanCfgObjects 5 }


-- VLAN Configuration Table

awcVlanCfgTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF AwcVlanCfgEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "A table used for configuring and managing VLANS."
        ::= { awcVlanCfgObjects 6 }

awcVlanCfgEntry OBJECT-TYPE
        SYNTAX      AwcVlanCfgEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "VLAN table entry containing parameters for configuring
                and managing a particular VLAN."
        INDEX       {awcVlanIndex}
        ::= { awcVlanCfgTable 1 }

AwcVlanCfgEntry ::= SEQUENCE {
        awcVlanIndex                     AwcVlanIndex,
        awcVlanPolId                     AwcPolId,
        awcVlanEnabled                   TruthValue,
        awcVlanNUcastKeyRotationInterval INTEGER,
        awcVlanRowStatus                 RowStatus,
        awcVlanMicAlgorithm              AwcDot11MicAlgorithm,
        awcVlanWEPKeyPermuteAlgorithm    AwcDot11WEPKeyPermuteAlgorithm,
        awcVlanName                      OCTET STRING,
        awcVlanDefaultUserPriority       AwcPfPriority,
        awcVlanAlert                     TruthValue
        }

awcVlanIndex OBJECT-TYPE
        SYNTAX      AwcVlanIndex
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "VLAN ID to which the parameters in this conceptual 
                row shall be applied.  If 4095, the parameters in 
                this conceptual row shall be applied to 
                non-VLAN-tagged frames."
        ::= { awcVlanCfgEntry 1 }

awcVlanPolId OBJECT-TYPE
        SYNTAX      AwcPolId
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
                "Default Policy Group Identifier for hosts occupying 
                this VLAN."
        DEFVAL      { 0 }
        ::= { awcVlanCfgEntry 2 }

awcVlanEnabled OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
                "If true, this VLAN is enabled on all trunk and 
                hybrid ports.  If false, this VLAN is disabled on 
                all ports."
        DEFVAL      { false }
        ::= { awcVlanCfgEntry 3 }

awcVlanNUcastKeyRotationInterval OBJECT-TYPE
        SYNTAX      INTEGER (0..10000000)
        UNITS       "seconds"
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
                "WEP key rotation period. 0 indicates no key rotation."
        DEFVAL      { 0 }
        ::= { awcVlanCfgEntry 4 }

awcVlanRowStatus OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
                "Used for creating/deleting conceptual rows in this 
                table."
        ::= { awcVlanCfgEntry 5 }

awcVlanMicAlgorithm OBJECT-TYPE
        SYNTAX      AwcDot11MicAlgorithm
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION 
                "Auxiliary Message Integrity Check (MIC) calculated on
                WEP-encoded packets of stations assigned to this VLAN.
                This object is not applicable for the reserved VLAN 
                4095."
        DEFVAL      { micNone }
        ::= { awcVlanCfgEntry 6 }

awcVlanWEPKeyPermuteAlgorithm OBJECT-TYPE
        SYNTAX      AwcDot11WEPKeyPermuteAlgorithm
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION 
                "Function through which the WEP encryption key is
                permuted between key renewal periods for stations
                assigned to this VLAN.  This object is not 
                applicable for the reserved VLAN 4095."
        DEFVAL      { wepPermuteNone }
        ::= { awcVlanCfgEntry 7 }

awcVlanName OBJECT-TYPE
        SYNTAX OCTET STRING
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Descriptive textual name for the VLAN."
        DEFVAL { "" }
        ::= { awcVlanCfgEntry 8 }

awcVlanDefaultUserPriority OBJECT-TYPE
        SYNTAX AwcPfPriority
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION 
                "Designation of the priority assigned to packets 
                transmitted over this VLAN, if no other filter or 
                classification rule has yet assigned a priority."
        DEFVAL { default }
        ::= { awcVlanCfgEntry 9 }

awcVlanAlert OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION 
                "Should an alert be registered when a packet on
                this VLAN is observed?"
        DEFVAL { false }
        ::= { awcVlanCfgEntry 10 }


-- Native VLAN Default Shared WEP Table


awcVlanNUcastKeyTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF AwcVlanNUcastKeyEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "Default Shared WEP Keys for all 802.11 packets 
                transmitted and received as non-VLAN-tagged 
                frames over a port with the Port VLAN ID specified 
                as awcVlanIndex.  If WEP encryption
                is enabled for transmitted 802.11 frames, then the
                set of 1 to 4 default shared WEP keys are used
                to encrypt transmitted 802.11 broadcast/multicast
                frames associated with the Port VLAN ID. The 
                shared WEP keys are also used to encrypt/decrypt
                unicast frames, associated with the Port VLAN ID,
                if an individual session key is not defined for the
                target station address."
        ::= {  awcVlanCfgObjects 7 }

awcVlanNUcastKeyEntry OBJECT-TYPE
        SYNTAX      AwcVlanNUcastKeyEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION 
                "An entry in the awcVlanNUcastKeyTable table."
        INDEX       {awcVlanIndex, awcVlanNUcastKeyIndex}
        ::= {  awcVlanNUcastKeyTable 1 }

AwcVlanNUcastKeyEntry ::= SEQUENCE {
        awcVlanNUcastKeyIndex   INTEGER, 
        awcVlanNUcastKeyLen     INTEGER,
        awcVlanNUcastKeyValue   WEPKeytype128
        }

awcVlanNUcastKeyIndex OBJECT-TYPE
        SYNTAX      INTEGER (1..4)
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "802.11 WEP Key Index, + 1, used when transmitting or
                receiving frames with this key."
        ::= {  awcVlanNUcastKeyEntry 1 }

awcVlanNUcastKeyLen OBJECT-TYPE
        SYNTAX      INTEGER (0..13)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                "Length in octets of awcVlanNUcastKeyValue.  Common
                values are 5 for 40-bit WEP and 13 for 128-bit WEP.  
                A value of 0 means that the key is not set."
        DEFVAL { 0 }
        ::= {  awcVlanNUcastKeyEntry 2 }

awcVlanNUcastKeyValue OBJECT-TYPE
        SYNTAX      WEPKeytype128
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                "A WEP default secret key value.  The value is
                write-only (attempt to read will result in 
                return of zero-length string)."
        ::= {  awcVlanNUcastKeyEntry 3 }
               

awcVlanAllowUnencryptedVlanId OBJECT-TYPE
        SYNTAX      AwcVlanId
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                "Single VLAN ID on which unencrypted packets are 
                allowed.  The default Unencrypted VLAN ID is 0, 
                meaning that all VLANs require full encryption."
        DEFVAL      { 0 }
        ::= { awcVlanCfgObjects 8 }


-- Notifications

awcVlanCfgNotifications OBJECT IDENTIFIER ::= { awcVlanCfgMIB 2 }

        
-- Conformance

awcVlanCfgConformance OBJECT IDENTIFIER ::= { awcVlanCfgMIB 3 }

awcVlanCfgCompliances OBJECT IDENTIFIER ::= { awcVlanCfgConformance 1 }

awcVlanCfgGroups OBJECT IDENTIFIER ::= { awcVlanCfgConformance 2 }


-- Compliance

awcVlanCfgCompliance MODULE-COMPLIANCE
        STATUS  current
        DESCRIPTION
                "The compliance statement for the awcVlanCfgMIB group."
        MODULE  -- this module
        MANDATORY-GROUPS { 
                awcVlanCfgObjectsGroup
        }

    ::= { awcVlanCfgCompliances 1 }


-- Units of Conformance

awcVlanCfgObjectsGroup  OBJECT-GROUP
        OBJECTS { 
                awcMaxVlanIds,
                awcVlanEncapMode,
                awcNativeVlanId,
                awcVlanAllowEncrypted,
                awcVlanPolId,
                awcVlanEnabled,
                awcVlanNUcastKeyRotationInterval,
                awcVlanRowStatus,
                awcVlanMicAlgorithm,
                awcVlanWEPKeyPermuteAlgorithm,
                awcVlanName,
                awcVlanDefaultUserPriority,
                awcVlanAlert,
                awcVlanNUcastKeyLen,
                awcVlanNUcastKeyValue,
                awcVlanAllowUnencryptedVlanId
        }
        STATUS    current
        DESCRIPTION
                ""
        ::= { awcVlanCfgGroups 1 }

END

