-- ZyXEL Communications Corporation
-- Private Enterprise MIB definition 
  
-- This file describes the ZyXEL Communications Corporation Enterprise MIB.
-- It contains ZyXEL products OIDs, and common managed objects.

-- ZYXEL-MVR-MIB.mib
-- Revision 1.6  2013/12/06

ZYXEL-MVR-MIB DEFINITIONS ::= BEGIN

    IMPORTS
	OBJECT-TYPE
		FROM SNMPv2-SMI			-- RFC2578	
		
	MODULE-IDENTITY
		FROM SNMPv2-SMI
	
	RowStatus
		FROM SNMPv2-TC			-- RFC2579
		
	DisplayString                                          
	  	FROM SNMPv2-TC
	  	
	EnabledStatus
		FROM  P-BRIDGE-MIB

	dot1dBasePort
       	FROM BRIDGE-MIB

	InetAddressType, InetAddress
		FROM INET-ADDRESS-MIB		-- RFC2851

	esMgmt
    	FROM ZYXEL-ES-SMI;

	zyxelMvr MODULE-IDENTITY
	LAST-UPDATED	"201207010000Z"    
	ORGANIZATION "Enterprise Solution ZyXEL"     
	CONTACT-INFO
		""	   
	DESCRIPTION
		"The subtree for Multicast VLAN Registration (MVR)"
	::= { esMgmt 55 }		
		
	zyxelMvrSetup     				OBJECT IDENTIFIER ::= { zyxelMvr 1 }
	  
-- *******************************************************************
-- *
-- * zyxelMvrSetup
-- *
-- *******************************************************************

-- zyxelMvrMaxNumberOfVlans
		zyMvrMaxNumberOfVlans OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
			"The maximum number of multicast VLAN registration (MVR) VLAN entries that can be created."
        ::= { zyxelMvrSetup 1 }

-- zyxelMvrTable
        zyxelMvrTable OBJECT-TYPE
        SYNTAX	SEQUENCE OF ZyxelMvrEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
			"The table contains multicast VLAN registration (MVR) configuration."
        ::= { zyxelMvrSetup 2 }

		zyxelMvrEntry OBJECT-TYPE
        SYNTAX	ZyxelMvrEntry
        MAX-ACCESS	not-accessible
        STATUS	current
        DESCRIPTION    	
			"An entry contains multicast VLAN registration (MVR) configuration."
        INDEX          	{ zyMvrVid }
        ::= { zyxelMvrTable 1 }
		
		
        ZyxelMvrEntry ::=
		SEQUENCE {
        	zyMvrVid			INTEGER,
        	zyMvrName			DisplayString,
        	zyMvrMode			INTEGER,
        	zyMvr8021pPriority	INTEGER,
			zyMvrRowStatus		RowStatus        	
        }

        zyMvrVid OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
			"Enter the VLAN ID (1 to 4094) of the multicast VLAN. "
        ::= { zyxelMvrEntry 1 }

        zyMvrName OBJECT-TYPE
        SYNTAX  DisplayString
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                      	"Enter a descriptive name (up to 32 printable ASCII characters) for identification purposes. "
        ::= { zyxelMvrEntry 2 }

        zyMvrMode OBJECT-TYPE
        SYNTAX  INTEGER {
        	dynamic(0),
        	compatible(1)
        	}
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                      	"Specify the MVR mode on the Switch. Choices are Dynamic and Compatible. 
						Select Dynamic to send IGMP reports to all MVR source ports in the multicast VLAN. 
						Select Compatible to set the Switch not to send IGMP reports. "
        ::= { zyxelMvrEntry 3 }
      
        zyMvr8021pPriority OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
				"Select a priority level (0-7) with which the Switch replaces the priority in outgoing IGMP 
				control packets (belonging to this multicast VLAN)."
        ::= { zyxelMvrEntry 4 }

        zyMvrRowStatus OBJECT-TYPE
        SYNTAX  RowStatus
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
				"This object allows entries to be created and deleted from the Multicast VLAN Registration (MVR) 
				table."
        ::= { zyxelMvrEntry 5 }		
	
