-- ==================================================================
-- Copyright (c) 2004-2010 Hangzhou H3C Tech. Co., Ltd. All rights reserved.
--
-- Description: Lan Switch VLAN MIB
-- Reference:
-- Version: V2.0
-- History:
-- (1) Created by Zhangshilin, 2001.06.29
-- (2) Revised by Qi Zhenglin, 2002.01.08
--   V1.1 2004-09-08 modify STATUS of hwLswVlanProtoObject from mandatory to current by gaolong.
--   V1.2 2004-09-23 add ifEntry IMPORT clause by gaolong
--   V1.3 2004-10-12 updated by gaolong
--        Import TEXTUAL-CONVENTION and OBJECT-IDENTITY.
--        Relocate hwLswVlan MODULE-IDENTITY.
--        Change MAX-ACCESS clause value of hwVLANMibSwitchGarpStatClear to read-write.
--   V1.4 2004-12-28 modified by jiaoyi
--          Add hwdot1qVlanMulticast in hwdot1qVlanMIBTable
--        2005-01-22 update by wangyingxia
--          Add all objects of hwLswVlanMngObject from A3COM-HUAWEI-LswINF-MIB into this MIB
--          Add TruthValue, RowStatus, TimeTicks, IpAddress, SnmpAdminString, VlanIndex, PortList
--          Remove InterfaceIndex and import it from A3COM-HUAWEI-LswINF-MIB
--   V1.5 2005-01-22
--        Add superVlan to hwdot1qVlanType by sunqiang
--   V1.6 2005-05-18
--        Add hwdot1qVlanBatchMIBTable by lipei
--   V1.7 2005-08-08
--        Add HwVlanIndex and modified all VlanIndex to HwVlanIndex by longyin
--   V1.8 2006-02-14
--        Modify description of hwVlanInterfaceID, hwifIsolateSecondaryVlanlistLow
--        and hwifIsolateSecondaryVlanlistHigh by wangyong
--        Adjust the format of the file by wangyong
--        Add the object hwdot1qVlanTaggedPorts, hwdot1qVlanUntaggedPorts by jiliyan
--        Add hwifSuperVlanMappingTable, hwifSuperVlanMappingEntry, hwifSuperVlanID,
--        hwifSubVlanlistLow, hwifSubVlanlistHigh by hejunwei
--        Add hwdot1qVlanBatchSetOperate, change the description of
--        hwdot1qVlanBatchMIBTable and hwDot1qVlanBatchMIBEntry by hejunwei
--   V1.9 2007-12-18 Add enmu 'vrrp' for hwVlanInterfaceIpType by Zhangyinfei
--   V2.0 2010-01-18 Add hwdot1qVlanPortIndexs and hwVlanInterfaceIfIndex by duyanbing
-- ==================================================================
A3COM-HUAWEI-LswVLAN-MIB DEFINITIONS ::= BEGIN
IMPORTS
    TimeInterval, TEXTUAL-CONVENTION, TruthValue, RowStatus
        FROM SNMPv2-TC
    MODULE-IDENTITY, OBJECT-TYPE, Counter32, Integer32, OBJECT-IDENTITY, TimeTicks, IpAddress
        FROM SNMPv2-SMI
    SnmpAdminString
        FROM SNMP-FRAMEWORK-MIB
    lswCommon
        FROM A3COM-HUAWEI-OID-MIB
    ifEntry
        FROM RFC1213-MIB
    hwifVLANTrunkStatusEntry, PortList
        FROM A3COM-HUAWEI-LswINF-MIB;

    hwLswVlan MODULE-IDENTITY
            LAST-UPDATED "200112261452Z"
            ORGANIZATION
                "Hangzhou H3C Tech. Co., Ltd."
            CONTACT-INFO
                "Platform Team Hangzhou H3C Tech. Co., Ltd.
                 Hai-Dian District Beijing P.R. China
                 http://www.h3c.com
                 Zip:100085"
            DESCRIPTION ""
            ::= { lswCommon 2 }

    HwVlanIndex ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "A value used to index per-VLAN tables: values of 0 and
        4095 are not permitted; if the value is between 1 and
        4094 inclusive, it represents an IEEE 802.1Q VLAN-ID with
        global scope within a given bridged domain (see VlanId
        textual convention).  If the value is greater than 4095
        then it represents a VLAN with scope local to the
        particular agent, i.e. one without a global VLAN-ID
        assigned to it. Such VLANs are outside the scope of
        IEEE 802.1Q but it is convenient to be able to manage them
        in the same way using this MIB."
    SYNTAX      Integer32(0..2147483647)

