-- *****************************************************************
-- RAISECOM-CCP-MIB.MIB:  Raisecom CCP MIB file
--
-- Jan. 2010, chilei
--
-- Copyright (c) 1994-2009 by Raisecom, Inc.
-- All rights reserved.
-- 
-- *****************************************************************
SWITCH-CCP-MIB  DEFINITIONS ::= BEGIN

IMPORTS
	MODULE-IDENTITY, OBJECT-TYPE,
        IpAddress                       FROM SNMPv2-SMI
        
        PortList, EnableVar,ObjName	    FROM SWITCH-TC 
        
        RowStatus                       FROM SNMPv2-TC
               
        iscomSwitch                     FROM RAISECOM-BASE-MIB;  
	
     rcCcp     MODULE-IDENTITY
        LAST-UPDATED    "201011080000Z"
        ORGANIZATION    "Raisecom, Inc."
        CONTACT-INFO
                "       Raise Systems
                        
                Postal: Beijing,
                        China

                   Tel: 86-010-82884499

                E-mail: chilei@raisecom.com"
        DESCRIPTION
                "Description of CCP object."     
                
        REVISION   "201011080000Z"  
        DESCRIPTION 
        "The MIB module defining objects for cpu cache packet functions."                      
                 ::= { iscomSwitch 55 }      
------------------------------------------------------------------------------
--  define groups in rcCcp
------------------------------------------------------------------------------                   
    rcCpuCachePacket   OBJECT IDENTIFIER ::={ rcCcp 1 }       
------------------------------------------------------------------------------
--rcCpuCachePacket group
--rcCpuCachePacket group scale MIB--
------------------------------------
rcCpuCachePacketEnable OBJECT-TYPE
        SYNTAX EnableVar
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Indicates whether the CCP feature is enabled on the device.
            Enable(1) means that the CCP feature is enabled on this device.
            Disable(2) means that the CCP feature is disabled."
        ::= { rcCpuCachePacket 1 }    
        
rcCpuCachePacketPortList OBJECT-TYPE
        SYNTAX PortList
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The ports that packets will be collected."
        ::= { rcCpuCachePacket 2 }   
                
rcCpuCachePacketLen OBJECT-TYPE
        SYNTAX INTEGER {header(1),all(2)}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Set the length of packets which store in the cache.
            Header indicates the first 64 Bytes of the packet.
            All indicates the length of the packet."
        ::= { rcCpuCachePacket 3 }
     
rcCpuCachePacketBufferSize OBJECT-TYPE
        SYNTAX      INTEGER 
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Set the size of the buffer which is used to store the packets."
        ::= { rcCpuCachePacket 4 } 

rcCpuCachePacketManualUpload OBJECT-TYPE
        SYNTAX      EnableVar 
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Manual upload the file once."
        ::= { rcCpuCachePacket 5 } 
        
rcCpuCachePacketAutoUpload OBJECT-TYPE
        SYNTAX      EnableVar 
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Auto upload files."
        ::= { rcCpuCachePacket 6 } 

rcCpuCachePacketOverride OBJECT-TYPE
        SYNTAX      EnableVar 
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Set the enable status of the buffer override mode.
             1 indicates the buffer can be overrided.
             2 indicates the buffer cannot be overrided."
        ::= { rcCpuCachePacket 7 }
        
rcCpuCachePacketAutoUploadTimes OBJECT-TYPE
        SYNTAX      INTEGER (0..1000)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Set the times of auto upload.
            0 indicates forever.The default value is 10."
        ::= { rcCpuCachePacket 8 } 

rcCpuCachePacketClear OBJECT-TYPE
        SYNTAX      EnableVar
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Clear the cache."
        ::= { rcCpuCachePacket 9 } 
    
rcCpuCachePacketsAutoUploadCounter OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Indicates the count of already auto upload times."
        ::= { rcCpuCachePacket 10 } 

