-- Copyright 2002-2009 by Allied Telesis, Inc.
--
-- Name: AtiStackSwitch-MIB
--
-- Version: 2.55
--
-- Products using this MIB:
-- AT8324
-- AT8316F-MT
-- AT8316F-VF
-- AT8316F-SC
-- AT8524M
-- AT8550GB
-- AT8516F
-- AT9424T-SP
-- AT9424T-GB
-- 
-- History:
-- Shyam Sethuram (ATI)     09/23/02 : Created the MIB
--
-- Kishore Sorathia (ATI)   09/25/03 : Generalized to support AT-85XX 
-- Devices
--
-- Enhanced Mirroring to support ingress/egress mirroring
--
-- Kishore Sorathia (ATI)   09/30/03 : Added DOS (Denial Of Service) and 
-- QoS configuration.
--
-- Kishore Sorathia (ATI)   10/24/03 : Modified atiStackSwitch.mib to add 
-- PortAdminState and PortStpState variables in Port table. The PortState 
-- (which was used to show both Port Admin state and RSTP State) variable 
-- is now obsolete and is kept for backward compatibilty.
--
-- Kishore Sorathia (ATI)   02/06/04 : Modified to add product types for 
-- 9400 series products.
--
-- Kishore Sorathia (ATI)   02/24/04 : Modified to add notes inside object 
-- descriptions to let user know which objects are not applicable for a 
-- particular product.

-- Kishore Sorathia (ATI)   04/01/04 : Added Traps for STP port and trunk 
-- state change events.

-- Tushar J. Patel (ATI)    05/06/2004: Updated the Port Mirroring State to
-- disabled and l2-enabled.

-- Tushar J. Patel (ATI)    06/10/2004: File revision 2.6 as per ATKK.
-- Added Some information of Mirroring Compatibility fields

-- Tushar J. Patel (ATI)    06/14/2004: Added AT-9424-GB switch oid

-- Tushar J. Patel (ATI)    06/14/2004: Increased the QoS Egress to 8 levels
-- for ATS63
-- Tushar J. Patel (ATI)    08/16/2004: (2.10)Deprecated some MIB defs, 
-- changed HOL to a Integer32 and some clean-up. Please read this file 
-- for details.
-- Tushar J. Patel (ATI)    a) 10/18/2004: (2.11)Added support for PortList
-- to Static MAC Addresses, hence supporting Static Multicast support and
-- added display of PortList for VLAN MacAddr Table
--                          b) Added support for at9408LC/SP and at8524-POE
-- Tushar J. Patel. (ATI)   a) 10/22/2004: Added support for RPSChnagedTrap
--                          b) " : Added support for MIB definitions for RPS
-- Present and RPS State in ProductInfo
-- Tushar J. Patel. (ATI)   a) 11/02/2004: Added DC State in RPSTrap
--                          b) " : Added DC State in System ProductInfo    

-- Tushar J. Patel. (ATI)   a) 11/10/2004: Added Counter64 support. Note: These
-- counters will only work with SNMPv2. Users: Please make sure that the
-- messaging is chnaged to SNMPv2 instead of v1. In addition, the 32 bit 
-- counters are no longer suitable for the new Gigabit support, hence, this 
-- mandatory change. If the 32 bit stats are required, please get them
-- from the traditional IfEntry table (not ifXEntry table.) All previous
-- Counter32 Private MIB statistics are now changed to Counter64 statistics.

-- Tushar J. Patel (ATI)    a) 11/24/2004: Added the IntrusionAttack table
--                          b) Updated the Intrusion Detection trap to provide
--                             Intruding MAC and Vlan.
--                          c) Version 2.12 of this file.

-- Tushar J. Patel / Nelson Ho (ATI)
--                          a) 04/06/2005: Added support for the new UplinkInfo
--                            table as SysGroup 4. This table support switches
--                            with 94xx style of more than 2 uplinks 
--                            (e.g. 9408LC/SP). This is released as version
--                            2.13 of this MIB file.
--                            ****Note****: 
--                            Please be aware of the limitation of the
--                            ProductInfo Table where upto 2 uplinks are
--                            supported. Though this support may continue;
--                            it is preferred that the new UplinkInfo table
--                            should be used in ATI release ATS63 1.1.1 and 
--                            later.
--
-- Nelson Ho (ATI)          a) 04/20/2005 : Adding new product type for 
-- AT9424Ti/SP to AtiProductType textual convention (at9424Ti-SP(14))
--                          b) Adding OID tree for at-9424Ti-SP as swHub 118.
--
--                          a) 04/28/05 : Add atiStkSwSysSystemTimeConfig Group
-- for system time and SNTP support. 
--
--                          a) 05/13/05 : Add atiStkSwSysInfoGroup for 
-- supporting the system information include system temperature, fan 
-- information and system voltage information.
--
-- Nelson Ho (ATI)                09/13/05 : Obsolete the atiStkSwSysTrapRecv 
-- MIBs since the information from SNMPv3 Target Address Table.
--
-- Nelson Ho (ATI)                09/14/05 : Add Object OID to support 
-- 9448Ts-XP platform.
--
-- Nelson Ho (ATI)                09/23/05 : Add atiStkSwVlanActualUntaggedPortListModule1 object
--
-- Nelson Ho (ATI)                10/19/05 : Add 
-- atiStkSwPortDOSAttackMirrorPortStatus mib Obsolete 
-- atiStkSwPortDOSAttackMirrorPort
--
-- Nelson Ho (ATI)                11/18/05 : Add mstp enum to 
-- atiStkSwSysSpanningTreeVersion mib object
--
-- Nelson Ho (ATI)                12/14/05 : Redefined the atiStkSwMib and ATI 
-- OID tree section
--
-- Nelson Ho (ATI)                12/22/05 : Add atiStkSwGVRPConfig group & 
-- atiStkSwGVRPPortConfigTable
--
-- Nelson Ho (ATI)                01/05/06 : Add atiStkSwQosFlowGrpTable
--
-- Nelson Ho (ATI)                01/09/06 : Add atiStkSwQosTrafficClassTable
--
-- Nelson Ho (ATI)                01/12/06 : Add atiStkSwQosPolicyTable
--
-- Nelson Ho (ATI)                01/17/06 : Add atiStkSwGVRPCountersTable
--
-- Nelson Ho (ATI)                01/18/06 : Add OID for new platform AT9448Ts,
-- AT9448T-SP, AT9424Ts/XP
--
-- Nelson Ho (ATI)                01/26/06 : Add new MIB atiStkSwSysAction
--
-- Praveen Donthi (ATI)           03/07/06 : Added support for 
-- atiStkSwMgmtDisabledTrap
--
-- Nelson Ho (ATI)                04/05/06 : Added comment for supporting 
-- AT-8588-SC platform.
--
-- Nelson Ho (ATI)                04/11/06 : Add new MIB table 
-- atiStkSwQoSGroupPortCoSPriorityTable
--
-- Nelson Ho (ATI)                04/18/06 : Add new MIB table 
-- atiStkSwStaticTrunkTable and atiStkSwTrunkGroup (atiStkSwMib 8)
--
-- Nelson Ho (ATI)                04/24/06 : Add new MIB table 
-- atiStkSwACLConfigTable and new branch for atiStkSwACLGroup (atiStkSwMib 9)
--
-- Nelson Ho (ATI)                04/27/06 : Add new MIB table 
-- atiStkSwSysMgmtACLConfigTable and new branch for atiStkSwSysMgmtACLGroup 
-- (atiStkSwSysGroup 7)
--
-- Minal Agarwal (ATI)            06/26/06 : Add new MIB object 
-- atiStkSwSysTemperatureLimitValue and trap atiStkSwTemperatureLimitTrap
--
-- Nelson Ho (ATI)        v 2.33  08/12/06 : Remove MIB object 
-- atiStkSwSysTemperatureLimitValue from system Group Introduce 
-- atiStkSwSysTemperatureLimitValue under atiStkSwSysProductInfoTable 
--
-- Nelson Ho (ATI)        v 2.34  08/25/06 : change the type of 
-- atiStkSwFanInfoState from integer to DisplayString (It is OK to change the 
-- type because the MIB has not official release to customer).
--
-- Nelson Ho (ATI)        v 2.35  09/08/06 : Introduce two new traps :
-- atiStkSwFanOkTrap, atiStkSwTemperatureNormalTrap
--
-- Nelson Ho (ATI)        v 2.36  09/28/06 : Obsolete 
-- atiStkSwTemperatureAbnormalTrap.
--
-- Junichi Katagiri (ATKK)v 2.37  12/18/07 : Add new MIB table 
-- atiStkSwPortStormDetectCurrentTable, and new traps for Storm Detection.
--
-- Masahiko Iwamoto / Junichi Katagiri (ATKK)
--                        v 2.50  12/15/08 : Change the MIB version to v2.50
-- Add enum type to atiStkSwPortNegotiation
-- Add atiStkSwCPUInfoTable for supporting the cpu utilization.
--
-- Nelson Ho (ATI)        v 2.51  01/22/09 : Add atiStkSwSysNumOfModuleInStack 
-- and atiStkSwStackTopologyChangeTrap
--
-- Masahiko Iwamoto (ATKK)v 2.52  03/02/09 : Change the MIB version to v2.52
-- Add enum type to ATIPortType for XFP support
-- Add new OID for model 9424T
-- Add new OID for model 9424T POE
-- Add new OID for model 9424TL
--
-- Nelson Ho (ATI)        v 2.53  03/14/09 : 
-- Add atiStkSwBPDUGuardIsTriggeredTrap 
--
-- Junichi Katagiri (ATKK)v 2.54  03/23/09 : Add atiStkSwMemoryGroup
--
-- Junichi Katagiri (ATKK)v 2.55  08/20/09 : Add new MIB table 
-- atiStkSwPortLoopDetectCurrentTable, and new traps for Loop Detection.
--


AtiStackSwitch9424-MIB    DEFINITIONS ::= BEGIN
    IMPORTS 
        IpAddress, MODULE-IDENTITY,OBJECT-TYPE, NOTIFICATION-TYPE, 
        Integer32, Counter64, Counter32, TimeTicks
            FROM SNMPv2-SMI
        TEXTUAL-CONVENTION, DisplayString, RowStatus, TruthValue, MacAddress
            FROM SNMPv2-TC
        enterprises
            FROM RFC1155-SMI;


alliedTelesyn    MODULE-IDENTITY

    LAST-UPDATED
        "200407220000Z"
    ORGANIZATION
        "Allied Telesyn International"
    CONTACT-INFO
        "Allied Telesyn International"
    DESCRIPTION
        "Private MIB for ATI layer 2 stackable switches. This MIB
        can be used in Windows and UNIX environments."
    ::= { enterprises 207 }


-- OID tree for Allied Telesyn MIBs

    mibObject    OBJECT IDENTIFIER ::= { alliedTelesyn 8 }
    atiStkSwMib    OBJECT IDENTIFIER ::= { mibObject 17 }


-- MODULE IDENTITY for the private mib



-- AtiProductType

AtiProductType ::= TEXTUAL-CONVENTION
    STATUS    current
    DESCRIPTION
        "This data type is used to specify the syntax of objects
        describing the hardware product type."
    SYNTAX    INTEGER {
                other (1),
                at8324 (2),
                at8316F-MT (3),
                at8316F-VF (4),
                at8316F-SC (5),
                at8524M (6),
                at8550GB (7),
                at8516F (8),
                at8550SP (9),
                at9424T-SP (10),
                at9424T-GB (11),
                at9408LC-SP (12),
                at8524-POE (13),
                at9424Ti-SP (14),
                at9448Ts-XP (15),
                at9448Ts (16),
                at9448T-SP (17),
                at9424Ts-XP (18),
                at9424Ts (19),
                --  at8588-SC (20) this is a reminder that the OID is being used
                at9424T (21),
                at9424T-POE (22),
                at9424TL (23)
                }

-- AtiPortType

AtiPortType ::= TEXTUAL-CONVENTION
    STATUS    current
    DESCRIPTION
        "This data type is used to specify the syntax of objects
        describing the hardware port type."
    SYNTAX    INTEGER {
                other (1),
                notPresent (2),
                mgmt (3),
                tenBaseT (4),
                hundredBaseT (5),
                hundredBaseFX-VF (6),
                hundredBaseFX-MT (7),
                hundredBaseFX-SC (8),
                hundredBaseFX-LC (9),
                thousandBaseT (10),
                gigabit (11),
                gigabitSX (12),
                gigabitSX-SC (13),
                gigabitSX-MT (14),
                gigabitSX-VF (15),
                gigabitSX-LC (16),
                gigabitLX (17),
                gigabitLX-SC (18),
                gigabitLX-MT (19),
                gigabitLX-VF (20),
                gigabitLX-LC (21),
                sm15 (22),
                ten-gigabit (23)
                }


AtiUplinkType ::= TEXTUAL-CONVENTION
    STATUS    current
    DESCRIPTION
        "This data type is used to specify the syntax of objects
        confirming to the Allied Telesyn, Inc. uplink types. These
        are primarily used in the 85xx and 94xx family of switches.
        For all other releases, this may not be applicable. Please
        confirm with the release notes for additional information
        on these types."
    SYNTAX    INTEGER {
                notPresent (1),
                other (2),
                applique-at-45-sc-sm (3),
                applique-at-45-sc (4),
                applique-at-45-mt (5),
                applique-at-46 (6),
                applique-at-47 (7),
                sfp (8),
                gbic (9),
                xfp (10)
                }


-- OID tree for Allied Telesyn Layer-2 switches

    atiProduct    OBJECT IDENTIFIER ::= { alliedTelesyn 1 }
    swhub    OBJECT IDENTIFIER ::= { atiProduct 4 }
    at-8324    OBJECT IDENTIFIER ::= { swhub 37 }
    at-8316F    OBJECT IDENTIFIER ::= { swhub 77 }
    at-8524M    OBJECT IDENTIFIER ::= { swhub 98 }
    at-8550GB    OBJECT IDENTIFIER ::= { swhub 99 }
    at-8516F    OBJECT IDENTIFIER ::= { swhub 100 }
    at-8550SP    OBJECT IDENTIFIER ::= { swhub 104 }
    at-9424T-SP    OBJECT IDENTIFIER ::= { swhub 105 }
    at-9424T-GB    OBJECT IDENTIFIER ::= { swhub 112 }
    at-8524POE    OBJECT IDENTIFIER ::= { swhub 113 }
    at-9408LC-SP    OBJECT IDENTIFIER ::= { swhub 117 }
    at-9424Ti-SP    OBJECT IDENTIFIER ::= { swhub 118 }
    at-9448Ts-XP    OBJECT IDENTIFIER ::= { swhub 119 }
    at-9448Ts    OBJECT IDENTIFIER ::= { swhub 130 }
    at-9448T-SP    OBJECT IDENTIFIER ::= { swhub 131 }
    at-9424Ts-XP    OBJECT IDENTIFIER ::= { swhub 132 }
    at-9424Ts    OBJECT IDENTIFIER ::= { swhub 133 }
--    at-8588-SC    OBJECT IDENTIFIER ::= { swhub 134 }
    at-9424T    OBJECT IDENTIFIER ::= { swhub 146 }
    at-9424TPOE    OBJECT IDENTIFIER ::= { swhub 152 }
    at-9424TL    OBJECT IDENTIFIER ::= { swhub 153 }


-- Groups supported in this MIB

atiStkSwSysGroup    OBJECT IDENTIFIER ::= { atiStkSwMib 1 }
atiStkSwPortGroup    OBJECT IDENTIFIER ::= { atiStkSwMib 2 }
atiStkSwVlanGroup    OBJECT IDENTIFIER ::= { atiStkSwMib 3 }
atiStkSwMacAddrGroup    OBJECT IDENTIFIER ::= { atiStkSwMib 4 }
atiStkSwEthStatsGroup    OBJECT IDENTIFIER ::= { atiStkSwMib 5 }
atiStkSwTrapsGroup    OBJECT IDENTIFIER ::= { atiStkSwMib 6 }
atiStkSwQoSGroup    OBJECT IDENTIFIER ::= { atiStkSwMib 7 }
atiStkSwTrunkGroup    OBJECT IDENTIFIER ::= { atiStkSwMib 8 }
atiStkSwACLGroup    OBJECT IDENTIFIER ::= { atiStkSwMib 9 }


-- The atiStkSwSysGroup

atiStkSwSysConfig    OBJECT IDENTIFIER ::= { atiStkSwSysGroup 1 }
atiStkSwSysNwMgmt    OBJECT IDENTIFIER ::= { atiStkSwSysGroup 2 }
-- Defined below atiStkSwSysProductInfoTable    OBJECT IDENTIFIER ::= { atiStkSwSysGroup 3 }
-- atiStkSwSysUplinkInfoTable    OBJECT IDENTIFIER ::= { atiStkSwSysGroup 4 }
atiStkSwSysSystemTimeConfig    OBJECT IDENTIFIER ::= { atiStkSwSysGroup 5 }
atiStkSwSysInfoGroup    OBJECT IDENTIFIER ::= { atiStkSwSysGroup 6 }
atiStkSwSysMgmtACLGroup    OBJECT IDENTIFIER ::= { atiStkSwSysGroup 7 }


-- atiStkSwSysConfig

atiStkSwSysReset    OBJECT-TYPE
    SYNTAX    INTEGER {
                no-reset (1),
                reset (2)
                }
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "Setting this object to 'reset' will cause the switch to
        perform a soft reboot. Setting this object to 'no-reset' will
        have no effect."
    ::= { atiStkSwSysConfig 1 }

atiStkSwSysIpAddress    OBJECT-TYPE
    SYNTAX        IpAddress
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "The IP address of the switch."
    ::= { atiStkSwSysConfig 2 }

atiStkSwSysSubnetMask    OBJECT-TYPE
    SYNTAX        IpAddress
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "The subnet mask of the switch."
    ::= { atiStkSwSysConfig 3 }

atiStkSwSysGateway    OBJECT-TYPE
    SYNTAX        IpAddress
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "The IP address of the gateway for the switch."
    ::= { atiStkSwSysConfig 4 }

atiStkSwSysIpAddressStatus    OBJECT-TYPE
    SYNTAX    INTEGER {
                fromDhcp (1),
                fromBootp (2),
                static (3)
                }
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "This object specifies how the IP address, subnet mask and the
        gateway address currently in use on the switch was
        obtained/configured."
    ::= { atiStkSwSysConfig 5 }

atiStkSwSysDnsServer    OBJECT-TYPE
    SYNTAX        IpAddress
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "This object specifies the IP address of the DNS server for
        the switch.
        This MIB is not applicable to the 85xx and 94xx family of ATI
        switches."
    ::= { atiStkSwSysConfig 6 }

atiStkSwSysDefaultDomainName    OBJECT-TYPE
    SYNTAX        DisplayString
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "This object specifies the default domain name for the switch.
        
        This MIB is not applicable to the 85xx and 94xx family of ATI
        switches."
    ::= { atiStkSwSysConfig 7 }

atiStkSwSysNumberOfModules    OBJECT-TYPE
    SYNTAX        Integer32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "This object gives a count of the number of modules present
        in the stackable switch."
    ::= { atiStkSwSysConfig 8 }

