-- *****************************************************************
-- FS-TM-MIB.mib:  FS interface MIB file
--
-- Dec 2010, zhuzm
--
-- Copyright (c) 2002 by FS.COM Inc..
-- All rights reserved.
-- 
-- *****************************************************************
--

FS-TM-MIB DEFINITIONS ::= BEGIN

IMPORTS
        MODULE-IDENTITY,
        OBJECT-TYPE,
        Integer32,
        TimeTicks
                FROM SNMPv2-SMI
        MODULE-COMPLIANCE,
        OBJECT-GROUP
                FROM SNMPv2-CONF
        IfIndex
                FROM FS-TC
        fsMgmt
                FROM FS-SMI;

fsTMMIB MODULE-IDENTITY
        LAST-UPDATED "201012130000Z"
        ORGANIZATION "FS.COM Inc.."
        CONTACT-INFO
                " 
                Tel: 400-865-2852 

                E-mail: https://www.fs.com/live_chat_service_mail.html"
        DESCRIPTION
                "This module defines fs TM mibs."
        REVISION      "201012130000Z"
        DESCRIPTION
                "Initial version of this MIB module."
        ::= { fsMgmt 91 }

fsTMMIBObjects OBJECT IDENTIFIER ::= { fsTMMIB 1 }

fsTMQosDramMIBObjects OBJECT IDENTIFIER ::= { fsTMMIBObjects 1 }
fsTMQosDropMIBObjects OBJECT IDENTIFIER ::= { fsTMMIBObjects 2 }
fsTMQosQueMIBObjects  OBJECT IDENTIFIER ::= { fsTMMIBObjects 3 }


fsQosDramTable OBJECT-TYPE
        SYNTAX SEQUENCE OF FSQosDramEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "This item is to show the Hardware Dram usage information.
             It indicates the BUFFER traffic consumed."
        ::= { fsTMQosDramMIBObjects 1 }
    
fsQosDramEntry OBJECT-TYPE
        SYNTAX FSQosDramEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "This item is to show the Hardware Dram usage information.
             It indicates the BUFFER traffic consumed."
        INDEX { fsQoSDramIndex }
        ::= { fsQosDramTable 1 }

FSQosDramEntry ::=
        SEQUENCE {
            fsQoSDramIndex     Integer32,
            fsQosDramTotal     Integer32,
            fsQosDramCurUsed   Integer32
        }

fsQoSDramIndex  OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "This item specifies the Petra Chip"
        ::= { fsQosDramEntry 1 }

fsQosDramTotal OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "This item shows Total Dram Size by MB, that's, the total BUFFER of
             the specified Petra Chip."
        ::= { fsQosDramEntry 2 }
        	
fsQosDramCurUsed OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "This item shows the CURRENT used Dram Size by B, that's,
             the BUFFER consumed by traffic on the specified Petra Chip."
        ::= { fsQosDramEntry 3 }
 

--- fsTMQosDropMIBObjects
fsQosDropTable OBJECT-TYPE
        SYNTAX SEQUENCE OF FSQosDropEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "This item is to show the packet DROP Stat. information.
             It includes information about INGRESS drop packet Stat.,
             EGRESS drop packet Stat., etc."
        ::= { fsTMQosDropMIBObjects 1 }
    
fsQosDropEntry OBJECT-TYPE
        SYNTAX FSQosDropEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "This item is to show the packet DROP Stat. information.
             It includes information about INGRESS drop packet Stat.,
             EGRESS drop packet Stat., etc."
        INDEX { fsQoSDropIndex }
        ::= { fsQosDropTable 1 }

FSQosDropEntry ::=
        SEQUENCE {
            fsQoSDropIndex            Integer32,
            fsQoSTotalEnQue           Integer32,
            fsQoSTotalDeQue           Integer32,
       	    fsQoSEnQueDrop            Integer32,
       	    fsQoSEnQueDropByBuf       Integer32,
       	    fsQoSEnQueDropByBufDesc   Integer32,
       	    fsQoSEnQueDropByOther     Integer32,
       	    fsQoSDeQueDrop            Integer32,
       	    fsQoSLastClearTime        TimeTicks
        }

fsQoSDropIndex  OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "This item specifies the Petra Chip"
        ::= { fsQosDropEntry 1 }
        
fsQoSTotalEnQue OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "This item shows Total Enqueue Packet Stat. of the specified
             Petra Chip"
        ::= { fsQosDropEntry 2 }
        	
fsQoSTotalDeQue OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "This item shows Total Dequeue Packet Stat. of the specified
             Petra Chip"
        ::= { fsQosDropEntry 3 }

fsQoSEnQueDrop OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "This item shows Total Enqueue Drop Packet Stat. of the specified
             Petra Chip"
        ::= { fsQosDropEntry 4 }
        
fsQoSEnQueDropByBuf OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "This item shows Total Enqueue Drop Packet Stat. of the specified
             Petra Chip, due to Buffer reason "
        ::= { fsQosDropEntry 5 }
        	
fsQoSEnQueDropByBufDesc OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "This item shows Total Enqueue Drop Packet Stat. of the specified
             Petra Chip, due to Buffer Descriptor reason"
        ::= { fsQosDropEntry 6 }
        	
fsQoSEnQueDropByOther OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "This item shows Total Enqueue Drop Packet Stat. of the specified
             Petra Chip, due to other reason"
        ::= { fsQosDropEntry 7 }
        
