-- *****************************************************************
-- switch-mcast-mib.mib:  mcast MIB
--
-- February 2011, chilei
--
-- Copyright (c) 1996-2009 by Raisecom Technology Co., Ltd.
-- All rights reserved.
--
-- *****************************************************************
--

RAISECOM-MCAST-MIB DEFINITIONS ::= BEGIN

IMPORTS
        MODULE-IDENTITY, OBJECT-TYPE, Integer32 	FROM SNMPv2-SMI
        TEXTUAL-CONVENTION, MacAddress, RowStatus	FROM SNMPv2-TC 
        Vlanset, PortList                           FROM SWITCH-TC
        EnableVar	  								FROM SWITCH-TC   
        VlanIndex,VlanId                            FROM Q-BRIDGE-MIB
        InetAddressType,InetAddress                 FROM INET-ADDRESS-MIB
        raisecomAgent 								FROM RAISECOM-BASE-MIB;

raisecomMcast    MODULE-IDENTITY
        LAST-UPDATED    "201010290000Z"
        ORGANIZATION    "Raisecom Technology Co., Ltd."
        CONTACT-INFO
		                "Raisecom Science & Technology Co., ltd.
		                 E-mail: support@raisecom.com"
        DESCRIPTION
		        		"This MIB module defines a MIB which provides
		                mechanisms to management multicast config."

        REVISION     	"201010290000Z"
        DESCRIPTION
            		 	"version 1.0"

        ::= { raisecomAgent 27 }  
        
raisecomMcastNotifications         		OBJECT IDENTIFIER ::= { raisecomMcast 1 } 
raisecomMcastObjects            		OBJECT IDENTIFIER ::= { raisecomMcast 2 }  
raisecomMcastConformance        		OBJECT IDENTIFIER ::= { raisecomMcast 3 }

raisecomMcastScalar                     OBJECT IDENTIFIER ::= { raisecomMcastObjects 1}
raisecomMcastL2                         OBJECT IDENTIFIER ::= { raisecomMcastObjects 2}
raisecomMcastVlanCopy                   OBJECT IDENTIFIER ::= { raisecomMcastObjects 3}
 
--
-- Global Group
--     
raisecomMulticastFilterEnable 		OBJECT-TYPE
        SYNTAX      EnableVar
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
	        		"False indicates forward unregistered multicast traffic of the device; 
	        		True indicates filter all unregistered multicast traffic"
        DEFVAL 		{ 2 }
        ::= { raisecomMcastScalar 1 }      
                
raisecomMulticastFilterVlanlist 		OBJECT-TYPE
        SYNTAX      Vlanset
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
	        		"The vlanlist of filtering unregistered multicast packet.All 1 indicates all vlans.
	        		Bit 0 indicates forward unregistered multicast traffic in assigned vlan; 
	        		Bit 1 indicates filter unregistered multicast traffic in assigned vlan. "
        DEFVAL 		{ 0 }
        ::= { raisecomMcastScalar 2 }

--
-- raisecomMcastL2
--  
         
raisecomL2MulticastMaxGroupNum  OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
	        		"The max number of L2 multicast group supported by hardware."
        DEFVAL 		{ 0 }
        ::= { raisecomMcastL2 1 }         
        
raisecomL2MulticastCurrentGroupNum 	OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
	        		"The current number of multicast groups in the l2 multicast address table."
        DEFVAL 		{ 0 }
        ::= { raisecomMcastL2 2 }


--
-- L2MulticastAddressTable
--       
 
raisecomL2MulticastAddressTable 	OBJECT-TYPE
        SYNTAX      SEQUENCE OF RaisecomL2MulticastAddressEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
	        		"This table provides the information of l2 multicast address."
        ::= { raisecomMcastL2 3 }
 
raisecomL2MulticastAddressEntry 	OBJECT-TYPE
        SYNTAX      RaisecomL2MulticastAddressEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
	        		"Each entry provides a l2 multicast address information. Entries
	                can be created as a static multicast address."
        INDEX   	{ raisecomL2MulticastMVlan, raisecomL2MulticastAddress}
        ::= { raisecomL2MulticastAddressTable 1 }

RaisecomL2MulticastAddressEntry ::= SEQUENCE {    
        raisecomL2MulticastMVlan			    INTEGER,
        raisecomL2MulticastAddress         		MacAddress,  
        raisecomL2MulticastEgressPortlist       PortList,    
        raisecomL2MulticastStaticPortlist		PortList ,
        raisecomL2MulticastRowStatus            RowStatus
        }
  
raisecomL2MulticastMVlan 	OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
	        		"The vlan-id in a frame to which this entry's forwarding information applies."
        ::= { raisecomL2MulticastAddressEntry 1 }
        
raisecomL2MulticastAddress  OBJECT-TYPE    
        SYNTAX      MacAddress
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
	        		"The destination MAC address in a frame to which this entry's forwarding 
	        		information applies. This object must take the value of a Multicast or 
	        		Broadcast address."
        ::= { raisecomL2MulticastAddressEntry 2 }  
        