atiStkSwSysSpanningTreeStatus    OBJECT-TYPE
    SYNTAX    INTEGER {
                disable (1),
                enable (2)
                }
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "Setting this object to 'enable' will enable spanning tree
        protocol on the switch. Setting this object to 'disable'
        will disable spanning tree protocol on the switch.

        Select the spanning tree protocol version using the object
        'atiStkSwSysSpanningTreeVersion'."
    ::= { atiStkSwSysConfig 9 }

atiStkSwSysSpanningTreeVersion    OBJECT-TYPE
    SYNTAX    INTEGER {
                rstp (1),
                stp (2),
                mstp (3)
                }
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "The object can be used to select the version of spanning tree
        protocol running on the switch."
    ::= { atiStkSwSysConfig 10 }
    
atiStkSwSysAction    OBJECT-TYPE
    SYNTAX    INTEGER {
                saveConfig (1),
                reset (2),
                defaultConfig (3)
                }
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "This  object specifies the  following actions  that apply to the 
        switch:
        saveConfig - Save the current switch configuration.
        reset - Reboot the switch.
        defaultConfig - Restore default switch configuration. 
        The switch is automatically rebooted after this operation.
        Note that this  object returns a zero value when doing a Get 
        operation."
    ::= { atiStkSwSysConfig 11 }
    
atiStkSwSysNumOfModuleInStack    OBJECT-TYPE
        SYNTAX        Integer32 (1..8)
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
            "This  object specifies the  number of stacking modules in the 
            stack."
    ::= { atiStkSwSysConfig 12 }


-- atiStkSwSysNwMgmt

atiStkSwSysTrapRecv1    OBJECT-TYPE
    SYNTAX        IpAddress
    MAX-ACCESS    read-write
    STATUS        obsolete
    DESCRIPTION
        "This object specifies the IP address of the management
        station #1 to which traps are sent by the switch.
        
        This MIB is not applicable to the 85xx and 94xx family of ATI
        switches."

    ::= { atiStkSwSysNwMgmt 1 }

atiStkSwSysTrapRecv2    OBJECT-TYPE
    SYNTAX        IpAddress
    MAX-ACCESS    read-write
    STATUS        obsolete
    DESCRIPTION
        "This object specifies the IP address of the management
        station #2 to which traps are sent by the switch.
        
        This MIB is not applicable to the 85xx and 94xx family of ATI
        switches."
    ::= { atiStkSwSysNwMgmt 2 }

atiStkSwSysTrapRecv3    OBJECT-TYPE
    SYNTAX        IpAddress
    MAX-ACCESS    read-write
    STATUS        obsolete
    DESCRIPTION
        "This object specifies the IP address of the management
        station #3 to which traps are sent by the switch.
        
        This MIB is not applicable to the 85xx and 94xx family of ATI
        switches."
    ::= { atiStkSwSysNwMgmt 3 }

atiStkSwSysTrapRecv4    OBJECT-TYPE
    SYNTAX        IpAddress
    MAX-ACCESS    read-write
    STATUS        obsolete
    DESCRIPTION
        "This object specifies the IP address of the management
        station #4 to which traps are sent by the switch.
        
        This MIB is not applicable to the 85xx and 94xx family of ATI
        switches."
    ::= { atiStkSwSysNwMgmt 4 }


-- atiStkSwSysProductInfoTable

atiStkSwSysProductInfoTable    OBJECT-TYPE
    SYNTAX        SEQUENCE OF AtiStkSwSysProductInfoEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This table contains a list of modules present in the switch
        stack and their associated hardware information."
    ::= { atiStkSwSysGroup 3 }

atiStkSwSysProductInfoEntry    OBJECT-TYPE
    SYNTAX        AtiStkSwSysProductInfoEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This object specifies an entry in 'atiStkSwSysProductInfoTable'
        that describes the hardware informaton for a module present in
        the switch stack."
    INDEX    { atiStkSwSysModuleId }
    ::= { atiStkSwSysProductInfoTable 1 }

AtiStkSwSysProductInfoEntry    ::=
    SEQUENCE {
            atiStkSwSysModuleId              Integer32,
            atiStkSwSysProductType           AtiProductType,
            atiStkSwSysMacAddress            MacAddress,
            atiStkSwSysSwName                DisplayString,
            atiStkSwSysSwVersion             DisplayString,
            atiStkSwSysHwName                DisplayString,
            atiStkSwSysHwRevision            DisplayString,
            atiStkSwSysSerialNumber          DisplayString,
            atiStkSwSysTotalPortCount        Integer32,
            atiStkSwSysBasePortType          AtiPortType,
            atiStkSwSysBasePortCount         Integer32,
            atiStkSwSysUplinkAModelName      DisplayString,
            atiStkSwSysUplinkAPortType       AtiPortType,
            atiStkSwSysUplinkAPortCount      Integer32,
            atiStkSwSysUplinkAPortIdBase     Integer32,
            atiStkSwSysUplinkAPortIdLimit    Integer32,
            atiStkSwSysUplinkBModelName      DisplayString,
            atiStkSwSysUplinkBPortType       AtiPortType,
            atiStkSwSysUplinkBPortCount      Integer32,
            atiStkSwSysUplinkBPortIdBase     Integer32,
            atiStkSwSysUplinkBPortIdLimit    Integer32,
            atiStkSwSysRPSPresent            INTEGER,
            atiStkSwSysRPSState              INTEGER,
            atiStkSwSysDCState               INTEGER,
            atiStkSwSysTemperatureLimitValue Integer32
        }


atiStkSwSysModuleId    OBJECT-TYPE
    SYNTAX        Integer32(1..8)
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The ID of this module."
    ::= { atiStkSwSysProductInfoEntry 1 }

atiStkSwSysProductType    OBJECT-TYPE
    SYNTAX        AtiProductType
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The product type of this module."
    ::= { atiStkSwSysProductInfoEntry 2 }

atiStkSwSysMacAddress    OBJECT-TYPE
    SYNTAX        MacAddress
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The system MAC address used by this module."
    ::= { atiStkSwSysProductInfoEntry 3 }

atiStkSwSysSwName    OBJECT-TYPE
    SYNTAX        DisplayString (SIZE(0..255))
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The name of the system software running on this module."
    ::= { atiStkSwSysProductInfoEntry 4 }

atiStkSwSysSwVersion    OBJECT-TYPE
    SYNTAX        DisplayString (SIZE(0..255))
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The version of the system software running on this module."
    ::= { atiStkSwSysProductInfoEntry 5 }

atiStkSwSysHwName    OBJECT-TYPE
    SYNTAX        DisplayString (SIZE(0..255))
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The name of the module hardware."
    ::= { atiStkSwSysProductInfoEntry 6 }

atiStkSwSysHwRevision    OBJECT-TYPE
    SYNTAX        DisplayString (SIZE(0..255))
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The revision number of the module hardware."
    ::= { atiStkSwSysProductInfoEntry 7 }

atiStkSwSysSerialNumber    OBJECT-TYPE
    SYNTAX        DisplayString (SIZE(0..255))
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The serial number of the module."
    ::= { atiStkSwSysProductInfoEntry 8 }

atiStkSwSysTotalPortCount    OBJECT-TYPE
    SYNTAX        Integer32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "Total number of ports (base and uplink) present on this
        module."
    ::= { atiStkSwSysProductInfoEntry 9 }

atiStkSwSysBasePortType    OBJECT-TYPE
    SYNTAX        AtiPortType
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The hardware type of a base port on this module."
    ::= { atiStkSwSysProductInfoEntry 10 }

atiStkSwSysBasePortCount    OBJECT-TYPE
    SYNTAX        Integer32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "Total number of base ports present on this module."
    ::= { atiStkSwSysProductInfoEntry 11 }

atiStkSwSysUplinkAModelName    OBJECT-TYPE
    SYNTAX        DisplayString (SIZE(0..255))
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The model name of the uplink #A connector of this module."
    ::= { atiStkSwSysProductInfoEntry 12 }

atiStkSwSysUplinkAPortType    OBJECT-TYPE
    SYNTAX        AtiPortType
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The hardware type of a port present in the uplink #A
        connector of this module."
    ::= { atiStkSwSysProductInfoEntry 13 }

atiStkSwSysUplinkAPortCount    OBJECT-TYPE
    SYNTAX        Integer32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "Total number of uplink #A ports present on this module."
    ::= { atiStkSwSysProductInfoEntry 14 }

atiStkSwSysUplinkAPortIdBase    OBJECT-TYPE
    SYNTAX        Integer32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The ID of the first port in uplink #A of this module."
    ::= { atiStkSwSysProductInfoEntry 15 }

atiStkSwSysUplinkAPortIdLimit    OBJECT-TYPE
    SYNTAX        Integer32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The ID of the last port in uplink #A of this module."
    ::= { atiStkSwSysProductInfoEntry 16 }

atiStkSwSysUplinkBModelName    OBJECT-TYPE
    SYNTAX        DisplayString (SIZE(0..255))
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The model name of the uplink #B connector of this module."
    ::= { atiStkSwSysProductInfoEntry 17 }

atiStkSwSysUplinkBPortType    OBJECT-TYPE
    SYNTAX        AtiPortType
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The hardware type of a port present in the uplink #B
        connector of this module."
    ::= { atiStkSwSysProductInfoEntry 18 }

atiStkSwSysUplinkBPortCount    OBJECT-TYPE
    SYNTAX        Integer32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "Total number of uplink #B ports present on this module."
    ::= { atiStkSwSysProductInfoEntry 19 }

atiStkSwSysUplinkBPortIdBase    OBJECT-TYPE
    SYNTAX        Integer32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The ID of the first port in uplink #B of this module."
    ::= { atiStkSwSysProductInfoEntry 20 }

atiStkSwSysUplinkBPortIdLimit    OBJECT-TYPE
    SYNTAX        Integer32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The ID of the last port in uplink #B of this module."
    ::= { atiStkSwSysProductInfoEntry 21 }

atiStkSwSysRPSPresent    OBJECT-TYPE
    SYNTAX    INTEGER {
                connected (1),
                disconnected (2)
                }
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "This object shows the presence of the RPS (Redundant Power Supply.)
        
        Note: This is not available on the 83xx switch family."
    ::= { atiStkSwSysProductInfoEntry 22 }

atiStkSwSysRPSState    OBJECT-TYPE
    SYNTAX    INTEGER {
                off (1),
                on (2)
                }
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "This object shows if the connected RPS is on (supplying power)
        or off (not supplying power) to this switch.
        
        Note: This is not available on the 83xx switch family."
    ::= { atiStkSwSysProductInfoEntry 23 }

atiStkSwSysDCState OBJECT-TYPE
    SYNTAX    INTEGER {
                off (1),
                on (2)
                }
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "This object shows if the main Power Source is DC.
        
        Note: If this is Off and RPS State is off, then the
        AC Main is supllying power.
        
        Note: This is not available on the 83xx switch family."
    ::= { atiStkSwSysProductInfoEntry 24 }
    
atiStkSwSysTemperatureLimitValue    OBJECT-TYPE
    SYNTAX        Integer32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "This object specifies the temperature value when it is above the
        Warning or Error limits."
        ::= { atiStkSwSysProductInfoEntry 25 }



-- atiStkSwSysUplinkInfoTable

atiStkSwSysUplinkInfoTable    OBJECT-TYPE
    SYNTAX        SEQUENCE OF AtiStkSwSysUplinkInfoEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This table contains a list of uplinks present in the switch
        stack and their associated hardware information."
    ::= { atiStkSwSysGroup 4 }

atiStkSwSysUplinkInfoEntry    OBJECT-TYPE
    SYNTAX        AtiStkSwSysUplinkInfoEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This object specifies an entry in 'atiStkSwSysUplinkInfoTable'
        that describes the hardware informaton for a uplink present in
        the switch stack. **Note:This table may only be available with 94xx
        series of switches. Please confirm your release notes for the
        support of this table.**"
    INDEX    { atiStkSwSysUplinkModuleId, atiStkSwSysUplinkPortId }
    ::= { atiStkSwSysUplinkInfoTable 1 }

AtiStkSwSysUplinkInfoEntry    ::=
    SEQUENCE {
            atiStkSwSysUplinkModuleId       Integer32,
            atiStkSwSysUplinkPortId         Integer32,
            atiStkSwSysUplinkSetup          INTEGER,
            atiStkSwSysUplinkType           AtiUplinkType,
            atiStkSwSysUplinkDetails        DisplayString,
            atiStkSwSysUplinkPortType       AtiPortType
         }

atiStkSwSysUplinkModuleId    OBJECT-TYPE
    SYNTAX        Integer32(1..8)
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The ID of this module."
    ::= { atiStkSwSysUplinkInfoEntry 1 }

atiStkSwSysUplinkPortId    OBJECT-TYPE
    SYNTAX        Integer32(1..50)
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The ID (port number) of the this port (uplink) of this module."
    ::= { atiStkSwSysUplinkInfoEntry 2 }


atiStkSwSysUplinkSetup OBJECT-TYPE
    SYNTAX    INTEGER {
                fixed (1),
                pluggable (2)
                }
    
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The fixation of the uplink. Fixed types are GBICs, SFPs or XFPs
        that are an integral part of the sytem. Disjoint items are applique
        or module slots that are determined purely by the attached device."
    ::= { atiStkSwSysUplinkInfoEntry 3 }

atiStkSwSysUplinkType    OBJECT-TYPE
    SYNTAX        AtiUplinkType
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The module type of the uplink connector of this module."
    ::= { atiStkSwSysUplinkInfoEntry 4 }

atiStkSwSysUplinkDetails    OBJECT-TYPE
    SYNTAX        DisplayString (SIZE(0..255))
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "This field will provide additional details to the Uplink.
        For GBIC, SFP or XFP, it may contain information on the
        installed devices (e.g. 1000-SX, 1000-T, etc). For applique 
        types, it may have the name (e.g. A-47) and other specific 
        information that may be useful in managing the device."
    ::= { atiStkSwSysUplinkInfoEntry 5 }

atiStkSwSysUplinkPortType    OBJECT-TYPE
    SYNTAX        AtiPortType
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The hardware type of a port present in the uplink
        connector of this module. "
    ::= { atiStkSwSysUplinkInfoEntry 6 }


-- The system time group
    
atiStkSwSysCurrentTime    OBJECT-TYPE
    SYNTAX        DisplayString (SIZE(0..32))
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "This object specify the current time of the system. The user
        can change the time by providing the string format as an input,
        e.g. HH:MM:SS."
    ::= { atiStkSwSysSystemTimeConfig 1 }
    
atiStkSwSysCurrentDate    OBJECT-TYPE
    SYNTAX        DisplayString (SIZE(0..32))
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "This object specify the current time of the system. The user
        can change the date by providing the string format as an input,
        e.g. DD:MM:YYYY."
    ::= { atiStkSwSysSystemTimeConfig 2 }


atiStkSwSysSNTPStatus    OBJECT-TYPE
    SYNTAX    INTEGER {
                disabled (1),
                enabled (2)
                }
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "Enable/disable the SNTP status."
    ::= { atiStkSwSysSystemTimeConfig 3 }

atiStkSwSysSNTPServerIPAddress    OBJECT-TYPE
    SYNTAX        IpAddress
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "The ipaddress of the SNTP Server."
    ::= { atiStkSwSysSystemTimeConfig 4 }

atiStkSwSysSNTPUTCOffset    OBJECT-TYPE
    SYNTAX        Integer32 (-12..12)
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "Set the UTC Offset value within the range from -12 to 12 in hours."
    ::= { atiStkSwSysSystemTimeConfig 5 }

atiStkSwSysSNTPDSTStatus    OBJECT-TYPE
    SYNTAX    INTEGER {
                disabled (1),
                enabled (2)
                }
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "Enable/disble the Daylight Saving Time."
    ::= { atiStkSwSysSystemTimeConfig 6 }

atiStkSwSysSNTPPollingInterval    OBJECT-TYPE
    SYNTAX        Integer32 (60..1200)
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION    
        "Setting the interval for polling the SNTP Server. The polling 
        time range is between 60 and 1200 in seconds."
    ::= { atiStkSwSysSystemTimeConfig 7 }


atiStkSwSysSNTPLastDelta    OBJECT-TYPE
    SYNTAX        Integer32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION    
        "Display the last adjustment to system done in seconds."
    ::= { atiStkSwSysSystemTimeConfig 8 }


-- The atiStkSwSysInfoGroup

-- System Temperature Information Table

atiStkSwTemperatureInfoTable    OBJECT-TYPE
    SYNTAX        SEQUENCE OF AtiStkSwTemperatureInfoEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This table contains a list of system temperature information present 
        in the switch stack including voltage and temperature."
    ::= { atiStkSwSysInfoGroup 1 }

atiStkSwTemperatureInfoEntry    OBJECT-TYPE
    SYNTAX        AtiStkSwTemperatureInfoEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This object specifies an entry in 'atiStkSwTemperatureInfoTable'
        that describes the hardware informaton for a module present in
        the switch stack."
    INDEX    { atiStkSwTemperatureInfoModuleId }
    ::= { atiStkSwTemperatureInfoTable 1 }

AtiStkSwTemperatureInfoEntry    ::=
    SEQUENCE {
            atiStkSwTemperatureInfoModuleId       Integer32,
            atiStkSwTemperatureInfoTemperature    DisplayString
        }


atiStkSwTemperatureInfoModuleId    OBJECT-TYPE
    SYNTAX        Integer32 (1..8)
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION    
        "The module Id of a switch, it also used as an index of the table."
    ::= { atiStkSwTemperatureInfoEntry 1 }


atiStkSwTemperatureInfoTemperature    OBJECT-TYPE
    SYNTAX        DisplayString (SIZE(1..8))
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION    
        "The temperature of the device in Celcius."
    ::= { atiStkSwTemperatureInfoEntry 2 }


-- The System Fan Information Table

atiStkSwFanInfoTable    OBJECT-TYPE
    SYNTAX        SEQUENCE OF AtiStkSwFanInfoEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This table contains information for all the fans present 
         in the switch."
    ::= { atiStkSwSysInfoGroup 2 }

atiStkSwFanInfoEntry    OBJECT-TYPE
    SYNTAX        AtiStkSwFanInfoEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This object specifies an entry in 'atiStkSwFanInfoTable'
        that describes the informaton for a specific fan in
        the switch."
    INDEX    { atiStkSwFanInfoModuleId, atiStkSwFanInfoFanId }
    ::= { atiStkSwFanInfoTable 1 }

AtiStkSwFanInfoEntry    ::=
    SEQUENCE {
            atiStkSwFanInfoModuleId         Integer32,
            atiStkSwFanInfoFanId            Integer32,
            atiStkSwFanInfoState            DisplayString,
            atiStkSwFanInfoSpeed            DisplayString
         }


atiStkSwFanInfoModuleId    OBJECT-TYPE
    SYNTAX        Integer32 (1..8)
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The module Id of the switch."
    ::= { atiStkSwFanInfoEntry 1 }

atiStkSwFanInfoFanId    OBJECT-TYPE
    SYNTAX        Integer32(1..8)
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The fan Id of the switch."
    ::= { atiStkSwFanInfoEntry 2 }