fsQoSDeQueDrop OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "This item shows Total Dequeue Drop Packet Stat. of the specified
             Petra Chip"
        ::= { fsQosDropEntry 8 }

fsQoSLastClearTime OBJECT-TYPE
        SYNTAX TimeTicks
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "This item shows the last clear time."
        ::= { fsQosDropEntry 9 }


--- fsTMQosQueMIBObjects
fsQosQueTable OBJECT-TYPE
        SYNTAX SEQUENCE OF FSQosQueEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "This item is to show the buffer historic information of
             the specified interface.
             It includes information about the CURRENT buffer consumed by KB,
               the MAXINUM buffer allocated by B,
               the Peak Value of BUFFER consumed in the past by B,
               the rate of BUFFER consumed by percentage, etc."
        ::= { fsTMQosQueMIBObjects 1 }
    
fsQosQueEntry OBJECT-TYPE
        SYNTAX FSQosQueEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "This item is to show the buffer historic information of
             the specified interface.
             It includes information about the CURRENT buffer consumed by KB,
               the MAXINUM buffer allocated by B,
               the Peak Value of BUFFER consumed in the past by B,
               the rate of BUFFER consumed by percentage, etc."
        INDEX { fsQoSIfIndex,
                fsQoSIfChipIndex,
                fsQoSIfChipQueIndex
              }
        ::= { fsQosQueTable 1 }
  
FSQosQueEntry ::=
        SEQUENCE {
            fsQoSIfIndex          IfIndex,
            fsQoSIfChipIndex      INTEGER,
            fsQoSIfChipQueIndex   INTEGER,
            fsQoSIfChipMax        Integer32,
            fsQoSIfChipCur        Integer32,
            fsQoSIfChipPeak       Integer32,
            fsQoSIfChipRate       Integer32,
            fsQoSIfChipTime       TimeTicks
        } 

fsQoSIfIndex OBJECT-TYPE
        SYNTAX IfIndex
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "This item indicates the Interface Index."
        ::= { fsQosQueEntry 1 }
        	
fsQoSIfChipIndex OBJECT-TYPE
        SYNTAX INTEGER {
        	chip-0(0),
        	chip-1(1)
        }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "This item specifies the Petra Chip."
        ::= { fsQosQueEntry 2 }
        	
fsQoSIfChipQueIndex OBJECT-TYPE
        SYNTAX INTEGER {
                queue-1(1),
        	queue-2(2),
        	queue-3(3),
        	queue-4(4),
        	queue-5(5),
        	queue-6(6),
        	queue-7(7),
        	queue-8(8)
        }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "This item specifies the queue index of the specified Petra Chip."
        ::= { fsQosQueEntry 3 }

fsQoSIfChipMax OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "This item specifies the MAXINUM buffer allocated on the specified
             Petra Chip, by KByte."
        ::= { fsQosQueEntry 4 }
           
fsQoSIfChipCur OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "This item specifies the CURRENT buffer consumed on the specified
             Petra Chip, by Byte."
        ::= { fsQosQueEntry 5 }

fsQoSIfChipPeak OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "This item specifies the Peak Value of BUFFER consumed in the past
             on the specified Petra Chip, by Byte."
        ::= { fsQosQueEntry 6 }
        	
fsQoSIfChipRate OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "This item specifies the rate of BUFFER consumed on the specified
             Petra Chip since last clear operation,  by percentage."
        ::= { fsQosQueEntry 7 }        	
        	
fsQoSIfChipTime OBJECT-TYPE
        SYNTAX TimeTicks
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "This item shows the last clear time."
        ::= { fsQosQueEntry 8 }    
        
--**********************************************************************
-- about conformance info 
--**********************************************************************
fsTMMIBConformance OBJECT IDENTIFIER ::= { fsTMMIB 2 }
fsTMMIBCompliances OBJECT IDENTIFIER ::= { fsTMMIBConformance 1 }
fsTMMIBGroups      OBJECT IDENTIFIER ::= { fsTMMIBConformance 2 }

-- compliance statements
fsTMMIBCompliance MODULE-COMPLIANCE
			STATUS  current
    	DESCRIPTION
        	"The compliance statement for entities which implement
         	the FSTMMIB"
    	MODULE  
    	MANDATORY-GROUPS { 
        	fsTMMIBGroup
    	}
    	::= { fsTMMIBCompliances 1 }

-- units of conformance
fsTMMIBGroup OBJECT-GROUP
        OBJECTS {
            fsQoSDramIndex,
            fsQosDramTotal,
            fsQosDramCurUsed,
            
            fsQoSDropIndex,
            fsQoSTotalEnQue,
            fsQoSTotalDeQue,
       	    fsQoSEnQueDrop,
       	    fsQoSEnQueDropByBuf,
       	    fsQoSEnQueDropByBufDesc,
       	    fsQoSEnQueDropByOther,
       	    fsQoSDeQueDrop,
       	    fsQoSLastClearTime,
       	    
       	    fsQoSIfIndex,
            fsQoSIfChipIndex,
            fsQoSIfChipQueIndex,
            fsQoSIfChipMax,
            fsQoSIfChipCur,
            fsQoSIfChipPeak,
            fsQoSIfChipRate,
            fsQoSIfChipTime
        }
        STATUS current
        DESCRIPTION
              "A collection of objects to show information about the Hardware
               Dram usage,the packet DROP State, and the buffer historic
               information of the specified interface."
        ::= { fsTMMIBGroups 1 }

END
