-- =============================================================================
-- Copyright (c) 2010-2014 Hewlett-Packard Development Company, L.P.
--
-- Description: The MIB for VSI (Virtual Switch Instance).
-- Reference:
-- Version: V1.5
-- History:
--   V1.0 2009-08-08 Initial version Created by Zhonghua Gao
--   V1.1 2012-11-21 Modified by yanneng, added hpnicfVsiSpbIsid,
--               Value 'default(0)' is added for data type 'hpnicfVsiMode'
--   V1.2 2013-04-27 Modified by raoxiaobing, Value 'minmpxp(6), martiniAndMinmpxp(7)
--               and kompellaAndMinmpxp(8)' is added for data type 'hpnicfVsiMode'
--   V1.3 2013-09-11 Modified by yanneng, added hpnicfVsiPwBindTable table.
--   V1.4 2013-11-22 Modified by yanneng, added hpnicfVsiL2vpnStatus,
--               hpnicfVsiVxlanID, hpnicfVsiArpSuppression, hpnicfVsiFlooding,
--               hpnicfVsiLocalMacCount, hpnicfVsiFloodMacTable, hpnicfVsiLocalMacTable
--   V1.5 2014-03-22 Modified by wangrui, added hpnicfVsiInterfaceID, hpnicfVsiStatistics,
--               hpnicfVsiPerfTable, hpnicfVsiIfTable
--        2014-04-12 Modified by yanneng, added hpnicfVsiNvgreID
-- =============================================================================
HPN-ICF-VSI-MIB DEFINITIONS ::= BEGIN
IMPORTS
        RowStatus, TruthValue, MacAddress
    FROM SNMPv2-TC
        MODULE-IDENTITY,
        OBJECT-TYPE,
        Integer32,
        Counter64,
        Unsigned32
    FROM SNMPv2-SMI
        InterfaceIndex
    FROM IF-MIB
        hpnicfCommon
    FROM HPN-ICF-OID-MIB;

-- =============================================================================
-- module identity part
-- =============================================================================
hpnicfVsi MODULE-IDENTITY
    LAST-UPDATED
        "200908081000Z"        -- Aug 08, 2009 at 10:00 GMT
    ORGANIZATION
        ""
    CONTACT-INFO
        ""
    DESCRIPTION
        "The MIB for VSI (Virtual Switch Instance)."
    REVISION
        "200908081000Z"   -- Aug 08, 2009 at 10:00 GMT
    DESCRIPTION
        "Initial version."
    ::= { hpnicfCommon 105 }

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

hpnicfVsiObjects      OBJECT IDENTIFIER ::= { hpnicfVsi 1 }

hpnicfVsiScalarGroup OBJECT IDENTIFIER ::= { hpnicfVsiObjects 1 }

hpnicfVsiNextAvailableVsiIndex    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."
    ::= { hpnicfVsiScalarGroup 1 }

hpnicfVsiL2vpnStatus    OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The global configuration of L2VPN."
    ::= { hpnicfVsiScalarGroup 2 }

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

hpnicfVsiEntry  OBJECT-TYPE
    SYNTAX      HpnicfVsiEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry for configuring VSI parameters."
    INDEX
    {
        hpnicfVsiIndex
    }
    ::= { hpnicfVsiTable 1 }

HpnicfVsiEntry ::=
    SEQUENCE
    {
        hpnicfVsiIndex             Unsigned32,
        hpnicfVsiName              OCTET STRING,
        hpnicfVsiMode              INTEGER,
        hpnicfMinmIsid             Integer32,
        hpnicfVsiId                Unsigned32,
        hpnicfVsiTransMode         INTEGER,
        hpnicfVsiEnableHubSpoke    INTEGER,
        hpnicfVsiAdminState        INTEGER,
        hpnicfVsiRowStatus         RowStatus,
        hpnicfVsiSpbIsid           Integer32,
        hpnicfVsiVxlanID           Unsigned32,
        hpnicfVsiArpSuppression    TruthValue,
        hpnicfVsiFlooding          TruthValue,
        hpnicfVsiLocalMacCount     Unsigned32,
        hpnicfVsiInterfaceID       Unsigned32,
        hpnicfVsiStatistics        TruthValue,
        hpnicfVsiNvgreID           Unsigned32
    }

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