atiStkSwFanInfoState    OBJECT-TYPE
    SYNTAX        DisplayString (SIZE(1..12))
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The state of the fan running, either normal or off."
    ::= { atiStkSwFanInfoEntry 3 }

atiStkSwFanInfoSpeed    OBJECT-TYPE
    SYNTAX        DisplayString (SIZE(1..12))
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The current speed of a fan."
    ::= { atiStkSwFanInfoEntry 4 }



-- The System Voltage Information Table

atiStkSwVoltageInfoTable    OBJECT-TYPE
    SYNTAX        SEQUENCE OF AtiStkSwVoltageInfoEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This table contains a list of system Voltage information."
    ::= { atiStkSwSysInfoGroup 3 }

atiStkSwVoltageInfoEntry    OBJECT-TYPE
    SYNTAX        AtiStkSwVoltageInfoEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This object specifies an entry in 'atiStkSwVoltageInfoTable'
        that describes the Voltage informaton for the switch."
    INDEX    { atiStkSwVoltageInfoModuleId, atiStkSwVoltageInfoIndex }
    ::= { atiStkSwVoltageInfoTable 1 }

AtiStkSwVoltageInfoEntry ::=
    SEQUENCE {
            atiStkSwVoltageInfoModuleId     Integer32,
            atiStkSwVoltageInfoIndex        Integer32,
            atiStkSwVoltageInfoLevel        DisplayString,
            atiStkSwVoltageInfoMeasured     DisplayString
         }

    
atiStkSwVoltageInfoModuleId    OBJECT-TYPE
    SYNTAX        Integer32 (1..8)
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The module Id of the switch."
    ::= { atiStkSwVoltageInfoEntry 1 }

atiStkSwVoltageInfoIndex    OBJECT-TYPE
    SYNTAX        Integer32(1..10)
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The index of the voltage table."
    ::= { atiStkSwVoltageInfoEntry 2 }

atiStkSwVoltageInfoLevel    OBJECT-TYPE
    SYNTAX        DisplayString (SIZE(1..16))
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The voltage input level."
    ::= { atiStkSwVoltageInfoEntry 3 }

atiStkSwVoltageInfoMeasured    OBJECT-TYPE
    SYNTAX        DisplayString (SIZE(0..16))
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The current voltage."
    ::= { atiStkSwVoltageInfoEntry 4 }
    

-- The System CPU Information Table

atiStkSwCPUInfoTable    OBJECT-TYPE
    SYNTAX        SEQUENCE OF AtiStkSwCPUInfoEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This table contains information about the cpu utilization over 
        different periods of time."
    ::= { atiStkSwSysInfoGroup 4 }

atiStkSwCPUInfoEntry    OBJECT-TYPE
    SYNTAX        AtiStkSwCPUInfoEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This object specifies an entry in 'atiStkSwCPUInfoTable'
        that describes the cpu informaton for the switch."
    INDEX    { atiStkSwCPUInfoModuleId }
    ::= { atiStkSwCPUInfoTable 1 }

AtiStkSwCPUInfoEntry ::=
    SEQUENCE {
            atiStkSwCPUInfoModuleId            Integer32,
            atiStkSwCPUInfoAvgLastMinute       Integer32,
            atiStkSwCPUInfoAvgLast20Seconds    Integer32,
            atiStkSwCPUInfoAvgSecond           Integer32
         }

atiStkSwCPUInfoModuleId    OBJECT-TYPE
    SYNTAX        Integer32 (1..8)
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The module Id of the switch."
    ::= { atiStkSwCPUInfoEntry 1 }

atiStkSwCPUInfoAvgLastMinute    OBJECT-TYPE
    SYNTAX        Integer32 (0..100)
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "Average CPU utilization over the past minute.
        Expressed as a percentage."
    ::= { atiStkSwCPUInfoEntry 2 }

atiStkSwCPUInfoAvgLast20Seconds    OBJECT-TYPE
    SYNTAX        Integer32 (0..100)
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "Average CPU utilization over the past twenty seconds.
        Expressed as a percentage."
    ::= { atiStkSwCPUInfoEntry 3 }

atiStkSwCPUInfoAvgSecond    OBJECT-TYPE
    SYNTAX        Integer32 (0..100)
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "Average CPU utilization over the past second.
        Expressed as a percentage."
    ::= { atiStkSwCPUInfoEntry 4 }

-- The Memory Information

atiStkSwMemoryGroup    OBJECT IDENTIFIER ::= { atiStkSwSysInfoGroup 5 }

-- Memory information table

atiStkSwMemoryInfoTable    OBJECT-TYPE
    SYNTAX        SEQUENCE OF AtiStkSwMemoryInfoEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This table contains information about memory size on module."
    ::= { atiStkSwMemoryGroup 1 }

atiStkSwMemoryInfoEntry    OBJECT-TYPE
    SYNTAX        AtiStkSwMemoryInfoEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This object specifies an entry in 'atiStkSwMemoryInfoTable'
        that describes the memory size for the switch."
    INDEX    { atiStkSwMemoryInfoModuleId }
    ::= { atiStkSwMemoryInfoTable 1 }
 
AtiStkSwMemoryInfoEntry ::=
    SEQUENCE {
            atiStkSwMemoryInfoModuleId             Integer32,
            atiStkSwMemoryInfoTotalBuffers         Integer32
         }

atiStkSwMemoryInfoModuleId    OBJECT-TYPE
    SYNTAX        Integer32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION 
            "The module Id of the switch."
    ::= { atiStkSwMemoryInfoEntry 1 }

atiStkSwMemoryInfoTotalBuffers    OBJECT-TYPE
    SYNTAX        Integer32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "Size of memory buffer(kB)."
    ::= { atiStkSwMemoryInfoEntry 2 }

-- The memory pool information

atiStkSwMemoryPoolTable    OBJECT-TYPE
    SYNTAX        SEQUENCE OF AtiStkSwMemoryPoolEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This table contains information about each memory pool."
    ::= { atiStkSwMemoryGroup 2 }

atiStkSwMemoryPoolEntry    OBJECT-TYPE
    SYNTAX        AtiStkSwMemoryPoolEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This object specifies an entry in 'atiStkSwMemoryPoolTable'
        that describes the total and free size of each memory pool."
    INDEX    { atiStkSwMemoryPoolModuleId, atiStkSwMemoryPoolIndex }
    ::= { atiStkSwMemoryPoolTable 1 }

AtiStkSwMemoryPoolEntry ::=
    SEQUENCE {
            atiStkSwMemoryPoolModuleId          Integer32,
            atiStkSwMemoryPoolIndex             Integer32,
            atiStkSwMemoryPoolName              DisplayString,
            atiStkSwMemoryPoolTotal             Integer32,
            atiStkSwMemoryPoolFree              Integer32
         }

atiStkSwMemoryPoolModuleId    OBJECT-TYPE
    SYNTAX        Integer32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The module Id of the switch."
    ::= { atiStkSwMemoryPoolEntry 1 }

atiStkSwMemoryPoolIndex    OBJECT-TYPE
    SYNTAX        Integer32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The index of memory pool."
    ::= { atiStkSwMemoryPoolEntry 2 }

atiStkSwMemoryPoolName    OBJECT-TYPE
    SYNTAX        DisplayString
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The name of memory pool."
    ::= { atiStkSwMemoryPoolEntry 3 }

atiStkSwMemoryPoolTotal    OBJECT-TYPE
    SYNTAX        Integer32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "Size of memory pool(kB)."
    ::= { atiStkSwMemoryPoolEntry 4 }

atiStkSwMemoryPoolFree    OBJECT-TYPE
    SYNTAX        Integer32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "Size of free memory pool(kB)."
    ::= { atiStkSwMemoryPoolEntry 5 }

-- The communication buffers information

atiStkSwMemoryComBuffersTable    OBJECT-TYPE
    SYNTAX        SEQUENCE OF AtiStkSwMemoryComBuffersEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This table contains information about communication buffers on 
        module."
    ::= { atiStkSwMemoryGroup 3 }

atiStkSwMemoryComBuffersEntry    OBJECT-TYPE
    SYNTAX        AtiStkSwMemoryComBuffersEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This object specifies an entry in 'atiStkSwMemoryComBuffersTable'
        that describes the communication buffers."
    INDEX    { atiStkSwMemoryComBuffersModuleId }
    ::= { atiStkSwMemoryComBuffersTable 1 }

AtiStkSwMemoryComBuffersEntry ::=
    SEQUENCE {
            atiStkSwMemoryComBuffersModuleId          Integer32,
            atiStkSwMemoryTotalComBuffers             Integer32,
            atiStkSwMemoryFreeComBuffers              Integer32
         }

atiStkSwMemoryComBuffersModuleId    OBJECT-TYPE
    SYNTAX        Integer32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The module Id of the switch."
    ::= { atiStkSwMemoryComBuffersEntry 1 }

atiStkSwMemoryTotalComBuffers    OBJECT-TYPE
    SYNTAX        Integer32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "Total number of communication buffers."
    ::= { atiStkSwMemoryComBuffersEntry 2 }

atiStkSwMemoryFreeComBuffers    OBJECT-TYPE
    SYNTAX        Integer32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "Free communication buffers still available."
    ::= { atiStkSwMemoryComBuffersEntry 3 }


-- atiStkSwSysMgmtACL Group

atiStkSwSysMgmtACLStatus    OBJECT-TYPE
    SYNTAX    INTEGER {
                enabled (1),
                disabled (2)
                }
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "Enable/Disable management ACL feature."
    ::= { atiStkSwSysMgmtACLGroup 1 }

atiStkSwSysMgmtACLConfigTable    OBJECT-TYPE
    SYNTAX        SEQUENCE OF AtiStkSwSysMgmtACLConfigEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This table contains a list of MgmtACLs present in the switch
        stack and their associated hardware information."
    ::= { atiStkSwSysMgmtACLGroup 2 }

atiStkSwSysMgmtACLConfigEntry    OBJECT-TYPE
    SYNTAX        AtiStkSwSysMgmtACLConfigEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This object specifies an entry in 'atiStkSwSysMgmtACLConfigTable'
        that allow the user controls which management stations can remotely
        manage the device using the Telnet application protocol or a web
        browser."
    INDEX    { atiStkSwSysMgmtACLConfigModuleId, atiStkSwSysMgmtACLConfigId }
    ::= { atiStkSwSysMgmtACLConfigTable 1 }

AtiStkSwSysMgmtACLConfigEntry ::=
    SEQUENCE {
            atiStkSwSysMgmtACLConfigModuleId       Integer32,
            atiStkSwSysMgmtACLConfigId             Integer32,
            atiStkSwSysMgmtACLConfigIpAddr         IpAddress,
            atiStkSwSysMgmtACLConfigMask           IpAddress,
            atiStkSwSysMgmtACLConfigApplication    BITS,
            atiStkSwSysMgmtACLConfigRowStatus      RowStatus
         }

atiStkSwSysMgmtACLConfigModuleId    OBJECT-TYPE
    SYNTAX        Integer32(1..8)
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The ID of this module."
    ::= { atiStkSwSysMgmtACLConfigEntry 1 }

atiStkSwSysMgmtACLConfigId    OBJECT-TYPE
    SYNTAX        Integer32(1..256)
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The ID of the Management ACL Table for this module."
    ::= { atiStkSwSysMgmtACLConfigEntry 2 }


atiStkSwSysMgmtACLConfigIpAddr    OBJECT-TYPE
    SYNTAX        IpAddress
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "The IP Address of the specific management station."
    ::= { atiStkSwSysMgmtACLConfigEntry 3 }

atiStkSwSysMgmtACLConfigMask    OBJECT-TYPE
    SYNTAX        IpAddress
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "The subnet mask of the IP Address."
    ::= { atiStkSwSysMgmtACLConfigEntry 4 }

atiStkSwSysMgmtACLConfigApplication    OBJECT-TYPE
    SYNTAX    BITS {
                telnet (0),
                web (1),
                ping (2)
                }
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "This object specify which interface the user want the management
         station to be able to use when managing the switch. The options are :
         telnet, web, ping, all. Note that the enum value correspond to the 
         bit position of the mask."
    ::= { atiStkSwSysMgmtACLConfigEntry 5 }

atiStkSwSysMgmtACLConfigRowStatus    OBJECT-TYPE
    SYNTAX        RowStatus
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "The Row Status of the Mgmt ACL table. "
    ::= { atiStkSwSysMgmtACLConfigEntry 6 }



-- The atiStkSwPortGroup

-- Defined Below atiStkSwPortConfigTable    OBJECT IDENTIFIER ::= { atiStkSwPortGroup 1 }
atiStkSwPortMirroringConfig    OBJECT IDENTIFIER ::= { atiStkSwPortGroup 2 }
atiStkSwPortSecurityConfig    OBJECT IDENTIFIER ::= { atiStkSwPortGroup 3 }
-- Define Below atiStkSwPortIntrusionDetectionTable    OBJECT IDENTIFIER ::= { atiStkSwPortGroup 4 }
-- Defined Below atiStkPortSecurityConfigTable    OBJECT IDENTIFIER ::= { atiStkSwPortGroup 5 }

atiStkDOSConfig    OBJECT IDENTIFIER ::= { atiStkSwPortGroup 6 }
--atiStkSwIntrusionAttackTable    OBJECT IDENTIFIER ::= { atiStkSwPortGroup 7 }
--atiStkSwPortStormDetectCurrentTable    OBJECT IDENTIFIER ::= { atiStkSwPortGroup 8 }
--atiStkSwPortLoopDetectCurrentTable    OBJECT IDENTIFIER ::= { atiStkSwPortGroup 9 }
                

-- atiStkSwPortConfigTable

atiStkSwPortConfigTable    OBJECT-TYPE
    SYNTAX        SEQUENCE OF AtiStkSwPortConfigEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This table contains a list of physical ports present in the
        switch and their associated attributes."
    ::= { atiStkSwPortGroup 1 }

atiStkSwPortConfigEntry    OBJECT-TYPE
    SYNTAX        AtiStkSwPortConfigEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This object specifies an entry in 'atiStkSwPortConfigTable'
        that describes the attributes associated with a physical port
        present in the switch."
    INDEX    { atiStkSwModuleId, atiStkSwPortId }
    ::= { atiStkSwPortConfigTable 1 }

AtiStkSwPortConfigEntry ::=
    SEQUENCE {
            atiStkSwModuleId                   Integer32,
            atiStkSwPortId                     Integer32,
            atiStkSwPortName                   DisplayString,
            atiStkSwPortState                  INTEGER,
            atiStkSwPortLinkState              INTEGER,
            atiStkSwPortNegotiation            INTEGER,
            atiStkSwPortSpeed                  INTEGER,
            atiStkSwPortDuplexStatus           INTEGER,
            atiStkSwPortFlowControl            INTEGER,
            atiStkSwPortBackPressure           INTEGER,
            atiStkSwPortPriority               INTEGER,
            atiStkSwPortBroadcastProcessing    INTEGER,
            atiStkSwPortMDIO                   INTEGER,
            atiStkSwPortHOLLimit               Integer32,
            atiStkSwPortBackPressureLimit      Integer32,
            atiStkSwPortSTPState                INTEGER
            
         }

atiStkSwModuleId    OBJECT-TYPE
    SYNTAX        Integer32(1..8)
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "This object specifies the ID of a module present in the switch
        stack."
    ::= { atiStkSwPortConfigEntry 1 }

atiStkSwPortId    OBJECT-TYPE
    SYNTAX        Integer32(1..50)
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "This object specifies the ID of a port present on a given
        module."
    ::= { atiStkSwPortConfigEntry 2 }

atiStkSwPortName        OBJECT-TYPE
    SYNTAX        DisplayString (SIZE(0..19))
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "The user-defined ASCII name of the port."
    ::= { atiStkSwPortConfigEntry 3 }

atiStkSwPortState    OBJECT-TYPE
    SYNTAX    INTEGER {
                enabled (1),
                disabled (2)
                }
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "This object allows the user to either enabled or disabled.
        This object can be read to obtain the current state of the port."
    ::= { atiStkSwPortConfigEntry 4 }

atiStkSwPortLinkState    OBJECT-TYPE
    SYNTAX    INTEGER {
                online (1),
                offline (2)
                }
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "This object specifies the link state on this port."
    ::= { atiStkSwPortConfigEntry 5 }

atiStkSwPortNegotiation    OBJECT-TYPE
    SYNTAX    INTEGER {
                autosense (1),
                forceHalfDuplex-10M (2),
                forceHalfDuplex-100M (3),
                forceHalfDuplex-1G (4),
                forceFullDuplex-10M (5),
                forceFullDuplex-100M (6),
                forceFullDuplex-1G (7),
                autoHalfDuplex-10M (8),
                autoHalfDuplex-100M (9),
                autoFullDuplex-10M (10),
                autoFullDuplex-100M (11)
                }
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "This object allows an admin request to configure the port
        to either autosense or one of the different speed-duplex
        combinations."
    ::= { atiStkSwPortConfigEntry 6 }

atiStkSwPortSpeed    OBJECT-TYPE
    SYNTAX    INTEGER {
                unknown (1),
                speed-10M (2),
                speed-100M (3),
                speed-1G (4)
                }
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "This object specifies the current speed of the port."
    ::= { atiStkSwPortConfigEntry 7 }

atiStkSwPortDuplexStatus    OBJECT-TYPE
    SYNTAX    INTEGER {
                unknown (1),
                halfDuplex (2),
                fullDuplex (3)
                }
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "This object specifies the current duplex type used by the
        port."
    ::= { atiStkSwPortConfigEntry 8 }

atiStkSwPortFlowControl    OBJECT-TYPE
    SYNTAX    INTEGER {
                unknown(1),
                disable (2),
                enable(3)
                }
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "This object is used to enable/disable flow control on the
        port. When enabled, flow control will be full duplex.
        
        Flow control is disabled by default."
    ::= { atiStkSwPortConfigEntry 9 }

atiStkSwPortBackPressure    OBJECT-TYPE
    SYNTAX    INTEGER {
                unknown (1),
                disable (2),
                enable (3)
                }
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "This object is used to enable/disable Back Pressure on the
        port.
        
        Back Pressure is disabled by default."
    ::= { atiStkSwPortConfigEntry 10 }

atiStkSwPortPriority    OBJECT-TYPE
    SYNTAX    INTEGER {
                use-vlan-priority (1),
                override-and-use-low-priority (2),
                override-and-use-high-priority (3)
                }
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "This object specifies whether packets flowing through this
        port use the associated VLAN priority or override the
        associated VLAN priority with either a high or a low priority.


        This MIB is not applicable to the 85xx and 94xx family of ATI
        switches. Note: These switch families support CoS/QoS."
    ::= { atiStkSwPortConfigEntry 11 }

atiStkSwPortBroadcastProcessing    OBJECT-TYPE
    SYNTAX    INTEGER {
                discard-broadcasts (1),
                do-not-discard-broadcasts (2)
                }
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "This object specifies whether the received broadcast packets
        should be processed or discarded.
        
        Broadcast packets are processed by default."
    ::= { atiStkSwPortConfigEntry 12 }



