-- =============================================================================
-- Copyright (c) 2004-2010 Hangzhou H3C Tech. Co., Ltd. All rights reserved.
--
-- Description: Ethernet Virtual Connection MIB
-- Reference:
-- Version: V1.0
-- History:
--   V1.0 2009-08-08 Initial version Created by Jianyong Song
-- =============================================================================
HH3C-EVC-MIB DEFINITIONS ::= BEGIN
IMPORTS
        RowStatus
    FROM SNMPv2-TC
        MODULE-IDENTITY,
        OBJECT-TYPE,
        Integer32
    FROM SNMPv2-SMI
        ifIndex
    FROM RFC1213-MIB
        hh3cCommon
    FROM HH3C-OID-MIB;

-- =============================================================================
-- module identity part
-- =============================================================================
hh3cEvc MODULE-IDENTITY
    LAST-UPDATED
        "200908081000Z"        -- Aug 08, 2009 at 10:00 GMT
    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
        "Ethernet Virtual Connection MIB"
    REVISION
        "200908081000Z"   -- Aug 08, 2009 at 10:00 GMT
    DESCRIPTION
        "The initial version of this MIB."
    ::= { hh3cCommon 106 }

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

hh3cEvcObjects      OBJECT IDENTIFIER ::= { hh3cEvc 1 }

hh3cEvcScalarGroup OBJECT IDENTIFIER ::= { hh3cEvcObjects 1 }

hh3cEvcSrvInstEncapCapabilities    OBJECT-TYPE
    SYNTAX      BITS
    {
        encapPortBased(0),
        encapUntagged(1),
        encapTagged(2),
        encapSvlanId(3),
        encapSvlanIdList(4),
        encapSvlanIdOnlyTagged(5)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object displays the encapsulation capabilities of service
         instance with respect to certain fields. The following values may be
         supported:
         encapPortBased:     Support for matching packets by port.
         encapUntagged:      Support for matching untagged packets.
         encapTagged:        Support for matching all tagged packets.
         encapSvlanId:       Support for matching packets by a SVLAN ID, and
                             the packets may be untagged if PVID of the port is
                             the SVLAN ID when the encapSvlanIdOnlyTagged field
                             is not set.
         encapSvlanIdList:   Support for matching packets by SVLAN ID list, and
                             the packets may be untagged if PVID of the port is
                             in SVLAN ID list when the encapSvlanIdOnlyTagged
                             field is not set.
         encapSvlanIdOnlyTagged:  encapSvlanId or encapSvlanId field indicates
                                  to support for matching only tagged packets
                                  when this field is set."
    ::= { hh3cEvcScalarGroup 1 }

hh3cEvcPortMaxSrvInstNum    OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The max service instance number of a port."
    ::= { hh3cEvcScalarGroup 2 }

-- =============================================================================
-- hh3cEvcSrvInstTable Definition
-- =============================================================================
hh3cEvcSrvInstTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF Hh3cEvcSrvInstEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table for configuring service instance parameter of the port."
    ::= { hh3cEvcObjects 2 }

hh3cEvcSrvInstEntry  OBJECT-TYPE
    SYNTAX      Hh3cEvcSrvInstEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry for configuring service instance parameter of the port."
    INDEX
    {
        ifIndex,
        hh3cEvcSrvInstId
    }
    ::= { hh3cEvcSrvInstTable 1 }

Hh3cEvcSrvInstEntry ::=
    SEQUENCE
    {
        hh3cEvcSrvInstId              Integer32,
        hh3cEvcSrvInstEncap           INTEGER,
        hh3cEvcSrvInstSvlanIdListLow  OCTET STRING,
        hh3cEvcSrvInstSvlanIdListHigh OCTET STRING,
        hh3cEvcSrvInstRowStatus       RowStatus
    }

hh3cEvcSrvInstId    OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Service instance ID. Its value ranges from 1 to the value of
        hh3cEvcPortMaxSrvInstNum."
    ::= { hh3cEvcSrvInstEntry 1 }

hh3cEvcSrvInstEncap    OBJECT-TYPE
    SYNTAX      INTEGER
    {
        none(0),
        portBased(1),
        untagged(2),
        tagged(3),
        svlanIdList(4),
        svlanIdListOnlyTagged(5)
    }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Encapsulation mode of a service instance.
        none : Invalid value.
        portBased :  Match packets by port. It is supported when encapPortBased
                     field of hh3cEvcCapabilities is set.
        untagged :   Match untagged packets. It is supported when encapUntagged
                     field of hh3cEvcCapabilities is set.
        tagged :     Match all tagged packets. It is supported when encapTagged
                     field of hh3cEvcCapabilities is set.
        svlanIdList: Match packets by SVLAN ID list and untagged packets if
                     PVID of the port is in SVLAN ID list, the SVLAN ID list is
                     denoted by hh3cEvcSrvInstSvlanIdListLow and
                     hh3cEvcSrvInstSvlanIdListLow. It is supported when
                     encapSvlanId or encapSvlanIdList field of
                     hh3cEvcCapabilities is set. Only a VLAN ID is supported
                     when encapSvlanId field of hh3cEvcCapabilities is set.
        svlanIdListOnlyTagged: Match only tagged packets by SVLAN ID list, the
                               SVLAN ID is denoted by
                               hh3cEvcSrvInstSvlanIdListLow and
                               hh3cEvcSrvInstSvlanIdListLow. It is
                               supported when encapSvlanId (or
                               encapSvlanIdList) and encapSvlanIdOnlyTagged
                               fields of hh3cEvcCapabilities are set. Only a
                               VLAN ID is supported when encapSvlanId and
                               encapSvlanIdOnlyTagged field of
                               hh3cEvcCapabilities are set."
    ::= { hh3cEvcSrvInstEntry 2 }

hh3cEvcSrvInstSvlanIdListLow OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE(0..256))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object contains the first 2048 bits of the 4096 bit vector
        indicating which SVLAN IDs are assigned to this service instance. The
        lowest order bit of the first octet corresponds to SVLAN 1, while the
        highest order bit of the last octet corresponds to SVLAN 2048. A bit
        that is on (equal to 1) indicates that the corresponding SVLAN ID is
        assigned to this service instance."
    ::= { hh3cEvcSrvInstEntry 3 }

hh3cEvcSrvInstSvlanIdListHigh OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE(0..256))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object contains the second 2048 bits of the 4096 bit vector
        indicating which SVLAN IDs are assigned to this service instance. The
        lowest order bit of the first octet corresponds to SVLAN 2049, while
        the third highest order bit of the last octet corresponds to SVLAN
        4094. A bit that is on (equal to 1) indicates that the corresponding
        SVLAN ID is assigned to this service instance."
    ::= { hh3cEvcSrvInstEntry 4 }

hh3cEvcSrvInstRowStatus  OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Operation status of this table entry."
    ::= { hh3cEvcSrvInstEntry 5 }
-- =============================================================================
-- End of hh3cEvcSrvInstTable Definition
-- =============================================================================

END