hpnicfVsiName    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."
    ::= { hpnicfVsiEntry 2 }

hpnicfVsiMode    OBJECT-TYPE
    SYNTAX      INTEGER
    {
        default(0),
        martini(1),
        minm(2),
        martiniAndMinm(3),
        kompella(4),
        kompellaAndMinm(5),
        minmpxp(6),
        martiniAndMinmpxp(7),
        kompellaAndMinmpxp(8)
    }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Mode of VSI.  Martini mode indicated this VSI supports VPLS service
         signalled using LDP.  Kompella indicated this VSI supports VPLS
         service signalled using BGP.  Minm indicated this VSI supports
         MAC-in-MAC service.
         Default indicated this VSI supports all services."

    ::= { hpnicfVsiEntry 3 }

hpnicfMinmIsid    OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The PBB 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 modes, its value is invalid value 0x0."
    ::= { hpnicfVsiEntry 4 }

hpnicfVsiId    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 modes, its value is invalid value 0."
    ::= { hpnicfVsiEntry 5 }

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

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

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

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

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

hpnicfVsiVxlanID    OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "VXLAN ID, in the range of 0x0 to 0xFFFFFF.  Value 0xFFFFFFFF means
        this VSI does not enable VXLAN service."
    ::= { hpnicfVsiEntry 11 }

hpnicfVsiArpSuppression    OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The capability of ARP suppression."
    DEFVAL { false }
    ::= { hpnicfVsiEntry 12 }

hpnicfVsiFlooding    OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The capability of MAC(Media Access Control) flooding."
    DEFVAL { true }
    ::= { hpnicfVsiEntry 13 }

hpnicfVsiLocalMacCount    OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of VSI local MAC addresses."
    ::= { hpnicfVsiEntry 14 }

hpnicfVsiInterfaceID    OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "VSI interface ID.  A value of 0xFFFFFFFF indicates that no gateway
        interface has been assigned to the VSI."
    ::= { hpnicfVsiEntry 15 }

hpnicfVsiStatistics    OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The enable status of VSI traffic flow statistics."
    DEFVAL { false }
    ::= { hpnicfVsiEntry 16 }

hpnicfVsiNvgreID    OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "NVGRE ID, in the range of 4096 to 16777214.  Value 4294967295 means
        this VSI does not enable NVGRE service."
    ::= { hpnicfVsiEntry 17 }

-- =============================================================================
-- End of hpnicfVsiTable Definition
-- =============================================================================

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

hpnicfVsiXconnectEntry  OBJECT-TYPE
    SYNTAX      HpnicfVsiXconnectEntry
    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
    {
        hpnicfVsiXconnectIfIndex,
        hpnicfVsiXconnectEvcSrvInstId
    }
    ::= { hpnicfVsiXconnectTable 1 }

HpnicfVsiXconnectEntry ::=
    SEQUENCE
    {
        hpnicfVsiXconnectIfIndex      Unsigned32,
        hpnicfVsiXconnectEvcSrvInstId Unsigned32,
        hpnicfVsiXconnectVsiName      OCTET STRING,
        hpnicfVsiXconnectAccessMode   INTEGER,
        hpnicfVsiXconnectHubSpoke     INTEGER,
        hpnicfVsiXconnectRowStatus    RowStatus
    }
hpnicfVsiXconnectIfIndex    OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Index of the interface associated with the VSI."
    ::= { hpnicfVsiXconnectEntry 1 }

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


hpnicfVsiXconnectVsiName    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."
    ::= { hpnicfVsiXconnectEntry 3 }

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

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

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

-- =============================================================================
-- End of hpnicfVsiXconnectTable Definition
-- =============================================================================

-- =============================================================================
-- hpnicfVsiPwBindTable Definition
-- =============================================================================
hpnicfVsiPwBindTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF HpnicfVsiPwBindEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table for PW(PseudoWire) mapping to VSI."
    ::= { hpnicfVsiObjects 4 }