atiStkSwPortMDIO    OBJECT-TYPE
    SYNTAX    INTEGER {
                mdi (1),
                mdix (2),
                auto-mdix (3)
                }
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "This object is used to set the MDIO of this port for required
        cable connection type. For straight-through cable set to mdi 
        and for cross-over cable set to mdix."
    ::= { atiStkSwPortConfigEntry 13 }

atiStkSwPortHOLLimit    OBJECT-TYPE
    SYNTAX        Integer32(0..61440)
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "This object allows user to set the head of line blocking limit.
        
        Note (94xx): Range upto 8191 is supported for Gigabit Ports."
        ::= { atiStkSwPortConfigEntry 14 }

atiStkSwPortBackPressureLimit    OBJECT-TYPE
    SYNTAX        Integer32(1..57344)
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "This object is used to set the MDIO of this port for required
        cable connection type. For straight-through cable set to mdi 
        and for cross-over cable set to mdix. This limit can be used
        for both BackPressure and FlowControl Limits.
        
        Note: The range of 1 to 7935 is supported on the 94xx family."
    ::= { atiStkSwPortConfigEntry 15 }

atiStkSwPortSTPState        OBJECT-TYPE
    SYNTAX    INTEGER {
                unknown (1),
                disabled (2),
                blocking (3),
                listening (4),
                learning (5),
                forwarding (6)
                }
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "This object specifies the spanning tree state on this port.
        
        This object is not applicable to 8300 series products. This
        object is not valid on the 9400 series of boxes."
    ::= { atiStkSwPortConfigEntry 16 }


-- atiStkSwPortMirroringConfig

atiStkSwPortMirroringState    OBJECT-TYPE
    SYNTAX    INTEGER {
                disabled (1),
                l2-enabled (2)
                }
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "This object specifies whether port mirroring is l2-enabled,
         or disabled on the switch.
        
        Note that, when enabled, both transmit and receive packets will
        be mirrored."
    ::= { atiStkSwPortMirroringConfig 1 }

atiStkSwPortMirroringSourceModuleId    OBJECT-TYPE
    SYNTAX        Integer32(1..8)
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "This object specifies the module ID of the source port that is
        mirrored.  All packets transmitted and received on the source
        port will be mirrored onto the destination port (specified by
        'atiStkSwPortMirroringDestinationModuleId' and
        'atiStkSwPortMirroringDestinationPortId').
        
        This object will be set to 0 when port mirroring is disabled.
        This object will have a default value of 1 (the master module
        ID) when mirroring is enabled. This is not available on the 85xx
        and 94xx series of switches."
    ::= { atiStkSwPortMirroringConfig 2 }

atiStkSwPortMirroringSourcePortId    OBJECT-TYPE
    SYNTAX        Integer32
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "This object specifies the port ID (on the module specified
        by 'atiStkSwPortMirroringSourceModuleId') of the source
        port that is mirrored.  All packets transmitted and received
        on the source port will be mirrored onto the destination port
        (specified by 'atiStkSwPortMirroringDestinationModuleId' and
        'atiStkSwPortMirroringDestinationPortId').
        
        This object will be set to 0 when port mirroring is
        disabled. When mirroring is enabled, set this object to a
        non-zero value to activate mirroring.
        
        This is not available on the 85xx and 94xx series of switches."
    ::= { atiStkSwPortMirroringConfig 3 }

atiStkSwPortMirroringDestinationModuleId    OBJECT-TYPE
    SYNTAX        Integer32(1..8)
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "This object specifies the module ID of the destination port
        that mirrors the source port (specified by
        'atiStkSwPortMirroringSourceModuleId' and
        'atiStkSwPortMirroringSourcePortId'). All packets
        transmitted and received on the source port will be mirrored
        onto the destination port.
        
        This object will have a value of 0 when port mirroring is
        disabled. This object will have a default value of 1 (the
        master module ID) when mirroring is enabled.

        This is not available on the 85xx and 94xx series of switches"
    ::= { atiStkSwPortMirroringConfig 4 }

atiStkSwPortMirroringDestinationPortId    OBJECT-TYPE
    SYNTAX        Integer32
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "This object specifies the port ID (on the module
        specified by 'atiStkSwPortMirroringDestinationModuleId') of
        the destination port that mirrors the source port (specified
        by 'atiStkSwPortMirroringSourceModuleId' and
        'atiStkSwPortMirroringSourcePortId'). All packets transmitted
        and received on the source port will be mirrored onto the
        destination port.
        
        This object will have a value of 0 when port mirroring is
        disabled. When mirroring is enabled, set this object to a
        non-zero value to activate mirroring."
    ::= { atiStkSwPortMirroringConfig 5 }


atiStkSwPortMirroringSourceRxList    OBJECT-TYPE
    SYNTAX        DisplayString
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "This object specifies a list of ports that are mirrored for ingress 
        traffic.
        All packets received on these ports will be mirrored onto the 
        mirror port (atiStkSwPortMirroringDestinationPortId).
        
        It is in the format of a list of <PortNumber> 
        separated by comma. For example, '1, 4-7' represents the 
        port number 1 ports 
        from number 4 to 7.
        
        This object is not applicable to 8300 series products."

::= { atiStkSwPortMirroringConfig 6 }

atiStkSwPortMirroringSourceTxList    OBJECT-TYPE
    SYNTAX        DisplayString
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "This object specifies a list of ports that are mirrored for egress 
        traffic. 
        All packets transmitted from these ports will be mirrored onto the 
        mirror port (atiStkSwPortMirroringDestinationPortId).
        
        It is in the format of a list of <PortNumber> 
        separated by comma. For example, '1, 4-7' represents the 
        port number 1 ports 
        from number 4 to 7.
        This object is not applicable to 8300 series products."

::= { atiStkSwPortMirroringConfig 7 }



-- atiStkSwPortSecurityConfig

atiStkSwPortSecurityMode    OBJECT-TYPE
    SYNTAX    INTEGER {
                automatic (1),
                limited (2),
                secured (3),
                locked (4)
                }
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "This object specifies the type of port security configured
        on the switch.
        
        Setting this object to 'automatic(1)' allows the ports to learn
        new MAC addresses normally. In 'limited(2)' mode, only a
        limited number of addresses are learned per port. In
        'secured(3)' mode, the administrator is responsible for
        configuring the MAC addresses manually per port. In 'locked(4)'
        mode, the ports stop learning new addresses and those
        addresses already learnt are locked.
        
        By default, port security is set to 'automatic(1)' mode."
    ::= { atiStkSwPortSecurityConfig 1 }


-- atiStkSwPortIntrusionDetectionTable


atiStkSwPortIntrusionDetectionTable    OBJECT-TYPE
    SYNTAX        SEQUENCE OF AtiStkSwPortIntrusionDetectionEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This table contains a list of modules and their associated
        port security -related intrusion detection options. This table
        is valid only when 'atiStkSwPortSecurityMode' is set to a
        value other than 'automatic(1)'.
        
        This table object is not applicable to 8500 and 9400 series products.
        "
    ::= { atiStkSwPortGroup 4 }

atiStkSwPortIntrusionDetectionEntry    OBJECT-TYPE
    SYNTAX        AtiStkSwPortIntrusionDetectionEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This object specifies an entry in
        'atiStkSwPortIntrusionDetectionTable' that describes port
        security -related intruder detection configuration associated
        with a module."
    INDEX    { atiStkSwModuleId }
    ::= { atiStkSwPortIntrusionDetectionTable 1 }

AtiStkSwPortIntrusionDetectionEntry ::=
    SEQUENCE {
            atiStkSwPortIntrusionDetectionAction      INTEGER,
            atiStkSwPortIntrusionDetectionPortList    DisplayString
         }

atiStkSwPortIntrusionDetectionAction    OBJECT-TYPE
    SYNTAX    INTEGER {
                do-nothing (1),
                send-trap-only (2),
                disable-port-and-send-trap (3)
                }
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "This object specifies the security action that should be
        taken when an intrusion is detected."
    ::= { atiStkSwPortIntrusionDetectionEntry 1 }

atiStkSwPortIntrusionDetectionPortList    OBJECT-TYPE
    SYNTAX        DisplayString
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "This object specifies a list of ports on this module that
        participate in intrusion detection."
    ::= { atiStkSwPortIntrusionDetectionEntry 2 }




-- atiStkPortSecurityConfigTable

atiStkPortSecurityConfigTable    OBJECT-TYPE
    SYNTAX        SEQUENCE OF AtiStkPortSecurityConfigEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This table contains the port security attributes of a list of
        physical ports present in the switch.
        
        This table object is not applicable to 8300 series products."
    ::= { atiStkSwPortGroup 5 }

atiStkPortSecurityConfigEntry    OBJECT-TYPE
    SYNTAX        AtiStkPortSecurityConfigEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This object specifies an entry in 
        'atiStkPortSecurityConfigTable' that describes the port 
        security attributes associated with a physical port present in
        the switch."
    INDEX    { atiStkSwModuleId, atiStkSwPortId }
    ::= { atiStkPortSecurityConfigTable 1 }

AtiStkPortSecurityConfigEntry ::=
    SEQUENCE {
            atiStkPortSecurityMode           INTEGER,
            atiStkPortSecurityThreshold      Integer32,
            atiStkPortIntrusionAction        INTEGER,
            atiStkPortIntrusionActionStatus  INTEGER
         }
         
atiStkPortSecurityMode    OBJECT-TYPE
    SYNTAX    INTEGER {
                automatic (1),
                limited (2),
                secured (3),
                locked (4)
                }
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "This object specifies the type of port security configured
        on the switch.
        
        Setting this object to 'automatic(1)' allows the ports to learn
        new MAC addresses normally. In 'limited(2)' mode, only a
        limited number of addresses are learned per port. In
        'secured(3)' mode, the administrator is responsible for
        configuring the MAC addresses manually per port. In 'locked(4)'
        mode, the ports stop learning new addresses and those
        addresses already learnt are locked. 
        
        By default, port security is set to 'automatic(1)' mode."
    ::= { atiStkPortSecurityConfigEntry 1 }

atiStkPortSecurityThreshold    OBJECT-TYPE
    SYNTAX        Integer32 (1..256)
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "This object specifies the security threshold on this port. It
        is applicable only if the port security mode (specified by 
        'portSecurityMode') is set to 'limited(2)' mode."
    ::= { atiStkPortSecurityConfigEntry 2 }


atiStkPortIntrusionAction    OBJECT-TYPE
    SYNTAX    INTEGER {
                discard (1),
                send-trap (2),
                disable-port (3)
                }
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "This object specifies the security action that should be
        taken when an intrusion is detected.
        
        By default, port intrusion action is set to 'discard' mode."
    ::= { atiStkPortSecurityConfigEntry 3 }

atiStkPortIntrusionActionStatus    OBJECT-TYPE
    SYNTAX    INTEGER {
                enabled (1),
                disabled (2)
                }
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "This object enables or disables the security action specified
        by the 'portIntrusionAction'.
                
        By default, port intrusion action is disabled." 
    ::= { atiStkPortSecurityConfigEntry 4 }




-- atiStkDOSConfig
-- DOS (Denial Of Service) is not applicable to 8300 series products.


atiStkDOSConfigLANIpAddress    OBJECT-TYPE
    SYNTAX        IpAddress
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "The IP address of LAN.
        
        This object is not applicable to 8300 series products."
    ::= { atiStkDOSConfig 1 }

atiStkDOSConfigLANSubnetMask    OBJECT-TYPE
    SYNTAX        IpAddress
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "The subnet mask of LAN.
        
        This object is not applicable to 8300 series products."
    ::= { atiStkDOSConfig 2 }


atiStkPortDOSAttackConfigTable    OBJECT-TYPE
    SYNTAX        SEQUENCE OF AtiStkPortDOSAttackConfigEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This table contains the port DOS (denial of service) attack 
        configuration attributes of a list of physical ports present in the 
        switch.
        
        This table object is not applicable to 8300 series products."
    ::= { atiStkDOSConfig 3 }

atiStkPortDOSAttackConfigEntry    OBJECT-TYPE
    SYNTAX        AtiStkPortDOSAttackConfigEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This object specifies an entry in 
        'atiStkPortDOSAttackConfigTable' that describes the port 
        DOS attack configuration attributes associated with a physical port 
        present in the switch."
    INDEX    { atiStkSwModuleId, atiStkSwPortId, atiStkSwPortDOSAttackType }
    ::= { atiStkPortDOSAttackConfigTable 1 }

AtiStkPortDOSAttackConfigEntry ::=
    SEQUENCE {
            atiStkSwPortDOSAttackType              INTEGER,
            atiStkSwPortDOSAttackActionStatus      INTEGER,
            atiStkSwPortDOSAttackMirrorPort        Integer32,
            atiStkSwPortDOSAttackMirrorPortStatus  INTEGER
         }

atiStkSwPortDOSAttackType    OBJECT-TYPE
    SYNTAX    INTEGER {
                syn-flood (1),
                smurf (2),
                land (3),
                ip-option (4),
                teardrop (5),
                ping-of-death (6)
                }
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "This object specifies the type of Port DOS attack configured
        on the switch."
    ::= { atiStkPortDOSAttackConfigEntry 1 }

atiStkSwPortDOSAttackActionStatus    OBJECT-TYPE
    SYNTAX    INTEGER {
                enabled (1),
                disabled (2)
                }
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "This object enables or disables the port DOS action specified
        by the 'atiStkSwPortDOSAttackType'.
        
        By default, port DOS attack action is disabled."
    ::= { atiStkPortDOSAttackConfigEntry 2 }

atiStkSwPortDOSAttackMirrorPort    OBJECT-TYPE
    SYNTAX        Integer32
    MAX-ACCESS    read-only
    STATUS        obsolete
    DESCRIPTION
        "This object specifies the mirror port number to which the packet are 
        to be mirrored for the DOS attack as specified by 
        atiStkSwPortDOSAttackType."
    ::= { atiStkPortDOSAttackConfigEntry 3 }

atiStkSwPortDOSAttackMirrorPortStatus    OBJECT-TYPE
    SYNTAX    INTEGER {
                enabled (1),
                disabled (2)
                }
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "This object enables or disables mirroring of attack packets. If 
        enabled, all potential attack packets are mirrored to the port 
        specified by atiStkSwPortMirroringDestinationModuleId and 
        atiStkSwPortMirroringDestinationPortId. 
        The object atiStkSwPortMirroringState should also be set to l2-enabled 
        for mirroring to work."
    ::= { atiStkPortDOSAttackConfigEntry 4 }



-- The atiStkSwIntrusionAttackTable

atiStkSwIntrusionAttackTable    OBJECT-TYPE
    SYNTAX        SEQUENCE OF AtiStkSwIntrusionAttackEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This object specifies an entry in 'atiStkSwIntrusionAttackTable'
        that describes the intruder attack associated with a physical port
        present in the switch."
    ::= { atiStkSwPortGroup 7 }

atiStkSwIntrusionAttackEntry    OBJECT-TYPE
    SYNTAX        AtiStkSwIntrusionAttackEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This object specifies an entry in 'atiStkSwIntrusionAttackTable'
        that describes the intruder attack associated with a physical port
        present in the switch."
    INDEX    { atiStkSwModuleId, atiStkSwPortId }
    ::= { atiStkSwIntrusionAttackTable 1 }


AtiStkSwIntrusionAttackEntry   ::=
    SEQUENCE {
            atiStkSwIntruderAttackVlanId            Integer32,
            atiStkSwIntruderAttackMacAddr            MacAddress
        }

atiStkSwIntruderAttackVlanId    OBJECT-TYPE
    SYNTAX        Integer32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "This object identifies the intruding VlanId  on the port for
        this module."
    ::= { atiStkSwIntrusionAttackEntry 1 }

atiStkSwIntruderAttackMacAddr    OBJECT-TYPE
    SYNTAX        MacAddress
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "This object identifies the intruding MAC address on the port for
        this module."
    ::= { atiStkSwIntrusionAttackEntry 2 }


-- atiStkSwPortStormDetectCurrentTable

atiStkSwPortStormDetectCurrentTable    OBJECT-TYPE
    SYNTAX        SEQUENCE OF AtiStkSwPortStormDetectCurrentEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This table contains the current Storm Detection informations of a list
         of physical ports present in the switch."
    ::= { atiStkSwPortGroup 8 }

atiStkSwPortStormDetectCurrentEntry    OBJECT-TYPE
    SYNTAX        AtiStkSwPortStormDetectCurrentEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This object specifies an entry in 
        'atiStkSwPortStormDetectCurrentTable' that describes the current 
        Storm Detection informations with a physical port present in the 
        switch."
    INDEX    { atiStkSwModuleId, atiStkSwPortId }
    ::= { atiStkSwPortStormDetectCurrentTable 1 }

AtiStkSwPortStormDetectCurrentEntry ::=
    SEQUENCE {
            atiStkSwPortStormDetectCurrentHighStatus       INTEGER,
            atiStkSwPortStormDetectCurrentHighAction       INTEGER,
            atiStkSwPortStormDetectCurrentHighExpiry       Integer32,
            atiStkSwPortStormDetectCurrentLowStatus        INTEGER,
            atiStkSwPortStormDetectCurrentLowAction        INTEGER,
            atiStkSwPortStormDetectCurrentLowExpiry        Integer32
        }

atiStkSwPortStormDetectCurrentHighStatus    OBJECT-TYPE
    SYNTAX    INTEGER {
                inactive (1),
                normal (2),
                detected (3),
                blocking (4)
                }
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "This object specifies the current high rate status of Storm 
        Detection."
    ::= { atiStkSwPortStormDetectCurrentEntry 1 }

atiStkSwPortStormDetectCurrentHighAction    OBJECT-TYPE
    SYNTAX    INTEGER {
                unknown (1),
                none (2),
                port-disabled (3),
                linkdown (4),
                broadcast-discard (5)
                }
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "This object specifies the current high rate action by Storm Detected."
    ::= { atiStkSwPortStormDetectCurrentEntry 2 }

atiStkSwPortStormDetectCurrentHighExpiry    OBJECT-TYPE
    SYNTAX        Integer32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "This object specifies the remaining time(sec) to back to normal status
        from blocking status of high rate. A value of -1 indicates that 
        Blocktimeout has been set 'None' or Storm Detection is 'Normal' 
        status."
    ::= { atiStkSwPortStormDetectCurrentEntry 3 }

atiStkSwPortStormDetectCurrentLowStatus    OBJECT-TYPE
    SYNTAX    INTEGER {
                inactive (1),
                normal (2),
                detected (3),
                blocking (4)
                }
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "This object specifies the current low rate status of Storm Detection."
    ::= { atiStkSwPortStormDetectCurrentEntry 4 }

atiStkSwPortStormDetectCurrentLowAction    OBJECT-TYPE
    SYNTAX    INTEGER {
                unknown (1),
                none (2),
                port-disabled (3),
                linkdown (4),
                broadcast-discard (5)
                }
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "This object specifies the current low rate action by Storm Detected."
    ::= { atiStkSwPortStormDetectCurrentEntry 5 }

