-- =============================================================================
-- Copyright (c) 2004-2010 Hangzhou H3C Tech. Co., Ltd. All rights reserved.
--
-- Description: The MIB for VSI (Virtual Switch Instance).
-- Reference:
-- Version: V1.0
-- History:
--   V1.0 2009-08-08 Initial version Created by Zhonghua Gao
-- =============================================================================
A3COM-HUAWEI-VSI-MIB DEFINITIONS ::= BEGIN
IMPORTS
        RowStatus
    FROM SNMPv2-TC
        MODULE-IDENTITY,
        OBJECT-TYPE,
        Integer32,
        Unsigned32
    FROM SNMPv2-SMI
        h3cCommon
    FROM A3COM-HUAWEI-OID-MIB;

-- =============================================================================
-- module identity part
-- =============================================================================
h3cVsi 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
        "The MIB for VSI (Virtual Switch Instance)."
    REVISION
        "200908081000Z"   -- Aug 08, 2009 at 10:00 GMT
    DESCRIPTION
        "Initial version."
    ::= { h3cCommon 105 }

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

h3cVsiObjects      OBJECT IDENTIFIER ::= { h3cVsi 1 }

h3cVsiScalarGroup OBJECT IDENTIFIER ::= { h3cVsiObjects 1 }

h3cVsiNextAvailableVsiIndex    OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Next available VSI entry index for creating VSI. Its value ranges
        from 0x1 to 0xFFFFFFFF.The invalid value 0xFFFFFFFF indicates that
        no VSI entry can be created."
    ::= { h3cVsiScalarGroup 1 }

-- =============================================================================
-- h3cVsiTable Definition
-- =============================================================================
h3cVsiTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF H3cVsiEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table for configuring VSI parameters."
    ::= { h3cVsiObjects 2 }

h3cVsiEntry  OBJECT-TYPE
    SYNTAX      H3cVsiEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry for configuring VSI parameters."
    INDEX
    {
        h3cVsiIndex
    }
    ::= { h3cVsiTable 1 }

H3cVsiEntry ::=
    SEQUENCE
    {
        h3cVsiIndex             Unsigned32,
        h3cVsiName              OCTET STRING,
        h3cVsiMode              INTEGER,
        h3cMinmIsid             Integer32,
        h3cVsiId                Unsigned32,
        h3cVsiTransMode         INTEGER,
        h3cVsiEnableHubSpoke    INTEGER,
        h3cVsiAdminState        INTEGER,
        h3cVsiRowStatus         RowStatus
    }

h3cVsiIndex    OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Index of VSI. Its value ranges from 0x1 to 0xFFFFFFFE."
    ::= { h3cVsiEntry 1 }

h3cVsiName    OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(1..31))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Name of VSI. Max string length of VSI name is 31."
    ::= { h3cVsiEntry 2 }

h3cVsiMode    OBJECT-TYPE
    SYNTAX      INTEGER
    {
        martini(1),
        minm(2),
        martiniAndMinm(3),
        kompella(4),
        kompellaAndMinm(5)
    }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Mode of VSI. Martini mode indicated this VSI support VPLS service
         signalled using LDP, kompella indicated this VSI support VPLS
         service signalled using BGP, minm indicated this VSI support
         MAC-in-MAC service."

    ::= { h3cVsiEntry 3 }

h3cMinmIsid    OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The MAC-in-MAC I-SID of VSI in minm or martiniAndMinm mode. It
        must be different for every VSI. Its value ranges from 0x1 to
        0xFFFFFF. In other VSI mode, its value is invalid value 0x0."
    ::= { h3cVsiEntry 4 }

h3cVsiId    OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Identifier of VSI in martini or martiniAndMinm mode, by default,
        it's the PW ID of this VSI. Its value ranges from 1 to 4294967295.
        In other VSI mode, its value is invalid value 0."
    ::= { h3cVsiEntry 5 }

h3cVsiTransMode    OBJECT-TYPE
    SYNTAX      INTEGER
    {
        vlan(1),
        ethernet(2)
    }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Transit Mode of VSI."
    ::= { h3cVsiEntry 6 }

h3cVsiEnableHubSpoke    OBJECT-TYPE
    SYNTAX      INTEGER
    {
        disable(1),
        enable(2)
    }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Config HubSpoke property of this VSI."
    ::= { h3cVsiEntry 7 }

h3cVsiAdminState   OBJECT-TYPE
    SYNTAX      INTEGER
    {
        adminUp(1),
        adminDown(2)
    }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Set VSI admin state as adminUp or adminDown."
    ::= { h3cVsiEntry 8 }

h3cVsiRowStatus     OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Operation status of this table entry."
    ::= { h3cVsiEntry 9 }
-- =============================================================================
-- End of h3cVsiTable Definition
-- =============================================================================

-- =============================================================================
-- h3cVsiXconnectTable Definition
-- =============================================================================
h3cVsiXconnectTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF H3cVsiXconnectEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table for configuring xconnect parameters."
    ::= { h3cVsiObjects 3 }

h3cVsiXconnectEntry  OBJECT-TYPE
    SYNTAX      H3cVsiXconnectEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry for configuring xconnect parameters. Each entry means connecting
        a service instance of a interface to a VSI."
    INDEX
    {
        h3cVsiXconnectIfIndex,
        h3cVsiXconnectEvcSrvInstId
    }
    ::= { h3cVsiXconnectTable 1 }

H3cVsiXconnectEntry ::=
    SEQUENCE
    {
        h3cVsiXconnectIfIndex      Unsigned32,
        h3cVsiXconnectEvcSrvInstId Unsigned32,
        h3cVsiXconnectVsiName      OCTET STRING,
        h3cVsiXconnectAccessMode   INTEGER,
        h3cVsiXconnectHubSpoke     INTEGER,
        h3cVsiXconnectRowStatus    RowStatus
    }
h3cVsiXconnectIfIndex    OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Index of the interface associated with the VSI."
    ::= { h3cVsiXconnectEntry 1 }

h3cVsiXconnectEvcSrvInstId    OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Index of the service instance associated with the VSI."
    ::= { h3cVsiXconnectEntry 2 }


h3cVsiXconnectVsiName    OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(1..31))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Name of VSI. Max string length of VSI name is 31."
    ::= { h3cVsiXconnectEntry 3 }

h3cVsiXconnectAccessMode    OBJECT-TYPE
    SYNTAX      INTEGER
    {
        vlan(1),
        ethernet(2)
    }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Access mode of this service instance."
    ::= { h3cVsiXconnectEntry 4 }

h3cVsiXconnectHubSpoke    OBJECT-TYPE
    SYNTAX      INTEGER
    {
        none(1),
        hub(2),
        spoke(3)
    }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Config HubSpoke property of this service instance."
    ::= { h3cVsiXconnectEntry 5 }

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

-- =============================================================================
-- End of h3cVsiXconnectTable Definition
-- =============================================================================

END
