------------------------------------------------------------------------------
------------------------------------------------------------------------------
--
--  File         : switch-port-mib.mib
--  Description  : rose software port command  mib defination 
--  Version      : 0.1   
--  Date         : Dec 3, 2008     
--
--  Copyright (c) 2003-2004 Beijing Raisecom Science & Technology Co., ltd  All Rights Reserved.
--      
-- *****************************************************************       

-- *****************************************************************
-- Modi ReportFormat: <number>, <time>, <author>, <desc> 
-- 03, 20121226, renxiaoqiang, PHY enhance              
-- 02, 20120923, yingjiangang, PHY
-- 01, 20110726, yangzhognhong, add new enum value for nodes rcIfPortMAUType  rcIfPortMAUSpeedSet and 
--                              rcIfPortPHYSpeedGet to support the 10G interface
--
------------------------------------------------------------------------------
------------------------------------------------------------------------------

    SWITCH-INTERFACE-PORT-MIB DEFINITIONS ::= BEGIN

    IMPORTS
        MODULE-IDENTITY, OBJECT-TYPE,
        Integer32, Counter32,  
        NOTIFICATION-TYPE                       FROM SNMPv2-SMI        
        TruthValue                              FROM SNMPv2-TC        
        OBJECT-GROUP                            FROM SNMPv2-CONF                
        rcSystem               				    FROM SWITCH-SYSTEM-MIB
        EnableVar						        FROM SWITCH-TC;

    rcIfPortInfoConfig MODULE-IDENTITY
    
        LAST-UPDATED    "0812030000Z"  -- Dec 03, 2008
        ORGANIZATION    "Raisecom Science & Technology Co., ltd"
        CONTACT-INFO    "Raisecom Science & Technology Co., ltd.
                         E-mail: support@raisecom.com"

        DESCRIPTION     "iscom switch system interface port Enterprise MIB definition."

        REVISION        "0812030000Z"  -- Dec 03, 2008
        DESCRIPTION     "Initial MIB creation."
        ::= { rcSystem 7 }

-- If port Group        
rcIfPortPHYInfoConfig     	OBJECT IDENTIFIER ::= { rcIfPortInfoConfig 1 } 

-- PHY related function Group  
rcIfPortPHYNotifications    OBJECT IDENTIFIER ::= { rcIfPortPHYInfoConfig 1 }
rcIfPortPHYInfomation       OBJECT IDENTIFIER ::= { rcIfPortPHYInfoConfig 2 }  

rcIfPortConnectorInsertTrap  NOTIFICATION-TYPE
				OBJECTS { rcIfPortPHYIndex, rcIfPortMAUIndex}
				STATUS  current
				DESCRIPTION
					"port connector insert trap."
				::= { rcIfPortPHYNotifications 1 } 
				
rcIfPortConnectorRemoveTrap  NOTIFICATION-TYPE
				OBJECTS { rcIfPortPHYIndex, rcIfPortMAUIndex}
				STATUS  current
				DESCRIPTION
					"port connector delete trap."
				::= { rcIfPortPHYNotifications 2 } 

-- if Port PHY table
    rcIfPortPHYTable OBJECT-TYPE
        SYNTAX SEQUENCE OF RcIfPortPHYEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A table of switch port and associated properties."
        ::= { rcIfPortPHYInfomation 1 }

    rcIfPortPHYEntry OBJECT-TYPE
        SYNTAX RcIfPortPHYEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "An entry containing PHY management information applicable to a particular
             interface port."
        INDEX { rcIfPortPHYIndex }
        ::= { rcIfPortPHYTable 1 }
                      
    RcIfPortPHYEntry ::= SEQUENCE {
        rcIfPortPHYIndex                  INTEGER,
        rcIfPortPHYExistence 			  TruthValue,
        rcIfPortPHYMAUNum                 INTEGER,
        rcIfPortPHYAdminStatus            INTEGER,
        rcIfPortPHYOperStatus             INTEGER,
        rcIfPortPHYSpeedGet               INTEGER,
        rcIfPortPHYDuplexGet              INTEGER,
        rcIfPortPHYFlowControlRecvStatus  EnableVar,
        rcIfPortPHYFlowControlSendStatus  EnableVar,
        rcIfPortPHYMdiStatus              INTEGER,
        rcIfPortPHYActiveMAUIndex         INTEGER,
        rcComboPortMediaMode              INTEGER,
        rcComboPortMediaPriority          INTEGER,
        rcComboPortMediaActive            INTEGER,
        rcIfPortSfpAutoDetect             INTEGER,
        rcIfPortSfpPortTypeGet	          INTEGER,
        rcIfPortPHYEEEAutoGet             INTEGER
     }
        
     rcIfPortPHYIndex             OBJECT-TYPE
        SYNTAX INTEGER 
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "A unique value, greater than zero, for each port in the managed system."
        ::= { rcIfPortPHYEntry 1 }     

