-- *****************************************************************
-- QTECH-VMSUP-MIB.mib:  Qtech VirtualMachine MIB file
--
-- January 2011, Liupu
--
-- Copyright (c) 2012 by Qtech Networks Co.,Ltd.
-- All rights reserved.
-- 
-- *****************************************************************
--

QTECH-VM-MIB DEFINITIONS ::= BEGIN

IMPORTS
        MODULE-IDENTITY,
        OBJECT-TYPE,
        Integer32,
        Unsigned32,
        IpAddress
                FROM SNMPv2-SMI
        TruthValue,
        DisplayString,
        RowStatus,
        DateAndTime,
        MacAddress
                FROM SNMPv2-TC
        MODULE-COMPLIANCE,
        OBJECT-GROUP
                FROM SNMPv2-CONF
        IfIndex,
        ConfigStatus
                FROM QTECH-TC
        VlanId
                FROM Q-BRIDGE-MIB
        qtechMgmt
                FROM QTECH-SMI;

qtechVMMIB MODULE-IDENTITY
        LAST-UPDATED "201208220000Z"
        ORGANIZATION "Qtech Networks Co.,Ltd."
        CONTACT-INFO
                " 
                Tel: 4008-111-000 

                E-mail: service@qtech.com.cn"
        DESCRIPTION
                "This module defines qtech VM support mibs."
        REVISION      "201208220000Z"
        DESCRIPTION
                "Initial version of this MIB module."
        ::= { qtechMgmt 96}


-- VirtualMachine Information

qtechVMMIBObjects OBJECT IDENTIFIER ::= { qtechVMMIB 1 }

-- -----------------------------------------------------------------------
-- Scalar of configuring VM support.
-- -----------------------------------------------------------------------
qtechVMFuncVMSupport OBJECT-TYPE
        SYNTAX ConfigStatus
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "Indicates whether the VM support is currently running 
                in the specified switch.
                
                Set this object to valid(1) and the VM support will be disabled.
                Set this object to invalid(2) and the VM support will be enabled." 
        ::= { qtechVMMIBObjects 1 }

qtechVMTrapCfgNotifyStatus OBJECT-TYPE
        SYNTAX ConfigStatus
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "Status of the VM notification, 
                set its value to invalid(2) and VM notification will be turned off.
                set its value to valid(1) and VM notification will be turned on."
        ::= { qtechVMMIBObjects 2 }
        
qtechVMTrapCfgHistorySize OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "Value of VM notification history, and this value ranges from 1 to 200."
        ::= { qtechVMMIBObjects 3 }
        
qtechVMRateMin OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Minimum Kbps (KBits per second) for rate limit."
        ::= { qtechVMMIBObjects 12 }
        
qtechVMRateMax OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Maximum Kbps (KBits per second) for rate limit."
        ::= { qtechVMMIBObjects 13 }
        
qtechVMBurstMin OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Minimum Kbyte for rate burst. 
                Burst Size: The maximum number of byte to allow in a burst."
        ::= { qtechVMMIBObjects 14 }

qtechVMBurstMax OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Maximum Kbyte for rate burst. 
                Burst Size: The maximum number of byte to allow in a burst."
        ::= { qtechVMMIBObjects 15 }
        
-- -----------------------------------------------------------------------
-- A table for configuring VM information.
-- -----------------------------------------------------------------------
qtechVMInfoTable OBJECT-TYPE
        SYNTAX SEQUENCE OF QtechVMInfoEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
               "A table of VM information request entries."
        ::= { qtechVMMIBObjects 4 }
    
qtechVMInfoEntry OBJECT-TYPE
        SYNTAX QtechVMInfoEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Entry contains VM information in switch."  
        INDEX { qtechVMInfoVMMac, qtechVMInfoVMGroup }
        ::= { qtechVMInfoTable 1 }
        
