--MibName=raisecomMLacp
-- *****************************************************************
-- RAISECOM-MLACP-MIB.mib:   Raisecom mLACP MIB file 
--   
-- May 2011, huzhiwen
--   
-- Copyright (c) 1996-2009 by Raisecom Technology Co., Ltd. 
-- All rights reserved.
--
-- *****************************************************************

RAISECOM-MLACP-MIB DEFINITIONS ::= BEGIN

IMPORTS
    PortList,EnableVar					FROM SWITCH-TC
    TruthValue,MacAddress,RowStatus     FROM SNMPv2-TC
    raisecomAgent	            		FROM RAISECOM-BASE-MIB
    InetAddressType                     FROM INET-ADDRESS-MIB 
    InetAddress                         FROM INET-ADDRESS-MIB;  
    
raisecomMLacp MODULE-IDENTITY
    	LAST-UPDATED "201105250000Z"
    	ORGANIZATION "Raisecom Technology Co., Ltd."
    	CONTACT-INFO
            	     "Raisecom Science & Technology Co., ltd. 
             	     Phone:  01082884499
             	     Email:  support@raisecom.com"
    	DESCRIPTION
                     "The MIB module contains managed object definitions for mLACP."
    	REVISION     "201105250000Z"
    	DESCRIPTION
            "The initial revision of this MIB."
    	::= { raisecomAgent 36}  

------------------------------------------------------------------
-- components of this MIB.
------------------------------------------------------------------
    raisecomMLacpNotifications   OBJECT IDENTIFIER
                                ::= { raisecomMLacp 1 }
    raisecomMLacpObject          OBJECT IDENTIFIER
                                ::= { raisecomMLacp 2 }     
        raisecomMLacpScalar          OBJECT IDENTIFIER
                                ::= { raisecomMLacpObject 1 }
        raisecomMLacpICG          OBJECT IDENTIFIER
                                ::= { raisecomMLacpObject 2 } 
    raisecomMLacpConformance     OBJECT IDENTIFIER
                                ::= { raisecomMLacp 3 }  
                            
------------------------------------------------------------------
-- Notifications
------------------------------------------------------------------
raisecomMLacpLinkSwitchoverTrap NOTIFICATION-TYPE   

        OBJECTS { raisecomMLacpICGCfgID, raisecomMLacpICGCfgLocalNodeID, raisecomMLacpICGLocalState, 
				  raisecomMLacpICGPeerNodeID, raisecomMLacpICGPeerState } 
		STATUS current
		DESCRIPTION 
				"When two members(PE) in a ICG  switchover the active links, the  trap  will 
				 be raised and OLT will notify this event to the NMS. "
		::= { raisecomMLacpNotifications 1 }
                                      
------------------------------------------------------------------
-- Scalar
------------------------------------------------------------------
raisecomMLacpEnable OBJECT-TYPE
    	SYNTAX   EnableVar
    	MAX-ACCESS  read-write
    	STATUS      current
    	DESCRIPTION
              "Enable or disable mlacp."
    	DEFVAL  { Disable }
    	::= { raisecomMLacpScalar 1 }
	
raisecomMLacpTrapEnable OBJECT-TYPE
    	SYNTAX   EnableVar
    	MAX-ACCESS  read-write
    	STATUS      current
    	DESCRIPTION
              "Enable or disable the trap of mlacp."
    	DEFVAL  { Disable }
    	::= { raisecomMLacpScalar 2 }
 
raisecomMLacpChannelType OBJECT-TYPE
    	SYNTAX INTEGER {
		ldp(1),
		udp(2)
		}
    	MAX-ACCESS  read-write
    	STATUS      current
    	DESCRIPTION
              "The mode of PKtrxtx."
    	DEFVAL  { ldp }
    	::= { raisecomMLacpScalar 3 }
                              
raisecomMLacpLocalAddrType OBJECT-TYPE
      SYNTAX      InetAddressType {
		unknown(0),
		ipv4(1),
		ipv6(2),
		ipv4z(3),
		ipv6z(4),
		dns(16)
		}
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
             "This object specifies the type of the Local IP address."
      ::= { raisecomMLacpScalar 4 }
                               
raisecomMLacpLocalAddr OBJECT-TYPE
    	SYNTAX   InetAddress
    	MAX-ACCESS  read-write
    	STATUS      current
    	DESCRIPTION
              "The object specifies the IP address of Local device."
    	DEFVAL  { 0 }
    	::= { raisecomMLacpScalar 5 }

