-- ==================================================================
-- Copyright (c) 2010-2013 Hewlett-Packard Development Company, L.P.
--
-- Description: Lan Switch VLAN MIB
-- Reference:
-- Version: V2.1
-- History:
-- (1) Created by Zhangshilin, 2001.06.29
-- (2) Revised by Qi Zhenglin, 2002.01.08
--   V1.1 2004-09-08 modify STATUS of hpnicfLswVlanProtoObject 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 hpnicfLswVlan MODULE-IDENTITY.
--        Change MAX-ACCESS clause value of hpnicfVLANMibSwitchGarpStatClear to read-write.
--   V1.4 2004-12-28 modified by jiaoyi
--          Add hpnicfdot1qVlanMulticast in hpnicfdot1qVlanMIBTable
--        2005-01-22 update by wangyingxia
--          Add all objects of hpnicfLswVlanMngObject from HPN-ICF-LswINF-MIB into this MIB
--          Add TruthValue, RowStatus, TimeTicks, IpAddress, SnmpAdminString, VlanIndex, PortList
--          Remove InterfaceIndex and import it from HPN-ICF-LswINF-MIB
--   V1.5 2005-01-22
--        Add superVlan to hpnicfdot1qVlanType by sunqiang
--   V1.6 2005-05-18
--        Add hpnicfDot1qVlanBatchMIBTable by lipei
--   V1.7 2005-08-08
--        Add HpnicfVlanIndex and modified all VlanIndex to HpnicfVlanIndex by longyin
--   V1.8 2006-02-14
--        Modify description of hpnicfVlanInterfaceID, hpnicfifIsolateSecondaryVlanlistLow
--        and hpnicfifIsolateSecondaryVlanlistHigh by wangyong
--        Adjust the format of the file by wangyong
--        Add the object hpnicfdot1qVlanTaggedPorts, hpnicfdot1qVlanUntaggedPorts by jiliyan
--        Add hpnicfifSuperVlanMappingTable, hpnicfifSuperVlanMappingEntry, hpnicfifSuperVlanID,
--        hpnicfifSubVlanlistLow, hpnicfifSubVlanlistHigh by hejunwei
--        Add hpnicfdot1qVlanBatchSetOperate, change the description of
--        hpnicfDot1qVlanBatchMIBTable and hpnicfDot1qVlanBatchMIBEntry by hejunwei
--   V1.9 2007-12-18 Add enmu 'vrrp' for hpnicfVlanInterfaceIpType by Zhangyinfei
--   V2.0 2010-01-18 Add hpnicfdot1qVlanPortIndexs and hpnicfVlanInterfaceIfIndex by duyanbing
--   V2.1 2012-06-11 Modify hpnicfVlanInterfaceIpAddr, hpnicfVlanInterfaceIpMask and hpnicfVlanInterfaceIpType by liuxibo
--        2012-08-13
--        Add hpnicfPrivateVlanMappingTable by chenkaiping
--        Add primaryVlan for hpnicfdot1qVlanType by xiedong
-- ==================================================================
HPN-ICF-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
    hpnicflswCommon
        FROM HPN-ICF-OID-MIB
    ifEntry
        FROM RFC1213-MIB
    hpnicfifVLANTrunkStatusEntry, PortList
        FROM HPN-ICF-LswINF-MIB;

    hpnicfLswVlan MODULE-IDENTITY
            LAST-UPDATED "200112261452Z"
            ORGANIZATION
                ""
            CONTACT-INFO
                ""
            DESCRIPTION ""
            ::= { hpnicflswCommon 2 }

    HpnicfVlanIndex ::= 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 =========================
