-- ***************************************************************
-- INFINERA-TP-PXMVSI-MIB
--   
-- May 2016, Kavitha Manjunatha / Divyank Rastogi
--   
--   
-- Copyright (c) 2008-2012 by Infinera Inc.
-- All rights reserved.
-- ****************************************************************
INFINERA-TP-PXMVSI-MIB DEFINITIONS ::= BEGIN

IMPORTS
    OBJECT-TYPE, MODULE-IDENTITY, Unsigned32    FROM SNMPv2-SMI
    OBJECT-GROUP, MODULE-COMPLIANCE             FROM SNMPv2-CONF
    DisplayString                               FROM SNMPv2-TC
    ifIndex                                     FROM IF-MIB
    terminationPoint                            FROM INFINERA-REG-MIB
    InfnVsiType, InfnVsiCreationType,
    InfnVlanLearningMode,
    InfnVsiMacLimitAction                       FROM INFINERA-TC-MIB;

vsiMIB MODULE-IDENTITY
    LAST-UPDATED  "201605200000Z"
    ORGANIZATION 
        "INFINERA"
    CONTACT-INFO 
        "Infinera
        169 Java Drive
        Sunnyvale, CA - 94089
        
        Contact : Technical Support
        Email   : support@infinera.com
        Phone   : 1-877-INF-5288"
    DESCRIPTION 
        "This MIB is modeling for VSI equipment table."
::= { terminationPoint 70 }

vsiConformance       OBJECT IDENTIFIER ::= { vsiMIB 3 }
vsiCompliances       OBJECT IDENTIFIER ::= { vsiConformance 1 }
vsiGroups            OBJECT IDENTIFIER ::= { vsiConformance 2 }

vsiTable  OBJECT-TYPE
    SYNTAX SEQUENCE OF VsiEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION 
        "This table contains all VSI  modules that are currently present in a network element.
        "
    ::= { vsiMIB 1 }

vsiEntry  OBJECT-TYPE
    SYNTAX     VsiEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION 
        "A row in the VSI table. Each row in the table is identified with a unique entPhysicalIndexID."
    INDEX { ifIndex }
    ::= { vsiTable 1 }

VsiEntry ::= SEQUENCE {
    vsiType                     InfnVsiType,
    vsiMTUSize                  Integer32,
    vsiServiceId                DisplayString,
    vsiCreationType             InfnVsiCreationType,
    vsiVlanLearning             INTEGER,
    vsiVlanLearningMode         InfnVlanLearningMode,
    vsiMacLimitVsi              Integer32,
    vsiMacLimitActionVsi        InfnVsiMacLimitAction,
    vsiMacLimitNotifyVsi        INTEGER
}

vsiType  OBJECT-TYPE
    SYNTAX     InfnVsiType
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION 
        ""
    ::= { vsiEntry 1 }

vsiMTUSize  OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION 
        ""
    ::= { vsiEntry 2 }

vsiServiceId  OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION 
        ""
    ::= { vsiEntry 3 }

vsiCreationType  OBJECT-TYPE
    SYNTAX     InfnVsiCreationType
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION 
        ""
    ::= { vsiEntry 4 }

vsiVlanLearning  OBJECT-TYPE
	SYNTAX  INTEGER {
		enabled (1),
		disabled (2)
	}
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION 
        ""
    ::= { vsiEntry 5 }

vsiVlanLearningMode  OBJECT-TYPE
    SYNTAX     InfnVlanLearningMode
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION 
        ""
    ::= { vsiEntry 6 }

vsiMacLimitVsi  OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION 
        ""
    ::= { vsiEntry 7 }

vsiMacLimitActionVsi  OBJECT-TYPE
    SYNTAX     InfnVsiMacLimitAction
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION 
        ""
    ::= { vsiEntry 8 }

vsiMacLimitNotifyVsi  OBJECT-TYPE
	SYNTAX  INTEGER {
		enabled (1),
		disabled (2)
	}
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION 
        ""
    ::= { vsiEntry 9 }

vsiCompliance  MODULE-COMPLIANCE
    STATUS     current
    DESCRIPTION ""
    MODULE
        MANDATORY-GROUPS { vsiGroup } 
    ::= { vsiCompliances 1 }

vsiGroup  OBJECT-GROUP
    OBJECTS { 
        vsiType,
        vsiMTUSize,
        vsiServiceId,
        vsiCreationType,
        vsiVlanLearning,
        vsiVlanLearningMode,
        vsiMacLimitVsi,
        vsiMacLimitActionVsi,
        vsiMacLimitNotifyVsi
    }
    STATUS     current
    DESCRIPTION ""
    ::= { vsiGroups 1 }
END