atiStkSwPortStormDetectCurrentLowExpiry    OBJECT-TYPE
    SYNTAX        Integer32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "This object specifies the remaining time(sec) to back to normal loop 
        status from blocking status of low rate. A value of -1 indicates that 
        Blocktimeout has been set 'None' or Storm Detection is 'Normal' 
        status."
    ::= { atiStkSwPortStormDetectCurrentEntry 6 }


-- atiStkSwPortLoopDetectCurrentTable

atiStkSwPortLoopDetectCurrentTable    OBJECT-TYPE
    SYNTAX        SEQUENCE OF AtiStkSwPortLoopDetectCurrentEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This table contains the current Loop Detection informations of a list
         of physical ports present in the switch."
    ::= { atiStkSwPortGroup 9 }

atiStkSwPortLoopDetectCurrentEntry    OBJECT-TYPE
    SYNTAX        AtiStkSwPortLoopDetectCurrentEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This object specifies an entry in 
        'atiStkSwPortLoopDetectCurrentTable' that describes the current 
        Loop Detection informations with a physical port present in the 
        switch."
    INDEX    { atiStkSwModuleId, atiStkSwPortId }
    ::= { atiStkSwPortLoopDetectCurrentTable 1 }

AtiStkSwPortLoopDetectCurrentEntry ::=
    SEQUENCE {
            atiStkSwPortLoopDetectCurrentStatus       INTEGER,
            atiStkSwPortLoopDetectCurrentAction       INTEGER,
            atiStkSwPortLoopDetectCurrentExpiry       Integer32,
            atiStkSwPortLoopDetectCurrentVlanId       Integer32,
        }

atiStkSwPortLoopDetectCurrentStatus    OBJECT-TYPE
    SYNTAX    INTEGER {
                inactive (1),
                normal (2),
                detected (3),
                blocking (4)
                }
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "This object specifies the current loop status of Loop Detection."
    ::= { atiStkSwPortLoopDetectCurrentEntry 1 }

atiStkSwPortLoopDetectCurrentAction    OBJECT-TYPE
    SYNTAX    INTEGER {
                unknown (1),
                none (2),
                port-disabled (3),
                linkdown (4),
                broadcast-discard (5)
                }
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "This object specifies the current loop action by Loop Detected."
    ::= { atiStkSwPortLoopDetectCurrentEntry 2 }

atiStkSwPortLoopDetectCurrentExpiry    OBJECT-TYPE
    SYNTAX        Integer32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "This object specifies the remaining time(sec) to back to normal status
        from blocking status. A value of -1 indicates that Blocktimeout has 
        been set 'None' or Loop Detection is 'Normal' status."
    ::= { atiStkSwPortLoopDetectCurrentEntry 3 }

atiStkSwPortLoopDetectCurrentVlanId    OBJECT-TYPE
    SYNTAX        Integer32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The ID of the VLAN loop occured."
    ::= { atiStkSwPortLoopDetectCurrentEntry 4 }


-- The atiStkSwVlanGroup

-- Defined below atiStkSwVlanConfigTable    OBJECT IDENTIFIER ::= { atiStkSwVlanGroup 1 }
-- Defined Below atiStkSwPort2VlanTable    OBJECT IDENTIFIER ::= { atiStkSwVlanGroup 2 }
-- Defined Below atiStkSwMacAddr2VlanTable    OBJECT IDENTIFIER ::= { atiStkSwVlanGroup 3 }
-- Defined Below atiStkSwGVRPConfig    OBJECT IDENTIFIER ::= {atiStkSwVlanGroup 6}
-- Defined Below atiStkSwGVRPPortConfigTable    OBJECT IDENTIFIER ::= {atiStkSwVlanGroup 7}
-- Defined Below atiStkSwGVRPCounters    OBJECT IDENTIFIER ::= {atiStkSwVlanGroup 8}



-- atiStkSwVlanConfigTable

atiStkSwVlanConfigTable    OBJECT-TYPE
    SYNTAX        SEQUENCE OF AtiStkSwVlanConfigEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This table contains a list of VLANs configured on the switch."
    ::= { atiStkSwVlanGroup 1 }

atiStkSwVlanConfigEntry    OBJECT-TYPE
    SYNTAX        AtiStkSwVlanConfigEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This object specifies an entry in 'atiStkSwVlanConfigTable'
        that describes a VLAN configured on the switch."
    INDEX    { atiStkSwVlanId }
    ::= { atiStkSwVlanConfigTable 1 }

AtiStkSwVlanConfigEntry ::=
    SEQUENCE {
            atiStkSwVlanId                             Integer32,
            atiStkSwVlanName                           DisplayString,
            atiStkSwVlanTaggedPortListModule1          DisplayString,
            atiStkSwVlanUntaggedPortListModule1        DisplayString,
            atiStkSwVlanActualUntaggedPortListModule1  DisplayString,
            atiStkSwVlanTaggedPortListModule2          DisplayString,
            atiStkSwVlanUntaggedPortListModule2        DisplayString,
            atiStkSwVlanTaggedPortListModule3          DisplayString,
            atiStkSwVlanUntaggedPortListModule3        DisplayString,
            atiStkSwVlanTaggedPortListModule4          DisplayString,
            atiStkSwVlanUntaggedPortListModule4        DisplayString,
            atiStkSwVlanTaggedPortListModule5          DisplayString,
            atiStkSwVlanUntaggedPortListModule5        DisplayString,
            atiStkSwVlanTaggedPortListModule6          DisplayString,
            atiStkSwVlanUntaggedPortListModule6        DisplayString,
            atiStkSwVlanTaggedPortListModule7          DisplayString,
            atiStkSwVlanUntaggedPortListModule7        DisplayString,
            atiStkSwVlanTaggedPortListModule8          DisplayString,
            atiStkSwVlanUntaggedPortListModule8        DisplayString,
            atiStkSwVlanConfigEntryStatus              RowStatus
        }

atiStkSwVlanId    OBJECT-TYPE
    SYNTAX        Integer32 (1..4094)
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The VLAN ID of this VLAN as stored in the tag information
        header in accordance with the 802.1q specifications."
    ::= { atiStkSwVlanConfigEntry 1 }

atiStkSwVlanName    OBJECT-TYPE
    SYNTAX        DisplayString (SIZE(0..19))
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "The name of the VLAN."
    ::= { atiStkSwVlanConfigEntry 2 }

atiStkSwVlanTaggedPortListModule1    OBJECT-TYPE
    SYNTAX        DisplayString
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "This object specifies a list of tagged ports (on module #1)
        that participate in this VLAN."
    ::= { atiStkSwVlanConfigEntry 3 }

atiStkSwVlanUntaggedPortListModule1    OBJECT-TYPE
    SYNTAX        DisplayString
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "This object specifies a list of untagged ports (on module #1)
        that participate in this VLAN."
    ::= { atiStkSwVlanConfigEntry 4 }

atiStkSwVlanTaggedPortListModule2    OBJECT-TYPE
    SYNTAX        DisplayString
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "This object specifies a list of tagged ports (on module #2)
        that participate in this VLAN."
    ::= { atiStkSwVlanConfigEntry 5 }

atiStkSwVlanUntaggedPortListModule2    OBJECT-TYPE
    SYNTAX        DisplayString
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "This object specifies a list of untagged ports (on module #2)
        that participate in this VLAN."
    ::= { atiStkSwVlanConfigEntry 6 }

atiStkSwVlanTaggedPortListModule3    OBJECT-TYPE
    SYNTAX        DisplayString
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "This object specifies a list of tagged ports (on module #3)
        that participate in this VLAN."
    ::= { atiStkSwVlanConfigEntry 7 }

atiStkSwVlanUntaggedPortListModule3    OBJECT-TYPE
    SYNTAX        DisplayString
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "This object specifies a list of untagged ports (on module #3)
        that participate in this VLAN."
    ::= { atiStkSwVlanConfigEntry 8 }

atiStkSwVlanTaggedPortListModule4    OBJECT-TYPE
    SYNTAX        DisplayString
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "This object specifies a list of tagged ports (on module #4)
        that participate in this VLAN."
    ::= { atiStkSwVlanConfigEntry 9 }

atiStkSwVlanUntaggedPortListModule4    OBJECT-TYPE
    SYNTAX        DisplayString
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "This object specifies a list of untagged ports (on module #4)
        that participate in this VLAN."
    ::= { atiStkSwVlanConfigEntry 10 }

atiStkSwVlanTaggedPortListModule5    OBJECT-TYPE
    SYNTAX        DisplayString
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "This object specifies a list of tagged ports (on module #5)
        that participate in this VLAN."
    ::= { atiStkSwVlanConfigEntry 11 }

atiStkSwVlanUntaggedPortListModule5    OBJECT-TYPE
    SYNTAX        DisplayString
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "This object specifies a list of untagged ports (on module #5)
        that participate in this VLAN."
    ::= { atiStkSwVlanConfigEntry 12 }

atiStkSwVlanTaggedPortListModule6    OBJECT-TYPE
    SYNTAX        DisplayString
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "This object specifies a list of tagged ports (on module #6)
        that participate in this VLAN."
    ::= { atiStkSwVlanConfigEntry 13 }

atiStkSwVlanUntaggedPortListModule6    OBJECT-TYPE
    SYNTAX        DisplayString
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "This object specifies a list of untagged ports (on module #6)
        that participate in this VLAN."
    ::= { atiStkSwVlanConfigEntry 14 }

atiStkSwVlanTaggedPortListModule7    OBJECT-TYPE
    SYNTAX        DisplayString
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "This object specifies a list of tagged ports (on module #7)
        that participate in this VLAN."
    ::= { atiStkSwVlanConfigEntry 15 }

atiStkSwVlanUntaggedPortListModule7    OBJECT-TYPE
    SYNTAX        DisplayString
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "This object specifies a list of untagged ports (on module #7)
        that participate in this VLAN."
    ::= { atiStkSwVlanConfigEntry 16 }

atiStkSwVlanTaggedPortListModule8    OBJECT-TYPE
    SYNTAX        DisplayString
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "This object specifies a list of tagged ports (on module #8)
        that participate in this VLAN."
    ::= { atiStkSwVlanConfigEntry 17 }

atiStkSwVlanUntaggedPortListModule8    OBJECT-TYPE
    SYNTAX        DisplayString
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "This object specifies a list of untagged ports (on module #8)
        that participate in this VLAN."
    ::= { atiStkSwVlanConfigEntry 18 }

atiStkSwVlanConfigEntryStatus    OBJECT-TYPE
    SYNTAX        RowStatus
    MAX-ACCESS    read-create
    STATUS        current
    DESCRIPTION
        "The current status of this VLAN entry. 
        Please note the RowStatus implementation details.
        
        VLANs can be created with a CreateandWait or CreateAndGo RowStatus.
        When using CreateAndGo all fields must be valid.
        
        VLANs created without a named defined have a NotReady Status.
        NotReady accepts transitions to NotInService or Active.
        
        A NotInService VLAN is not commited to hardware.
        NotInService accepts transitions to Active or the Destroy action.               
        VLANs in any state other than active is considered non-persistent
        and is not available after a reset.
        
        VLANs in the active state are persistent.
        An active VLAN cannot accept a transition to NotInService., i.e.
        from persistent to non-persistent. It may be destroyed."
    ::= { atiStkSwVlanConfigEntry 19 }

atiStkSwVlanActualUntaggedPortListModule1    OBJECT-TYPE
    SYNTAX        DisplayString
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "This object specifies the list of actual untagged ports that are 
        participating in this VLAN.  The untagged port membership can be 
        temporarily changed by 802.1x Dynamic VLAN or Guest VLAN features. 
        The currently effective port membership information can be retrieved 
        from this object. "
    ::= { atiStkSwVlanConfigEntry 20 }



-- atiStkSwPort2VlanTable

atiStkSwPort2VlanTable    OBJECT-TYPE
    SYNTAX        SEQUENCE OF AtiStkSwPort2VlanEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This tables contains a list of ports in the switch and their
        associated VLAN configuration information."
    ::= { atiStkSwVlanGroup 2 }

atiStkSwPort2VlanEntry    OBJECT-TYPE
    SYNTAX        AtiStkSwPort2VlanEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This object specifies an entry in 'atiStkSwPort2VlanTable'
        that describes the VLAN information associated with a given
        module/port."
    INDEX    { atiStkSwModuleId, atiStkSwPortId }
    ::= { atiStkSwPort2VlanTable 1 }

AtiStkSwPort2VlanEntry ::=
    SEQUENCE {
            atiStkSwPortVlanId          Integer32,
            atiStkSwPortVlanName        DisplayString
         }

atiStkSwPortVlanId    OBJECT-TYPE
    SYNTAX        Integer32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The ID of the VLAN to which this port belongs."
    ::= { atiStkSwPort2VlanEntry 1 }

atiStkSwPortVlanName    OBJECT-TYPE
    SYNTAX        DisplayString (SIZE(0..19))
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The name of the VLAN to which this port belongs."
    ::= { atiStkSwPort2VlanEntry 2 }


-- atiStkSwMacAddr2VlanTable

atiStkSwMacAddr2VlanTable    OBJECT-TYPE
    SYNTAX        SEQUENCE OF AtiStkSwMacAddr2VlanEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This table contains a list of MAC addresses (in the
        forwarding table of the switch) and the associated VLAN to
        which each MAC address belongs."
    ::= { atiStkSwVlanGroup 3 }

atiStkSwMacAddr2VlanEntry    OBJECT-TYPE
    SYNTAX        AtiStkSwMacAddr2VlanEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This object specifies an entry in 'atiStkSwMacAddr2VlanTable'
        that associates a MAC address (in the forwarding table of the
        switch) with the VLAN to which the address belongs."
    INDEX    { atiStkSwMacAddress, atiStkSwMacAddrVlanId }
    ::= { atiStkSwMacAddr2VlanTable 1 }

AtiStkSwMacAddr2VlanEntry ::=
    SEQUENCE {
            atiStkSwMacAddress          MacAddress,
            atiStkSwMacAddrVlanId       Integer32,
            atiStkSwMacAddrVlanName     DisplayString,
            atiStkSwMacAddrModuleId     Integer32,
            atiStkSwMacAddrPortId       Integer32,
            atiStkSwMacAddrPortList     DisplayString
         }

atiStkSwMacAddress    OBJECT-TYPE
    SYNTAX        MacAddress
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "A MAC address from the forwarding table of the switch."
    ::= { atiStkSwMacAddr2VlanEntry 1 }

atiStkSwMacAddrVlanId    OBJECT-TYPE
    SYNTAX        Integer32 (1..4094)
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The ID of the VLAN to which this MAC address belongs."
    ::= { atiStkSwMacAddr2VlanEntry 2 }

atiStkSwMacAddrVlanName    OBJECT-TYPE
    SYNTAX        DisplayString (SIZE(0..19))
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The name of the VLAN to which this MAC address belongs."
    ::= { atiStkSwMacAddr2VlanEntry 3 }

atiStkSwMacAddrModuleId    OBJECT-TYPE
    SYNTAX        Integer32(1..8)
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The module ID on which this MAC address entry exists."
    ::= { atiStkSwMacAddr2VlanEntry 4 }

atiStkSwMacAddrPortId    OBJECT-TYPE
    SYNTAX        Integer32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The port ID (on the module specified by
        'atiStkSwMacAddrModuleId') on which this MAC address entry
        exists. This will display 0 for a multicast mac address.
        Please check the PortList for the Multicast details.
        Note: This will be eventually deprected approximately Dec'2004."
    ::= { atiStkSwMacAddr2VlanEntry 5 }

atiStkSwMacAddrPortList    OBJECT-TYPE
    SYNTAX        DisplayString (SIZE(0..255))
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The port List (on the module specified by
        'atiStkSwMacAddrModuleId') on which this MAC address entry
        exists. This is shown as U: Untagged Ports T: Tagged Ports."
    ::= { atiStkSwMacAddr2VlanEntry 6 }


-- Objects to control VLAN mode (user-configured vs pre-configured)

atiStkSwVlanMode    OBJECT-TYPE
    SYNTAX    INTEGER {
                user-configured (1),
                multiple (2),
                multiple-802-1Q (3)
                }
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "This object specifies the current VLAN mode. Setting 
        this object to 'user-configured (1)' allows the 
        manager to create, delete and modify VLANs using
        atiStkSwVlanConfigTable'.
        
        Setting this object to 'multiple (2)' or 
        'multiple-802-1Q (3)'will result in the creation of 
        predefined VLANs. Setting these values requires that 
        the object 'atiStkSwVlanUplinkVlanPort' also be set 
        in the same SET request. Note that SET operations on 
        any object under 'atiStkSwVlanConfigTable' are not 
        allowed in these two modes."
    ::=     { atiStkSwVlanGroup 4 }

atiStkSwVlanUplinkVlanPort    OBJECT-TYPE
        SYNTAX          Integer32
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
            "This object specifies the Uplink VLAN Port ID used 
            while creating pre-configured VLANs. This object can 
            be set to any valid Port ID present on the switch.
            
            Note that a SET operation on the object 
            'atiStkSwVlanMode' to the value 'multiple (2)' or 
            'multiple-802-1Q (3)' should always be accompanied 
            by a SET operation on this object in the same SET 
            request.
            
            By default this object is set to 0 when 
            'atiStkSwVlanMode' is set to 'user-configured (1)'."
    ::=     { atiStkSwVlanGroup 5 }



atiStkSwGVRPConfig    OBJECT IDENTIFIER ::= {atiStkSwVlanGroup 6}


-- The atiStkSwGVRPConfig


atiStkSwGVRPStatus    OBJECT-TYPE
    SYNTAX    INTEGER {
                enabled (1),
                disabled (2)
                }
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "Enabled/Disabled GVRP on a switch basis."
    ::= { atiStkSwGVRPConfig 1 }

atiStkSwGVRPGIPStatus    OBJECT-TYPE
    SYNTAX    INTEGER {
                enabled (1),
                disabled (2)
                }
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "Enabled/Disabled GARP Information Propagation (GIP) on a switch 
        basis."
    ::= { atiStkSwGVRPConfig 2 }

atiStkSwGVRPJoinTimer    OBJECT-TYPE
    SYNTAX        Integer32 (10..60)
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "Specifies the Join Timer in centi seconds, (1/100th of seconds), 
        The default is 20 centi seconds."
    ::= { atiStkSwGVRPConfig 3 }

atiStkSwGVRPLeaveTimer    OBJECT-TYPE
    SYNTAX        Integer32 (30..180)
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "Specifies the Leave Timer in centi seconds, (1/100th of seconds), 
        The default is 60 centi seconds."
    ::= { atiStkSwGVRPConfig 4 }

atiStkSwGVRPLeaveAllTimer    OBJECT-TYPE
    SYNTAX        Integer32 (500..3000)
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "Specifies the Leave All Timer in centi seconds, (1/100th of seconds), 
        The default is 1000 centi seconds."
    ::= { atiStkSwGVRPConfig 5 }


-- The atiStkSwGVRPPortConfigTable


atiStkSwGVRPPortConfigTable    OBJECT-TYPE
    SYNTAX        SEQUENCE OF AtiStkSwGVRPPortConfigEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This table is configuring the GVRP Vlan base on each port."
    ::= { atiStkSwVlanGroup 7 }

