-- ============================================================================
-- Copyright (c) 2010-2013 Hewlett-Packard Development Company, L.P.
--
-- Description: 802.1 VLAN Mapping MIB Version 1
-- Reference:
-- Version: V1.0
-- History:
-- V1.0 Initial version Created by XiaoRen Yang, 2013.3.8
-- ==================================================================
HPN-ICF-VMAP-MIB DEFINITIONS ::= BEGIN
IMPORTS
    RowStatus, TruthValue
        FROM SNMPv2-TC
    MODULE-IDENTITY, OBJECT-TYPE, Integer32
        FROM SNMPv2-SMI
    ifIndex
        FROM IF-MIB
    hpnicfCommon
        FROM HPN-ICF-OID-MIB;

-- ==================================================================
--
-- module identity part
--
-- ==================================================================
hpnicfVmap MODULE-IDENTITY
    LAST-UPDATED
        "201303080000Z"
    ORGANIZATION
        ""
    CONTACT-INFO
        ""
    DESCRIPTION
        "H3C 802.1 VLAN Mapping MIB Version"
    REVISION
        "201303080000Z"
    DESCRIPTION
        "The initial version of this MIB."
    ::= { hpnicfCommon 138 }

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

hpnicfVMAPNNITable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF HpnicfVMAPNNIEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "VLAN mapping NNI table."
    ::= { hpnicfVmap 1 }

hpnicfVMAPNNIEntry OBJECT-TYPE
    SYNTAX      HpnicfVMAPNNIEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "VLAN mapping NNI table entries."
    INDEX { ifIndex }
    ::= { hpnicfVMAPNNITable 1 }

HpnicfVMAPNNIEntry ::=
    SEQUENCE
    {
        hpnicfVMAPNNIState    TruthValue
    }

hpnicfVMAPNNIState    OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Set the network-side interface for a many-to-one VLAN mapping."
    ::= { hpnicfVMAPNNIEntry 1 }

hpnicfVMAP1to1Table  OBJECT-TYPE
    SYNTAX      SEQUENCE OF HpnicfVMAP1to1Entry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "One-to-one VLAN mapping table."
    ::= { hpnicfVmap 2 }

hpnicfVMAP1to1Entry OBJECT-TYPE
    SYNTAX     HpnicfVMAP1to1Entry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "One-to-one VLAN mapping table entries."
    INDEX { ifIndex, hpnicfVMAP1to1Vlan }
    ::= { hpnicfVMAP1to1Table 1 }

HpnicfVMAP1to1Entry ::=
    SEQUENCE
    {
        hpnicfVMAP1to1Vlan             Integer32,
        hpnicfVMAP1to1TranslatedVlan   Integer32,
        hpnicfVMAP1to1RowStatus        RowStatus
    }

hpnicfVMAP1to1Vlan    OBJECT-TYPE
    SYNTAX      Integer32 (1..65535)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The original VLAN for a one-to-one VLAN mapping on the port."
    ::= { hpnicfVMAP1to1Entry 1 }

hpnicfVMAP1to1TranslatedVlan    OBJECT-TYPE
    SYNTAX      Integer32 (1..65535)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The translated VLAN for a one-to-one VLAN mapping on the port."
    ::= { hpnicfVMAP1to1Entry 2 }

hpnicfVMAP1to1RowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Operation status of this table entry."
    ::= { hpnicfVMAP1to1Entry 3 }

hpnicfVMAPNto1RangeTable    OBJECT-TYPE
    SYNTAX      SEQUENCE OF HpnicfVMAPNto1RangeEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Many-to-one VLAN mapping table.  The original VLANs of each entry
         should be a range of VLANs (for example, VLAN 20 to 30)."
    ::= { hpnicfVmap 3 }

hpnicfVMAPNto1RangeEntry OBJECT-TYPE
    SYNTAX     HpnicfVMAPNto1RangeEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "Many-to-one VLAN mapping table entries.  The original VLANs of each
         entry should be a range of VLANs (for example, VLAN 20 to 30)."
    INDEX { ifIndex, hpnicfVMAPNto1StartVlan }
    ::= { hpnicfVMAPNto1RangeTable 1 }

HpnicfVMAPNto1RangeEntry ::=
    SEQUENCE
    {
        hpnicfVMAPNto1StartVlan              Integer32,
        hpnicfVMAPNto1EndVlan                Integer32,
        hpnicfVMAPNto1RangeTranslatedVlan    Integer32,
        hpnicfVMAPNto1RangeRowStatus         RowStatus
    }