hpnicfVsiPwBindEntry  OBJECT-TYPE
    SYNTAX      HpnicfVsiPwBindEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Each entry means a PW mapping to a VSI."
    INDEX
    {
        hpnicfVsiIndex,
        hpnicfVsiPwIndex
    }
    ::= { hpnicfVsiPwBindTable 1 }

HpnicfVsiPwBindEntry ::=
    SEQUENCE
    {
        hpnicfVsiPwIndex            Unsigned32,
        hpnicfVsiPwBindAttributes   BITS,
        hpnicfVsiPwBindRowStatus    RowStatus
    }

hpnicfVsiPwIndex    OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A unique index for the conceptual row identifying
         a PW in the pwTable."
    ::= { hpnicfVsiPwBindEntry 1 }

hpnicfVsiPwBindAttributes    OBJECT-TYPE
    SYNTAX      BITS {
                     noSplitHorizon (0),
                     hub (1)
                    }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This bit mask indicates optional values for this PW.
         The following describes these bit fields:

         noSplitHorizon flag indicates that the PW disable
         split horizon forwarding.

         hub flag indicates that the PW as the hub link the VSI."
    ::= { hpnicfVsiPwBindEntry 2 }

hpnicfVsiPwBindRowStatus     OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Operation status of this table entry.  A row entry cannot
        be modified when the value of this object is 'active'."
    ::= { hpnicfVsiPwBindEntry 3 }

-- =============================================================================
-- End of hpnicfVsiPwBindTable Definition
-- =============================================================================

-- =============================================================================
-- hpnicfVsiFloodMacTable Definition
-- =============================================================================
hpnicfVsiFloodMacTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF HpnicfVsiFloodMacEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table of MAC addresses enabled with selective flooding."
    ::= { hpnicfVsiObjects 5 }

hpnicfVsiFloodMacEntry  OBJECT-TYPE
    SYNTAX      HpnicfVsiFloodMacEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Each entry represents a selective flooding MAC."
    INDEX
    {
        hpnicfVsiIndex,
        hpnicfVsiFloodMac
    }
    ::= { hpnicfVsiFloodMacTable 1 }

HpnicfVsiFloodMacEntry ::=
    SEQUENCE
    {
        hpnicfVsiFloodMac               MacAddress,
        hpnicfVsiFloodMacRowStatus      RowStatus
    }

hpnicfVsiFloodMac    OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "MAC address."
    ::= { hpnicfVsiFloodMacEntry 1 }

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

-- =============================================================================
-- End of hpnicfVsiFloodMacTable Definition
-- =============================================================================

-- =============================================================================
-- hpnicfVsiLocalMacTable Definition
-- =============================================================================
hpnicfVsiLocalMacTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF HpnicfVsiLocalMacEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table for VSI local MAC addresses."
    ::= { hpnicfVsiObjects 6 }

hpnicfVsiLocalMacEntry  OBJECT-TYPE
    SYNTAX      HpnicfVsiLocalMacEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A local MAC address of VSI."
    INDEX
    {
        hpnicfVsiIndex,
        hpnicfVsiLocalMacAddr
    }
    ::= { hpnicfVsiLocalMacTable 1 }

HpnicfVsiLocalMacEntry ::=
    SEQUENCE
    {
        hpnicfVsiLocalMacAddr            MacAddress,
        hpnicfVsiLocalMacIfIndex         InterfaceIndex,
        hpnicfVsiLocalMacSrvID           Unsigned32
    }

hpnicfVsiLocalMacAddr    OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "MAC address."
    ::= { hpnicfVsiLocalMacEntry 1 }

hpnicfVsiLocalMacIfIndex    OBJECT-TYPE
    SYNTAX      InterfaceIndex
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Index of the interface associated with the MAC address."
    ::= { hpnicfVsiLocalMacEntry 2 }

hpnicfVsiLocalMacSrvID    OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Index of the service instance associated with the MAC address."
    ::= { hpnicfVsiLocalMacEntry 3 }

-- =============================================================================
-- End of hpnicfVsiLocalMacTable Definition
-- =============================================================================