atiStkSwGVRPPortConfigEntry    OBJECT-TYPE
    SYNTAX        AtiStkSwGVRPPortConfigEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This object specifies an entry in 'atiStkSwGVRPPortConfigTable'."
    INDEX    { atiStkSwGVRPPortConfigModuleId, atiStkSwGVRPPortConfigPortId }
    ::= { atiStkSwGVRPPortConfigTable 1 }

AtiStkSwGVRPPortConfigEntry::=
    SEQUENCE {
            atiStkSwGVRPPortConfigModuleId    Integer32,
            atiStkSwGVRPPortConfigPortId      Integer32,
            atiStkSwGVRPPortConfigStatus      INTEGER
         }

atiStkSwGVRPPortConfigModuleId    OBJECT-TYPE
    SYNTAX        Integer32 (1..8)
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "An ID that indicate which module it refer to for stacking."
    ::= { atiStkSwGVRPPortConfigEntry 1 }

atiStkSwGVRPPortConfigPortId    OBJECT-TYPE
    SYNTAX        Integer32 (1..50)
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "Port Index."
    ::= { atiStkSwGVRPPortConfigEntry 2 }

atiStkSwGVRPPortConfigStatus    OBJECT-TYPE
    SYNTAX    INTEGER {
                none (1),
                normal (2)
                }
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "Port Status for GVRP Vlan either Normal or Mode can be set."
    ::= { atiStkSwGVRPPortConfigEntry 3 }



-------------- atiStkSwGVRPCountersTable ----------------------------

atiStkSwGVRPCountersTable    OBJECT-TYPE
    SYNTAX        SEQUENCE OF AtiStkSwGVRPCountersEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This table is configuring the GVRP Vlan base on each port."
    ::= { atiStkSwVlanGroup 8 }

atiStkSwGVRPCountersEntry    OBJECT-TYPE
    SYNTAX        AtiStkSwGVRPCountersEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This object specifies an entry in 'atiStkSwGVRPCountersTable'."
    INDEX    { atiStkSwGVRPCountersModuleId }
    ::= { atiStkSwGVRPCountersTable 1 }

AtiStkSwGVRPCountersEntry::=
    SEQUENCE {
            atiStkSwGVRPCountersModuleId            Integer32,
            atiStkSwGVRPCountersGARPRxPkt           Counter32,
            atiStkSwGVRPCountersInvalidGARPRxPkt    Counter32,
            atiStkSwGVRPCountersGARPTxPkt           Counter32,
            atiStkSwGVRPCountersGARPTxDisabled      Counter32,
            atiStkSwGVRPCountersPortNotSending      Counter32,
            atiStkSwGVRPCountersGARPDisabled        Counter32,
            atiStkSwGVRPCountersPortNotListening    Counter32,
            atiStkSwGVRPCountersInvalidPort         Counter32,
            atiStkSwGVRPCountersInvalidProtocol     Counter32,
            atiStkSwGVRPCountersInvalidFormat       Counter32,
            atiStkSwGVRPCountersDatabaseFull        Counter32,
            atiStkSwGVRPCountersRxMsgLeaveAll       Counter32,
            atiStkSwGVRPCountersRxMsgJoinEmpty      Counter32,
            atiStkSwGVRPCountersRxMsgJoinIn         Counter32,
            atiStkSwGVRPCountersRxMsgLeaveEmpty     Counter32,
            atiStkSwGVRPCountersRxMsgLeaveIn        Counter32,
            atiStkSwGVRPCountersRxMsgEmpty          Counter32,
            atiStkSwGVRPCountersRxMsgBadMsg         Counter32,
            atiStkSwGVRPCountersRxMsgBadAttribute   Counter32,
            atiStkSwGVRPCountersTxMsgLeaveAll       Counter32,
            atiStkSwGVRPCountersTxMsgJoinEmpty      Counter32,
            atiStkSwGVRPCountersTxMsgJoinIn         Counter32,
            atiStkSwGVRPCountersTxMsgLeaveEmpty     Counter32,
            atiStkSwGVRPCountersTxMsgLeaveIn        Counter32,
            atiStkSwGVRPCountersTxMsgEmpty          Counter32
        }

atiStkSwGVRPCountersModuleId    OBJECT-TYPE
    SYNTAX        Integer32 (1..8)
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "An ID that indicate which module it refer to for stacking."
    ::= { atiStkSwGVRPCountersEntry 1 }

atiStkSwGVRPCountersGARPRxPkt    OBJECT-TYPE
    SYNTAX        Counter32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        ""
    ::= { atiStkSwGVRPCountersEntry 2 }

atiStkSwGVRPCountersInvalidGARPRxPkt    OBJECT-TYPE
    SYNTAX        Counter32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        ""
    ::= { atiStkSwGVRPCountersEntry 3 }

atiStkSwGVRPCountersGARPTxPkt    OBJECT-TYPE
    SYNTAX        Counter32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        ""
    ::= { atiStkSwGVRPCountersEntry 4 }

atiStkSwGVRPCountersGARPTxDisabled    OBJECT-TYPE
    SYNTAX        Counter32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        ""
    ::= { atiStkSwGVRPCountersEntry 5 }

atiStkSwGVRPCountersPortNotSending    OBJECT-TYPE
    SYNTAX        Counter32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        ""
    ::= { atiStkSwGVRPCountersEntry 6 }

atiStkSwGVRPCountersGARPDisabled    OBJECT-TYPE
    SYNTAX        Counter32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        ""
    ::= { atiStkSwGVRPCountersEntry 7 }

atiStkSwGVRPCountersPortNotListening    OBJECT-TYPE
    SYNTAX        Counter32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        ""
    ::= { atiStkSwGVRPCountersEntry 8 }

atiStkSwGVRPCountersInvalidPort    OBJECT-TYPE
    SYNTAX        Counter32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        ""
    ::= { atiStkSwGVRPCountersEntry 9 }

atiStkSwGVRPCountersInvalidProtocol    OBJECT-TYPE
    SYNTAX        Counter32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        ""
    ::= { atiStkSwGVRPCountersEntry 10 }

atiStkSwGVRPCountersInvalidFormat    OBJECT-TYPE
    SYNTAX        Counter32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        ""
    ::= { atiStkSwGVRPCountersEntry 11 }

atiStkSwGVRPCountersDatabaseFull    OBJECT-TYPE
    SYNTAX        Counter32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        ""
    ::= { atiStkSwGVRPCountersEntry 12 }

atiStkSwGVRPCountersRxMsgLeaveAll    OBJECT-TYPE
    SYNTAX        Counter32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        ""
    ::= { atiStkSwGVRPCountersEntry 13 }

atiStkSwGVRPCountersRxMsgJoinEmpty    OBJECT-TYPE
    SYNTAX        Counter32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        ""
    ::= { atiStkSwGVRPCountersEntry 14 }

atiStkSwGVRPCountersRxMsgJoinIn    OBJECT-TYPE
    SYNTAX        Counter32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        ""
    ::= { atiStkSwGVRPCountersEntry 15 }

atiStkSwGVRPCountersRxMsgLeaveEmpty    OBJECT-TYPE
    SYNTAX        Counter32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        ""
    ::= { atiStkSwGVRPCountersEntry 16 }

atiStkSwGVRPCountersRxMsgLeaveIn    OBJECT-TYPE
    SYNTAX        Counter32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        ""
    ::= { atiStkSwGVRPCountersEntry 17 }

atiStkSwGVRPCountersRxMsgEmpty    OBJECT-TYPE
    SYNTAX        Counter32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        ""
    ::= { atiStkSwGVRPCountersEntry 18 }

atiStkSwGVRPCountersRxMsgBadMsg    OBJECT-TYPE
    SYNTAX        Counter32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        ""
    ::= { atiStkSwGVRPCountersEntry 19 }

atiStkSwGVRPCountersRxMsgBadAttribute    OBJECT-TYPE
    SYNTAX        Counter32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        ""
    ::= { atiStkSwGVRPCountersEntry 20 }

atiStkSwGVRPCountersTxMsgLeaveAll    OBJECT-TYPE
    SYNTAX        Counter32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        ""
    ::= { atiStkSwGVRPCountersEntry 21 }

atiStkSwGVRPCountersTxMsgJoinEmpty    OBJECT-TYPE
    SYNTAX        Counter32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        ""
    ::= { atiStkSwGVRPCountersEntry 22 }

atiStkSwGVRPCountersTxMsgJoinIn    OBJECT-TYPE
    SYNTAX        Counter32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        ""
    ::= { atiStkSwGVRPCountersEntry 23 }

atiStkSwGVRPCountersTxMsgLeaveEmpty    OBJECT-TYPE
    SYNTAX        Counter32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        ""
    ::= { atiStkSwGVRPCountersEntry 24 }

atiStkSwGVRPCountersTxMsgLeaveIn    OBJECT-TYPE
    SYNTAX        Counter32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        ""
    ::= { atiStkSwGVRPCountersEntry 25 }

atiStkSwGVRPCountersTxMsgEmpty    OBJECT-TYPE
    SYNTAX        Counter32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        ""
    ::= { atiStkSwGVRPCountersEntry 26 }


-- The atiStkSwMacAddrGroup

-- Defined below atiStkSwStaticMacAddrTable    OBJECT IDENTIFIER ::= { atiStkSwMacAddrGroup 1 }


-- atiStkSwStaticMacAddrTable

atiStkSwStaticMacAddrTable    OBJECT-TYPE
    SYNTAX        SEQUENCE OF AtiStkSwStaticMacAddrEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This table contains a list of static MAC address configured
        on the switch."
    ::= { atiStkSwMacAddrGroup 1 }

atiStkSwStaticMacAddrEntry    OBJECT-TYPE
    SYNTAX        AtiStkSwStaticMacAddrEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This object is an entry in 'atiStkSwStaticMacAddrTable' that
        describes a static MAC address configured on a given module
        and port."
    INDEX    { atiStkSwStaticMacAddress, atiStkSwStaticMacAddrVlanId }
    ::= { atiStkSwStaticMacAddrTable 1 }

AtiStkSwStaticMacAddrEntry ::=
    SEQUENCE {
            atiStkSwStaticMacAddress           MacAddress,
            atiStkSwStaticMacAddrVlanId        Integer32,
            atiStkSwStaticMacAddrModuleId      Integer32,
            atiStkSwStaticMacAddrPortId        Integer32,
            atiStkSwStaticMacAddrPortList      DisplayString,
            atiStkSwStaticMacAddrEntryStatus   RowStatus
         }

atiStkSwStaticMacAddress    OBJECT-TYPE
    SYNTAX        MacAddress
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "This object identifies the static MAC address of this entry."
    ::= { atiStkSwStaticMacAddrEntry 1 }

atiStkSwStaticMacAddrVlanId    OBJECT-TYPE
    SYNTAX        Integer32(1..4094)
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The ID of the VLAN on which this static MAC address entry is
        configured."
    ::= { atiStkSwStaticMacAddrEntry 2 }

atiStkSwStaticMacAddrModuleId    OBJECT-TYPE
    SYNTAX        Integer32(1..8)
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "The module ID on which this static MAC address entry is
        configured."
    ::= { atiStkSwStaticMacAddrEntry 3 }

atiStkSwStaticMacAddrPortId    OBJECT-TYPE
    SYNTAX        Integer32
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "The port ID (on the module specified by
        'atiStkSwStaticMacAddrModuleId') on which this static MAC
        address entry is configured.
        Note: a) When defining a list this value must be 0.
              b) This is on track to be deprecated approx. Dec'2004."
    ::= { atiStkSwStaticMacAddrEntry 4 }

atiStkSwStaticMacAddrPortList    OBJECT-TYPE
    SYNTAX        DisplayString (SIZE(0..255))
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "The port list (on the module specified by
        'atiStkSwStaticMacAddrModuleId') on which this static MAC
        address entry is configured. This can be a single port for
        a unicast address or multiple ports for a multicast address.
        
        Note:  a) The display shows the strings as U: Untagged Port List
                  and T: Tagged Port List. However, when creating an entry, 
                  the U: and T: must not be defined. They are automatically
                  created as per the VLAN.
               b) This must not be defined when adding a unicast mac
                  address. Use PortId in that case."
    ::= { atiStkSwStaticMacAddrEntry 5 }

atiStkSwStaticMacAddrEntryStatus    OBJECT-TYPE
    SYNTAX        RowStatus
    MAX-ACCESS    read-create
    STATUS        current
    DESCRIPTION
        "The current status of this static MAC address entry."
    ::= { atiStkSwStaticMacAddrEntry 6 }


-- The atiStkSwEthStatsGroup

-- Defined below atiStkSwEthModuleMonTable    OBJECT IDENTIFIER ::= { atiStkSwEthStatsGroup 1 }
-- Defined below atiStkSwEthModuleErrTable    OBJECT IDENTIFIER ::= { atiStkSwEthStatsGroup 2 }
-- Defined below atiStkSwEthPortMonTable    OBJECT IDENTIFIER ::= { atiStkSwEthStatsGroup 3 }
-- Defined below atiStkSwEthPortErrTable    OBJECT IDENTIFIER ::= { atiStkSwEthStatsGroup 4 }


-- atiStkSwEthModuleMonTable

atiStkSwEthModuleMonTable    OBJECT-TYPE
    SYNTAX        SEQUENCE OF AtiStkSwEthModuleMonEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This table contains a list of modules and their associated
        ethernet statistics (measured on the module as a whole)."
    ::= { atiStkSwEthStatsGroup 1 }

atiStkSwEthModuleMonEntry    OBJECT-TYPE
    SYNTAX        AtiStkSwEthModuleMonEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This object specifies an entry in 'atiStkSwEthModuleMonTable'
        that describes the ethernet statistics measured on a given
        module as a whole."
    INDEX    { atiStkSwModuleId }
    ::= { atiStkSwEthModuleMonTable 1 }

AtiStkSwEthModuleMonEntry ::=
    SEQUENCE {
            atiStkSwEthModuleMonTxGoodFrames        Counter64,
            atiStkSwEthModuleMonRxGoodFrames        Counter64,
            atiStkSwEthModuleMonTxTotalBytes        Counter64,
            atiStkSwEthModuleMonTxBroadcastFrames   Counter64,
            atiStkSwEthModuleMonTxMulticastFrames   Counter64,
            atiStkSwEthModuleMonRxOverrunFrames     Counter64
         }


atiStkSwEthModuleMonTxGoodFrames    OBJECT-TYPE
    SYNTAX        Counter64
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The total number of good frames transmitted by this module."
    ::= { atiStkSwEthModuleMonEntry 1 }

atiStkSwEthModuleMonRxGoodFrames    OBJECT-TYPE
    SYNTAX        Counter64
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The total number of good frames received by this module."
    ::= { atiStkSwEthModuleMonEntry 2 }

atiStkSwEthModuleMonTxTotalBytes    OBJECT-TYPE
    SYNTAX        Counter64
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The total number of bytes transmitted by this module."
    ::= { atiStkSwEthModuleMonEntry 3 }

atiStkSwEthModuleMonTxBroadcastFrames    OBJECT-TYPE
    SYNTAX        Counter64
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The total number of broadcast frames transmitted from this
        module."
    ::= { atiStkSwEthModuleMonEntry 4 }

atiStkSwEthModuleMonTxMulticastFrames    OBJECT-TYPE
    SYNTAX        Counter64
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The total number of multicast frames transmitted from this
        module."
    ::= { atiStkSwEthModuleMonEntry 5 }

atiStkSwEthModuleMonRxOverrunFrames    OBJECT-TYPE
    SYNTAX        Counter64
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The total number of oversized frames received on this module."
    ::= { atiStkSwEthModuleMonEntry 6 }


-- atiStkSwEthModuleErrTable

atiStkSwEthModuleErrTable    OBJECT-TYPE
    SYNTAX        SEQUENCE OF AtiStkSwEthModuleErrEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This table contains a list of modules and their associated
        ethernet error statistics (measured on the module as a whole)."
    ::= { atiStkSwEthStatsGroup 2 }

atiStkSwEthModuleErrEntry    OBJECT-TYPE
    SYNTAX        AtiStkSwEthModuleErrEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This object specifies an entry in 'atiStkSwEthModuleErrTable'
        that describes the ethernet error statistics measured on a
        given module as a whole."
    INDEX        { atiStkSwModuleId }
    ::= { atiStkSwEthModuleErrTable 1 }

AtiStkSwEthModuleErrEntry ::=
    SEQUENCE {
            atiStkSwEthModuleErrRxCRC            Counter64,
            atiStkSwEthModuleErrRxBadFrames      Counter64,
            atiStkSwEthModuleErrCollisions       Counter64
        }

atiStkSwEthModuleErrRxCRC    OBJECT-TYPE
    SYNTAX        Counter64
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The total number of CRC errors on packets received on this
        module."
    ::= { atiStkSwEthModuleErrEntry 1 }

atiStkSwEthModuleErrRxBadFrames    OBJECT-TYPE
    SYNTAX        Counter64
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The total number of bad frames received on this module."
    ::= { atiStkSwEthModuleErrEntry 2 }

atiStkSwEthModuleErrCollisions    OBJECT-TYPE
    SYNTAX        Counter64
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The number of times a collision was detected on this module."
    ::= { atiStkSwEthModuleErrEntry 3 }


-- atiStkSwEthPortMonTable

atiStkSwEthPortMonTable    OBJECT-TYPE
    SYNTAX        SEQUENCE OF AtiStkSwEthPortMonEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This table contains a list of ports and their associated
        ethernet statistics."
    ::= { atiStkSwEthStatsGroup 3 }

atiStkSwEthPortMonEntry    OBJECT-TYPE
    SYNTAX        AtiStkSwEthPortMonEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This object specifies an entry in 'atiStkSwEthPortMonTable'
        that describes the ethernet statistics measured on a given
        module/port."
    INDEX    { atiStkSwModuleId, atiStkSwPortId }
    ::= { atiStkSwEthPortMonTable 1 }

AtiStkSwEthPortMonEntry ::=
    SEQUENCE {
            atiStkSwEthPortMonTxGoodFrames        Counter64,
            atiStkSwEthPortMonRxGoodFrames        Counter64,
            atiStkSwEthPortMonTxTotalBytes        Counter64,
            atiStkSwEthPortMonTxBroadcastFrames   Counter64,
            atiStkSwEthPortMonTxMulticastFrames   Counter64,
            atiStkSwEthPortMonRxOverrunFrames     Counter64
        }

atiStkSwEthPortMonTxGoodFrames    OBJECT-TYPE
    SYNTAX        Counter64
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The total number of good frames transmitted by this port."
    ::= { atiStkSwEthPortMonEntry 1 }

atiStkSwEthPortMonRxGoodFrames    OBJECT-TYPE
    SYNTAX        Counter64
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The total number of good frames received by this port."
    ::= { atiStkSwEthPortMonEntry 2 }

atiStkSwEthPortMonTxTotalBytes    OBJECT-TYPE
    SYNTAX        Counter64
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The total number of bytes transmitted by this port."
    ::= { atiStkSwEthPortMonEntry 3 }