QtechVMInfoEntry ::=
        SEQUENCE {
                qtechVMInfoVMMac       MacAddress,
                qtechVMInfoVMGroup     Integer32,
                qtechVMInfoRowStatus   RowStatus
        } 

qtechVMInfoVMMac OBJECT-TYPE
        SYNTAX MacAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Mac address of VM is registered."
        ::= { qtechVMInfoEntry 1 }

qtechVMInfoVMGroup OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
               "VM Group number to which the VM is associated."
        ::= { qtechVMInfoEntry 2 }

qtechVMInfoRowStatus OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Status of the Virtual Machine information table.
                
                Set this object to ROW_DESTORY, delete VM from VM Group.
                Set this object to ROW_ACTIVE, add VM to VM Group."
        ::= { qtechVMInfoEntry 3 }

-- -----------------------------------------------------------------------
-- A table for configuring VM Group.
-- -----------------------------------------------------------------------
qtechVMGroupInfoTable  OBJECT-TYPE
        SYNTAX SEQUENCE OF QtechVMGroupInfoEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "A table of VM Group information request entries."
        ::= { qtechVMMIBObjects 5 }
    
qtechVMGroupInfoEntry OBJECT-TYPE
        SYNTAX QtechVMGroupInfoEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Entry VM group information in switch."
        INDEX { qtechVMGroupInfoGroupName }
        ::= { qtechVMGroupInfoTable 1 }

QtechVMGroupInfoEntry ::=
        SEQUENCE {
                qtechVMGroupInfoGroupName      Integer32,
                qtechVMGroupInfoProfileCfg     ConfigStatus,
                qtechVMGroupInfoProfileName    DisplayString,
                qtechVMGroupInfoRowStatus      RowStatus
        }

qtechVMGroupInfoGroupName OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Group number to which the VM Group is associated."
        ::= { qtechVMGroupInfoEntry 1 }

qtechVMGroupInfoProfileCfg OBJECT-TYPE
        SYNTAX ConfigStatus
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "Configuration of the VM Group Profile.
                
                Set this object to unrelated(2) remove the profile from VM Group, 
                Set this object to related(1) relate the profile to VM Group"
        ::= { qtechVMGroupInfoEntry  2 }

qtechVMGroupInfoProfileName OBJECT-TYPE
        SYNTAX DisplayString(SIZE (0..32))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "Name of the network config file on the VM . 
                If the profile file is not created and the VM dose not need any ACL, QOS config, 
                this field is null."
        ::= { qtechVMGroupInfoEntry  3 }

qtechVMGroupInfoRowStatus OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Status of the Virtual Machine Group information table.
                
                Set this object to ROW_DESTORY, delete the VM Group.
                Set this object to ROW_ACTIVE, create the VM Group and 
                associate with this profile"
        ::= { qtechVMGroupInfoEntry 4 }

-- -----------------------------------------------------------------------
-- A table for configuring VM Profile.
-- -----------------------------------------------------------------------
qtechVMProfileTable OBJECT-TYPE
        SYNTAX SEQUENCE OF QtechVMProfileEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A table of VM network profile information."
        ::= { qtechVMMIBObjects 6 }

qtechVMProfileEntry OBJECT-TYPE
        SYNTAX QtechVMProfileEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Entry the VM network profile information in switch."  
        INDEX { qtechVMProfileName }
        ::= { qtechVMProfileTable 1 }
        
QtechVMProfileEntry ::= 
        SEQUENCE {
                qtechVMProfileName           DisplayString,
                qtechVMProfileAclIn          DisplayString,
                qtechVMProfileAclOut         DisplayString,
                qtechVMProfileTxRate         Unsigned32,
                qtechVMProfileTxBurst        Integer32,
                qtechVMProfileRxRate         Unsigned32,
                qtechVMProfileRxBurst        Integer32,
                qtechVMProfileRowStatus      RowStatus,
                qtechVMProfileQosTrustMode   INTEGER,
                qtechVMProfileQosDefCos      INTEGER,
                qtechVMProfileQosRxPolicyMap DisplayString
        }