------------------------------------------------------------------
-- raisecomMLacpICG
   -- raisecomMLacpICGConfigTable
------------------------------------------------------------------
raisecomMLacpICGCfgTable OBJECT-TYPE
    	SYNTAX  SEQUENCE OF RaisecomMLacpICGConfigEntry
    	MAX-ACCESS  not-accessible
    	STATUS      current
    	DESCRIPTION
            "This table specifies information for configuring a ICG."
    	::= { raisecomMLacpICG 1 }

raisecomMLacpICGConfigEntry OBJECT-TYPE
    	SYNTAX      RaisecomMLacpICGConfigEntry      
    	MAX-ACCESS  not-accessible
    	STATUS      current
    	DESCRIPTION
            "The entry is used to create a ICG and configure it."
    	INDEX   { raisecomMLacpICGCfgID }
    	::= { raisecomMLacpICGCfgTable 1 }

        RaisecomMLacpICGConfigEntry ::= SEQUENCE
        {
            raisecomMLacpICGCfgID   	            INTEGER,
            raisecomMLacpICGCfgLocalNodeID          INTEGER, 
            raisecomMLacpICGCfgLocalSysMac          MacAddress,
            raisecomMLacpICGCfgLocalSysPrio         INTEGER,
            raisecomMLacpICGCfgLocalPortPrio        INTEGER,
            raisecomMLacpICGCfgPeerAddrType         InetAddressType,
            raisecomMLacpICGCfgPeerAddr             InetAddress,
            raisecomMLacpICGCfgRecoveryDelayTimer   INTEGER, 
            raisecomMLacpICGCfgBackbonePorts        PortList,
            raisecomMLacpICGCfgChannelGroup         INTEGER,
            raisecomMLacpICGCfgRowStatus            RowStatus
        }

raisecomMLacpICGCfgID OBJECT-TYPE
    	SYNTAX      INTEGER  (1..8)
    	MAX-ACCESS  read-only
    	STATUS      current
    	DESCRIPTION
            "This object indicates the ID of a ICG."
    	::= { raisecomMLacpICGConfigEntry 1 }

raisecomMLacpICGCfgLocalNodeID OBJECT-TYPE
    	SYNTAX      INTEGER (0..7)
    	MAX-ACCESS  read-create
    	STATUS      current
    	DESCRIPTION
            "This object indicates the ID of the local Chassis in a ICG."
    ::= { raisecomMLacpICGConfigEntry 2 }

raisecomMLacpICGCfgLocalSysMac OBJECT-TYPE
    	SYNTAX      MacAddress
    	MAX-ACCESS  read-create
    	STATUS      current
    	DESCRIPTION
            "This object indicates the mac address of the local chassis in  a ICG."
    	::= { raisecomMLacpICGConfigEntry 3 }
    	
raisecomMLacpICGCfgLocalSysPrio OBJECT-TYPE
    	SYNTAX     INTEGER (0..65535)
    	MAX-ACCESS  read-create
    	STATUS      current
    	DESCRIPTION
            "This object indicates the value of System Priority of the local chassis in a ICG."
    	::= { raisecomMLacpICGConfigEntry 4 }

raisecomMLacpICGCfgLocalPortPrio OBJECT-TYPE
    	SYNTAX      INTEGER  (0..65535)
    	MAX-ACCESS  read-create
    	STATUS      current
    	DESCRIPTION
            "This object indicates the configuration value of Port Priority."
    	::= { raisecomMLacpICGConfigEntry 5 }

raisecomMLacpICGCfgPeerAddrType OBJECT-TYPE
        SYNTAX      InetAddressType {
		unknown(0),
		ipv4(1),
		ipv6(2),
		ipv4z(3),
		ipv6z(4),
		dns(16)
		}
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
             "This object specifies the type of the Peer IP address in a ICG."
        ::= { raisecomMLacpICGConfigEntry 6 }
        
raisecomMLacpICGCfgPeerAddr OBJECT-TYPE
    	SYNTAX      InetAddress
    	MAX-ACCESS  read-create
    	STATUS      current
    	DESCRIPTION
            "This object indicates the IP address of peer in a ICG."
    	::= { raisecomMLacpICGConfigEntry 7 }    	

raisecomMLacpICGCfgRecoveryDelayTimer OBJECT-TYPE
    	SYNTAX      INTEGER  (0..65535)
    	MAX-ACCESS  read-create
    	STATUS      current
    	DESCRIPTION
            "To prevent shock, when the conditions are ripe for the link recovery,
            the system need to go through the Link Recovery Delay Timer before  beginning to recover."
    	::= { raisecomMLacpICGConfigEntry 8 } 
    	
