-- ==================================================================
-- Copyright (c) 2010-2013 Hewlett-Packard Development Company, L.P.
--
-- Description:
-- Reference:
-- Version: V1.3
-- History:
-- V1.0 Created by luoqiang01280, 2004.06.08
-- V1.1 2004-10-12 updated by gaolong
--      Import TEXTUAL-CONVENTION.
-- V1.2 2004-12-7 add hpnicfvoiceVlanPortTable by liaoyuxia.
-- V1.3 2009-5-15 add hpnicfVoiceVlanPortLegacy and hpnicfVoiceVlanPortQosTrust
--                by zhangqingjun.
-- ==================================================================
-- ==================================================================
--
-- Varibles and types be imported
--
-- ==================================================================
HPN-ICF-VOICE-VLAN-MIB DEFINITIONS ::= BEGIN

IMPORTS
    hpnicfCommon
        FROM HPN-ICF-OID-MIB
    RowStatus, TruthValue, MacAddress, TEXTUAL-CONVENTION
        FROM SNMPv2-TC
    MODULE-IDENTITY, OBJECT-TYPE, Integer32
        FROM SNMPv2-SMI
    SnmpAdminString
        FROM SNMP-FRAMEWORK-MIB;

    hpnicfVoiceVlan MODULE-IDENTITY

    LAST-UPDATED     "200905150000Z"        -- May 15, 2009 at 00:00 GMT
    ORGANIZATION
        ""
    CONTACT-INFO
        ""
    DESCRIPTION
            "This MIB contains objects to manage the voice vlan operations, which is used on
            lanswitch products. "
    REVISION "200905150000Z"
    DESCRIPTION
        "To fix bugs in the MIB file."
    REVISION "200207010000Z"
    DESCRIPTION
    "The initial revision of this MIB module."
        ::= { hpnicfCommon 9 }

-- =============================================================
-- Textual Conventions
-- =============================================================

PortList ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "Each octet within this value specifies a set of eight
        ports, with the first octet specifying ports 1 through
        8, the second octet specifying ports 9 through 16, etc.
        Within each octet, the most significant bit represents
        the lowest numbered port, and the least significant bit
        represents the highest numbered port.  Thus, each port
        of the bridge is represented by a single bit within the
        value of this object.  If that bit has a value of '1'
        then that port is included in the set of ports; the port
        is not included if its bit has a value of '0'."
    SYNTAX      OCTET STRING

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

    hpnicfvoiceVlanOuiTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF HpnicfVoiceVlanOuiEntry
        MAX-ACCESS not-accessible
        STATUS   current
        DESCRIPTION " A table containing the mac address which can be identified by voice vlan "
        ::= { hpnicfVoiceVlan  1  }

    hpnicfvoiceVlanOuiEntry OBJECT-TYPE
        SYNTAX  HpnicfVoiceVlanOuiEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION " A table containing the mac address which can be identified by voice vlan "
                INDEX   { hpnicfVoiceVlanOuiAddress }
                ::= {hpnicfvoiceVlanOuiTable 1}

    HpnicfVoiceVlanOuiEntry    ::=
    SEQUENCE {
        hpnicfVoiceVlanOuiAddress    MacAddress  ,
        hpnicfVoiceVlanOuiMask    MacAddress  ,
        hpnicfVoiceVlanOuiDescription    OCTET STRING  ,
        hpnicfVoiceVlanOuiRowStatus      RowStatus
        }

    hpnicfVoiceVlanOuiAddress OBJECT-TYPE
        SYNTAX  MacAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION " Mac address can be identified by voice vlan "
        ::= { hpnicfvoiceVlanOuiEntry 1 }

    hpnicfVoiceVlanOuiMask OBJECT-TYPE
        SYNTAX  MacAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION " The mask of mac address "
        ::= { hpnicfvoiceVlanOuiEntry 2 }

    hpnicfVoiceVlanOuiDescription OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE(0..30))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION " The description of oui "
        ::= { hpnicfvoiceVlanOuiEntry 3 }

    hpnicfVoiceVlanOuiRowStatus OBJECT-TYPE
        SYNTAX  RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION " Current operation status of the row  "
        ::= { hpnicfvoiceVlanOuiEntry 4 }

    hpnicfVoiceVlanEnabledId  OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION " Voice vlan enable status: enabled (2..4095), disabled (0xffffffff) "
        ::= { hpnicfVoiceVlan 2 }

    hpnicfVoiceVlanPortEnableList  OBJECT-TYPE
        SYNTAX  PortList
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION " Portlist of voice vlan enabled ports "
        ::= { hpnicfVoiceVlan 3 }

    hpnicfVoiceVlanAgingTime  OBJECT-TYPE
        SYNTAX  INTEGER (5..43200)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION " Voice vlan aging time, the unit of which is minute"
        DEFVAL { 1440 }
        ::= { hpnicfVoiceVlan  4 }

    hpnicfVoiceVlanConfigState  OBJECT-TYPE
        SYNTAX  INTEGER
        {
        auto (1),
        manual (2)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION " Voice vlan configuration mode status "
        ::= { hpnicfVoiceVlan 5 }

    hpnicfVoiceVlanSecurityState  OBJECT-TYPE
        SYNTAX  INTEGER
        {
        security (1),
        normal (2)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION " Voice vlan security mode status "
        ::= { hpnicfVoiceVlan 6 }

    hpnicfvoiceVlanPortTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF HpnicfVoiceVlanPortEntry
        MAX-ACCESS not-accessible
        STATUS   current
        DESCRIPTION " A list of voice vlan mode entries."
        ::= { hpnicfVoiceVlan  7  }

    hpnicfvoiceVlanPortEntry OBJECT-TYPE
        SYNTAX  HpnicfVoiceVlanPortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION " An entry containing voice vlan mode information,
            which is applicable to a voice vlan enabled interface."
        INDEX   { hpnicfVoiceVlanPortifIndex }
        ::= {hpnicfvoiceVlanPortTable 1}

    HpnicfVoiceVlanPortEntry ::=
        SEQUENCE {
            hpnicfVoiceVlanPortifIndex    Integer32,
            hpnicfVoiceVlanPortMode       INTEGER,
            hpnicfVoiceVlanPortLegacy     TruthValue,
            hpnicfVoiceVlanPortQosTrust   TruthValue
        }

    hpnicfVoiceVlanPortifIndex OBJECT-TYPE
        SYNTAX Integer32(1..2147483647)
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION " The index of interface on which voice vlan function
            is enabled."
        REFERENCE "ifIndex in RFC1213"
    ::= { hpnicfvoiceVlanPortEntry 1 }

    hpnicfVoiceVlanPortMode OBJECT-TYPE
        SYNTAX  INTEGER
            {
            auto (1),
            manual (2)
            }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION " Voice vlan configuration mode status, which is
            applicable to a voice vlan enabled interface."
        ::= { hpnicfvoiceVlanPortEntry 2 }

    hpnicfVoiceVlanPortLegacy OBJECT-TYPE
        SYNTAX  TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION " Voice vlan configuration legacy status, which is
            applicable to a voice vlan enabled interface."
        ::= { hpnicfvoiceVlanPortEntry 3 }

    hpnicfVoiceVlanPortQosTrust OBJECT-TYPE
        SYNTAX  TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION " Voice vlan configuration qos trust status, which is
            applicable to a voice vlan enabled interface."
        ::= { hpnicfvoiceVlanPortEntry 4 }
END