hpnicfVMAPNto1StartVlan   OBJECT-TYPE
    SYNTAX      Integer32 (1..65535)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The original start VLAN for a many-to-one VLAN mapping on the port."
    ::= { hpnicfVMAPNto1RangeEntry 1 }

hpnicfVMAPNto1EndVlan   OBJECT-TYPE
    SYNTAX      Integer32 (1..65535)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The original end VLAN for a many-to-one VLAN mapping on the port."
    ::= { hpnicfVMAPNto1RangeEntry 2 }

hpnicfVMAPNto1RangeTranslatedVlan    OBJECT-TYPE
    SYNTAX      Integer32 (1..65535)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The translated VLAN for a many-to-one VLAN mapping on the port."
    ::= { hpnicfVMAPNto1RangeEntry 3 }

hpnicfVMAPNto1RangeRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Operation status of this table entry."
    ::= { hpnicfVMAPNto1RangeEntry 4 }

hpnicfVMAPNto1SingleTable    OBJECT-TYPE
    SYNTAX      SEQUENCE OF HpnicfVMAPNto1SingleEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Many-to-one VLAN mapping table.  The original VLANs of each entry
         should be a group of VLANs listed one by
         one (for example, VLAN 30, 31, 32)."
    ::= { hpnicfVmap 4 }

hpnicfVMAPNto1SingleEntry OBJECT-TYPE
    SYNTAX     HpnicfVMAPNto1SingleEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "Many-to-one VLAN mapping table entries.  The original VLANs of each
         entry should be a group of VLANs listed one by
         one (for example, VLAN 30, 31, 32)."
    INDEX { ifIndex, hpnicfVMAPNto1Vlan }
    ::= { hpnicfVMAPNto1SingleTable 1 }

HpnicfVMAPNto1SingleEntry ::=
    SEQUENCE
    {
        hpnicfVMAPNto1Vlan                    Integer32,
        hpnicfVMAPNto1SingleTranslatedVlan    Integer32,
        hpnicfVMAPNto1SingleRowStatus         RowStatus
    }

hpnicfVMAPNto1Vlan   OBJECT-TYPE
    SYNTAX      Integer32 (1..65535)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The original VLANs for a many-to-one VLAN mapping on the port."
    ::= { hpnicfVMAPNto1SingleEntry 1 }

hpnicfVMAPNto1SingleTranslatedVlan    OBJECT-TYPE
    SYNTAX      Integer32 (1..65535)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The translated VLAN for a many-to-one VLAN mapping on the port."
    ::= { hpnicfVMAPNto1SingleEntry 2 }

hpnicfVMAPNto1SingleRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Operation status of this table entry."
    ::= { hpnicfVMAPNto1SingleEntry 3 }

hpnicfVMAP1to2RangeTable    OBJECT-TYPE
    SYNTAX      SEQUENCE OF HpnicfVMAP1to2RangeEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "One-to-two VLAN mapping table.  The original VLANs of each entry
         should be a range of VLANs (for example, VLAN 20 to 30)."
    ::= { hpnicfVmap 5 }

hpnicfVMAP1to2RangeEntry OBJECT-TYPE
    SYNTAX      HpnicfVMAP1to2RangeEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "One-to-two VLAN mapping table entries.  The original VLANs of
         each entry should be a range of VLANs (for example, VLAN 20 to 30)."
    INDEX { ifIndex, hpnicfVMAP1to2StartVlan }
    ::= { hpnicfVMAP1to2RangeTable 1 }

HpnicfVMAP1to2RangeEntry ::=
    SEQUENCE
    {
        hpnicfVMAP1to2StartVlan          Integer32,
        hpnicfVMAP1to2EndVlan            Integer32,
        hpnicfVMAP1to2RangeNestedVlan    Integer32,
        hpnicfVMAP1to2RangeRowStatus     RowStatus
    }

hpnicfVMAP1to2StartVlan    OBJECT-TYPE
    SYNTAX      Integer32 (1..65535)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The original start VLAN for a one-to-two VLAN mapping on the port."
    ::= { hpnicfVMAP1to2RangeEntry 1 }

hpnicfVMAP1to2EndVlan    OBJECT-TYPE
    SYNTAX      Integer32 (1..65535)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The original end VLAN for a one-to-two VLAN mapping on the port."
    ::= { hpnicfVMAP1to2RangeEntry 2 }