raisecomMLacpICGCfgBackbonePorts OBJECT-TYPE
    	SYNTAX      PortList
    	MAX-ACCESS  read-create
    	STATUS      current
    	DESCRIPTION
            "This object indicates the ports need to be monitored ,which connect to the backbone."
    	::= { raisecomMLacpICGConfigEntry 9 } 
    	
raisecomMLacpICGCfgChannelGroup OBJECT-TYPE
    	SYNTAX      INTEGER  (1..8)
    	MAX-ACCESS  read-create
    	STATUS      current
    	DESCRIPTION
            "This object indicates the number of the ChannelGroup bound a ICG."
    	::= { raisecomMLacpICGConfigEntry 10 }      
    	
raisecomMLacpICGCfgRowStatus OBJECT-TYPE
    	SYNTAX      RowStatus
    	MAX-ACCESS  read-create
    	STATUS      current
    	DESCRIPTION
            "This object allows entries to be created and deleted in the raisecomMLacpICGConfigTable."
    	::= { raisecomMLacpICGConfigEntry 11 } 
    	
    	
------------------------------------------------------------------
-- raisecomMLacpICG
   -- raisecomMLacpICGLocalTable  
------------------------------------------------------------------
raisecomMLacpICGLocalTable   OBJECT-TYPE
    	SYNTAX  SEQUENCE OF RaisecomMLacpICGLocalEntry
    	MAX-ACCESS  not-accessible
    	STATUS      current
    	DESCRIPTION
            "This table specifies information of the local PE ."
    	::= { raisecomMLacpICG 2 }

raisecomMLacpICGLocalEntry OBJECT-TYPE
    	SYNTAX      RaisecomMLacpICGLocalEntry      
    	MAX-ACCESS  not-accessible
    	STATUS      current
    	DESCRIPTION
            "The entry is used to save information of the local PE."
    	AUGMENTS   { raisecomMLacpICGConfigEntry }
    	::= { raisecomMLacpICGLocalTable 1 }

        RaisecomMLacpICGLocalEntry ::= SEQUENCE
        {
            raisecomMLacpICGLocalCurrentSysMAC   MacAddress,
            raisecomMLacpICGLocalCurrentSysPrio  INTEGER,
            raisecomMLacpICGLocalCurrentPortPrio INTEGER,
            raisecomMLacpICGLocalMachineState   INTEGER,
            raisecomMLacpICGLocalState   INTEGER
        }

raisecomMLacpICGLocalCurrentSysMAC OBJECT-TYPE
    	SYNTAX      MacAddress
    	MAX-ACCESS  read-only
    	STATUS      current
    	DESCRIPTION
            "This object indicates the current  mac address of a ICG.
             The current  mac address of ICG is the smaller one between the Local mac address and the peer mac address."
    	::= { raisecomMLacpICGLocalEntry 1 }  
    	
raisecomMLacpICGLocalCurrentSysPrio OBJECT-TYPE
    	SYNTAX      INTEGER(0..65535)
    	MAX-ACCESS  read-only
    	STATUS      current
    	DESCRIPTION
            "This object indicates the current value of System Priority of Local. 
            The priority of ICG Current System Priority is the smaller one between Local system priority and peer system priority."
    	::= { raisecomMLacpICGLocalEntry 2 }

raisecomMLacpICGLocalCurrentPortPrio OBJECT-TYPE
    	SYNTAX      INTEGER(0..65535)
    	MAX-ACCESS  read-only
    	STATUS      current
    	DESCRIPTION
            "This object indicates the current value of Port Priority."
    	::= { raisecomMLacpICGLocalEntry 3 }

raisecomMLacpICGLocalMachineState OBJECT-TYPE
    	SYNTAX INTEGER {
		other(1),
		mlacpBegin(2),
		connNonExist (3),
		connInitialize (4),
		connCapSent (5),
		connCapRec (6),
		connConnecting (7),
		connOperational (8),
		appNonExist  (8),
		appReset (9),
		appConnSent (10),  
		appConnRec  (11),
		appConnecting  (12),
		appOperational  (13)
		}
    	MAX-ACCESS  read-only
    	STATUS      current
    	DESCRIPTION
            "This object indicates the current  mac address of a ICG.
             The current  mac address of ICG is the smaller one between the Local mac address and the peer mac address."
    	::= { raisecomMLacpICGLocalEntry 4 }