atiStkSwEthPortMonTxBroadcastFrames    OBJECT-TYPE
    SYNTAX        Counter64
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The total number of broadcast frames transmitted from this
        port."
    ::= { atiStkSwEthPortMonEntry 4 }

atiStkSwEthPortMonTxMulticastFrames    OBJECT-TYPE
    SYNTAX        Counter64
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The total number of broadcast frames transmitted from this
        port."
    ::= { atiStkSwEthPortMonEntry 5 }

atiStkSwEthPortMonRxOverrunFrames    OBJECT-TYPE
    SYNTAX        Counter64
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The total number of oversized frames received on this port."
    ::= { atiStkSwEthPortMonEntry 6 }


-- atiStkSwEthPortErrTable

atiStkSwEthPortErrTable    OBJECT-TYPE
    SYNTAX        SEQUENCE OF AtiStkSwEthPortErrEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This table contains a list of ports and their associated
        ethernet error statistics."
    ::= { atiStkSwEthStatsGroup 4 }

atiStkSwEthPortErrEntry    OBJECT-TYPE
    SYNTAX        AtiStkSwEthPortErrEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This object specifies an entry in 'atiStkSwEthPortErrTable'
        that describes the ethernet error statistics measured on a
        given module/port."
    INDEX    { atiStkSwModuleId, atiStkSwPortId }
    ::= { atiStkSwEthPortErrTable 1 }

AtiStkSwEthPortErrEntry ::=
    SEQUENCE {
            atiStkSwEthPortErrRxBadFrames       Counter64,
            atiStkSwEthPortErrCollisions        Counter64
        }

atiStkSwEthPortErrRxBadFrames    OBJECT-TYPE
    SYNTAX        Counter64
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The total number of bad frames received on this port."
    ::= { atiStkSwEthPortErrEntry 1 }

atiStkSwEthPortErrCollisions    OBJECT-TYPE
    SYNTAX        Counter64
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The number of times a collision was detected on this port."
    ::= { atiStkSwEthPortErrEntry 2 }




-- The atiStkSwTrapsGroup

atiStkSwFanStopTrap    NOTIFICATION-TYPE
    OBJECTS    { atiStkSwSysModuleId }
    STATUS     current
    DESCRIPTION
        "This trap is sent out when an error in the fan operation is
        detected in a module."
    ::= { atiStkSwTrapsGroup 1 }

atiStkSwTemperatureAbnormalTrap    NOTIFICATION-TYPE
    OBJECTS    { atiStkSwSysModuleId }
    STATUS     obsolete
    DESCRIPTION
        "This trap is sent out when the temperature of a module
        becomes abnormal."
    ::= { atiStkSwTrapsGroup 2 }

atiStkSwIntrusionDetectionTrap    NOTIFICATION-TYPE
    OBJECTS    { atiStkSwModuleId, atiStkSwPortId , atiStkSwIntruderAttackVlanId, atiStkSwIntruderAttackMacAddr }
    STATUS     current
    DESCRIPTION
        "This trap is sent out when an intrusion is detected on a port
        in the switch and the port security has been configured to
        send traps. It includes the mac address and vlan."
    ::= { atiStkSwTrapsGroup 3 }

atiStkSwDOSTrap    NOTIFICATION-TYPE
    OBJECTS    { atiStkSwModuleId, atiStkSwPortId, atiStkSwPortDOSAttackType }
    STATUS     current
    DESCRIPTION
        "This trap is sent out when DOS (Denial of Service) attack is detected 
        on a port in the switch and the port security has been configured to
        send traps.
        
        This trap is not applicable to 8300 series products."
    ::= { atiStkSwTrapsGroup 4 }

atiStkSwSTPPortStateChangeTrap    NOTIFICATION-TYPE
    OBJECTS    { atiStkSwModuleId, atiStkSwPortId}
    STATUS     current
    DESCRIPTION
        "This trap is sent out when STP port state changes due to RSTP/MSTP 
        topology changes in the switch.
        
        This trap is not applicable to 8300 series products."
    ::= { atiStkSwTrapsGroup 5 }


atiStkSwSTPTrunkStateChangeTrap    NOTIFICATION-TYPE
    OBJECTS    { atiStkSwSysModuleId}
    STATUS     current
    DESCRIPTION
        "This trap is sent out when STP trunk state changes due to RSTP/MSTP 
        topology changes in the switch.
        
        This trap is not applicable to 8300 series products."
    ::= { atiStkSwTrapsGroup 6 }

atiStkSwSysRPSStateChangedTrap    NOTIFICATION-TYPE
    OBJECTS    { atiStkSwSysModuleId, atiStkSwSysRPSPresent, atiStkSwSysRPSState , atiStkSwSysDCState }
    STATUS     current
    DESCRIPTION
        "This trap is sent out when the RPS(redundant Power Supply)
        changes state in the switch.
        
        Please read the description of the notification objects
        and their states 'AtiStkSwSysProductInfoEntry' above.
        
        This trap is not applicable to 8300 series products."
    ::= { atiStkSwTrapsGroup 7 }
    
atiStkSwTrapVarMgmtType    OBJECT-TYPE
    SYNTAX    INTEGER {
                notrap(1),
                ssh (2),
                telnet (3),
                web (4)
                }
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "Type of management interface that was last disabled due to continuos 
        invalid logins. This variable is a placeholder for the object sent in 
        the atiStkSwMgmtDisabledTrap, but can be read independently if 
        required. 
        It will hold the value of the latest trap. A value of 'notrap' 
        indicates 
        that no trap has occured of this type from the last bootup time."
    ::= { atiStkSwTrapsGroup 8 }
        
atiStkSwTrapVarMgmtIpAddr    OBJECT-TYPE
    SYNTAX        IpAddress
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "IP address of the management station that had continuos invalid 
        logins. 
        This variable is a placeholder for the object sent in the 
        atiStkSwMgmtDisabledTrap, but can be read independently if required. 
        It will hold the value of the latest trap. A value of 0.0.0.0 indicates
        that no trap has occured of this type from the last bootup time."
    ::= { atiStkSwTrapsGroup 9 }
    
atiStkSwMgmtDisabledTrap    NOTIFICATION-TYPE
    OBJECTS    {atiStkSwTrapVarMgmtType, atiStkSwTrapVarMgmtIpAddr}    
    STATUS     current
    DESCRIPTION
        "This trap is sent out when a management interface is disabled due to 
        continuos invalid logins.
        
        This trap is not applicable to 8300 series products."
    ::= { atiStkSwTrapsGroup 15 }
        

atiStkSwTemperatureLimitTrap    NOTIFICATION-TYPE
    OBJECTS    {atiStkSwSysModuleId, atiStkSwSysTemperatureLimitValue}    
    STATUS     current
    DESCRIPTION
        "This trap is send when the system temperature crosses threshold values
        defined for different temperature levels,
        e.g. high (warning) temperature, critical (error) temperature. Also
        the threshold limit may be different depends on the model type."
    ::= { atiStkSwTrapsGroup 16 }
    
atiStkSwFanOkTrap    NOTIFICATION-TYPE
    OBJECTS    { atiStkSwSysModuleId }
    STATUS     current
    DESCRIPTION
        "This trap is sent out when a fan become running Ok."
    ::= { atiStkSwTrapsGroup 17 }

atiStkSwTemperatureNormalTrap    NOTIFICATION-TYPE
    OBJECTS    { atiStkSwSysModuleId }
    STATUS     current
    DESCRIPTION
        "This trap is sent out when it is generated when system temperature
         become normal." 
    ::= { atiStkSwTrapsGroup 18 }

atiStkSwHighRateStormDetectedTrap    NOTIFICATION-TYPE
    OBJECTS    { atiStkSwModuleId, atiStkSwPortId }
    STATUS     current
    DESCRIPTION
        "This trap is sent out when Storm Detection function detects a received
         packets rate is over the configured high rate threshold."
    ::= { atiStkSwTrapsGroup 19 }

atiStkSwWarningHighRateStormBlockedTrap    NOTIFICATION-TYPE
    OBJECTS    { atiStkSwModuleId, atiStkSwPortId, atiStkSwPortStormDetectCurrentHighAction }
    STATUS     current
    DESCRIPTION
        "This trap is sent out when Storm Detection function blocks a port with
        over a received packets high rate threshold."
    ::= { atiStkSwTrapsGroup 20 }

atiStkSwRecoverHighRateStormBlockedTrap    NOTIFICATION-TYPE
    OBJECTS    { atiStkSwModuleId, atiStkSwPortId }
    STATUS     current
    DESCRIPTION
        "This trap is sent out when Storm Detection function gets a blocked 
        port back to normal."
    ::= { atiStkSwTrapsGroup 21 }

atiStkSwLowRateStormDetectedTrap    NOTIFICATION-TYPE
    OBJECTS    { atiStkSwModuleId, atiStkSwPortId }
    STATUS     current
    DESCRIPTION
        "This trap is sent out when Storm Detection function detects a received
         packets rate is over the configured row rate threshold."
    ::= { atiStkSwTrapsGroup 22 }

atiStkSwWarningLowRateStormBlockedTrap    NOTIFICATION-TYPE
    OBJECTS    { atiStkSwModuleId, atiStkSwPortId, atiStkSwPortStormDetectCurrentLowAction }
    STATUS     current
    DESCRIPTION
        "This trap is sent out when Storm Detection function blocks a port with
        over a received packets low rate threshold."
    ::= { atiStkSwTrapsGroup 23 }

atiStkSwRecoverLowRateStormBlockedTrap    NOTIFICATION-TYPE
    OBJECTS    { atiStkSwModuleId, atiStkSwPortId }
    STATUS     current
    DESCRIPTION
        "This trap is sent out when Storm Detection function gets a blocked 
        port back to normal."
    ::= { atiStkSwTrapsGroup 24 }

atiStkSwStackTopologyChangeTrap    NOTIFICATION-TYPE
    OBJECTS    { atiStkSwSysNumOfModuleInStack}
    STATUS     current
    DESCRIPTION
        "This trap is sent out when there is a topology change in the stack. 
        Either one or more stack member is added or deleted."
    ::= { atiStkSwTrapsGroup 25 }

atiStkSwBPDUGuardIsTriggeredTrap    NOTIFICATION-TYPE
    OBJECTS    { atiStkSwModuleId, atiStkSwPortId }
    STATUS     current
    DESCRIPTION
        "This trap is sent out when a BPDU guard detects a spoofed BPDU 
        entering the STP system thru the edge port. The BPDU guard will disable
        the port and notify the system administrator." 
    ::= { atiStkSwTrapsGroup 26 }

atiStkSwLoopDetectedTrap    NOTIFICATION-TYPE
    OBJECTS    { atiStkSwModuleId, atiStkSwPortId, atiStkSwPortLoopDetectCurrentVlanId }
    STATUS     current
    DESCRIPTION
        "This trap is sent out when the switch detects a loop by receivig LDF packet."
    ::= { atiStkSwTrapsGroup 27 }

atiStkSwWarningLoopBlockedTrap    NOTIFICATION-TYPE
    OBJECTS    { atiStkSwModuleId, atiStkSwPortId, atiStkSwPortLoopDetectCurrentAction }
    STATUS     current
    DESCRIPTION
        "This trap is sent out when Loop Detection function blocks a port."
    ::= { atiStkSwTrapsGroup 28 }

atiStkSwRecoverLoopBlockedTrap    NOTIFICATION-TYPE
    OBJECTS    { atiStkSwModuleId, atiStkSwPortId }
    STATUS     current
    DESCRIPTION
        "This trap is sent out when Loop Detection function gets a blocked 
        port back to normal."
    ::= { atiStkSwTrapsGroup 29 }

-- The atiStkSwQoSGroup
-- This group is not applicable to 8300 series products.


atiStkSwQoSGroupNumberOfQueues    OBJECT-TYPE
    SYNTAX        Integer32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "This object gives a count of the CoS Queues supported by the chipset.
        
        This object is not applicable to 8300 series products."
    ::= { atiStkSwQoSGroup 1 }

atiStkSwQoSGroupSchedulingMode    OBJECT-TYPE
    SYNTAX    INTEGER {
                strict-priority (1),
                weighted-round-robin (2)
                }
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "This object allows to configure QOS scheduling mode.
        
        This object is not applicable to 8300 series products."
    ::= { atiStkSwQoSGroup 2 }


-- The atiStkSwQoSGroupCoSToQueueTable

atiStkSwQoSGroupCoSToQueueTable    OBJECT-TYPE
    SYNTAX        SEQUENCE OF AtiStkSwQoSGroupCoSToQueueEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This table object allows to configure queue for each CoS (Class fo 
        Service) priority.
        
        This table object is not applicable to 8300 series products."
    ::= { atiStkSwQoSGroup 3 }

atiStkSwQoSGroupCoSToQueueEntry    OBJECT-TYPE
    SYNTAX        AtiStkSwQoSGroupCoSToQueueEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This object specifies an entry in 'atiStkSwQoSGroupCoSToQueueTable'
        that describes the mapping of CoS priorities to corresponding Cos 
        Queues."
    INDEX    { atiStkSwQoSGroupCoSPriority }
    ::= { atiStkSwQoSGroupCoSToQueueTable 1 }

AtiStkSwQoSGroupCoSToQueueEntry ::=
    SEQUENCE {
            atiStkSwQoSGroupCoSPriority     INTEGER,
            atiStkSwQoSGroupCoSQueue        INTEGER
        }

atiStkSwQoSGroupCoSPriority    OBJECT-TYPE
    SYNTAX    INTEGER {
                cos-priority-0 (1),
                cos-priority-1 (2),
                cos-priority-2 (3),
                cos-priority-3 (4),
                cos-priority-4 (5),
                cos-priority-5 (6),
                cos-priority-6 (7),
                cos-priority-7 (8)
                }
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "This object specifies the CoS priority." 
    ::= { atiStkSwQoSGroupCoSToQueueEntry 1 }

atiStkSwQoSGroupCoSQueue    OBJECT-TYPE
    SYNTAX    INTEGER {
                egress-queue-0 (1),
                egress-queue-1 (2),
                egress-queue-2 (3),
                egress-queue-3 (4),
                egress-queue-4 (5),
                egress-queue-5 (6),
                egress-queue-6 (7),
                egress-queue-7 (8)
                }
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "This object specifies the queue for each CoS priority. Please
        note that the 94xx supports 8 levels, however, the 85xx 
        supports 4 levels." 
    ::= { atiStkSwQoSGroupCoSToQueueEntry 2 }
    
-- The atiStkSwQoSGroupQueueToWeightTable
    
atiStkSwQoSGroupQueueToWeightTable    OBJECT-TYPE
    SYNTAX        SEQUENCE OF AtiStkSwQoSGroupQueueToWeightEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This object allows to configure weight for each 
        CoS (Class fo Service) queue .
        
        This object table is not applicable to 8300 series products."
    ::= { atiStkSwQoSGroup 4 }

atiStkSwQoSGroupQueueToWeightEntry    OBJECT-TYPE
    SYNTAX        AtiStkSwQoSGroupQueueToWeightEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This object specifies an entry in 'atiStkSwQoSGroupQueueToWeightTable'
        that describes the mapping of CoS queues to corresponding weights."
    INDEX    { atiStkSwQoSGroupQueue }
    ::= { atiStkSwQoSGroupQueueToWeightTable 1 }

AtiStkSwQoSGroupQueueToWeightEntry ::=
    SEQUENCE {
            atiStkSwQoSGroupQueue            INTEGER,
            atiStkSwQoSGroupQueueWeight      INTEGER
        }

atiStkSwQoSGroupQueue       OBJECT-TYPE
    SYNTAX    INTEGER {
                egress-queue-0 (1),
                egress-queue-1 (2),
                egress-queue-2 (3),
                egress-queue-3 (4),
                egress-queue-4 (5),
                egress-queue-5 (6),
                egress-queue-6 (7),
                egress-queue-7 (8)
                }
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "This object specifies the queue. Please note that the 94xx 
        supports 8 levels, however, the 85xx supports 4 levels."
    ::= { atiStkSwQoSGroupQueueToWeightEntry 1 }

atiStkSwQoSGroupQueueWeight    OBJECT-TYPE
    SYNTAX    INTEGER(0..256)
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "This object specifies the queue weight for each queue."
    ::= { atiStkSwQoSGroupQueueToWeightEntry 2 }

-- atiStkSwQosFlowGrpTable --


atiStkSwQosFlowGrpTable    OBJECT-TYPE
    SYNTAX        SEQUENCE OF AtiStkSwQosFlowGrpEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This table contains a list of modules present in the switch
        stack and their associated hardware information."
    ::= { atiStkSwQoSGroup 5 }

atiStkSwQosFlowGrpEntry    OBJECT-TYPE
    SYNTAX        AtiStkSwQosFlowGrpEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This object specifies an entry in 'atiStkSwQosFlowGrpTable'
        that describes the hardware informaton for a module present in
        the switch stack."
    INDEX    { atiStkSwQosFlowGrpModuleId, atiStkSwQosFlowGrpId }
    ::= { atiStkSwQosFlowGrpTable 1 }

AtiStkSwQosFlowGrpEntry ::=
    SEQUENCE {
            atiStkSwQosFlowGrpModuleId           Integer32,
            atiStkSwQosFlowGrpId                 Integer32,
            atiStkSwQosFlowGrpDescription        DisplayString,
            atiStkSwQosFlowGrpDSCPValue          DisplayString,
            atiStkSwQosFlowGrpPriority           DisplayString,
            atiStkSwQosFlowGrpRemarkPriority     INTEGER,
            atiStkSwQosFlowGrpTos                DisplayString,
            atiStkSwQosFlowGrpTosToPriority      INTEGER,
            atiStkSwQosFlowGrpPriorityToTos      INTEGER,
            atiStkSwQosFlowGrpClassifierList     DisplayString,
            atiStkSwQosFlowGrpRowStatus          RowStatus
        }

atiStkSwQosFlowGrpModuleId    OBJECT-TYPE
    SYNTAX        Integer32 (1..8)
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "An index that corresponds to which module the data is retrieved
         with stacking capability."
    ::= { atiStkSwQosFlowGrpEntry 1 }

atiStkSwQosFlowGrpId    OBJECT-TYPE
    SYNTAX        Integer32 (0..1023)
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "An index that corresponds to specific Flow Group base on Id within
         Flow Group list."
    ::= { atiStkSwQosFlowGrpEntry 2 }

atiStkSwQosFlowGrpDescription    OBJECT-TYPE
    SYNTAX        DisplayString (SIZE(1..255))
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "The description of a specific Flow Group."
    ::= { atiStkSwQosFlowGrpEntry 3 }

atiStkSwQosFlowGrpDSCPValue    OBJECT-TYPE
    SYNTAX        DisplayString (SIZE(0..4))
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        ""
    ::= { atiStkSwQosFlowGrpEntry 4 }

atiStkSwQosFlowGrpPriority    OBJECT-TYPE
    SYNTAX        DisplayString (SIZE(0..2))
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        ""
    ::= { atiStkSwQosFlowGrpEntry 5 }

atiStkSwQosFlowGrpRemarkPriority    OBJECT-TYPE
    SYNTAX    INTEGER {
                yes (1),
                no  (2)
                }
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        ""
    ::= { atiStkSwQosFlowGrpEntry 6 }