raisecomL2MulticastEgressPortlist  OBJECT-TYPE
        SYNTAX      PortList
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
	        		"The set of ports to which frames destined for a specific Multicast must be forwarded."
        DEFVAL 		{ 0 }
        ::= { raisecomL2MulticastAddressEntry 3 }     
        
raisecomL2MulticastStaticPortlist OBJECT-TYPE
        SYNTAX      PortList
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
	        		"The set of ports to which frames received destined for a specific Multicast must be 
	        		forwarded, regardless of any dynamic information e.g. from GMRP."
        ::= { raisecomL2MulticastAddressEntry 4 }     
              
raisecomL2MulticastRowStatus  OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
	        		"The row status of the raisecomL2MulticastAddress table."
        ::= { raisecomL2MulticastAddressEntry 5 } 

--
-- raisecomMcastVlanCopy
--

raisecomIgmpVlanCopyMaxGroupNum  OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
	        		"The max number of vlan-copy multicast group supported by hardware."
        DEFVAL 		{ 0 }
        ::= { raisecomMcastVlanCopy 1 }      


raisecomIgmpVlanCopyCurrentGroupNum  OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
	        		"The current number of multicast groups in the vlan-copy multicast address table."
        DEFVAL 		{ 0 }
        ::= { raisecomMcastVlanCopy 2 }   

--
-- raisecomIgmpVlanCopyAddressTable
--

raisecomIgmpVlanCopyAddressTable 	OBJECT-TYPE
        SYNTAX      SEQUENCE OF RaisecomIgmpVlanCopyAddressEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
	        		"This table provides information of igmp vlan-copy table."
        ::= { raisecomMcastVlanCopy 3 }

raisecomIgmpVlanCopyAddressEntry 		OBJECT-TYPE
        SYNTAX      RaisecomIgmpVlanCopyAddressEntry 
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                    "Each entry provides a vlan-copy multicast address information. Entries
	                can be created as a static multicast address."
        INDEX   	{ raisecomIgmpVlanCopyMVlan,raisecomIgmpVlanCopyIpAddressType,
                      raisecomIgmpVlanCopyIpAddress,raisecomIgmpVlanCopyEgressPort}
        ::= { raisecomIgmpVlanCopyAddressTable 1 }

RaisecomIgmpVlanCopyAddressEntry ::= SEQUENCE {      
		raisecomIgmpVlanCopyMVlan          VlanIndex,
		raisecomIgmpVlanCopyIpAddressType  InetAddressType,
		raisecomIgmpVlanCopyIpAddress      InetAddress,
		raisecomIgmpVlanCopyEgressPort     INTEGER,
	    raisecomIgmpVlanCopyUVlanList      Vlanset,
	    raisecomIgmpVlanCopyStaticFlagList Vlanset,
	    raisecomIgmpVlanCopyRowStatus      RowStatus
}
   
raisecomIgmpVlanCopyMVlan 		OBJECT-TYPE
        SYNTAX      VlanIndex
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
	        		"The vlan-id in a frame to which this entry's forwarding information applies. "
        ::= { raisecomIgmpVlanCopyAddressEntry 1 }

   
raisecomIgmpVlanCopyIpAddressType 	OBJECT-TYPE
        SYNTAX      InetAddressType
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
	        		"The type of the destination ip address in a frame to which this entry's 
	        		forwarding information applies. "
        ::= { raisecomIgmpVlanCopyAddressEntry 2 }
   
raisecomIgmpVlanCopyIpAddress OBJECT-TYPE
        SYNTAX      InetAddress(SIZE(0..20))
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
	        		"The destination ip address in a frame to which this entry's forwarding information applies. 
	        		This object must take the value of a Multicast address."
        ::= { raisecomIgmpVlanCopyAddressEntry 3 }

raisecomIgmpVlanCopyEgressPort  OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
	        		"The port number to which frames destined for a specific Multicast must be forwarded."
        ::= { raisecomIgmpVlanCopyAddressEntry 4 }

raisecomIgmpVlanCopyUVlanList	OBJECT-TYPE
        SYNTAX      Vlanset
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
	        		"The user vlan list to which frames destined for a specific Multicast must be forwarded."
        ::= { raisecomIgmpVlanCopyAddressEntry 5 }

raisecomIgmpVlanCopyStaticFlagList  OBJECT-TYPE
        SYNTAX      Vlanset
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
	        		"1 indicates that the user copied vlan is configed by handnot learned. 
	        		0 indicates that the user copied vlan is learned through the report packet."
        ::= { raisecomIgmpVlanCopyAddressEntry 6 }

raisecomIgmpVlanCopyRowStatus OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
	        		"The row status of the igmp vlan copy table."
        ::= { raisecomIgmpVlanCopyAddressEntry 7 }

--
-- END of raisecom-mcast-mib
--

END

