-- ============================================================================
-- Copyright (c) 2004-2013 Hangzhou H3C Tech. Co., Ltd. All rights reserved.
--
-- Description: 802.1 VLAN Mapping MIB Version 1
-- Reference:
-- Version: V1.0
-- History:
-- V1.0 Initial version Created by XiaoRen Yang, 2013.3.8
-- ==================================================================
H3C-VMAP-MIB DEFINITIONS ::= BEGIN
IMPORTS
    RowStatus, TruthValue
        FROM SNMPv2-TC
    MODULE-IDENTITY, OBJECT-TYPE, Integer32
        FROM SNMPv2-SMI
    ifIndex
        FROM IF-MIB
    h3cCommon
        FROM HUAWEI-3COM-OID-MIB;

-- ==================================================================
--
-- module identity part
--
-- ==================================================================
h3cVmap MODULE-IDENTITY
    LAST-UPDATED
        "201303080000Z"
    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
        "802.1 VLAN Mapping MIB Version"
    REVISION
        "201303080000Z"
    DESCRIPTION
        "The initial version of this MIB."
    ::= { h3cCommon 138 }

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

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

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

H3cVMAPNNIEntry ::=
    SEQUENCE
    {
        h3cVMAPNNIState    TruthValue
    }

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

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

h3cVMAP1to1Entry OBJECT-TYPE
    SYNTAX     H3cVMAP1to1Entry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "One-to-one VLAN mapping table entries."
    INDEX { ifIndex, h3cVMAP1to1Vlan }
    ::= { h3cVMAP1to1Table 1 }

H3cVMAP1to1Entry ::=
    SEQUENCE
    {
        h3cVMAP1to1Vlan             Integer32,
        h3cVMAP1to1TranslatedVlan   Integer32,
        h3cVMAP1to1RowStatus        RowStatus
    }

h3cVMAP1to1Vlan    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."
    ::= { h3cVMAP1to1Entry 1 }

h3cVMAP1to1TranslatedVlan    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."
    ::= { h3cVMAP1to1Entry 2 }

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

h3cVMAPNto1RangeTable    OBJECT-TYPE
    SYNTAX      SEQUENCE OF H3cVMAPNto1RangeEntry
    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)."
    ::= { h3cVmap 3 }

h3cVMAPNto1RangeEntry OBJECT-TYPE
    SYNTAX     H3cVMAPNto1RangeEntry
    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, h3cVMAPNto1StartVlan }
    ::= { h3cVMAPNto1RangeTable 1 }

H3cVMAPNto1RangeEntry ::=
    SEQUENCE
    {
        h3cVMAPNto1StartVlan              Integer32,
        h3cVMAPNto1EndVlan                Integer32,
        h3cVMAPNto1RangeTranslatedVlan    Integer32,
        h3cVMAPNto1RangeRowStatus         RowStatus
    }

h3cVMAPNto1StartVlan   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."
    ::= { h3cVMAPNto1RangeEntry 1 }

h3cVMAPNto1EndVlan   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."
    ::= { h3cVMAPNto1RangeEntry 2 }

h3cVMAPNto1RangeTranslatedVlan    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."
    ::= { h3cVMAPNto1RangeEntry 3 }

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

h3cVMAPNto1SingleTable    OBJECT-TYPE
    SYNTAX      SEQUENCE OF H3cVMAPNto1SingleEntry
    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)."
    ::= { h3cVmap 4 }

h3cVMAPNto1SingleEntry OBJECT-TYPE
    SYNTAX     H3cVMAPNto1SingleEntry
    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, h3cVMAPNto1Vlan }
    ::= { h3cVMAPNto1SingleTable 1 }

H3cVMAPNto1SingleEntry ::=
    SEQUENCE
    {
        h3cVMAPNto1Vlan                    Integer32,
        h3cVMAPNto1SingleTranslatedVlan    Integer32,
        h3cVMAPNto1SingleRowStatus         RowStatus
    }

h3cVMAPNto1Vlan   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."
    ::= { h3cVMAPNto1SingleEntry 1 }

h3cVMAPNto1SingleTranslatedVlan    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."
    ::= { h3cVMAPNto1SingleEntry 2 }

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

h3cVMAP1to2RangeTable    OBJECT-TYPE
    SYNTAX      SEQUENCE OF H3cVMAP1to2RangeEntry
    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)."
    ::= { h3cVmap 5 }

h3cVMAP1to2RangeEntry OBJECT-TYPE
    SYNTAX      H3cVMAP1to2RangeEntry
    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, h3cVMAP1to2StartVlan }
    ::= { h3cVMAP1to2RangeTable 1 }

H3cVMAP1to2RangeEntry ::=
    SEQUENCE
    {
        h3cVMAP1to2StartVlan          Integer32,
        h3cVMAP1to2EndVlan            Integer32,
        h3cVMAP1to2RangeNestedVlan    Integer32,
        h3cVMAP1to2RangeRowStatus     RowStatus
    }

h3cVMAP1to2StartVlan    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."
    ::= { h3cVMAP1to2RangeEntry 1 }

h3cVMAP1to2EndVlan    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."
    ::= { h3cVMAP1to2RangeEntry 2 }

h3cVMAP1to2RangeNestedVlan    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."
    ::= { h3cVMAP1to2RangeEntry 3 }

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

h3cVMAP1to2SingleTable    OBJECT-TYPE
    SYNTAX      SEQUENCE OF H3cVMAP1to2SingleEntry
    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)."
    ::= { h3cVmap 6 }

h3cVMAP1to2SingleEntry OBJECT-TYPE
    SYNTAX      H3cVMAP1to2SingleEntry
    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, h3cVMAP1to2Vlan }
    ::= { h3cVMAP1to2SingleTable 1 }

H3cVMAP1to2SingleEntry ::=
    SEQUENCE
    {
        h3cVMAP1to2Vlan                Integer32,
        h3cVMAP1to2SingleNestedVlan    Integer32,
        h3cVMAP1to2SingleRowStatus     RowStatus
    }

h3cVMAP1to2Vlan    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."
    ::= { h3cVMAP1to2SingleEntry 1 }

h3cVMAP1to2SingleNestedVlan    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."
    ::= { h3cVMAP1to2SingleEntry 2 }

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

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

h3cVMAP2to2Entry OBJECT-TYPE
    SYNTAX      H3cVMAP2to2Entry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Two-to-two VLAN mapping table entries."
    INDEX { ifIndex, h3cVMAP2to2OuterVlan, h3cVMAP2to2InnerVlan}
    ::= { h3cVMAP2to2Table 1 }

H3cVMAP2to2Entry ::=
    SEQUENCE
    {
        h3cVMAP2to2OuterVlan             Integer32,
        h3cVMAP2to2InnerVlan             Integer32,
        h3cVMAP2to2TranslatedOuterVlan   Integer32,
        h3cVMAP2to2TranslatedInnerVlan   Integer32,
        h3cVMAP2to2RowStatus             RowStatus
    }

h3cVMAP2to2OuterVlan    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."
    ::= { h3cVMAP2to2Entry 1 }

h3cVMAP2to2InnerVlan    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."
    ::= { h3cVMAP2to2Entry 2 }

h3cVMAP2to2TranslatedOuterVlan    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."
    ::= { h3cVMAP2to2Entry 3 }

h3cVMAP2to2TranslatedInnerVlan    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."
    ::= { h3cVMAP2to2Entry 4 }

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