-- ==================================================================
--
-- ======================= definition begin =========================
--
-- ==================================================================

    hwLswVlanMngObject OBJECT-IDENTITY
            STATUS current
            DESCRIPTION
                "Description."
            ::= { hwLswVlan 1 }

    hwdot1qVlanMIBTable OBJECT-TYPE
        SYNTAX SEQUENCE OF HwDot1qVlanMIBEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "VLAN MIB table"
        ::= { hwLswVlanMngObject  1 }


    hwdot1qVlanMIBEntry OBJECT-TYPE
        SYNTAX HwDot1qVlanMIBEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Entries of VLAN MIB table"
        INDEX   { hwdot1qVlanIndex }
        ::= { hwdot1qVlanMIBTable 1}

    HwDot1qVlanMIBEntry ::=
    SEQUENCE {
        hwdot1qVlanIndex    HwVlanIndex,
        hwdot1qVlanName     SnmpAdminString,
        hwdot1qVlanPorts    PortList,
        hwdot1qVlanType     INTEGER,
        hwdot1qVlanMacFilter    TruthValue,
        hwdot1qVlanMcastUnknownProtos   TruthValue,
        hwExistInterface    TruthValue,
        hwVlanInterfaceIndex    INTEGER,
        hwdot1qVlanMacLearn TruthValue,
        hwdot1qVlanStatus   INTEGER,
        hwdot1qVlanCreationTime TimeTicks,
        hwdot1qVlanPriority INTEGER,
        hwdot1qVlanRowStatus    RowStatus,
        hwdot1qVlanBroadcastSuppression INTEGER,
        hwdot1qVlanBcastSuppressionPPS   INTEGER,
        hwdot1qVlanMulticast INTEGER,
        hwdot1qVlanTaggedPorts    PortList,
        hwdot1qVlanUntaggedPorts    PortList,
        hwdot1qVlanPortIndexs    OCTET STRING
        }



    hwdot1qVlanIndex OBJECT-TYPE
        SYNTAX  HwVlanIndex
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The VLAN-ID."
        ::= { hwdot1qVlanMIBEntry 1 }


    hwdot1qVlanName  OBJECT-TYPE
        SYNTAX  SnmpAdminString (SIZE (0..32))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Name of the VLAN."
        ::= { hwdot1qVlanMIBEntry 2 }


    hwdot1qVlanPorts OBJECT-TYPE
        SYNTAX  PortList
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Port list of the VLAN."
        ::= { hwdot1qVlanMIBEntry 3 }


    hwdot1qVlanType  OBJECT-TYPE
        SYNTAX  INTEGER
        {
        superVlan   (1),
        common-vlan (2),
        sub-vlan    (3),
        isolate-user-vlan(4),
        secondary-vlan(5)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Vlan types: SuperVlan(1), Common vlan(2), and Sub-vlan(3)."
        ::= { hwdot1qVlanMIBEntry 4 }


    hwdot1qVlanMacFilter OBJECT-TYPE
        SYNTAX  TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Whether to filter MAC addresses."
        ::= { hwdot1qVlanMIBEntry 5 }


    hwdot1qVlanMcastUnknownProtos OBJECT-TYPE
        SYNTAX  TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Whether to broadcast the unknown packets."
        ::= { hwdot1qVlanMIBEntry 6 }


    hwExistInterface OBJECT-TYPE
        SYNTAX  TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Whether there is virtual interface."
        ::= { hwdot1qVlanMIBEntry 7 }


    hwVlanInterfaceIndex OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Whether vlan interface is configured on vlan. If vlan interface is
            configured, the value of the node is vlan id, else the value is 0."
        ::= { hwdot1qVlanMIBEntry 8 }


    hwdot1qVlanMacLearn OBJECT-TYPE
        SYNTAX  TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "MAC address learning identity. (common vlan/Sub-vlan)"
        ::= { hwdot1qVlanMIBEntry 9 }


    hwdot1qVlanStatus OBJECT-TYPE
        SYNTAX  INTEGER
        {
        other       (1),
        static   (2),
        dynamic (3)
        }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Status of the VLAN."
        ::= { hwdot1qVlanMIBEntry 10 }


    hwdot1qVlanCreationTime OBJECT-TYPE
        SYNTAX  TimeTicks
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The sysUPTime when the VLAN is created."
        ::= { hwdot1qVlanMIBEntry 11 }


    hwdot1qVlanPriority OBJECT-TYPE
        SYNTAX  INTEGER (0..7)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Priority of the VLAN."
        DEFVAL  {0}
        ::= { hwdot1qVlanMIBEntry 12 }


    hwdot1qVlanRowStatus  OBJECT-TYPE
        SYNTAX  RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Operation status."
        ::= { hwdot1qVlanMIBEntry 13 }

    hwdot1qVlanBroadcastSuppression  OBJECT-TYPE
        SYNTAX  INTEGER (0..100)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Whether broadcast suppression of vlan be supported pro rata.
            The vlaue of 100 indicates no broadcast suppression. If the
            function is not supported, this object cannot be written,
            and 100 will be returned when reading"
        DEFVAL { 100 }
        ::= { hwdot1qVlanMIBEntry 14 }

    hwdot1qVlanBcastSuppressionPPS   OBJECT-TYPE
        SYNTAX  INTEGER (0..148800)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "If the broadcast can be controlled with pps(packet per second)type,
            the value of 0 indicates no suppression. This node is conflicted
            with hwdot1qVlanBroadcastSuppression. If the mode is set,
            hwdot1qVlanBroadcastSuppression is unavailable. And vice versa."
        ::= { hwdot1qVlanMIBEntry 15 }

    hwdot1qVlanMulticast  OBJECT-TYPE
        SYNTAX  INTEGER
        {
        disable  (0),
        enable   (1)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Multicast vlan. The default value is disable(0)."
        ::= { hwdot1qVlanMIBEntry 16 }

    hwdot1qVlanTaggedPorts OBJECT-TYPE
        SYNTAX  PortList
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Tagged port list of the VLAN."
        ::= { hwdot1qVlanMIBEntry 17 }

    hwdot1qVlanUntaggedPorts OBJECT-TYPE
        SYNTAX  PortList
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Untagged port list of the VLAN."
        ::= { hwdot1qVlanMIBEntry 18 }

    hwdot1qVlanPortIndexs OBJECT-TYPE
        SYNTAX  OCTET STRING
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "PortIndex list of the VLAN, that delimited by comma, such as 1,3,4,7."
        ::= { hwdot1qVlanMIBEntry 19 }

    hwVlanInterfaceTable OBJECT-TYPE
        SYNTAX SEQUENCE OF HwVlanInterfaceEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Virtual interface configuration table"
        ::= { hwLswVlanMngObject  2}


    hwVlanInterfaceEntry OBJECT-TYPE
        SYNTAX HwVlanInterfaceEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Entries of virtual interface configuration table"
        INDEX   { hwVlanInterfaceID }
        ::= {hwVlanInterfaceTable 1}

    HwVlanInterfaceEntry    ::=
    SEQUENCE {
        hwVlanInterfaceID       INTEGER,
        hwdot1qVlanID       HwVlanIndex,
        hwdot1qVlanIpAddress        IpAddress,
        hwdot1qVlanIpAddressMask    IpAddress,
        hwVlanInterfaceAdminStatus  INTEGER,
        hwVlanInterfaceFrameType    INTEGER,
        hwInterfaceRowStatus        RowStatus,
        hwVlanInterfaceIpMethod     INTEGER,
        hwVlanInterfaceIfIndex      INTEGER
        }

    hwVlanInterfaceID OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Index of the vlan interface table."
        ::= { hwVlanInterfaceEntry 1 }


    hwdot1qVlanID OBJECT-TYPE
        SYNTAX  HwVlanIndex
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "VLAN-ID"
        ::= { hwVlanInterfaceEntry 2 }


    hwdot1qVlanIpAddress OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "IP address of interface."
        ::= { hwVlanInterfaceEntry 3 }


    hwdot1qVlanIpAddressMask OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "IP address mask of interface."
        ::= { hwVlanInterfaceEntry 4 }

    hwVlanInterfaceAdminStatus OBJECT-TYPE
        SYNTAX  INTEGER
        {
        up      (1),
        down    (2)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Status of VLAN virtual interfaces."
        ::= { hwVlanInterfaceEntry 5 }

    hwVlanInterfaceFrameType OBJECT-TYPE
        SYNTAX  INTEGER
        {
        ethernet-ii     (1),
        ethernet-snap   (2),
        ethernet-8022   (3),
        ethernet-8023   (4)
        }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Frame type accepted by VLAN virtual interfaces."
        ::= { hwVlanInterfaceEntry 6 }


    hwInterfaceRowStatus OBJECT-TYPE
        SYNTAX  RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Operation status."
        ::= { hwVlanInterfaceEntry 7 }


    hwVlanInterfaceIpMethod OBJECT-TYPE
        SYNTAX  INTEGER
        {
        assigned-ip    (1),
        dhcp-ip        (2),
        bootp-ip       (3)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Vlan interface ip address acquiring method which is manual, dhcp or bootp."
        ::= { hwVlanInterfaceEntry 8 }

    hwVlanInterfaceIfIndex OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "IfIndex of VLAN interface."
        ::= { hwVlanInterfaceEntry 9 }

    hwifIsolateMappingTable OBJECT-TYPE
        SYNTAX SEQUENCE OF HwifIsolateMappingEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Secondary vlan lists of Isolate-VLANs."
        ::= { hwLswVlanMngObject  4 }


    hwifIsolateMappingEntry OBJECT-TYPE
        SYNTAX HwifIsolateMappingEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
             "Secondary vlan lists of Isolate-VLANs."
        INDEX   { hwifIsolatePrimaryVlanID }
        ::= { hwifIsolateMappingTable 1}

    HwifIsolateMappingEntry   ::=
    SEQUENCE {
        hwifIsolatePrimaryVlanID  HwVlanIndex,
        hwifIsolateSecondaryVlanlistLow   OCTET STRING,
        hwifIsolateSecondaryVlanlistHigh OCTET STRING
        }

    hwifIsolatePrimaryVlanID OBJECT-TYPE
        SYNTAX  HwVlanIndex
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Primary VLAN-ID."
        ::= { hwifIsolateMappingEntry 1 }


    hwifIsolateSecondaryVlanlistLow OBJECT-TYPE
        SYNTAX  OCTET STRING(SIZE(0..256))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Each octet within this value specifies a set of eight
            VLANs, with the first octet specifying VLANs 1 through
            8, the second octet specifying VLANs 9 through 16, etc.
            Within each octet, the most significant bit represents
            the highest numbered VLAN, and the least significant bit
            represents the lowest numbered VLAN. Thus, each secondary
            VLAN of the primary VLAN is represented by a single bit
            within the value of this object. If that bit has a value
            of '1' then that VLAN is secondary VLAN in the set of VLANs;
            the VLAN is not secondary VLAN if its bit has a value of
            '0'."
        ::= { hwifIsolateMappingEntry 2 }

    hwifIsolateSecondaryVlanlistHigh OBJECT-TYPE
        SYNTAX  OCTET STRING(SIZE(0..256))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Each octet within this value specifies a set of eight
            VLANs, with the first octet specifying VLANs 2049 through
            2056, the second octet specifying VLANs 2057 through 2064,
            etc. Within each octet, the most significant bit represents
            the highest numbered VLAN, and the least significant bit
            represents the lowest numbered VLAN. Thus, each secondary
            VLAN of the primary VLAN is represented by a single bit
            within the value of this object. If that bit has a value
            of '1' then that VLAN is secondary VLAN in the set of VLANs;
            the VLAN is not secondary VLAN if its bit has a value of
            '0'."
        ::= { hwifIsolateMappingEntry 3 }

    hwVlanInterfaceAddrTable OBJECT-TYPE
        SYNTAX SEQUENCE OF HwVlanInterfaceAddrEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "VLAN interface IP address configuration table"
        ::= { hwLswVlanMngObject 5 }

    hwVlanInterfaceAddrEntry OBJECT-TYPE
        SYNTAX HwVlanInterfaceAddrEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Entries of VLAN interface IP address configuration table"
        INDEX   { hwVlanInterfaceIpIfIndex, hwVlanInterfaceIpAddr }
        ::= { hwVlanInterfaceAddrTable 1 }

    HwVlanInterfaceAddrEntry ::=
    SEQUENCE {
        hwVlanInterfaceIpIfIndex     INTEGER,
        hwVlanInterfaceIpAddr        IpAddress,
        hwVlanInterfaceIpMask        IpAddress,
        hwVlanInterfaceIpType        INTEGER,
        hwVlanInterfaceIpRowStatus   RowStatus
        }

    hwVlanInterfaceIpIfIndex OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Index of VLAN interfaces."
        ::= { hwVlanInterfaceAddrEntry 1 }

    hwVlanInterfaceIpAddr OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "IP address of VLAN interface. When taking destory operation,
            you could set it zero to destory all IP addresses(but cluster
            IP address) in this VLAN interface."
        ::= { hwVlanInterfaceAddrEntry 2 }

    hwVlanInterfaceIpMask OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "IP address mask of VLAN interface. When destory single IP address,
            you must set it correct to relative IP address."
        ::= { hwVlanInterfaceAddrEntry 3 }

    hwVlanInterfaceIpType OBJECT-TYPE
        SYNTAX  INTEGER
        {
        primary     (1),
        sub         (2),
        cluster     (3),
        vrrp        (4)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "IP address type. cluster(3) will only be set when taking GET or
            GET NEXT operation. primary(1) is optional when taking SET primary
            IP address operation."
        ::= { hwVlanInterfaceAddrEntry 4 }

    hwVlanInterfaceIpRowStatus OBJECT-TYPE
        SYNTAX  RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Operation status. active(1) will only be set when taking GET or
            GET NEXT operation. createAndGo(4) and destory(6) is valid when
            taking SET operation."
        ::= { hwVlanInterfaceAddrEntry 5 }


    hwdot1qVlanBatchMIBTable  OBJECT-TYPE
        SYNTAX SEQUENCE OF HwDot1qVlanBatchMIBEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "VLAN batch configuration table.
            In the case of VLAN batch creation, hwdot1qVlanBatchSetOperate should
            be set to 1.
            For example, if creating a row is for creating VLANs 2 to 4, the value
            of the objects should be set as follows:
            hwdot1qVlanBatchStartIndex 2,
            hwdot1qVlanBatchEndIndex 4,
            hwdot1qVlanBatchSetOperate create(1),
            hwdot1qVlanBatchRowStatus createAndGo(4).

            In the case of VLAN batch deletion, hwdot1qVlanBatchSetOperate should
            be set to 2.
            For example, if creating a row is for deleting VLANs 10 to 20, the value
            of the objects should be set as follows:
            hwdot1qVlanBatchStartIndex 10,
            hwdot1qVlanBatchEndIndex 20,
            hwdot1qVlanBatchSetOperate delete(2),
            hwdot1qVlanBatchRowStatus createAndGo(4).

            When the action of batch VLANs deleting or creating is done, one row
            will be existent until it is deleted manually or ages out, but the VLANs
            of it won't disappear with the deletion of the row."
        ::= { hwLswVlanMngObject  6 }

    hwDot1qVlanBatchMIBEntry OBJECT-TYPE
        SYNTAX HwDot1qVlanBatchMIBEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "VLAN batch configuration entry."
        INDEX   { hwdot1qVlanBatchOperIndex }
        ::= { hwdot1qVlanBatchMIBTable 1}

    HwDot1qVlanBatchMIBEntry ::=
        SEQUENCE {
            hwdot1qVlanBatchOperIndex
                Integer32,
            hwdot1qVlanBatchStartIndex
                HwVlanIndex,
            hwdot1qVlanBatchEndIndex
                HwVlanIndex,
            hwdot1qVlanBatchOperStatus
                INTEGER,
            hwdot1qVlanBatchRowStatus
                RowStatus,
            hwdot1qVlanBatchSetOperate
                INTEGER
        }

    hwdot1qVlanBatchOperIndex OBJECT-TYPE
        SYNTAX  Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The consequence of operation."
        ::= { hwDot1qVlanBatchMIBEntry 1 }

    hwdot1qVlanBatchStartIndex OBJECT-TYPE
        SYNTAX  HwVlanIndex
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The value of start VLAN-ID."
        ::= { hwDot1qVlanBatchMIBEntry 2 }

    hwdot1qVlanBatchEndIndex OBJECT-TYPE
        SYNTAX  HwVlanIndex
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The value of end VLAN-ID."
        ::= { hwDot1qVlanBatchMIBEntry 3 }

    hwdot1qVlanBatchOperStatus OBJECT-TYPE
        SYNTAX  INTEGER
        {
            opInprogress      (1), -- If the operation is running, the system
                                   -- will return OpInprogress.
            opfailure         (2), -- If the operation is failure, the system
                                   -- will return Opfailure.
            opsuccess         (3), -- If the operation is success, the system
                                   -- will return Opsuccess.
            opsuccesspartial  (4)  -- If the operation is success partially,
                                   -- the system will return Opsuccesspartial.
        }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The status of operation."
        ::= { hwDot1qVlanBatchMIBEntry 4 }

    hwdot1qVlanBatchRowStatus OBJECT-TYPE
        SYNTAX  RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "The row status of HwDot1qVlanBatchMIBEntry."
        ::= { hwDot1qVlanBatchMIBEntry 5 }

    hwdot1qVlanBatchSetOperate OBJECT-TYPE
         SYNTAX  INTEGER
         {
            create(1),
            delete(2)
         }
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "VLAN batch creation or deletion."
        ::= { hwDot1qVlanBatchMIBEntry 6 }

    hwifSuperVlanMappingTable OBJECT-TYPE
        SYNTAX SEQUENCE OF HwifSuperVlanMappingEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Sub VLAN lists of super-VLANs."
        ::= { hwLswVlanMngObject  7 }

    hwifSuperVlanMappingEntry OBJECT-TYPE
        SYNTAX HwifSuperVlanMappingEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Sub VLAN lists of super-VLANs."
        INDEX   { hwifSuperVlanID }
        ::= { hwifSuperVlanMappingTable 1}

    HwifSuperVlanMappingEntry   ::=
    SEQUENCE {
        hwifSuperVlanID  HwVlanIndex,
        hwifSubVlanlistLow   OCTET STRING,
        hwifSubVlanlistHigh  OCTET STRING
        }

    hwifSuperVlanID OBJECT-TYPE
        SYNTAX  HwVlanIndex
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Super VLAN ID."
        ::= { hwifSuperVlanMappingEntry 1 }

    hwifSubVlanlistLow OBJECT-TYPE
        SYNTAX  OCTET STRING(SIZE(0..256))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Each octet within this value specifies a set of eight
            VLANs, with the first octet specifying VLANs 1 through
            8, the second octet specifying VLANs 9 through 16, etc.
            Within each octet, the most significant bit represents
            the highest numbered VLAN, and the least significant bit
            represents the lowest numbered VLAN. Thus, each sub
            VLAN of the super VLAN is represented by a single bit
            within the value of this object. If that bit has a value
            of '1' then that VLAN is a sub VLAN of the super VLAN; the
            VLAN is not a sub VLAN of the super VLAN if its bit has
            a value of '0'."
        ::= { hwifSuperVlanMappingEntry 2 }

    hwifSubVlanlistHigh OBJECT-TYPE
        SYNTAX  OCTET STRING(SIZE(0..256))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Each octet within this value specifies a set of eight
            VLANs, with the first octet specifying VLANs 2049 through
            2056, the second octet specifying VLANs 2057 through 2064,
            etc. Within each octet, the most significant bit represents
            the highest numbered VLAN, and the least significant bit
            represents the lowest numbered VLAN. Thus, each sub
            VLAN of the super VLAN is represented by a single bit
            within the value of this object. If that bit has a value of
            '1' then that VLAN is a sub VLAN of the super VLAN; the
            VLAN is not a sub VLAN of the super VLAN if its bit has
            a value of '0'."
        ::= { hwifSuperVlanMappingEntry 3 }

    hwLswVlanProtoObject OBJECT-IDENTITY
            STATUS current
            DESCRIPTION
                "Description."
            ::= { hwLswVlan 2 }

     hwVLANMibGarpLeaveAllTime OBJECT-TYPE
        SYNTAX      TimeInterval
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The GARP LeaveAll time, in centiseconds."
        DEFVAL      { 1000 }
        ::= { hwLswVlanProtoObject 14 }

     hwvLANMibSwitchCountTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF HwVLANMibSwitchCountEntry
        MAX-ACCESS not-accessible
        STATUS   current
        DESCRIPTION
            "A table containing the information various statistics of switch."
        ::= {hwLswVlanProtoObject 15 }


     hwvLANMibSwitchCountEntry OBJECT-TYPE
        SYNTAX  HwVLANMibSwitchCountEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A table containing the information various statistics of switch."
        AUGMENTS    {hwifVLANTrunkStatusEntry  }
        ::= {hwvLANMibSwitchCountTable 1}

    HwVLANMibSwitchCountEntry   ::=
    SEQUENCE {
        hwVLANMibSwitchGMRPRXPkt    Counter32,
        hwVLANMibSwitchGVRPRXPkt    Counter32,
        hwVLANMibSwitchGMRPTXPkt    Counter32,
        hwVLANMibSwitchGVRPTXPkt    Counter32,
        hwVLANMibSwitchDiscardedPkt Counter32,
        hwVLANMibSwitchGarpStatClear INTEGER
        }



     hwVLANMibSwitchGMRPRXPkt OBJECT-TYPE
        SYNTAX  Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Number of GMRP frames received."
        ::= { hwvLANMibSwitchCountEntry 1 }


     hwVLANMibSwitchGVRPRXPkt OBJECT-TYPE
        SYNTAX  Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Number of GVRP frames received."
        ::= { hwvLANMibSwitchCountEntry 2 }


     hwVLANMibSwitchGMRPTXPkt OBJECT-TYPE
        SYNTAX  Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Number of GMRP frames transmitted."
        ::= { hwvLANMibSwitchCountEntry 3 }


     hwVLANMibSwitchGVRPTXPkt  OBJECT-TYPE
         SYNTAX  Counter32
         MAX-ACCESS read-only
         STATUS current
        DESCRIPTION
            "Number of GVRP frames transmitted."
         ::= { hwvLANMibSwitchCountEntry 4 }

     hwVLANMibSwitchDiscardedPkt  OBJECT-TYPE
         SYNTAX  Counter32
         MAX-ACCESS read-only
         STATUS current
        DESCRIPTION
            "Number of discarded frames."
         ::= { hwvLANMibSwitchCountEntry 5 }


     hwVLANMibSwitchGarpStatClear OBJECT-TYPE
        SYNTAX  INTEGER {clear(1)}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Clear various Statistics viz. read operation not supported."
        ::= { hwvLANMibSwitchCountEntry 6 }


     hwvLANMibHoldTimeTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF HwVLANMibHoldTimeEntry
        MAX-ACCESS not-accessible
        STATUS   current
        DESCRIPTION
            "A table for setting/getting the Hold Time for a particular port."
        ::= {hwLswVlanProtoObject 16 }


     hwvLANMibHoldTimeEntry OBJECT-TYPE
        SYNTAX HwVLANMibHoldTimeEntry
        MAX-ACCESS not-accessible
        STATUS   current
        DESCRIPTION
            "A table for setting/getting the HoldTime of the port."
         AUGMENTS    { ifEntry }
        ::= {hwvLANMibHoldTimeTable 1 }


    HwVLANMibHoldTimeEntry  ::=
    SEQUENCE {
        hwVLANMibHoldTime   INTEGER
        }


     hwVLANMibHoldTime OBJECT-TYPE
        SYNTAX  INTEGER  (10..32765)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "HoldTime of the port."
        DEFVAL  {10}
        ::= { hwvLANMibHoldTimeEntry 1 }


END