--
-- ==================================================================

    hpnicfLswVlanMngObject OBJECT-IDENTITY
            STATUS current
            DESCRIPTION
                "Description."
            ::= { hpnicfLswVlan 1 }

    hpnicfdot1qVlanMIBTable OBJECT-TYPE
        SYNTAX SEQUENCE OF HpnicfDot1qVlanMIBEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "VLAN MIB table"
        ::= { hpnicfLswVlanMngObject  1 }


    hpnicfdot1qVlanMIBEntry OBJECT-TYPE
        SYNTAX HpnicfDot1qVlanMIBEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Entries of VLAN MIB table"
        INDEX   { hpnicfdot1qVlanIndex }
        ::= { hpnicfdot1qVlanMIBTable 1}

    HpnicfDot1qVlanMIBEntry ::=
    SEQUENCE {
        hpnicfdot1qVlanIndex    HpnicfVlanIndex,
        hpnicfdot1qVlanName     SnmpAdminString,
        hpnicfdot1qVlanPorts    PortList,
        hpnicfdot1qVlanType     INTEGER,
        hpnicfdot1qVlanMacFilter    TruthValue,
        hpnicfdot1qVlanMcastUnknownProtos   TruthValue,
        hpnicfExistInterface    TruthValue,
        hpnicfVlanInterfaceIndex    INTEGER,
        hpnicfdot1qVlanMacLearn TruthValue,
        hpnicfdot1qVlanStatus   INTEGER,
        hpnicfdot1qVlanCreationTime TimeTicks,
        hpnicfdot1qVlanPriority INTEGER,
        hpnicfdot1qVlanRowStatus    RowStatus,
        hpnicfdot1qVlanBroadcastSuppression INTEGER,
        hpnicfdot1qVlanBcastSuppressionPPS   INTEGER,
        hpnicfdot1qVlanMulticast INTEGER,
        hpnicfdot1qVlanTaggedPorts    PortList,
        hpnicfdot1qVlanUntaggedPorts    PortList,
        hpnicfdot1qVlanPortIndexs    OCTET STRING
        }



    hpnicfdot1qVlanIndex OBJECT-TYPE
        SYNTAX  HpnicfVlanIndex
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The VLAN-ID."
        ::= { hpnicfdot1qVlanMIBEntry 1 }


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


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


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


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


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


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


    hpnicfVlanInterfaceIndex 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."
        ::= { hpnicfdot1qVlanMIBEntry 8 }


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


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


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


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


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

    hpnicfdot1qVlanBroadcastSuppression  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 }
        ::= { hpnicfdot1qVlanMIBEntry 14 }

    hpnicfdot1qVlanBcastSuppressionPPS   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 hpnicfdot1qVlanBroadcastSuppression. If the mode is set,
            hpnicfdot1qVlanBroadcastSuppression is unavailable. And vice versa."
        ::= { hpnicfdot1qVlanMIBEntry 15 }

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

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

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

    hpnicfdot1qVlanPortIndexs 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."
        ::= { hpnicfdot1qVlanMIBEntry 19 }

    hpnicfVlanInterfaceTable OBJECT-TYPE
        SYNTAX SEQUENCE OF HpnicfVlanInterfaceEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Virtual interface configuration table"
        ::= { hpnicfLswVlanMngObject  2}


    hpnicfVlanInterfaceEntry OBJECT-TYPE
        SYNTAX HpnicfVlanInterfaceEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Entries of virtual interface configuration table"
        INDEX   { hpnicfVlanInterfaceID }
        ::= {hpnicfVlanInterfaceTable 1}

    HpnicfVlanInterfaceEntry    ::=
    SEQUENCE {
        hpnicfVlanInterfaceID       INTEGER,
        hpnicfdot1qVlanID       HpnicfVlanIndex,
        hpnicfdot1qVlanIpAddress        IpAddress,
        hpnicfdot1qVlanIpAddressMask    IpAddress,
        hpnicfVlanInterfaceAdminStatus  INTEGER,
        hpnicfVlanInterfaceFrameType    INTEGER,
        hpnicfInterfaceRowStatus        RowStatus,
        hpnicfVlanInterfaceIpMethod     INTEGER,
        hpnicfVlanInterfaceIfIndex      INTEGER
        }

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


    hpnicfdot1qVlanID OBJECT-TYPE
        SYNTAX  HpnicfVlanIndex
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "VLAN-ID"
        ::= { hpnicfVlanInterfaceEntry 2 }


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


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

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

    hpnicfVlanInterfaceFrameType 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."
        ::= { hpnicfVlanInterfaceEntry 6 }


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


    hpnicfVlanInterfaceIpMethod 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."
        ::= { hpnicfVlanInterfaceEntry 8 }

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

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


    hpnicfifIsolateMappingEntry OBJECT-TYPE
        SYNTAX HpnicfifIsolateMappingEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
             "Secondary vlan lists of Isolate-VLANs."
        INDEX   { hpnicfifIsolatePrimaryVlanID }
        ::= { hpnicfifIsolateMappingTable 1}

    HpnicfifIsolateMappingEntry   ::=
    SEQUENCE {
        hpnicfifIsolatePrimaryVlanID  HpnicfVlanIndex,
        hpnicfifIsolateSecondaryVlanlistLow   OCTET STRING,
        hpnicfifIsolateSecondaryVlanlistHigh OCTET STRING
        }

    hpnicfifIsolatePrimaryVlanID OBJECT-TYPE
        SYNTAX  HpnicfVlanIndex
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Primary VLAN-ID."
        ::= { hpnicfifIsolateMappingEntry 1 }


    hpnicfifIsolateSecondaryVlanlistLow 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'."
        ::= { hpnicfifIsolateMappingEntry 2 }

    hpnicfifIsolateSecondaryVlanlistHigh 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'."
        ::= { hpnicfifIsolateMappingEntry 3 }

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

    hpnicfVlanInterfaceAddrEntry OBJECT-TYPE
        SYNTAX HpnicfVlanInterfaceAddrEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Entries of VLAN interface IP address configuration table"
        INDEX   { hpnicfVlanInterfaceIpIfIndex, hpnicfVlanInterfaceIpAddr }
        ::= { hpnicfVlanInterfaceAddrTable 1 }

    HpnicfVlanInterfaceAddrEntry ::=
    SEQUENCE {
        hpnicfVlanInterfaceIpIfIndex     INTEGER,
        hpnicfVlanInterfaceIpAddr        IpAddress,
        hpnicfVlanInterfaceIpMask        IpAddress,
        hpnicfVlanInterfaceIpType        INTEGER,
        hpnicfVlanInterfaceIpRowStatus   RowStatus
        }

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

    hpnicfVlanInterfaceIpAddr OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "IP address of VLAN interface."
        ::= { hpnicfVlanInterfaceAddrEntry 2 }

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

    hpnicfVlanInterfaceIpType OBJECT-TYPE
        SYNTAX  INTEGER
        {
        primary     (1),
        sub         (2),
        cluster     (3),
        vrrp        (4)
        }
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "IP address type."
        ::= { hpnicfVlanInterfaceAddrEntry 4 }

    hpnicfVlanInterfaceIpRowStatus 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."
        ::= { hpnicfVlanInterfaceAddrEntry 5 }


    hpnicfDot1qVlanBatchMIBTable  OBJECT-TYPE
        SYNTAX SEQUENCE OF HpnicfDot1qVlanBatchMIBEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "VLAN batch configuration table.
            In the case of VLAN batch creation, hpnicfdot1qVlanBatchSetOperate 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:
            hpnicfdot1qVlanBatchStartIndex 2,
            hpnicfdot1qVlanBatchEndIndex 4,
            hpnicfdot1qVlanBatchSetOperate create(1),
            hpnicfdot1qVlanBatchRowStatus createAndGo(4).

            In the case of VLAN batch deletion, hpnicfdot1qVlanBatchSetOperate 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:
            hpnicfdot1qVlanBatchStartIndex 10,
            hpnicfdot1qVlanBatchEndIndex 20,
            hpnicfdot1qVlanBatchSetOperate delete(2),
            hpnicfdot1qVlanBatchRowStatus 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."
        ::= { hpnicfLswVlanMngObject  6 }

    hpnicfDot1qVlanBatchMIBEntry OBJECT-TYPE
        SYNTAX HpnicfDot1qVlanBatchMIBEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "VLAN batch configuration entry."
        INDEX   { hpnicfdot1qVlanBatchOperIndex }
        ::= { hpnicfDot1qVlanBatchMIBTable 1}

    HpnicfDot1qVlanBatchMIBEntry ::=
        SEQUENCE {
            hpnicfdot1qVlanBatchOperIndex
                Integer32,
            hpnicfdot1qVlanBatchStartIndex
                HpnicfVlanIndex,
            hpnicfdot1qVlanBatchEndIndex
                HpnicfVlanIndex,
            hpnicfdot1qVlanBatchOperStatus
                INTEGER,
            hpnicfdot1qVlanBatchRowStatus
                RowStatus,
            hpnicfdot1qVlanBatchSetOperate
                INTEGER
        }

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

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

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

    hpnicfdot1qVlanBatchOperStatus 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."
        ::= { hpnicfDot1qVlanBatchMIBEntry 4 }

    hpnicfdot1qVlanBatchRowStatus OBJECT-TYPE
        SYNTAX  RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "The row status of HpnicfDot1qVlanBatchMIBEntry."
        ::= { hpnicfDot1qVlanBatchMIBEntry 5 }

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

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

    hpnicfifSuperVlanMappingEntry OBJECT-TYPE
        SYNTAX HpnicfifSuperVlanMappingEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Sub VLAN lists of super-VLANs."
        INDEX   { hpnicfifSuperVlanID }
        ::= { hpnicfifSuperVlanMappingTable 1}

    HpnicfifSuperVlanMappingEntry   ::=
    SEQUENCE {
        hpnicfifSuperVlanID  HpnicfVlanIndex,
        hpnicfifSubVlanlistLow   OCTET STRING,
        hpnicfifSubVlanlistHigh  OCTET STRING
        }

    hpnicfifSuperVlanID OBJECT-TYPE
        SYNTAX  HpnicfVlanIndex
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Super VLAN ID."
        ::= { hpnicfifSuperVlanMappingEntry 1 }

    hpnicfifSubVlanlistLow 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'."
        ::= { hpnicfifSuperVlanMappingEntry 2 }

    hpnicfifSubVlanlistHigh 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'."
        ::= { hpnicfifSuperVlanMappingEntry 3 }

    hpnicfPrivateVlanMappingTable OBJECT-TYPE
        SYNTAX SEQUENCE OF HpnicfPrivateVlanMappingEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Secondary vlan lists of Primary-VLANs."
        ::= { hpnicfLswVlanMngObject  8 }

    hpnicfPrivateVlanMappingEntry OBJECT-TYPE
        SYNTAX HpnicfPrivateVlanMappingEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
             "Secondary vlan lists of Primary-VLANs."
        INDEX   { hpnicfPrimaryVlanID }
        ::= { hpnicfPrivateVlanMappingTable 1}

    HpnicfPrivateVlanMappingEntry   ::=
    SEQUENCE {
        hpnicfPrimaryVlanID  HpnicfVlanIndex,
        hpnicfSecondaryVlanlistLow   OCTET STRING,
        hpnicfSecondaryVlanlistHigh OCTET STRING
        }

    hpnicfPrimaryVlanID OBJECT-TYPE
        SYNTAX  HpnicfVlanIndex
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Primary VLAN-ID."
        ::= { hpnicfPrivateVlanMappingEntry 1 }

    hpnicfSecondaryVlanlistLow 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'."
        ::= { hpnicfPrivateVlanMappingEntry 2 }

    hpnicfSecondaryVlanlistHigh 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'."
        ::= { hpnicfPrivateVlanMappingEntry 3 }

    hpnicfLswVlanProtoObject OBJECT-IDENTITY
            STATUS current
            DESCRIPTION
                "Description."
            ::= { hpnicfLswVlan 2 }

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

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


     hpnicfvLANMibSwitchCountEntry OBJECT-TYPE
        SYNTAX  HpnicfVLANMibSwitchCountEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A table containing the information various statistics of switch."
        AUGMENTS    {hpnicfifVLANTrunkStatusEntry  }
        ::= {hpnicfvLANMibSwitchCountTable 1}

    HpnicfVLANMibSwitchCountEntry   ::=
    SEQUENCE {
        hpnicfVLANMibSwitchGMRPRXPkt    Counter32,
        hpnicfVLANMibSwitchGVRPRXPkt    Counter32,
        hpnicfVLANMibSwitchGMRPTXPkt    Counter32,
        hpnicfVLANMibSwitchGVRPTXPkt    Counter32,
        hpnicfVLANMibSwitchDiscardedPkt Counter32,
        hpnicfVLANMibSwitchGarpStatClear INTEGER
        }



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


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


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


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

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


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


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


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


    HpnicfVLANMibHoldTimeEntry  ::=
    SEQUENCE {
        hpnicfVLANMibHoldTime   INTEGER
        }


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


END