raisecomMLacpICGLocalState OBJECT-TYPE
    	SYNTAX INTEGER {
		other(1),
		active(2),
		standby(3),
		unknown(4),
		invalid(5)
		}
    	MAX-ACCESS  read-only
    	STATUS      current
    	DESCRIPTION
            "This object indicates the state of the local .The members of ICG can only be in a state at a time, active or standby."
    	::= { raisecomMLacpICGLocalEntry 5 }

------------------------------------------------------------------
-- raisecomMLacpICG
   -- raisecomMLacpICGPeerTable  
------------------------------------------------------------------
raisecomMLacpICGPeerTable   OBJECT-TYPE
    	SYNTAX  SEQUENCE OF RaisecomMLacpICGPeerEntry
    	MAX-ACCESS  not-accessible
    	STATUS      current
    	DESCRIPTION
            "This table specifies information of the peer PE ."
    	::= { raisecomMLacpICG 3 }

raisecomMLacpICGPeerEntry OBJECT-TYPE
    	SYNTAX      RaisecomMLacpICGPeerEntry      
    	MAX-ACCESS  not-accessible
    	STATUS      current
    	DESCRIPTION
            "The entry is used to save information of the peer PE."
    	AUGMENTS   { raisecomMLacpICGConfigEntry }
    	::= { raisecomMLacpICGPeerTable 1 }

        RaisecomMLacpICGPeerEntry ::= SEQUENCE
        {
            raisecomMLacpICGPeerNodeID   INTEGER,
            raisecomMLacpICGPeerSysMAC  MacAddress,
            raisecomMLacpICGPeerSysPrio INTEGER,
            raisecomMLacpICGPeerPortPrio INTEGER,            
            raisecomMLacpICGPeerState   INTEGER
        }

raisecomMLacpICGPeerNodeID OBJECT-TYPE
    	SYNTAX      INTEGER(0..7)
    	MAX-ACCESS  read-only
    	STATUS      current
    	DESCRIPTION
            "This object indicates the ID of the peer chassis."
    	::= { raisecomMLacpICGPeerEntry 1 }  
    	
raisecomMLacpICGPeerSysMAC OBJECT-TYPE
    	SYNTAX      MacAddress
    	MAX-ACCESS  read-only
    	STATUS      current
    	DESCRIPTION
            "This object indicates the mac address of the peer chassis in  a ICG."
    	::= { raisecomMLacpICGPeerEntry 2 }

raisecomMLacpICGPeerSysPrio OBJECT-TYPE
    	SYNTAX      INTEGER(0..65535)
    	MAX-ACCESS  read-only
    	STATUS      current
    	DESCRIPTION
            "This object indicates the value of System Priority of the peer chassis  in a ICG."
    	::= { raisecomMLacpICGPeerEntry 3 }
    	
raisecomMLacpICGPeerPortPrio OBJECT-TYPE
    	SYNTAX      INTEGER(0..65535)
    	MAX-ACCESS  read-only
    	STATUS      current
    	DESCRIPTION
            "This object indicates the value of Port Priority of the peer chassis  in a ICG."
    	::= { raisecomMLacpICGPeerEntry 4 }         
    	
raisecomMLacpICGPeerState OBJECT-TYPE
    	SYNTAX INTEGER {
		other(1),
		active(2),
		standby(3),
		unknown(4),
		invalid(5)
		}
    	MAX-ACCESS  read-only
    	STATUS      current
    	DESCRIPTION
            "This object indicates the state of the peer .The members of ICG can only be in a state at a time, active or standby."
    	::= { raisecomMLacpICGPeerEntry 5 }

 
------------------------------------------------------------------
-- raisecomMLacpICG
-- raisecomMLacpICGStatsTable  
------------------------------------------------------------------
raisecomMLacpICGStatsTable   OBJECT-TYPE
    	SYNTAX  SEQUENCE OF RaisecomMLacpICGStatsEntry
    	MAX-ACCESS  not-accessible
    	STATUS      current
    	DESCRIPTION
            "This table specifies statistics of the ICCP message."
    	::= { raisecomMLacpICG 4 }