rcCpuCachePacketMirrorToCpuStatus OBJECT-TYPE
        SYNTAX      EnableVar
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Indicates whether the MirrorToCpu feature is enabled."
        ::= { rcCpuCachePacket 11 } 

rcCpuCachePacketBufferStatus OBJECT-TYPE
        SYNTAX      INTEGER  {not-malloc(1),not-full(2),full(3)}
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Indicates the status of the buffer in the ccp module.
			1 indicates  the module does not malloc the memory. 
			2 indicates the module has malloced the memory ,and the memory is not full.
			3 indicates the module has malloced the memory,and the memory is full."
        ::= { rcCpuCachePacket 12 } 
               
rcCpuCachePacketStatus OBJECT-TYPE
        SYNTAX      INTEGER {idle(1),uploading(2),collecting(3)}
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The status of the cpu cache packets module.
            Idle(1) indicates there is neither upload operation nor collect operation now.
            Uploading(2) indicates that now packets are being uploaded.
            Collecting(3) indicates that now packets are being collected."
        ::= { rcCpuCachePacket 13 }     

rcCpuCachePacketCount OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Indicates the number of the packets in the current buffer."
        ::= { rcCpuCachePacket 14 }  
 
rcCpuCachePacketUploadedNumber OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Indicates the number of the packets which have be uploaded."
        ::= { rcCpuCachePacket 15 }  
        
----------------------------------------------------------------------------------------
--define the acl table which is used to collect packets---------------------------------
----------------------------------------------------------------------------------------                      
rcCpuCachePacketAclTable OBJECT-TYPE
        SYNTAX SEQUENCE OF RcCpuCachePacketAclEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A configable table of acl which is used to collect packets."
        ::= { rcCpuCachePacket 16}

rcCpuCachePacketAclEntry OBJECT-TYPE
        SYNTAX RcCpuCachePacketAclEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Table entry for acl which is used to collect packets."
        INDEX { rcCpuCachePacketPortIndex }
        ::= { rcCpuCachePacketAclTable 1 }

RcCpuCachePacketAclEntry ::= SEQUENCE {
        rcCpuCachePacketPortIndex       INTEGER,
        rcCpuCachePacketAclType         INTEGER,
        rcCpuCachePacketAclNo           INTEGER,       
        rcCpuCachePacketAclEnable       RowStatus
        }

rcCpuCachePacketPortIndex OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "The port that an acl rule is applied on."
        ::= { rcCpuCachePacketAclEntry 1}

rcCpuCachePacketAclType OBJECT-TYPE
        SYNTAX      INTEGER{ip-access-list(1),mac-access-list(2),access-list-map(3)}
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The type of the acl which is used to collect packets."
        ::= { rcCpuCachePacketAclEntry 2}   
            
rcCpuCachePacketAclNo OBJECT-TYPE
        SYNTAX     INTEGER(0..999)
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "The index of the acl in the access control list."
        ::= { rcCpuCachePacketAclEntry 3 }    
    
rcCpuCachePacketAclEnable OBJECT-TYPE
        SYNTAX      EnableVar
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Indicates whether the acl is enabled."
        ::= { rcCpuCachePacketAclEntry 4 }  
           

------------------------------------------------------------------------------------------------------        
--define the table of the sever where the packets are uploaded to-------------------------------------
------------------------------------------------------------------------------------------------------        
rcCpuCachePacketUploadServerTable OBJECT-TYPE
        SYNTAX SEQUENCE OF RcCpuCachePacketUploadServerEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A configable table of sever where the packets are uploaded to."
        ::= { rcCpuCachePacket 17}

rcCpuCachePacketUploadServerEntry OBJECT-TYPE
        SYNTAX RcCpuCachePacketUploadServerEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Table entry for sever where the packets are uploaded to."
        INDEX { rcCpuCachePacketUploadServerIndex }
        ::= { rcCpuCachePacketUploadServerTable 1 }