qtechVMProfileName OBJECT-TYPE
        SYNTAX DisplayString(SIZE (0..32))
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
               "the name of the VM profile contains a set of properties 
                that will be configured on the Switch and VirtualSwitch."
        ::= { qtechVMProfileEntry  1 }

qtechVMProfileAclIn OBJECT-TYPE
        SYNTAX DisplayString(SIZE (1..100))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "Access list name of this entry , and the direction is in.This value 
                is unique for every entry. When this string is used as an index, Value 
                of a sub-identifier equals ASCII value of corresponding character(first 
                sub-identifier corresponds first character of string). The number of 
                sub-identifiers of this string must be 100, If length of string is less 
                than 100, the sub-identifier(0x0) will be filled in tail."
        ::= { qtechVMProfileEntry  2 }

qtechVMProfileAclOut OBJECT-TYPE
        SYNTAX DisplayString(SIZE (1..100))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "Access list name of this entry , and the direction is out.This value 
                is unique for every entry. When this string is used as an index, Value 
                of a sub-identifier equals ASCII value of corresponding character(first 
                sub-identifier corresponds first character of string). The number of 
                sub-identifiers of this string must be 100, If length of string is less 
                than 100, the sub-identifier(0x0) will be filled in tail."
        ::= { qtechVMProfileEntry  3 }

qtechVMProfileTxRate OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "Tx Rate value of VM flow output from port."
        ::= { qtechVMProfileEntry 4 }

qtechVMProfileTxBurst OBJECT-TYPE
        SYNTAX Integer32 
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "Output limit of burst traffic in units of byte.
                 0 indicates that burst traffic will be not limited."
        ::= { qtechVMProfileEntry 5 }

qtechVMProfileRxRate OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "Rx Rate value of VM flow input limit from port."
        ::= { qtechVMProfileEntry 6 }

qtechVMProfileRxBurst OBJECT-TYPE
        SYNTAX Integer32 
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "Input limit of burst traffic in units of byte.
                 0 indicates that burst traffic will be not limited."
        ::= { qtechVMProfileEntry 7 }

qtechVMProfileRowStatus OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Status of the Virtual Machine Profile information table.
                
                Set this object to ROW_DESTORY, delete the profile. 
                Set this object to ROW_ACTIVE, create the profile."
        ::= { qtechVMProfileEntry 8 }

qtechVMProfileQosTrustMode OBJECT-TYPE
        SYNTAX INTEGER {
               not-trust(0),
               trust-cos(1),
               trust-dscp(2),
               trust-ip-precedence(3)
        } 
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "QoS trust mode  for VMs."
        ::= { qtechVMProfileEntry 9 }