raisecomMLacpICGStatsEntry OBJECT-TYPE
    	SYNTAX      RaisecomMLacpICGStatsEntry      
    	MAX-ACCESS  not-accessible
    	STATUS      current
    	DESCRIPTION
            "The entry is used to save statistics of the ICCP message."
    	AUGMENTS   { raisecomMLacpICGConfigEntry }
    	::= { raisecomMLacpICGStatsTable 1 }

        RaisecomMLacpICGStatsEntry ::= SEQUENCE
        {
            raisecomMLacpICGStatsCapacityTx      Integer32,
            raisecomMLacpICGStatsConnectTx       Integer32,
            raisecomMLacpICGStatsDisconnectTx    Integer32,
            raisecomMLacpICGStatsNotifyTx        Integer32,
            raisecomMLacpICGStatsApplicationTx   Integer32,
            raisecomMLacpICGStatsCapacityRx      Integer32,
            raisecomMLacpICGStatsConnectRx       Integer32,
            raisecomMLacpICGStatsDisconnectRx    Integer32,
            raisecomMLacpICGStatsNotifyRx        Integer32,
            raisecomMLacpICGStatsApplicationRx   Integer32,
            raisecomMLacpICGStatsClear           TruthValue
        }

raisecomMLacpICGStatsCapacityTx OBJECT-TYPE
    	SYNTAX      Integer32
       	MAX-ACCESS  read-only
    	STATUS      current
    	DESCRIPTION
            "This object indicates the number of the Capacity message which the switch has sent in a ICG."
    	::= { raisecomMLacpICGStatsEntry 1 }  
    	
raisecomMLacpICGStatsConnectTx OBJECT-TYPE
    	SYNTAX      Integer32
    	MAX-ACCESS  read-only
    	STATUS      current
    	DESCRIPTION
            "This object indicates the number of the Connect message which the switch has sent in a ICG."
    	::= { raisecomMLacpICGStatsEntry 2 }

raisecomMLacpICGStatsDisconnectTx OBJECT-TYPE
    	SYNTAX      Integer32
    	MAX-ACCESS  read-only
    	STATUS      current
    	DESCRIPTION
            "This object indicates the number of the Disconnect message which the switch has sent in a ICG."
    	::= { raisecomMLacpICGStatsEntry 3 }        
    	
raisecomMLacpICGStatsNotifyTx OBJECT-TYPE
    	SYNTAX      Integer32
      	MAX-ACCESS  read-only
    	STATUS      current
    	DESCRIPTION
            "This object indicates the number of the Notify message which the switch has sent in a ICG."
    	::= { raisecomMLacpICGStatsEntry 4 }   
    	
raisecomMLacpICGStatsApplicationTx OBJECT-TYPE
    	SYNTAX      Integer32
       	MAX-ACCESS  read-only
    	STATUS      current
    	DESCRIPTION
            "This object indicates the number of the Application message which the switch has sent in a ICG."
    	::= { raisecomMLacpICGStatsEntry 5 }  

raisecomMLacpICGStatsCapacityRx OBJECT-TYPE
    	SYNTAX      Integer32
       	MAX-ACCESS  read-only
    	STATUS      current
    	DESCRIPTION
            "This object indicates the number of the Capacity message which the switch has received in a ICG."
    	::= { raisecomMLacpICGStatsEntry 6 }  

raisecomMLacpICGStatsConnectRx OBJECT-TYPE
    	SYNTAX      Integer32
       	MAX-ACCESS  read-only
    	STATUS      current
    	DESCRIPTION
            "This object indicates the number of the Connect message which the switch has received in a ICG."
    	::= { raisecomMLacpICGStatsEntry 7 }  

raisecomMLacpICGStatsDisconnectRx OBJECT-TYPE
    	SYNTAX      Integer32
       	MAX-ACCESS  read-only
    	STATUS      current
    	DESCRIPTION
            "This object indicates the number of the Disconnect message which the switch has received in a ICG."
    	::= { raisecomMLacpICGStatsEntry 8 }  

raisecomMLacpICGStatsNotifyRx OBJECT-TYPE
    	SYNTAX      Integer32
       	MAX-ACCESS  read-only
    	STATUS      current
    	DESCRIPTION
            "This object indicates the number of the Notify message which the switch has received in a ICG."
    	::= { raisecomMLacpICGStatsEntry 9 }  

raisecomMLacpICGStatsApplicationRx OBJECT-TYPE
    	SYNTAX      Integer32
       	MAX-ACCESS  read-only
    	STATUS      current
    	DESCRIPTION
            "This object indicates the number of the Application message which the switch has received in a ICG."
    	::= { raisecomMLacpICGStatsEntry 10 }  
        
raisecomMLacpICGStatsClear OBJECT-TYPE
    	SYNTAX      TruthValue
       	MAX-ACCESS  read-write
    	STATUS      current
    	DESCRIPTION
            "Clear message statistics of a ICG."
    	::= { raisecomMLacpICGStatsEntry 11 } 

END