RcCpuCachePacketUploadServerEntry ::= SEQUENCE {
        rcCpuCachePacketUploadServerIndex        INTEGER,
        rcCpuCachePacketUploadServerMode         INTEGER,
        rcCpuCachePacketUploadServerAddress      IpAddress,
        rcCpuCachePacketUploadServerUserName     ObjName,
        rcCpuCachePacketUploadServerPassword     ObjName,  
        rcCpuCachePacketUploadServerEnable       RowStatus 
        }

rcCpuCachePacketUploadServerIndex OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "An index that uniquely identifies a server."
        ::= { rcCpuCachePacketUploadServerEntry 1}

rcCpuCachePacketUploadServerMode OBJECT-TYPE
        SYNTAX      INTEGER{tftp(1),ftp(2)}
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The protocol to be used for uploading packets.
		    Will default to tftp if not specified."
        ::= { rcCpuCachePacketUploadServerEntry 2}   
            
rcCpuCachePacketUploadServerAddress OBJECT-TYPE
        SYNTAX     IpAddress
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "The ip address of the server."
        ::= { rcCpuCachePacketUploadServerEntry 3 }    
    
rcCpuCachePacketUploadServerUserName OBJECT-TYPE
        SYNTAX      ObjName
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The user name of the server."
        ::= { rcCpuCachePacketUploadServerEntry 4 }  
        
rcCpuCachePacketUploadServerPassword OBJECT-TYPE
        SYNTAX      ObjName
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The password of the server."
        ::= { rcCpuCachePacketUploadServerEntry 5 }

rcCpuCachePacketUploadServerEnable OBJECT-TYPE
        SYNTAX      EnableVar
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Indicates whether the server is enabled."
        ::= { rcCpuCachePacketUploadServerEntry 6 }     

-------------------------------------------------------------------------------------------------------------------        
--define the table of the packet statistics based on ports where the packets are uploaded to--
-------------------------------------------------------------------------------------------------------------------   
rcCpuCachePacketPortStatisticsTable OBJECT-TYPE
        SYNTAX SEQUENCE OF RcCpuCachePacketPortStatisticsEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A statistics table of packets based on the port."
        ::= { rcCpuCachePacket 18 }

rcCpuCachePacketPortStatisticsEntry OBJECT-TYPE
        SYNTAX RcCpuCachePacketPortStatisticsEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Table entry for statistics of the protocol packet based on the port."
        INDEX { rcPacketPortStatisticsPortIndex, rcPacketPortStatisticsProtocolIndex }
        ::= { rcCpuCachePacketPortStatisticsTable 1 }

RcCpuCachePacketPortStatisticsEntry ::= SEQUENCE {
        rcPacketPortStatisticsPortIndex       INTEGER,
        rcPacketPortStatisticsProtocolIndex   INTEGER,
        rcPacketPortStatisticsPktCount        INTEGER,       
        rcPacketPortStatisticsAllPktRatio     INTEGER,
        rcPacketPortStatisticsPortPktRatio    INTEGER
        }

rcPacketPortStatisticsPortIndex OBJECT-TYPE
        SYNTAX     INTEGER
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "The capture port of the packets ,which is an index of table."
        ::= { rcCpuCachePacketPortStatisticsEntry 1}

rcPacketPortStatisticsProtocolIndex OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The protocol of the packet ,which is an index of table."
        ::= { rcCpuCachePacketPortStatisticsEntry 2}   
            
rcPacketPortStatisticsPktCount OBJECT-TYPE
        SYNTAX     INTEGER
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The number of the protocol packets on the port."
        ::= { rcCpuCachePacketPortStatisticsEntry 3 }    
    
rcPacketPortStatisticsAllPktRatio OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The ratio of the protocol packets to all packets on all ports."
        ::= { rcCpuCachePacketPortStatisticsEntry 4 }  

rcPacketPortStatisticsPortPktRatio OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only        
        STATUS      current
        DESCRIPTION
            "The ratio of the protocol packets to all packets on the port."
        ::= { rcCpuCachePacketPortStatisticsEntry 5 }  

