-- *******************************************************************
-- QTECH-VXU-MIB.mib: Qtech VXU MIB file
-- Aug 2013, hedong, liuxi
--
-- Copyright (c) 2013 by Qtech Networks Co.,Ltd.
-- All rights reserved.
-- *******************************************************************
--
QTECH-VXU-MIB DEFINITIONS ::= BEGIN

IMPORTS
        OBJECT-TYPE,
        MODULE-IDENTITY,
        IpAddress,
        NOTIFICATION-TYPE
                FROM SNMPv2-SMI
        Gauge
                FROM RFC1155-SMI
        MacAddress,
        DisplayString
                FROM SNMPv2-TC
        MODULE-COMPLIANCE,
        NOTIFICATION-GROUP,
        OBJECT-GROUP
                FROM SNMPv2-CONF
        qtechMgmt
                FROM QTECH-SMI;

qtechVxuMIB MODULE-IDENTITY
        LAST-UPDATED "201309040001Z"
        ORGANIZATION "$Company$"
        CONTACT-INFO
            " 
        Tel: $Telephone$

        E-mail: $E-mail$"
        DESCRIPTION
            "This module defines VXU management mibs."
        REVISION "201308060000Z"
        DESCRIPTION
            "Initial version of this MIB module."
    ::= { qtechMgmt 126 }

--********************************************************************
--                                                                  **
--                         VXU objects root                         **
--                                                                  **
--********************************************************************
qtechVxuMIBObjects OBJECT IDENTIFIER ::= { qtechVxuMIB 1 }

--***************** the VXU device nodes *********************
qtechVxuDeviceInfo OBJECT IDENTIFIER ::= { qtechVxuMIBObjects 1 }

qtechVxuDeviceTable OBJECT-TYPE
        SYNTAX SEQUENCE OF  QtechVxuDeviceEntry
        MAX-ACCESS          not-accessible 
        STATUS              current         
        DESCRIPTION     
            "The whole device information in VXU system"
    ::= { qtechVxuDeviceInfo 1 }

qtechVxuDeviceEntry OBJECT-TYPE
        SYNTAX      QtechVxuDeviceEntry 
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The device information entry"
        INDEX       { qtechVxuDeviceID }
    ::= { qtechVxuDeviceTable 1 }

QtechVxuDeviceEntry ::=
        SEQUENCE {
            qtechVxuDeviceID           INTEGER,   
            qtechVxuDeviceMac          MacAddress,
            qtechVxuDeviceDescr        DisplayString,
            qtechVxuDeviceRole         INTEGER
        }

qtechVxuDeviceID OBJECT-TYPE
        SYNTAX      INTEGER 
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The VXU system member device identifier"
    ::= { qtechVxuDeviceEntry 1 }

qtechVxuDeviceMac OBJECT-TYPE
        SYNTAX      MacAddress 
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The VXU system member device mac address"
    ::= { qtechVxuDeviceEntry 2 }

qtechVxuDeviceDescr OBJECT-TYPE
        SYNTAX      DisplayString 
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The VXU system member device description information"
    ::= { qtechVxuDeviceEntry 3 }