-- zyxelMvrPortTable
        zyxelMvrPortTable	OBJECT-TYPE
        SYNTAX	SEQUENCE OF ZyxelMvrPortEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
			"The table contains multicast VLAN registration (MVR) port configuration."
        ::= { zyxelMvrSetup 3 }
        
		zyxelMvrPortEntry OBJECT-TYPE
        SYNTAX	ZyxelMvrPortEntry
        MAX-ACCESS	not-accessible
        STATUS	current
        DESCRIPTION    	
			"An entry contains multicast VLAN registration (MVR) port configuration."
        INDEX          	{ zyMvrVid, dot1dBasePort }
        ::= { zyxelMvrPortTable 1 }

        ZyxelMvrPortEntry ::=
		SEQUENCE {
        	zyMvrPortRole		INTEGER,
        	zyMvrPortTagging	EnabledStatus
        }

        zyMvrPortRole OBJECT-TYPE
        SYNTAX  INTEGER {
        	none(1),
        	sourcePort(2),
        	receiverPort(3)
        }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
			"Specify the roles on the port. 
			None(1), Set the port not to participate in MVR. No MVR multicast traffic is sent or received on this port.  
			Source Port(2), Set the port as the MVR source port that sends and receives multicast traffic. All source ports must belong to a single multicast VLAN.  
			Receiver Port(3), Set the port as a receiver port that only receives multicast traffic."
        ::= { zyxelMvrPortEntry 1 }

        zyMvrPortTagging OBJECT-TYPE
        SYNTAX  EnabledStatus
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
			"Enable/Disable this port to tag the VLAN ID on all the outgoing frames."
        ::= { zyxelMvrPortEntry 2 }
		
-- zyxelMvrMaxNumberOfGroups
		zyMvrMaxNumberOfGroups OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
			"The maximum number of Multicast VLAN Registration (MVR) groups that can be created."
        ::= { zyxelMvrSetup 4 }
		
-- zyxelMvrGroupTable
        zyxelMvrGroupTable	OBJECT-TYPE
        SYNTAX	SEQUENCE OF ZyxelMvrGroupEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
			"The table contains multicast VLAN registration (MVR) group configuration."
        ::= { zyxelMvrSetup 5 }
        
		zyxelMvrGroupEntry OBJECT-TYPE
        SYNTAX	ZyxelMvrGroupEntry
        MAX-ACCESS	not-accessible
        STATUS	current
        DESCRIPTION    	
			"An entry contains multicast VLAN registration (MVR) group configuration."
        INDEX          	{ zyMvrVid, zyMvrGroupName }
        ::= { zyxelMvrGroupTable 1 }

        ZyxelMvrGroupEntry ::=
		SEQUENCE {
        	zyMvrGroupName					DisplayString,
			zyMvrGroupStartIpAddressType 	InetAddressType,
        	zyMvrGroupStartIpAddress		InetAddress,
			zyMvrGroupEndIpAddressType		InetAddressType,
        	zyMvrGroupEndIpAddress			InetAddress,
        	zyMvrGroupRowStatus				RowStatus
        }

        zyMvrGroupName OBJECT-TYPE
        SYNTAX  DisplayString
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
			"Enter a descriptive name for identification purposes."
        ::= { zyxelMvrGroupEntry 1 }
		
        zyMvrGroupStartIpAddressType OBJECT-TYPE
        SYNTAX  InetAddressType
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
			"The address type of zyxelMvrGroupStartIpAddress."
        ::= { zyxelMvrGroupEntry 2 }		

        zyMvrGroupStartIpAddress OBJECT-TYPE
        SYNTAX  InetAddress
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
			"Enter the starting IP multicast address of the multicast group."
        ::= { zyxelMvrGroupEntry 3 }

        zyMvrGroupEndIpAddressType OBJECT-TYPE
        SYNTAX  InetAddressType
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
			"The address type of zyxelMvrGroupEndIpAddress."
        ::= { zyxelMvrGroupEntry 4 }
		
        zyMvrGroupEndIpAddress OBJECT-TYPE
        SYNTAX  InetAddress
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
			"Enter the ending IP multicast address of the multicast group.
			Enter the same IP address as the Start Address entry if you want to configure only one IP address for a multicast group."
        ::= { zyxelMvrGroupEntry 5 }
        
        zyMvrGroupRowStatus OBJECT-TYPE
        SYNTAX  RowStatus
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
			"This object allows entries to be created and deleted from the Multicast VLAN Registration (MVR) group table."
        ::= { zyxelMvrGroupEntry 6 }
END