qtechVMProfileQosDefCos OBJECT-TYPE
        SYNTAX INTEGER {
                invalid(8)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "The default ingress User Priority for VMs.
		        This cos value is in the range (0..7) ,
                Set this value with invalid(8), defualt cos will delete."
        ::= { qtechVMProfileEntry 10 }

qtechVMProfileQosRxPolicyMap OBJECT-TYPE
        SYNTAX DisplayString(SIZE (1..32))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
               "Police map name of ServerPort ingress match about VM."
        ::= { qtechVMProfileEntry  11 }

-- -----------------------------------------------------------------------
-- A table for configuring VM location.
-- -----------------------------------------------------------------------
qtechVMLocInfoTable OBJECT-TYPE
        SYNTAX SEQUENCE OF QtechVMLocInfoEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
               "A table of VM location information."
        ::= { qtechVMMIBObjects 7 }
qtechVMLocInfoEntry OBJECT-TYPE
        SYNTAX QtechVMLocInfoEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Entry the VM location informations in switch."  
        INDEX { qtechVMLocInfoVMMac, qtechVMLocInfoPort }
        ::= { qtechVMLocInfoTable 1 }
        
QtechVMLocInfoEntry ::= 
        SEQUENCE {
                qtechVMLocInfoVMMac        MacAddress,
                qtechVMLocInfoPort         IfIndex,
                qtechVMLocInfoType         Unsigned32,
                qtechVMLocInfoRowStatus    RowStatus
        } 

qtechVMLocInfoVMMac OBJECT-TYPE
        SYNTAX MacAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Mac address of VM which is discovered in server port."
        ::= { qtechVMLocInfoEntry 1 }
        
qtechVMLocInfoPort OBJECT-TYPE
        SYNTAX IfIndex
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The port index where the VM is discovered in switch."
        ::= { qtechVMLocInfoEntry 2 }

qtechVMLocInfoType OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The type of VM location. This object is read-only.
                 get its value is VM_LOC_CONF(0) and the VM is configurated.
                 get its value is VM_LOC_DIS(1) and the VM is discovered."
        ::= { qtechVMLocInfoEntry 3 }
        
qtechVMLocInfoRowStatus OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Status of the Virtual Machine location information table.
                 Set this object to ROW_DESTORY, delete the location of VM.
                 Set this object to ROW_ACTIVE, add the location of VM."
        ::= { qtechVMLocInfoEntry 4 }

-- -----------------------------------------------------------------------
-- A table for configuring VM support ServerPort and ReflectPort.
-- -----------------------------------------------------------------------
qtechVMPortInfoTable  OBJECT-TYPE
        SYNTAX SEQUENCE OF QtechVMPortInfoEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
               "A table of server port information."
        ::= { qtechVMMIBObjects 8 }

qtechVMPortInfoEntry OBJECT-TYPE
        SYNTAX QtechVMPortInfoEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Entry the server port informations in switch."  
        INDEX { qtechVMPortInfoPort }
        ::= { qtechVMPortInfoTable 1 }
        
QtechVMPortInfoEntry ::= 
        SEQUENCE {
                qtechVMPortInfoPort            IfIndex,
                qtechVMPortInfoStatus          ConfigStatus,
                qtechVMPortInfoReflectStatus   ConfigStatus
        }

qtechVMPortInfoPort OBJECT-TYPE
        SYNTAX IfIndex
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Server port index on which VM is discovered."
        ::= { qtechVMPortInfoEntry 1 }

qtechVMPortInfoStatus OBJECT-TYPE
        SYNTAX ConfigStatus
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "Status of this port to ServerPort function, 
                set its value to invalid(2) and this port VM support will be disabled. 
                set its value to valid(1) and this port VM support will be enabled."
        ::= { qtechVMPortInfoEntry 2 }

qtechVMPortInfoReflectStatus OBJECT-TYPE
        SYNTAX ConfigStatus
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "Status of this port reflectrelay function, 
                set its value to invalid(2) and this port without reflectrelay function.
                set its value to valid(1) and this port reflectrelay function enable."
        ::= { qtechVMPortInfoEntry 3 }

-- -----------------------------------------------------------------------
-- A table for VM support SNMP trap interface configuration.
-- -----------------------------------------------------------------------
qtechVMPortTrapCfgTable  OBJECT-TYPE
        SYNTAX SEQUENCE OF QtechVMPortTrapCfgEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
               "Configuration the port of VM notification."
        ::= { qtechVMMIBObjects 9 }

qtechVMPortTrapCfgEntry OBJECT-TYPE
        SYNTAX QtechVMPortTrapCfgEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Entry the Configuration of VM notification of interface."  
        INDEX { qtechVMPortTrapCfgPort }
        ::= { qtechVMPortTrapCfgTable 1 }
        
QtechVMPortTrapCfgEntry ::= 
        SEQUENCE {
                qtechVMPortTrapCfgPort         IfIndex,
                qtechVMPortTrapCfgNotifyStatus ConfigStatus
        }

qtechVMPortTrapCfgPort OBJECT-TYPE
        SYNTAX IfIndex
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The port index which VM notification will be sent in switch."
        ::= { qtechVMPortTrapCfgEntry 1 }

qtechVMPortTrapCfgNotifyStatus OBJECT-TYPE
        SYNTAX ConfigStatus
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Status of this port VM notification, 
            set its value to invalid(2) and VM notification will be disabled on this port.
            set its value to valid(1) and VM notification will be enabled on this port."
        ::= { qtechVMPortTrapCfgEntry 2 }

-- -----------------------------------------------------------------------
-- A table for VM support trap information.
-- -----------------------------------------------------------------------
qtechVMInfoChgTable OBJECT-TYPE
        SYNTAX SEQUENCE OF QtechVMInfoChgEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
               "A table of VM notification."
        ::= { qtechVMMIBObjects 10 }
    
qtechVMInfoChgEntry OBJECT-TYPE
        SYNTAX QtechVMInfoChgEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Entry the VM notification information in switch."  
        INDEX { qtechVMInfoChgVMMac, qtechVMInfoChgVlan }
        ::= { qtechVMInfoChgTable 1 }
        
QtechVMInfoChgEntry ::= 
        SEQUENCE {
                qtechVMInfoChgVMMac    MacAddress,
                qtechVMInfoChgVlan     VlanId,
                qtechVMInfoChgPort     IfIndex,
                qtechVMInfoChgAction   DisplayString,
                qtechVMInfoChgDate     DateAndTime
        } 
        
qtechVMInfoChgVMMac OBJECT-TYPE
        SYNTAX MacAddress
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
                "The VM mac address is discovered in switch."
        ::= { qtechVMInfoChgEntry 1 }
        
qtechVMInfoChgVlan OBJECT-TYPE
        SYNTAX VlanId
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
                "Vlan ID where the VM is discovered in switch."
        ::= { qtechVMInfoChgEntry 2 }
        
qtechVMInfoChgPort OBJECT-TYPE
        SYNTAX IfIndex
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
                "The port index where the VM is discovered in switch."
        ::= { qtechVMInfoChgEntry 3 }
        
qtechVMInfoChgAction OBJECT-TYPE
        SYNTAX DisplayString(SIZE (0..32))
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
                "The action of VM discover or delete, 
                set its value to invalid and indicates the VM is deleted.
                set its value to valid and indicates the VM is discovered."
        ::= { qtechVMInfoChgEntry 4 }
        
qtechVMInfoChgDate OBJECT-TYPE
        SYNTAX DateAndTime
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
                "The date and time when this VM is discovered or deleted."
        ::= { qtechVMInfoChgEntry 5 }

-- -----------------------------------------------------------------------
-- A table for configuring VM OUI.
-- -----------------------------------------------------------------------
qtechVMOuiInfoTable OBJECT-TYPE
        SYNTAX SEQUENCE OF QtechVMOuiInfoEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
               "A table of VM OUI information."
        ::= { qtechVMMIBObjects 11 }

qtechVMOuiInfoEntry OBJECT-TYPE
        SYNTAX QtechVMOuiInfoEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Entry the VM OUI information in switch."  
        INDEX { qtechVMOuiInfoOui }
        ::= { qtechVMOuiInfoTable 1 }
        
QtechVMOuiInfoEntry ::= 
        SEQUENCE {
                qtechVMOuiInfoOui          MacAddress,
                qtechVMOuiInfoRowStatus    RowStatus
        } 

qtechVMOuiInfoOui OBJECT-TYPE
        SYNTAX MacAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "OUI of VM which is VM will be discovered in server port,
                Only three bytes available in front and the last three bytes 
                should be set to 0x00, such as 0x00 0x50 0x56 0x00 0x00 0x00."
        ::= { qtechVMOuiInfoEntry 1 }

qtechVMOuiInfoRowStatus OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Status of the VM OUI information table.
                 Set this object to ROW_DESTORY, delete the VM OUI.
                 Set this object to ROW_ACTIVE, add the VM OUI"
        ::= { qtechVMOuiInfoEntry 2 }
-- -----------------------------------------------------------------------
-- Notification of VM support.
-- -----------------------------------------------------------------------
qtechVMMIBTraps OBJECT IDENTIFIER ::= { qtechVMMIB 2 }

qtechVMsupMIBTrap NOTIFICATION-TYPE
    OBJECTS { 
            qtechVMInfoChgVMMac,
            qtechVMInfoChgVlan,
            qtechVMInfoChgPort, 
            qtechVMInfoChgAction,
            qtechVMInfoChgDate
    } 
    STATUS  current
    DESCRIPTION
            "This notification is generated when a VM is discovered or deleted. 
            If this VM is discovered and without VM location information this 
            notification will be sent. If this VM is deleted and activated by MAC 
            notification, this notification will be sent." 
    ::= { qtechVMMIBTraps 1 } 

-- conformance information

qtechVMMIBConformance OBJECT IDENTIFIER ::= { qtechVMMIB 3 }
qtechVMMIBCompliances OBJECT IDENTIFIER ::= { qtechVMMIBConformance 1 }
qtechVMMIBGroups      OBJECT IDENTIFIER ::= { qtechVMMIBConformance 2 }


-- compliance statements

qtechVMMIBCompliance MODULE-COMPLIANCE
        STATUS  current
        DESCRIPTION
                "The compliance statement for entities which implement
                the Qtech VM MIB"
        MODULE  -- this module
                MANDATORY-GROUPS { qtechVMMIBGroup }
        ::= { qtechVMMIBCompliances 1 }


-- units of conformance

qtechVMMIBGroup OBJECT-GROUP
        OBJECTS {
                -- Scalar
                qtechVMFuncVMSupport,
                qtechVMTrapCfgNotifyStatus,
                qtechVMTrapCfgHistorySize,
                qtechVMRateMin,
                qtechVMRateMax,
                qtechVMBurstMin,
                qtechVMBurstMax,
                
                -- VM information table
                qtechVMInfoVMMac,
                qtechVMInfoVMGroup,
                qtechVMInfoRowStatus,
                
                -- VM group information table
                qtechVMGroupInfoGroupName,
                qtechVMGroupInfoProfileCfg,
                qtechVMGroupInfoProfileName,
                qtechVMGroupInfoRowStatus,
                
                -- VM profile information table
                qtechVMProfileName,
                qtechVMProfileAclIn,
                qtechVMProfileAclOut,
                qtechVMProfileTxRate,
                qtechVMProfileTxBurst,
                qtechVMProfileRxRate,
                qtechVMProfileRxBurst,
                qtechVMProfileRowStatus,
                qtechVMProfileQosTrustMode,
                qtechVMProfileQosDefCos,
                qtechVMProfileQosRxPolicyMap,
                
                -- VM location information table
                qtechVMLocInfoVMMac,
                qtechVMLocInfoPort,
                qtechVMLocInfoType,
                qtechVMLocInfoRowStatus,
                
                -- VM ServerPort and ReflectPort configuration
                qtechVMPortInfoPort,
                qtechVMPortInfoStatus,
                qtechVMPortInfoReflectStatus,
                
                -- VM trap port configuration
                qtechVMPortTrapCfgPort,
                qtechVMPortTrapCfgNotifyStatus,
                
                -- VM support trap information
                qtechVMInfoChgVMMac,
                qtechVMInfoChgVlan,
                qtechVMInfoChgPort,
                qtechVMInfoChgAction,
                qtechVMInfoChgDate,
                
                -- VM OUI information table
                qtechVMOuiInfoOui,
                qtechVMOuiInfoRowStatus
        }
        STATUS  current
        DESCRIPTION
                "A collection of objects providing VM (echo) ability to a
                Qtech agent."
        ::= { qtechVMMIBGroups 1 }     
        
END