atiStkSwQosFlowGrpTos    OBJECT-TYPE
    SYNTAX        DisplayString (SIZE(0..2))
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        ""
    ::= { atiStkSwQosFlowGrpEntry 7 }

atiStkSwQosFlowGrpTosToPriority    OBJECT-TYPE
    SYNTAX    INTEGER {
                yes (1),
                no  (2)
                }
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        ""
    ::= { atiStkSwQosFlowGrpEntry 8 }

atiStkSwQosFlowGrpPriorityToTos    OBJECT-TYPE
    SYNTAX    INTEGER {
                yes (1),
                no  (2)
                }
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        ""
    ::= { atiStkSwQosFlowGrpEntry 9 }

atiStkSwQosFlowGrpClassifierList    OBJECT-TYPE
    SYNTAX        DisplayString
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        ""
    ::= { atiStkSwQosFlowGrpEntry 10 }
    
atiStkSwQosFlowGrpRowStatus    OBJECT-TYPE
    SYNTAX        RowStatus
    MAX-ACCESS    read-create
    STATUS        current
    DESCRIPTION
        ""
    ::= { atiStkSwQosFlowGrpEntry 11 }
    

-- atiStkSwQosTrafficClassTable

atiStkSwQosTrafficClassTable    OBJECT-TYPE
    SYNTAX        SEQUENCE OF AtiStkSwQosTrafficClassEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This table contains a list of modules present in the switch
        stack and their associated hardware information."
    ::= { atiStkSwQoSGroup 6 }

atiStkSwQosTrafficClassEntry    OBJECT-TYPE
    SYNTAX        AtiStkSwQosTrafficClassEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This object specifies an entry in 'atiStkSwQosTrafficClassTable'
        that describes the hardware informaton for a module present in
        the switch stack."
    INDEX    { atiStkSwQosTrafficClassModuleId, atiStkSwQosTrafficClassId }
    ::= { atiStkSwQosTrafficClassTable 1 }

AtiStkSwQosTrafficClassEntry ::=
    SEQUENCE {
            atiStkSwQosTrafficClassModuleId            Integer32,
            atiStkSwQosTrafficClassId                  Integer32,
            atiStkSwQosTrafficClassDescription         DisplayString,
            atiStkSwQosTrafficClassExceedAction        INTEGER,
            atiStkSwQosTrafficClassExceedRemarkValue   Integer32,
            atiStkSwQosTrafficClassDSCPValue           DisplayString,
            atiStkSwQosTrafficClassMaxBandwidth        DisplayString,
            atiStkSwQosTrafficClassBurstSize           DisplayString,
            atiStkSwQosTrafficClassPriority            DisplayString,
            atiStkSwQosTrafficClassRemarkPriority      INTEGER,
            atiStkSwQosTrafficClassToS                 DisplayString,
            atiStkSwQosTrafficClassMoveToSToPriority   INTEGER,
            atiStkSwQosTrafficClassMovePriorityToToS   INTEGER,
            atiStkSwQosTrafficClassFlowGroupList       DisplayString,
            atiStkSwQosTrafficClassRowStatus            RowStatus
        }


atiStkSwQosTrafficClassModuleId    OBJECT-TYPE
    SYNTAX        Integer32 (1..8)
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        ""
    ::= { atiStkSwQosTrafficClassEntry 1 }

atiStkSwQosTrafficClassId    OBJECT-TYPE
    SYNTAX        Integer32 (0..511)
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        ""
    ::= { atiStkSwQosTrafficClassEntry 2 }

atiStkSwQosTrafficClassDescription    OBJECT-TYPE
    SYNTAX        DisplayString (SIZE(1..255))
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        ""
    ::= { atiStkSwQosTrafficClassEntry 3 }

atiStkSwQosTrafficClassExceedAction    OBJECT-TYPE
    SYNTAX    INTEGER {
                drop (1),
                remark (2)
                }
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        ""
    ::= { atiStkSwQosTrafficClassEntry 4 }

atiStkSwQosTrafficClassExceedRemarkValue    OBJECT-TYPE
    SYNTAX        Integer32 (0..63)
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        ""
    ::= { atiStkSwQosTrafficClassEntry 5 }

atiStkSwQosTrafficClassDSCPValue    OBJECT-TYPE
    SYNTAX        DisplayString (SIZE(0..4))
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION    ""
    ::= { atiStkSwQosTrafficClassEntry 6 }

atiStkSwQosTrafficClassMaxBandwidth    OBJECT-TYPE
    SYNTAX        DisplayString (SIZE(0..8))
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        ""
    ::= { atiStkSwQosTrafficClassEntry 7 }

atiStkSwQosTrafficClassBurstSize    OBJECT-TYPE
    SYNTAX        DisplayString (SIZE(0..8))
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        ""
    ::= { atiStkSwQosTrafficClassEntry 8 }

atiStkSwQosTrafficClassPriority    OBJECT-TYPE
    SYNTAX        DisplayString (SIZE(0..4))
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        ""
    ::= { atiStkSwQosTrafficClassEntry 9 }

atiStkSwQosTrafficClassRemarkPriority    OBJECT-TYPE
    SYNTAX    INTEGER {
                yes (1),
                no  (2)
                }
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        ""
    ::= { atiStkSwQosTrafficClassEntry 10 }


atiStkSwQosTrafficClassToS    OBJECT-TYPE
    SYNTAX        DisplayString (SIZE(0..4))
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION    ""
    ::= { atiStkSwQosTrafficClassEntry 11 }

atiStkSwQosTrafficClassMoveToSToPriority    OBJECT-TYPE
    SYNTAX    INTEGER {
                yes (1),
                no  (2)
                }
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION    ""
    ::= { atiStkSwQosTrafficClassEntry 12 }

atiStkSwQosTrafficClassMovePriorityToToS    OBJECT-TYPE
    SYNTAX    INTEGER {
                yes (1),
                no  (2)
                }
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION    ""
    ::= { atiStkSwQosTrafficClassEntry 13 }

atiStkSwQosTrafficClassFlowGroupList    OBJECT-TYPE
    SYNTAX        DisplayString
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION    ""
    ::= { atiStkSwQosTrafficClassEntry 14 }

atiStkSwQosTrafficClassRowStatus    OBJECT-TYPE
    SYNTAX        RowStatus
    MAX-ACCESS    read-create
    STATUS        current
    DESCRIPTION    ""
    ::= { atiStkSwQosTrafficClassEntry 15 }

-- atiStkSwQosPolicyTable

atiStkSwQosPolicyTable    OBJECT-TYPE
    SYNTAX        SEQUENCE OF AtiStkSwQosPolicyEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This table contains a list of modules present in the switch
        stack and their associated hardware information."
    ::= { atiStkSwQoSGroup 7 }

atiStkSwQosPolicyEntry    OBJECT-TYPE
    SYNTAX        AtiStkSwQosPolicyEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This object specifies an entry in 'atiStkSwQosPolicyTable'
        that describes the hardware informaton for a module present in
        the switch stack."
    INDEX    { atiStkSwQosPolicyModuleId, atiStkSwQosPolicyId }
    ::= { atiStkSwQosPolicyTable 1 }

AtiStkSwQosPolicyEntry    ::=
    SEQUENCE {
            atiStkSwQosPolicyModuleId             Integer32,
            atiStkSwQosPolicyId                   Integer32,
            atiStkSwQosPolicyDescription          DisplayString,
            atiStkSwQosPolicyRemarkDSCP           INTEGER,
            atiStkSwQosPolicyDSCPValue            DisplayString,
            atiStkSwQosPolicyToS                  DisplayString,
            atiStkSwQosPolicyMoveToSToPriority    INTEGER,
            atiStkSwQosPolicyMovePriorityToToS    INTEGER,
            atiStkSwQosPolicySendToMirrorPort     INTEGER,
            atiStkSwQosPolicyTrafficClassList     DisplayString,
            atiStkSwQosPolicyRedirectPort         DisplayString,
            atiStkSwQosPolicyIngressPortList      DisplayString,
            atiStkSwQosPolicyEgressPortList       DisplayString,
            atiStkSwQosPolicyRowStatus            RowStatus
         }

atiStkSwQosPolicyModuleId    OBJECT-TYPE
    SYNTAX        Integer32 (1..8)
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        ""
    ::= { atiStkSwQosPolicyEntry 1 }

atiStkSwQosPolicyId    OBJECT-TYPE
    SYNTAX        Integer32 (0..511)
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        ""
    ::= { atiStkSwQosPolicyEntry 2 }

atiStkSwQosPolicyDescription    OBJECT-TYPE
    SYNTAX        DisplayString (SIZE(1..255))
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        ""
    ::= { atiStkSwQosPolicyEntry 3 }

atiStkSwQosPolicyRemarkDSCP    OBJECT-TYPE
    SYNTAX    INTEGER {
                all (1),
                none (2)
                }
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        ""
    ::= { atiStkSwQosPolicyEntry 4 }

atiStkSwQosPolicyDSCPValue    OBJECT-TYPE
    SYNTAX        DisplayString (SIZE(0..4))
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION    ""
    ::= { atiStkSwQosPolicyEntry 5 }

atiStkSwQosPolicyToS    OBJECT-TYPE
    SYNTAX        DisplayString (SIZE(0..4))
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION    ""
    ::= { atiStkSwQosPolicyEntry 6 }

atiStkSwQosPolicyMoveToSToPriority    OBJECT-TYPE
    SYNTAX    INTEGER {
                yes (1),
                no  (2)
                }
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION    ""
    ::= { atiStkSwQosPolicyEntry 7 }

atiStkSwQosPolicyMovePriorityToToS    OBJECT-TYPE
    SYNTAX    INTEGER {
                yes (1),
                no  (2)
                }
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION    ""
    ::= { atiStkSwQosPolicyEntry 8 }

atiStkSwQosPolicySendToMirrorPort    OBJECT-TYPE
    SYNTAX    INTEGER {
                yes (1),
                no  (2)
                }
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION    ""
    ::= { atiStkSwQosPolicyEntry 9 }

atiStkSwQosPolicyTrafficClassList    OBJECT-TYPE
    SYNTAX        DisplayString
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION    ""
    ::= { atiStkSwQosPolicyEntry 10 }

atiStkSwQosPolicyRedirectPort    OBJECT-TYPE
    SYNTAX        DisplayString
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION    ""
    ::= { atiStkSwQosPolicyEntry 11 }

atiStkSwQosPolicyIngressPortList    OBJECT-TYPE
    SYNTAX        DisplayString
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION    ""
    ::= { atiStkSwQosPolicyEntry 12 }

atiStkSwQosPolicyEgressPortList    OBJECT-TYPE
    SYNTAX        DisplayString
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION    ""
    ::= { atiStkSwQosPolicyEntry 13 }

atiStkSwQosPolicyRowStatus    OBJECT-TYPE
    SYNTAX        RowStatus
    MAX-ACCESS    read-create
    STATUS        current
    DESCRIPTION    ""
    ::= { atiStkSwQosPolicyEntry 14 }


--  atiStkSwQosGroupPortCosPriorityTable

atiStkSwQoSGroupPortCoSPriorityTable    OBJECT-TYPE
    SYNTAX        SEQUENCE OF AtiStkSwQoSGroupPortCoSPriorityEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This table object allows to configure port priority for each CoS 
        (Class of Service) priority. This table object is not applicable to 
        8300 series products."
    ::= { atiStkSwQoSGroup 8 }

atiStkSwQoSGroupPortCoSPriorityEntry    OBJECT-TYPE
    SYNTAX        AtiStkSwQoSGroupPortCoSPriorityEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This object specifies an entry in 
        'atiStkSwQoSGroupPortCoSPriorityTable' it defines the CoS priority for 
        each port, and the priority defined for a port should override priority
        already in the priority tagged packet received by the switch."
    INDEX    { atiStkSwQoSGroupPortCoSPriorityModuleId,
               atiStkSwQoSGroupPortCoSPriorityPortId }
    ::= { atiStkSwQoSGroupPortCoSPriorityTable 1 }

AtiStkSwQoSGroupPortCoSPriorityEntry ::=
    SEQUENCE {
            atiStkSwQoSGroupPortCoSPriorityModuleId            Integer32,
            atiStkSwQoSGroupPortCoSPriorityPortId              Integer32,
            atiStkSwQoSGroupPortCoSPriorityPriority            Integer32,
            atiStkSwQoSGroupPortCoSPriorityOverridePriority    INTEGER
        }

atiStkSwQoSGroupPortCoSPriorityModuleId    OBJECT-TYPE
    SYNTAX        Integer32 (1..8)
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "This object specifies the Module Id of the table." 
    ::= { atiStkSwQoSGroupPortCoSPriorityEntry 1 }

atiStkSwQoSGroupPortCoSPriorityPortId    OBJECT-TYPE
    SYNTAX        Integer32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "This object specifies the IfIndex of the table." 
    ::= { atiStkSwQoSGroupPortCoSPriorityEntry 2 }

atiStkSwQoSGroupPortCoSPriorityPriority     OBJECT-TYPE
    SYNTAX        Integer32 (0..7)
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "This object specifies the priority for each port CoS priority."
    ::= { atiStkSwQoSGroupPortCoSPriorityEntry 3 }

atiStkSwQoSGroupPortCoSPriorityOverridePriority    OBJECT-TYPE
    SYNTAX    INTEGER {
                yes (1),
                no (2)
                }
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "This object specifies the override priority for each port CoS 
        priority."
    ::= { atiStkSwQoSGroupPortCoSPriorityEntry 4 }


-- atiStkSwStaticTrunkTable

atiStkSwStaticTrunkTable    OBJECT-TYPE
    SYNTAX        SEQUENCE OF AtiStkSwStaticTrunkEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This table contains a list of static trunk configuration present 
         in the switch stack."
    ::= { atiStkSwTrunkGroup 1 }

atiStkSwStaticTrunkEntry    OBJECT-TYPE
    SYNTAX        AtiStkSwStaticTrunkEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This object specifies an entry in 'atiStkSwStaticTrunkTable'
        that describes the static trunk informaton for a module present in
        the switch stack."
    INDEX    { atiStkSwStaticTrunkModuleId, atiStkSwStaticTrunkIndex }
    ::= { atiStkSwStaticTrunkTable 1 }

AtiStkSwStaticTrunkEntry ::=
    SEQUENCE {
            atiStkSwStaticTrunkModuleId      Integer32,
            atiStkSwStaticTrunkIndex         Integer32,
            atiStkSwStaticTrunkId            Integer32,
            atiStkSwStaticTrunkName          DisplayString,
            atiStkSwStaticTrunkMethod        INTEGER,
            atiStkSwStaticTrunkPortList      DisplayString,
            atiStkSwStaticTrunkStatus        INTEGER,
            atiStkSwStaticTrunkRowStatus     RowStatus
        }

atiStkSwStaticTrunkModuleId    OBJECT-TYPE
    SYNTAX        Integer32 (1..8)
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "An identifier for switch stack."
    ::= { atiStkSwStaticTrunkEntry 1 }

atiStkSwStaticTrunkIndex    OBJECT-TYPE
    SYNTAX        Integer32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "An index for a trunk entry."
    ::= { atiStkSwStaticTrunkEntry 2 }
    
atiStkSwStaticTrunkId    OBJECT-TYPE
    SYNTAX        Integer32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "An identifier for a trunk."
    ::= { atiStkSwStaticTrunkEntry 3 }
    
atiStkSwStaticTrunkName    OBJECT-TYPE
    SYNTAX        DisplayString (SIZE(1..16))
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION    
        "Name of a trunk, once the entry has created, it cannot be changed."
    ::= { atiStkSwStaticTrunkEntry 4 }

atiStkSwStaticTrunkMethod    OBJECT-TYPE
    SYNTAX    INTEGER {
                srcIp (1),
                dstIp (2),
                src-dstIp (3),
                srcMac (4),
                dstMac (5),
                src-dstMac (6)
                }
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "Trunk distribution mode."
    ::= { atiStkSwStaticTrunkEntry 5 }

atiStkSwStaticTrunkPortList    OBJECT-TYPE
    SYNTAX        DisplayString
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION    
        "A list of ports that used as a trunk port."
    ::= { atiStkSwStaticTrunkEntry 6 }

atiStkSwStaticTrunkStatus    OBJECT-TYPE
    SYNTAX    INTEGER {
                up (1),
                down (2)
                }
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The status of the trunk, either up or down."
    ::= { atiStkSwStaticTrunkEntry 7 }

atiStkSwStaticTrunkRowStatus    OBJECT-TYPE
    SYNTAX        RowStatus
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "Row Status."
    ::= { atiStkSwStaticTrunkEntry 8 }


-- atiStkSwACLConfigTable

atiStkSwACLConfigTable    OBJECT-TYPE
    SYNTAX        SEQUENCE OF AtiStkSwACLConfigEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This table contains a Access Control List (ACL) in the
        switch and their associated attributes."
    ::= { atiStkSwACLGroup 1 }

atiStkSwACLConfigEntry    OBJECT-TYPE
    SYNTAX        AtiStkSwACLConfigEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This object specifies an entry in 'atiStkSwACLConfigTable'
        that describes the ACL in the switch."
    INDEX        { atiStkSwACLModuleId, atiStkSwACLId }
    ::= { atiStkSwACLConfigTable 1 }

AtiStkSwACLConfigEntry ::=
    SEQUENCE {
            atiStkSwACLModuleId        Integer32,
            atiStkSwACLId              Integer32,
            atiStkSwACLDescription     DisplayString,
            atiStkSwACLAction          INTEGER,
            atiStkSwACLClassifierList  DisplayString,
            atiStkSwACLPortList        DisplayString,
            atiStkSwACLRowStatus       RowStatus
        }

atiStkSwACLModuleId    OBJECT-TYPE
    SYNTAX        Integer32 (1..8)
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "This object specifies the ID of a module present in the switch
         stack."
    ::= { atiStkSwACLConfigEntry 1 }

atiStkSwACLId    OBJECT-TYPE
    SYNTAX        Integer32 (0..255)
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "This object specifies the ID of the ACL table."
    ::= { atiStkSwACLConfigEntry 2 }

atiStkSwACLDescription    OBJECT-TYPE
    SYNTAX        DisplayString (SIZE(0..31))
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "The description of the ACL entry."
    ::= { atiStkSwACLConfigEntry 3 }

atiStkSwACLAction    OBJECT-TYPE
    SYNTAX    INTEGER {
                deny (1),
                permit (2)
                }
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "The action of the ACL entry either deny or permit."
    ::= { atiStkSwACLConfigEntry 4 }

atiStkSwACLClassifierList    OBJECT-TYPE
    SYNTAX        DisplayString
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "The classifier list of the entry."
    ::= { atiStkSwACLConfigEntry 5 }

atiStkSwACLPortList    OBJECT-TYPE
    SYNTAX        DisplayString
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "The port list of the ACL entry."
    ::= { atiStkSwACLConfigEntry 6 }

atiStkSwACLRowStatus    OBJECT-TYPE
    SYNTAX        RowStatus
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "The row status of the table."
    ::= { atiStkSwACLConfigEntry 7 }



END