-- ˿PHY״̬              
     rcIfPortPHYExistence         OBJECT-TYPE
        SYNTAX TruthValue 
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "A value of false(2) is returned, if there is no PHY in the port."
        ::= { rcIfPortPHYEntry 2 }
                 
-- ˿ MAU   
     rcIfPortPHYMAUNum            OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "MAU number in the port. A value 0 is returned, if there is no PHY in the port.
             a value more than 1 is returned ,if the port is combo port."
        ::= { rcIfPortPHYEntry 3 } 
        
-- ˿ڹܹ״̬            
     rcIfPortPHYAdminStatus       OBJECT-TYPE
        SYNTAX INTEGER
        {
             up(1),
             down(2)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The desired state of the port."  
        DEFVAL{up}
        ::= { rcIfPortPHYEntry 4 }
        
-- ˿ڹܲ״̬ 
     rcIfPortPHYOperStatus        OBJECT-TYPE
        SYNTAX INTEGER
        {
             up(1),
             down(2)
        }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The current operational state of the port. If rcIfPortPHYAdminStatus is down(2)
             then rcIfPortOperStatus should be down(2). While rcIfPortPHYAdminStatus is 
             changed to up(1), rcIfPortPHYOperStatus should remain in the down(2) state if 
             and only if there is a fault that prevents it from going to the up(1) state 
             (e.g. Loopback-detection module detects a loop in this port )."
        ::= { rcIfPortPHYEntry 5 }      

-- ˿ʲ״̬        
     rcIfPortPHYSpeedGet            OBJECT-TYPE
        SYNTAX INTEGER
        {
             illegal(0),
             unknown(1),
             speed-10M(2),
             speed-100M(3),
             speed-1000M(4),
             speed-10G(5)
           
        }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The actual speed state of the active MAU in the port. A value of illegal(0) 
            is retuned if the interface port is not configured for an acceptable value. 
            A value of unknown(1) is returned when rcIfPortPHYOperStatus indicates 
            down(2) for this interface port."
        ::= { rcIfPortPHYEntry 6 }
        
-- ˿˫״̬     
     rcIfPortPHYDuplexGet               OBJECT-TYPE
        SYNTAX INTEGER
        {
             illegal(0),
             unknown(1),
             half(2),
             full(3)
        }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The actual duplex state of the active MAU in the port. A value of illegal(0)
             is retuned if the interface port is not configured for an acceptable value. 
             A value of unknown(1) is returned when rcIfPortPHYOperStatus indicates
              down(2) for this interface port."
        ::= { rcIfPortPHYEntry 7 }
        
-- ˿ڽPAUSE֡ز״̬     
     rcIfPortPHYFlowControlRecvStatus   OBJECT-TYPE
        SYNTAX EnableVar
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The actual flow control state in receiving direction."
        ::= { rcIfPortPHYEntry 8 }
        
-- ˿ڷPAUSE֡ز״̬     
     rcIfPortPHYFlowControlSendStatus   OBJECT-TYPE
        SYNTAX EnableVar
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The actual flow control state in sending direction."
        ::= { rcIfPortPHYEntry 9 } 

-- ˿MDI״̬     
     rcIfPortPHYMdiStatus          OBJECT-TYPE
        SYNTAX INTEGER
        {
             illegal(0),
             unknown(1),
             normal(2),
             xover(3)
        }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The actual automatic MDI crossover state. A value of illegal(0) 
            is retuned if the interface port is not configured for an 
            acceptable value."
        ::= { rcIfPortPHYEntry 10 }

-- ˿»MAU   
     rcIfPortPHYActiveMAUIndex      OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The index of active MAU in the port."
        ::= { rcIfPortPHYEntry 11 }
        
-- ˿comboڽ 
     rcComboPortMediaMode OBJECT-TYPE
        SYNTAX  INTEGER{
                       not-support(0),
                       auto(1),
                       fiber-forced(2),
                       copper-forced(3)
                      }
        ACCESS read-write   
        STATUS mandatory  
                DESCRIPTION
                "The mode of combo."         
        ::= { rcIfPortPHYEntry 12 }

-- ˿comboڽȼ       
     rcComboPortMediaPriority OBJECT-TYPE
        SYNTAX INTEGER{
                      not-support(0),
                      fiber(1),
                      copper(2)
        }
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "Indicates which types of media has higher priority to be active than another one."
        ::= { rcIfPortPHYEntry 13 }
               
-- ˿comboڼ           
    rcComboPortMediaActive OBJECT-TYPE
        SYNTAX INTEGER{  
                      unavailable(0),
                      fiber(1),
                      copper(2)
                      }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Used to identify whether this Combo port currently be in the active state."
        ::= { rcIfPortPHYEntry 14 }      
        
-- ˿SFPԶʹ           
    rcIfPortSfpAutoDetect OBJECT-TYPE
        SYNTAX INTEGER{   
                      disable(0),  
                      enable(1)
                      }
        MAX-ACCESS read-write
        STATUS mandatory
        DESCRIPTION
            "Used to identify whether this port is in sfp auto-detect mode."
        ::= { rcIfPortPHYEntry 15 } 

-- ˿SFP         
    rcIfPortSfpPortTypeGet OBJECT-TYPE
        SYNTAX INTEGER{   
                      unknown(0),  
                      copper(1),  
                      fiber100(2),
                      fiber1000(3),
                      fiber10000(4)
                    }
        MAX-ACCESS read-only
        STATUS mandatory
        DESCRIPTION
            "The SFP fiber mode operator state."
        ::= { rcIfPortPHYEntry 16 } 
 
-- ˿EEE-Autoģʽ         
    rcIfPortPHYEEEAutoGet OBJECT-TYPE
        SYNTAX INTEGER{ 
                      not-support(0),
                      enable(1),
                      disable(2)
                    }
        MAX-ACCESS read-only
        STATUS mandatory
        DESCRIPTION
            "EEE-Auto Operate Mode."
        ::= { rcIfPortPHYEntry 17 }     
 
-- if Port MAU table
    rcIfPortMAUTable                OBJECT-TYPE
        SYNTAX SEQUENCE OF RcIfPortMAUEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A table of switch port and associated properties."
        ::= { rcIfPortPHYInfomation 2 }

    rcIfPortMAUEntry                OBJECT-TYPE
        SYNTAX RcIfPortMAUEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "An entry containing management information for a particular MAU in the port."
        INDEX { rcIfPortPHYIndex, rcIfPortMAUIndex}
        ::= { rcIfPortMAUTable 1 }
                      
    RcIfPortMAUEntry ::= SEQUENCE {
        rcIfPortMAUIndex                  INTEGER,
        rcIfPortMAUType 			      INTEGER,
        rcIfPortMAUConnectorType          INTEGER,
        rcIfPortMAUConnectorStatus        INTEGER,
        rcIfPortMAUSpeedSet               INTEGER,
        rcIfPortMAUDuplexSet              INTEGER,
        rcIfPortMAUFlowControlEnable      EnableVar,
        rcIfPortMAUFlowControlRecvEnable  EnableVar,
        rcIfPortMAUFlowControlSendEnable  EnableVar,
        rcIfPortMAUMdiMode                INTEGER,
        rcIfPortMAUStatus                 INTEGER,
        rcIfPortMAUSfpPortType            INTEGER,  
        rcIfPortEEEAutoMode               INTEGER
     }   

-- ָMAU   
     rcIfPortMAUIndex              OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
             "An index based 1 that uniquely identifies a MAU from the other 
              MAUs in the port. It should be less than rcIfPortPHYMAUNum 
              in the port."
        ::= { rcIfPortMAUEntry 1 }

-- ָMAU 
     rcIfPortMAUType               OBJECT-TYPE
        SYNTAX INTEGER
        {  
            unknown(0),
            dot3-10BASE-T(5),
            dot3-100BASE-TX(16),
            dot3-100BASE-FX(18),
            dot3-1000BASE-X(22),
            dot3-1000BASE-T(30),        
            dot3-10GBASE-X(31),
            dot3-10GBASE-R(33),
            dot3-10GBASE-W(37),
            rc-1000BASE-P(99),
            dot3-1000BASE-T1(100),
            dot3-1000BASE-T2(101)
        }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
             "This object identifies the MAU type and indicates capability. 
             values for MAU types above are defined in standard IEEE 802.3 
             DOT3-MAU-MIB.my(RFC 3636). It can respect MAU capability and 
             media information.Specially,dot3-1000BASE-T1 indicates 1000BASE-T
             only support auto-negotiation,and dot3-1000BASE-T2 indicates 
             1000BASE-T only support 1000M and full-duplex.'unknown' indicates
             it is uncertain"
        ::= { rcIfPortMAUEntry 2 }

-- ָMAU 
     rcIfPortMAUConnectorType       OBJECT-TYPE
        SYNTAX INTEGER
        {
            unknown(0),
            other(1),
            sfp(2),
            sfp-plus(3)
       }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
             "This object identifies the MAU connector type."
        ::= { rcIfPortMAUEntry 3 }

-- ָMAU״̬
     rcIfPortMAUConnectorStatus     OBJECT-TYPE
        SYNTAX INTEGER
        {
            unknown(0),
            error(1),
            not-present(2),
            present(3)
        }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
             "This object identifies the MAU connector status. A value of unknown(0)
              is returned if the connector can not been identified. A value of 
              error(1) is returned if the connector type is can not been 
              supported by the MAU. A value present(2) is returned if the connector 
              is connected to the MAU."
        ::= { rcIfPortMAUEntry 4 } 
        
-- ָMAUʹ״̬
     rcIfPortMAUSpeedSet             OBJECT-TYPE
        SYNTAX INTEGER
        {
            auto-negotiate(1),
            speed-10M(2),
            speed-100M(3),
            speed-1000M(4),       
            speed-10G(5)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
             "The desired speed state for the MAU. Some MAU may not support 
              setting the value of this object to some of the enumerated values." 
        DEFVAL{auto-negotiate}
        ::= { rcIfPortMAUEntry 5 } 
        
-- ָMAU˫״̬
     rcIfPortMAUDuplexSet              OBJECT-TYPE
        SYNTAX INTEGER              
        {
            auto-negotiate(1),
            half(2),
            full(3)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
             "The desired duplex state of the MAU. Some MAU may not support
              setting the value of this object to some of the enumerated values."
        DEFVAL{auto-negotiate}
        ::= { rcIfPortMAUEntry 6 } 
    
-- ָMAUĶԳع״̬
     rcIfPortMAUFlowControlEnable      OBJECT-TYPE
        SYNTAX EnableVar
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
             "Set symmetric flow control of the MAU to enable(1) or disable(2)."
        DEFVAL{disable}
        ::= { rcIfPortMAUEntry 7 } 
   
-- ָMAUĽPAUSE֡ع״̬
     rcIfPortMAUFlowControlRecvEnable   OBJECT-TYPE
        SYNTAX EnableVar
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
             "Set the flow control in receiving direction to enable(1) or disable(2)."
        DEFVAL{ disable }
        ::= { rcIfPortMAUEntry 8 } 

-- ָMAUķPAUSE֡ع״̬
     rcIfPortMAUFlowControlSendEnable   OBJECT-TYPE
        SYNTAX EnableVar
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
             "Set the flow control in sending direction to enable(1) or disable(2)."
        DEFVAL{ disable }
        ::= { rcIfPortMAUEntry 9 } 
  
-- ָMAUMDI״̬
     rcIfPortMAUMdiMode                  OBJECT-TYPE
        SYNTAX INTEGER
        {
            auto-detect(1),
            normal(2),
            xover(3)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
             "The desired automatic MDI crossover mode of the MAU. Some MAU may 
             not support setting the value of this object to some of the 
             enumerated values."
        DEFVAL{ auto-detect }
        ::= { rcIfPortMAUEntry 10 } 
           
-- ָMAUMDI״̬
     rcIfPortMAUStatus                   OBJECT-TYPE
        SYNTAX INTEGER
        {
            active(1),
            suspend(2)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
             "The actual state of the MAU. In a combo port, only one MAU 
             in the port can operate in active state. This object dose not 
             support writing operation yet!"
        ::= { rcIfPortMAUEntry 11 }
         
-- ָMAUĶ˿SFP         
    rcIfPortMAUSfpPortType OBJECT-TYPE
        SYNTAX INTEGER{   
                      autodetect(0),  
                      copper(1),  
                      fiber100(2),
                      fiber1000(3),
                      fiber10000(4)
                    }
        MAX-ACCESS read-write
        STATUS mandatory
        DESCRIPTION
            "The SFP fiber mode admin state."
        ::= { rcIfPortMAUEntry 12 }     
        
-- ָMAUĶ˿EEE-Autoģʽ        
    rcIfPortEEEAutoMode OBJECT-TYPE
        SYNTAX INTEGER{   
                      not-support(0),
                      enable(1),
                      disable(2)
                    }
        MAX-ACCESS read-write
        STATUS mandatory
        DESCRIPTION
            "EEE-Auto Admin Mode."
        ::= { rcIfPortMAUEntry 13 }  
        
--Combo port table         
    rcComboMediaTable OBJECT-TYPE
        SYNTAX SEQUENCE OF RcComboMediaEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A table of Combo port and associated properties."
        ::= { rcIfPortPHYInfomation 3 }

    rcComboMediaEntry OBJECT-TYPE
        SYNTAX RcComboMediaEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Table entry for Combo media status information."
        INDEX { rcComboPortId, rcComboPortMedia }
        ::= { rcComboMediaTable 1 }
 
    RcComboMediaEntry ::= SEQUENCE {
        rcComboPortId           	INTEGER,
        rcComboPortMedia			INTEGER,
        rcComboPortDescription 		OCTET STRING,
        rcComboPortSpeed	    INTEGER,
				rcComboPortDuplex	    INTEGER,		
				rcComboPortFlowCtrl         EnableVar,
				rcComboPortSendFlowCtrl     EnableVar,
				rcComboPortRecvFlowCtrl     EnableVar,
				rcComboPortMdiXMode         INTEGER		
	    }      
     
   	rcComboPortId OBJECT-TYPE
        SYNTAX INTEGER 
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "An index based 1 that uniquely identifies a Ether like interface."
        ::= { rcComboMediaEntry 1 } 
        
--˿combo       
   	rcComboPortMedia OBJECT-TYPE
        SYNTAX INTEGER{    
                       not-support(0),
                       fiber(1),
                       copper(2)
        } 
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "An index based 1 that uniquely identifies a Ether like interface."
        ::= { rcComboMediaEntry 2 }
        
--˿combo             
   	rcComboPortDescription OBJECT-TYPE
        SYNTAX OCTET STRING(SIZE(1..64))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The description of a combo interface of the swtich."  
        ::= { rcComboMediaEntry 3 }

--˿combo   
		rcComboPortSpeed OBJECT-TYPE
        SYNTAX INTEGER{  
                       not-support(0),
                       Auto-negotiate(1),
                       speed-10M(2),
                       speed-100M(3),
                       speed-1000M(4)                      
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The configurated speed for this interface."
        DEFVAL  { 1 }
        ::= { rcComboMediaEntry 4 }
        
--˿combo˫          
   	rcComboPortDuplex OBJECT-TYPE
        SYNTAX INTEGER{     
                       not-support(0),
                       auto-negotiate(1), 
                       half (2), 
                       full (3)                    
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The configurated duplex for this interface."
        DEFVAL  { 1 }
        ::= { rcComboMediaEntry 5 }

--˿comboڶԳ                            
   	rcComboPortFlowCtrl OBJECT-TYPE
         SYNTAX INTEGER{  
                      not-support(0),
                      enable(1),
                      disable(2),
                      
                      }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The switch of the flow control on both direction."
        ::= { rcComboMediaEntry 6 } 

--˿comboڷ 
   	rcComboPortSendFlowCtrl OBJECT-TYPE
         SYNTAX INTEGER{  
                      not-support(0),
                      enable(1),
                      disable(2),
                      
                      }

        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The switch of the flow control on send direction."
        ::= { rcComboMediaEntry 7 }

--˿comboڽ        
   	rcComboPortRecvFlowCtrl OBJECT-TYPE
        SYNTAX INTEGER{  
                      not-support(0),
                      enable(1),
                      disable(2),
                      
                      }

        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The switch of the flow control on receive direction."
        ::= { rcComboMediaEntry 8 } 

--˿combomdi         
   	rcComboPortMdiXMode OBJECT-TYPE
        SYNTAX INTEGER{  
                      not-support(0),
                      auto(1),
                      normal(2),
                      xover(3)
                      }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Automatic MDI Crossover mode of a port/PHY." 
        DEFVAL  { auto }    
        ::= { rcComboMediaEntry 9 }

END 