qtechVxuDeviceRole OBJECT-TYPE
        SYNTAX      INTEGER {
                        master(1),
                        slaver(2)
                    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The VXU system member device role information"
    ::= { qtechVxuDeviceEntry 4 }

--***************** the VXU VXL nodes *********************
qtechVxuVxl OBJECT IDENTIFIER ::= { qtechVxuMIBObjects 2 }
    
qtechVxuVxlTable OBJECT-TYPE 
        SYNTAX SEQUENCE OF  QtechVxuVxlEntry
        MAX-ACCESS          not-accessible 
        STATUS              current
        DESCRIPTION
            "The VXU VXL AP table"
    ::= { qtechVxuVxl 1 }

qtechVxuVxlEntry OBJECT-TYPE
        SYNTAX      QtechVxuVxlEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The VXU VXL AP entry"
        INDEX       { qtechVxuChildDeviceID } 
    ::= { qtechVxuVxlTable 1 }

QtechVxuVxlEntry ::=
        SEQUENCE {   
            qtechVxuChildDeviceID          INTEGER,     
            qtechVxuFatherDeviceID         INTEGER,
            qtechVxuFatherVxlIndex         INTEGER,
            qtechVxuVxlMode                INTEGER
        }  
        
qtechVxuChildDeviceID OBJECT-TYPE    
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The child node device identifier"
    ::= { qtechVxuVxlEntry 1 }

qtechVxuFatherDeviceID OBJECT-TYPE    
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The identifier of the father node of the child node"
    ::= { qtechVxuVxlEntry 2 }
    
qtechVxuFatherVxlIndex OBJECT-TYPE    
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The VXU VXL AP index of the father node"
    ::= { qtechVxuVxlEntry 3 }        
    
qtechVxuVxlMode OBJECT-TYPE
        SYNTAX      INTEGER {
                        static(1),
                        dynamic(2)
                    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The working mode of VXL AP"
    ::= { qtechVxuVxlEntry 4 }    

qtechVxuVxlPortTable OBJECT-TYPE 
        SYNTAX SEQUENCE OF  QtechVxuVxlPortEntry
        MAX-ACCESS          not-accessible 
        STATUS              current
        DESCRIPTION
            "The VXU VXL port members table"
    ::= { qtechVxuVxl 2 }

qtechVxuVxlPortEntry OBJECT-TYPE
        SYNTAX      QtechVxuVxlPortEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The VXU VXL port members entry"
        INDEX       { qtechVxuVxlDeviceID, qtechVxuVxlIndex, qtechVxuVxlPortIndex } 
    ::= { qtechVxuVxlPortTable 1 }

QtechVxuVxlPortEntry ::=
        SEQUENCE {
        	qtechVxuVxlDeviceID         INTEGER,
        	qtechVxuVxlIndex            INTEGER,
        	qtechVxuVxlPortIndex        INTEGER,
        	qtechVxuVxlPortMode         INTEGER,
        	qtechVxuVxlPortDeviceID     INTEGER,
        	qtechVxuVxlPortSlotID       INTEGER,
        	qtechVxuVxlPortID     	     INTEGER,
        	qtechVxuVxlPortPeerDeviceID INTEGER,
        	qtechVxuVxlPortPeerSlotID   INTEGER,
        	qtechVxuVxlPortPeerID       INTEGER
        }

qtechVxuVxlDeviceID OBJECT-TYPE    
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The VXU Device id"
    ::= { qtechVxuVxlPortEntry 1 }
    
qtechVxuVxlIndex OBJECT-TYPE    
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The VXL AP id"
    ::= { qtechVxuVxlPortEntry 2 }
    
qtechVxuVxlPortIndex OBJECT-TYPE    
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The VXL Port id"
    ::= { qtechVxuVxlPortEntry 3 } 
    
qtechVxuVxlPortMode OBJECT-TYPE
        SYNTAX      INTEGER {
                        static(1),
                        dynamic(2)
                    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The VXL Port mode"
    ::= { qtechVxuVxlPortEntry 4 }       

qtechVxuVxlPortDeviceID OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The device id of local VXL Port"
    ::= { qtechVxuVxlPortEntry 5 }   

qtechVxuVxlPortSlotID OBJECT-TYPE    
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The slot id of local VXL Port"
    ::= { qtechVxuVxlPortEntry 6 }

qtechVxuVxlPortID OBJECT-TYPE    
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The port id of local VXL Port"
    ::= { qtechVxuVxlPortEntry 7 }

qtechVxuVxlPortPeerDeviceID OBJECT-TYPE    
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The device id of peer VXL Port"
    ::= { qtechVxuVxlPortEntry 8 }

qtechVxuVxlPortPeerSlotID OBJECT-TYPE    
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The slot id of peer VXL Port"
    ::= { qtechVxuVxlPortEntry 9 }
    
qtechVxuVxlPortPeerID OBJECT-TYPE    
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The port id of peer VXL Port"
    ::= { qtechVxuVxlPortEntry 10 }

--***************** the VXU Location nodes *********************
qtechVxuLocation OBJECT IDENTIFIER ::= { qtechVxuMIBObjects 3 }

qtechVxuLocationTable OBJECT-TYPE
        SYNTAX SEQUENCE OF  QtechVxuLocationEntry
        MAX-ACCESS          not-accessible 
        STATUS              current         
        DESCRIPTION     
            "Locate device in VXU system"
    ::= { qtechVxuLocation 1 }

qtechVxuLocationEntry OBJECT-TYPE
        SYNTAX      QtechVxuLocationEntry 
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The device information entry"
        INDEX       { qtechVxuLocationDeviceID, qtechVxuLocationSlotID }
    ::= { qtechVxuLocationTable 1 }

QtechVxuLocationEntry ::=
        SEQUENCE {
            qtechVxuLocationDeviceID      INTEGER,   
            qtechVxuLocationSlotID        INTEGER,
            qtechVxuLocationSet           INTEGER
        }

qtechVxuLocationDeviceID OBJECT-TYPE
        SYNTAX      INTEGER 
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The VXU system member device identifier"
    ::= { qtechVxuLocationEntry 1 }
    
qtechVxuLocationSlotID OBJECT-TYPE
        SYNTAX      INTEGER 
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The VXU system slot identifier"
    ::= { qtechVxuLocationEntry 2 }
    
qtechVxuLocationSet OBJECT-TYPE
        SYNTAX      INTEGER {
                        light(1)
                    } 
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Light the LED of object device"
    ::= { qtechVxuLocationEntry 3 }

--******************* the VXU Version nodes *********************
qtechVxuVersion OBJECT-TYPE
        SYNTAX      DisplayString
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The VXU system version"
    ::= { qtechVxuMIBObjects 4 }

--********************************************************************
--                                                                  **
--                          traps nodes                             **
--                                                                  **
--********************************************************************
qtechVxuMIBTraps OBJECT IDENTIFIER ::= { qtechVxuMIB 2 }
qtechVxuTrapsNtfObjects OBJECT IDENTIFIER ::= { qtechVxuMIBTraps 1 } 

qtechVxuDeviceState OBJECT-TYPE    
        SYNTAX      INTEGER {
                        online(1),
                        offline(2)
                    }
        MAX-ACCESS  accessible-for-notify
        STATUS      current
        DESCRIPTION
            "The description of device state change"
    ::= { qtechVxuTrapsNtfObjects 1 }
    
qtechVxuVxlState OBJECT-TYPE    
        SYNTAX      INTEGER {
                        vxl(1),
                        normal(2)
                    }
        MAX-ACCESS  accessible-for-notify
        STATUS      current
        DESCRIPTION
            "The description of VXL port state change"
    ::= { qtechVxuTrapsNtfObjects 2 }    

qtechVxuTrapsNotifications OBJECT IDENTIFIER ::= { qtechVxuMIBTraps 2 }
    
qtechVxuNotifyDeviceChange NOTIFICATION-TYPE
        OBJECTS     {
                        qtechVxuLocationDeviceID,
                        qtechVxuLocationSlotID,
                        qtechVxuDeviceState
                    }
        STATUS      current
        DESCRIPTION
            "This notification is send by VXU master when device plugin or remove"
    ::= { qtechVxuTrapsNotifications 1 }

qtechVxuNotifyVxlChange NOTIFICATION-TYPE
        OBJECTS     {
                        qtechVxuVxlPortDeviceID,
                        qtechVxuVxlPortSlotID,
                        qtechVxuVxlPortID,
                        qtechVxuVxlState
                    }
        STATUS      current
        DESCRIPTION
            "This notification is send by VXU master when VXL Port change"
    ::= { qtechVxuTrapsNotifications 2 }       

END