hpnicfVMAP1to2RangeNestedVlan    OBJECT-TYPE
    SYNTAX      Integer32 (1..65535)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The outer VLAN for a one-to-two VLAN mapping on the port."
    ::= { hpnicfVMAP1to2RangeEntry 3 }

hpnicfVMAP1to2RangeRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Operation status of this table entry."
    ::= { hpnicfVMAP1to2RangeEntry 4 }

hpnicfVMAP1to2SingleTable    OBJECT-TYPE
    SYNTAX      SEQUENCE OF HpnicfVMAP1to2SingleEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "One-to-two VLAN mapping table.  The original VLANs of each entry should
         be a group of VLANs listed one by one (for example, VLAN 30, 31, 32)."
    ::= { hpnicfVmap 6 }

hpnicfVMAP1to2SingleEntry OBJECT-TYPE
    SYNTAX      HpnicfVMAP1to2SingleEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "One-to-two VLAN mapping table entries.  The original VLANs of each
         entry should be a group of VLANs listed one by
         one (for example, VLAN 30, 31, 32)."
    INDEX { ifIndex, hpnicfVMAP1to2Vlan }
    ::= { hpnicfVMAP1to2SingleTable 1 }

HpnicfVMAP1to2SingleEntry ::=
    SEQUENCE
    {
        hpnicfVMAP1to2Vlan                Integer32,
        hpnicfVMAP1to2SingleNestedVlan    Integer32,
        hpnicfVMAP1to2SingleRowStatus     RowStatus
    }

hpnicfVMAP1to2Vlan    OBJECT-TYPE
    SYNTAX      Integer32 (1..65535)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The original VLANs for a one-to-two VLAN mapping on the port."
    ::= { hpnicfVMAP1to2SingleEntry 1 }

hpnicfVMAP1to2SingleNestedVlan    OBJECT-TYPE
    SYNTAX      Integer32 (1..65535)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The outer VLAN for a one-to-two VLAN mapping on the port."
    ::= { hpnicfVMAP1to2SingleEntry 2 }

hpnicfVMAP1to2SingleRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Operation status of this table entry."
    ::= { hpnicfVMAP1to2SingleEntry 3 }

hpnicfVMAP2to2Table    OBJECT-TYPE
    SYNTAX      SEQUENCE OF HpnicfVMAP2to2Entry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Two-to-two VLAN mapping table."
    ::= { hpnicfVmap 7 }

hpnicfVMAP2to2Entry OBJECT-TYPE
    SYNTAX      HpnicfVMAP2to2Entry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Two-to-two VLAN mapping table entries."
    INDEX { ifIndex, hpnicfVMAP2to2OuterVlan, hpnicfVMAP2to2InnerVlan}
    ::= { hpnicfVMAP2to2Table 1 }

HpnicfVMAP2to2Entry ::=
    SEQUENCE
    {
        hpnicfVMAP2to2OuterVlan             Integer32,
        hpnicfVMAP2to2InnerVlan             Integer32,
        hpnicfVMAP2to2TranslatedOuterVlan   Integer32,
        hpnicfVMAP2to2TranslatedInnerVlan   Integer32,
        hpnicfVMAP2to2RowStatus             RowStatus
    }

hpnicfVMAP2to2OuterVlan    OBJECT-TYPE
    SYNTAX      Integer32 (1..65535)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The original outer VLAN for a two-to-two VLAN mapping on the port."
    ::= { hpnicfVMAP2to2Entry 1 }

hpnicfVMAP2to2InnerVlan    OBJECT-TYPE
    SYNTAX      Integer32 (1..65535)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The original inner VLAN for a two-to-two VLAN mapping on the port."
    ::= { hpnicfVMAP2to2Entry 2 }

hpnicfVMAP2to2TranslatedOuterVlan    OBJECT-TYPE
    SYNTAX      Integer32 (1..65535)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The translated outer VLAN for a two-to-two VLAN mapping on the port."
    ::= { hpnicfVMAP2to2Entry 3 }

hpnicfVMAP2to2TranslatedInnerVlan    OBJECT-TYPE
    SYNTAX      Integer32 (1..65535)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The translated inner VLAN for a two-to-two VLAN mapping on the port."
    ::= { hpnicfVMAP2to2Entry 4 }

hpnicfVMAP2to2RowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Operation status of this table entry."
    ::= { hpnicfVMAP2to2Entry 5 }
END