-- =============================================================================
-- hpnicfVsiPerfTable Definition
-- =============================================================================
hpnicfVsiPerfTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF HpnicfVsiPerfEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table contains performance statistics for each VSI."
    ::= { hpnicfVsiObjects 7 }

hpnicfVsiPerfEntry  OBJECT-TYPE
    SYNTAX      HpnicfVsiPerfEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A row in this table contains statistics for a VSI."
    INDEX
    {
        hpnicfVsiIndex
    }
    ::= { hpnicfVsiPerfTable 1 }

HpnicfVsiPerfEntry ::=
    SEQUENCE
    {
        hpnicfVsiPerfInOctets            Counter64,
        hpnicfVsiPerfInPackets           Counter64,
        hpnicfVsiPerfInErrors            Counter64,
        hpnicfVsiPerfInDiscards          Counter64,
        hpnicfVsiPerfOutOctets           Counter64,
        hpnicfVsiPerfOutPackets          Counter64,
        hpnicfVsiPerfOutErrors           Counter64,
        hpnicfVsiPerfOutDiscards         Counter64
    }

hpnicfVsiPerfInOctets    OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Total number of octets received by the VSI."
    ::= { hpnicfVsiPerfEntry 1 }

hpnicfVsiPerfInPackets    OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Total number of packets received by the VSI."
    ::= { hpnicfVsiPerfEntry 2 }

hpnicfVsiPerfInErrors    OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Number of error packets received by the VSI."
    ::= { hpnicfVsiPerfEntry 3 }

hpnicfVsiPerfInDiscards    OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Number of incoming packets discarded by the VSI."
    ::= { hpnicfVsiPerfEntry 4 }

hpnicfVsiPerfOutOctets    OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Total number of octets sent by the VSI."
    ::= { hpnicfVsiPerfEntry 5 }

hpnicfVsiPerfOutPackets    OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Total number of packets sent by the VSI."
    ::= { hpnicfVsiPerfEntry 6 }

hpnicfVsiPerfOutErrors    OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Number of packets that failed to be sent because of a VSI error."
    ::= { hpnicfVsiPerfEntry 7 }

hpnicfVsiPerfOutDiscards    OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Number of packets discarded by the VSI because of transmission failure."
    ::= { hpnicfVsiPerfEntry 8 }
-- =============================================================================
-- End of hpnicfVsiPerfTable Definition
-- =============================================================================

-- =============================================================================
-- hpnicfVsiNextAvailableVsiIfID Definition
-- =============================================================================
hpnicfVsiNextAvailableVsiIfID OBJECT-TYPE
   SYNTAX        Unsigned32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object contains the next available value for hpnicfVsiIfID
        when creating entries in the hpnicfVsiIfTable.  A value of 0xFFFFFFFF
        indicates that no new entries can be created in this table.
        To prevent managers from creating entries in this table, the agent
        must set this object to this special value."
   ::= { hpnicfVsiObjects 8 }

-- =============================================================================
-- hpnicfVsiIfTable Definition
-- =============================================================================
hpnicfVsiIfTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF HpnicfVsiIfEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "VSI interface table."
    ::= { hpnicfVsiObjects 9 }

hpnicfVsiIfEntry  OBJECT-TYPE
    SYNTAX      HpnicfVsiIfEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A row in this table contains a VSI interface."
    INDEX
    {
        hpnicfVsiIfID
    }
    ::= { hpnicfVsiIfTable 1 }

HpnicfVsiIfEntry ::=
    SEQUENCE
    {
        hpnicfVsiIfID               Unsigned32,
        hpnicfVsiIfIndex            InterfaceIndex,
        hpnicfVsiIfRowStatus        RowStatus
    }

hpnicfVsiIfID    OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "VSI interface ID."
    ::= { hpnicfVsiIfEntry 1 }

hpnicfVsiIfIndex    OBJECT-TYPE
    SYNTAX      InterfaceIndex
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "VSI interface index."
    ::= { hpnicfVsiIfEntry 2 }

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

-- =============================================================================
-- End of hpnicfVsiIfTable Definition
-- =============================================================================

END