-------------------------------------------------------------------------------------------------------------------        
--define the table of the packet statistics based on vlans where the packets are uploaded to--
-------------------------------------------------------------------------------------------------------------------   
rcCpuCachePacketVlanStatisticsTable OBJECT-TYPE
        SYNTAX SEQUENCE OF RcCpuCachePacketVlanStatisticsEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A statistics table of packets based on the vlan."
        ::= { rcCpuCachePacket 19 }

rcCpuCachePacketVlanStatisticsEntry OBJECT-TYPE
        SYNTAX RcCpuCachePacketVlanStatisticsEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Table entry for statistics of the protocol packet based on the vlan."
        INDEX { rcPacketVlanStatisticsVlanIndex, rcPacketVlanStatisticsProtocolIndex }
        ::= { rcCpuCachePacketVlanStatisticsTable 1 }

RcCpuCachePacketVlanStatisticsEntry ::= SEQUENCE {
        rcPacketVlanStatisticsVlanIndex       INTEGER,
        rcPacketVlanStatisticsProtocolIndex   INTEGER,
        rcPacketVlanStatisticsPktCount        INTEGER,       
        rcPacketVlanStatisticsAllPktRatio     INTEGER,
        rcPacketVlanStatisticsVlanPktRatio    INTEGER
        }

rcPacketVlanStatisticsVlanIndex OBJECT-TYPE
        SYNTAX     INTEGER
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "The vlan id of the packets ,which is an index of table."
        ::= { rcCpuCachePacketVlanStatisticsEntry 1}

rcPacketVlanStatisticsProtocolIndex OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The protocol of the packet ,which is an index of table."
        ::= { rcCpuCachePacketVlanStatisticsEntry 2}   
            
rcPacketVlanStatisticsPktCount OBJECT-TYPE
        SYNTAX     INTEGER
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The number of the protocol packets on the vlan."
        ::= { rcCpuCachePacketVlanStatisticsEntry 3 }    
    
rcPacketVlanStatisticsAllPktRatio OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The ratio of the protocol packets to all packets on all vlans."
        ::= { rcCpuCachePacketVlanStatisticsEntry 4 }  

rcPacketVlanStatisticsVlanPktRatio OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The ratio of the protocol packets to all packets on the vlan."
        ::= { rcCpuCachePacketVlanStatisticsEntry 5 }  

-------------------------------------------------------------------------------------------------------------------        
--define the table of the packet statistics on all ports where the packets are uploaded to--
-------------------------------------------------------------------------------------------------------------------   
rcCpuCachePacketAllStatisticsTable OBJECT-TYPE
        SYNTAX SEQUENCE OF RcCpuCachePacketAllStatisticsEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A statistics table of packets on all ports."
        ::= { rcCpuCachePacket 20 }

rcCpuCachePacketAllStatisticsEntry OBJECT-TYPE
        SYNTAX RcCpuCachePacketAllStatisticsEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Table entry for statistics of the protocol packets on all ports."
        INDEX { rcPacketAllStatisticsProtocolIndex }
        ::= { rcCpuCachePacketAllStatisticsTable 1 }

RcCpuCachePacketAllStatisticsEntry ::= SEQUENCE {
        rcPacketAllStatisticsProtocolIndex   INTEGER,
        rcPacketAllStatisticsPktCount        INTEGER,       
        rcPacketAllStatisticsAllPktRatio     INTEGER
        }

rcPacketAllStatisticsProtocolIndex OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The protocol of the packet ,which is the index of table."
        ::= { rcCpuCachePacketAllStatisticsEntry 1}   
            
rcPacketAllStatisticsPktCount OBJECT-TYPE
        SYNTAX     INTEGER
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The number of the protocol packets on all ports."
        ::= { rcCpuCachePacketAllStatisticsEntry 2 }    
    
rcPacketAllStatisticsAllPktRatio OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The ratio of the protocol packets to all packets on all ports."
        ::= { rcCpuCachePacketAllStatisticsEntry 3 }  

               
--end rcCcp--     
END                                     

