-- 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-MULTICAST-MIB.mib
-- Revision 1.4  2013/12/06

ZYXEL-MULTICAST-MIB DEFINITIONS ::= BEGIN

    IMPORTS
	OBJECT-TYPE
		FROM SNMPv2-SMI			-- RFC2578	
		
	MODULE-IDENTITY
		FROM SNMPv2-SMI
	
	RowStatus
		FROM SNMPv2-TC			-- RFC2579

	PortList
		FROM  Q-BRIDGE-MIB
				
	DisplayString                                          
	  	FROM SNMPv2-TC
	
  IpAddress
        FROM SNMPv2-SMI

	esMgmt
    	FROM ZYXEL-ES-SMI;

	zyxelMulticast MODULE-IDENTITY
	LAST-UPDATED	"201207010000Z"    
	ORGANIZATION "Enterprise Solution ZyXEL"     
	CONTACT-INFO
		""	   
	DESCRIPTION
		"The subtree for multicast"
	::= { esMgmt 54 }
	
	zyxelMulticastSetup     OBJECT IDENTIFIER ::= { zyxelMulticast 1 }
    zyxelStaticMulticastForwardByIpSetup     OBJECT IDENTIFIER ::= { zyxelMulticast 2 }

	
  
-- *******************************************************************
-- *
-- * zyxelMulticastSetup
-- *
-- *******************************************************************
       
-- zyxelMulticastUnknownMulticastFrameForwarding
        zyMulticastUnknownMulticastFrameForwarding OBJECT-TYPE
        SYNTAX  INTEGER {
         	flooding(1),
			drop(2),
			drop-vlan(3)
        }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
			"Specify the action to perform when the switch receives an unknown multicast frame. Unknown multicast 
			frames are addressed to multicast groups for which the Switch has not recorded any group members. 
			Select flooding(1) to send the frame(s) to all ports of the same domain.
			Select drop(2) to discard the frame(s).
			Select drop-vlan(3) to discard the frame(s) on the specific VLAN(s).

			Note:
				If the new action is NOT drop-vlan(3), the zyMulticastUnknownMulticastFrameDropVlan(1~4)k will be cleared.
				If the zyMulticastUnknownMulticastFrameDropVlan(1~4)k are all Zero, the action 'drop-vlan(3)' cannot be selected.
				Thus, to perform action drop-vlan(3) must setup zyMulticastUnknownMulticastFrameDropVlan(1~4)k first."
        ::= { zyxelMulticastSetup 1 }

-- zyxelMulticastReservedMulticastFrameForwarding
        zyMulticastReservedMulticastFrameForwarding OBJECT-TYPE
        SYNTAX  INTEGER {
         	flooding(1),
         	drop(2)
        }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
			"The IP address range of 224.0.0.0 to 224.0.0.255 are reserved for multicasting on the local 
			network only. For example, 224.0.0.1 is for all hosts on a local network segment and 224.0.0.9 is 
			used to send RIP routing information to all RIP v2 routers on the same network segment. A multicast 
			router will not forward a packet with the destination IP address within this range to other networks. 
			See the IANA web site for more information. 
			The layer-2 multicast MAC addresses are also included in this group. 
			Specify the action to perform when the Switch receives a frame with a reserved multicast address. 
			Select Drop to discard the frame(s). Select Flooding to send the frame(s) to all ports of the same domain. "
        ::= { zyxelMulticastSetup 2 }  

-- zyMulticastUnknownMulticastFrameDropVlan1k
		zyMulticastUnknownMulticastFrameDropVlan1k OBJECT-TYPE
            SYNTAX      OCTET STRING (SIZE (0..128))
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
           "A string of octets containing one bit per VLAN. The first octet corresponds to VLANs with VlanIndex values 1 through 8;
			the second octet to VLANs 9 through 16 etc. The most significant bit of each octet corresponds to the lowest VlanIndex value in that octet.
			Each bit can be set to 0 or 1:
				Set to 0: Exclude this VLAN.
				Set to 1: Include this VLAN.
			Note:
				Only take effect for zyMulticastUnknownMulticastFrameForwarding = drop-vlan(3),
				and the total VLAN counts of zyMulticastUnknownMulticastFrameDropVlan(1~4)k should be in range 1 to 16."
		::= { zyxelMulticastSetup 3 }
 
-- zyMulticastUnknownMulticastFrameDropVlan2k
		zyMulticastUnknownMulticastFrameDropVlan2k OBJECT-TYPE
            SYNTAX      OCTET STRING (SIZE (0..128))
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
           "A string of octets containing one bit per VLAN for VLANs with VlanIndex values 1025 through 2048.
			The first octet corresponds to VLANs with VlanIndex values 1025 through 1032; the second octet to VLANs 1033 through 1040 etc.
			The most significant bit of each octet corresponds to the lowest VlanIndex value in that octet.
			Each bit can be set to 0 or 1:
				Set to 0: Exclude this VLAN.
				Set to 1: Include this VLAN.
			Note:
				Only take effect for zyMulticastUnknownMulticastFrameForwarding = drop-vlan(3),
				and the total VLAN counts of zyMulticastUnknownMulticastFrameDropVlan(1~4)k should be in range 1 to 16."
		::= { zyxelMulticastSetup 4 }

-- zyMulticastUnknownMulticastFrameDropVlan3k
		zyMulticastUnknownMulticastFrameDropVlan3k OBJECT-TYPE
            SYNTAX      OCTET STRING (SIZE (0..128))
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
           "A string of octets containing one bit per VLAN for VLANs with VlanIndex values 2049 through 3072.
			The first octet corresponds to VLANs with VlanIndex values of 2049 through 2056; the second octet to VLANs 2057 through 2064 etc.
			The most significant bit of each octet corresponds to the lowest VlanIndex value in that octet.
			Each bit can be set to 0 or 1:
				Set to 0: Exclude this VLAN.
				Set to 1: Include this VLAN.
			Note:
				Only take effect for zyMulticastUnknownMulticastFrameForwarding = drop-vlan(3),
				and the total VLAN counts of zyMulticastUnknownMulticastFrameDropVlan(1~4)k should be in range 1 to 16."
		::= { zyxelMulticastSetup 5 }

-- zyMulticastUnknownMulticastFrameDropVlan4k
		zyMulticastUnknownMulticastFrameDropVlan4k OBJECT-TYPE
            SYNTAX      OCTET STRING (SIZE (0..128))
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
           "A string of octets containing one bit per VLAN for VLANs with VlanIndex values 3073 through 4094.
			The first octet corresponds to VLANs with VlanIndex values 3073 through 3080; the second octet to VLANs 3081 through 3088 etc.
			The most significant bit of each octet corresponds to the lowest VlanIndex value in that octet.
			Each bit can be set to 0 or 1:
				Set to 0: Exclude this VLAN.
				Set to 1: Include this VLAN.
			Note:
				Only take effect for zyMulticastUnknownMulticastFrameForwarding = drop-vlan(3),
				and the total VLAN counts of zyMulticastUnknownMulticastFrameDropVlan(1~4)k should be in range 1 to 16."
		::= { zyxelMulticastSetup 6 }

-- zyxelMulticastUnknownMulticastFrameToQuerierPort
        zyMulticastUnknownMulticastFrameToQuerierPort OBJECT-TYPE
        SYNTAX  INTEGER {
			drop(1), 
         	forwarding(2),
			forwarding-vlan(3)
        }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
		   "When zyMulticastUnknownMulticastFrameForwarding is drop or drop-vlan and the switch receives an unknown multicast frame, 
			the action will work on the switch.
			Unknown multicast frames are addressed to multicast groups for which the Switch has not recorded any group members.
			Select drop(1) to not forward the frame(s).		
			Select forwarding(2) to forward the frame(s) to querier port(s) of the same domain.
			Select forwarding-vlan(3) to forward the frame(s) to querier port(s) on the specific VLAN(s)."

        ::= { zyxelMulticastSetup 7 }

-- zyMulticastUnknownMulticastFrameToQuerierPortForwardingVlan1k
		zyMulticastUnknownMulticastFrameToQuerierPortForwardingVlan1k OBJECT-TYPE
            SYNTAX      OCTET STRING (SIZE (0..128))
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
           "A string of octets containing one bit per VLAN. The first octet corresponds to VLANs with VlanIndex values 1 through 8;
			the second octet to VLANs 9 through 16 etc. The most significant bit of each octet corresponds to the lowest VlanIndex value in that octet.
			Each bit can be set to 0 or 1:
				Set to 0: Exclude this VLAN.
				Set to 1: Include this VLAN.
			Note:
				Only take effect for zyMulticastUnknownMulticastFrameToQuerierPort = forwarding-vlan(2),
				and the total VLAN counts of zyMulticastUnknownMulticastFrameToQuerierPortForwardingVlan(1~4)k should be in range 1 to 16."
		::= { zyxelMulticastSetup 8 }
 
-- zyMulticastUnknownMulticastFrameToQuerierPortForwardingVlan2k
		zyMulticastUnknownMulticastFrameToQuerierPortForwardingVlan2k OBJECT-TYPE
            SYNTAX      OCTET STRING (SIZE (0..128))
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
           "A string of octets containing one bit per VLAN for VLANs with VlanIndex values 1025 through 2048.
			The first octet corresponds to VLANs with VlanIndex values 1025 through 1032; the second octet to VLANs 1033 through 1040 etc.
			The most significant bit of each octet corresponds to the lowest VlanIndex value in that octet.
			Each bit can be set to 0 or 1:
				Set to 0: Exclude this VLAN.
				Set to 1: Include this VLAN.
			Note:
				Only take effect for zyMulticastUnknownMulticastFrameToQuerierPort = forwarding-vlan(2),
				and the total VLAN counts of zyMulticastUnknownMulticastFrameToQuerierPortForwardingVlan(1~4)k should be in range 1 to 16."
		::= { zyxelMulticastSetup 9 }

-- zyMulticastUnknownMulticastFrameToQuerierPortForwardingVlan3k
		zyMulticastUnknownMulticastFrameToQuerierPortForwardingVlan3k OBJECT-TYPE
            SYNTAX      OCTET STRING (SIZE (0..128))
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
           "A string of octets containing one bit per VLAN for VLANs with VlanIndex values 2049 through 3072.
			The first octet corresponds to VLANs with VlanIndex values of 2049 through 2056; the second octet to VLANs 2057 through 2064 etc.
			The most significant bit of each octet corresponds to the lowest VlanIndex value in that octet.
			Each bit can be set to 0 or 1:
				Set to 0: Exclude this VLAN.
				Set to 1: Include this VLAN.
			Note:
				Only take effect for zyMulticastUnknownMulticastFrameToQuerierPort = forwarding-vlan(2),
				and the total VLAN counts of zyMulticastUnknownMulticastFrameToQuerierPortForwardingVlan(1~4)k should be in range 1 to 16."
		::= { zyxelMulticastSetup 10 }

-- zyMulticastUnknownMulticastFrameToQuerierPortForwardingVlan4k
		zyMulticastUnknownMulticastFrameToQuerierPortForwardingVlan4k OBJECT-TYPE
            SYNTAX      OCTET STRING (SIZE (0..128))
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
           "A string of octets containing one bit per VLAN for VLANs with VlanIndex values 3073 through 4094.
			The first octet corresponds to VLANs with VlanIndex values 3073 through 3080; the second octet to VLANs 3081 through 3088 etc.
			The most significant bit of each octet corresponds to the lowest VlanIndex value in that octet.
			Each bit can be set to 0 or 1:
				Set to 0: Exclude this VLAN.
				Set to 1: Include this VLAN.
			Note:
				Only take effect for zyMulticastUnknownMulticastFrameToQuerierPort = forwarding-vlan(2),
				and the total VLAN counts of zyMulticastUnknownMulticastFrameToQuerierPortForwardingVlan(1~4)k should be in range 1 to 16."
		::= { zyxelMulticastSetup 11 }    
		
 --  	zyxelStaticMulticastForwardByIpSetup     		                       
        
        zyStaticMulticastForwardByIpMaxNumberOfRules OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
		"The maximum number of static multicast forwarding by ip rules that can be created."
        ::= { zyxelStaticMulticastForwardByIpSetup 1 }		   
        
--     zyxelStaticMulticastForwardByIpTable
        zyxelStaticMulticastForwardByIpTable  OBJECT-TYPE
	    SYNTAX	SEQUENCE OF ZyxelStaticMulticastForwardByIpEntry 
	    MAX-ACCESS  not-accessible
	    STATUS  current
	    DESCRIPTION
		"The table contains static multicast forwarding by ip configuration."
	    ::= { zyxelStaticMulticastForwardByIpSetup 2 }	

		zyxelStaticMulticastForwardByIpEntry  OBJECT-TYPE
        SYNTAX	ZyxelStaticMulticastForwardByIpEntry 
        MAX-ACCESS	not-accessible
        STATUS	current
        DESCRIPTION    	
        "An entry contains static multicast forwarding by ip configuration. "
        INDEX          	{ zyStaticMulticastForwardByIpIpAddress, zyStaticMulticastForwardByIpVlan }
        ::= { zyxelStaticMulticastForwardByIpTable 1 }

        ZyxelStaticMulticastForwardByIpEntry ::=
           SEQUENCE {
		    zyStaticMulticastForwardByIpName 		DisplayString,
        	zyStaticMulticastForwardByIpIpAddress	IpAddress,
			zyStaticMulticastForwardByIpVlan		INTEGER,
        	zyStaticMulticastForwardByIpPort		PortList,
        	zyStaticMulticastForwardByIpRowStatus	RowStatus
           }
       
	    zyStaticMulticastForwardByIpName OBJECT-TYPE
        SYNTAX  DisplayString
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
        "A descriptive name for identification static multicast forwarding by ip."
        ::= { zyxelStaticMulticastForwardByIpEntry 1 }
		    
		zyStaticMulticastForwardByIpIpAddress OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
		"The IP multicast address of the multicast group."
        ::= { zyxelStaticMulticastForwardByIpEntry 2 }   
		   
        zyStaticMulticastForwardByIpVlan OBJECT-TYPE
        SYNTAX  INTEGER (1..4094)
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
		"Enter the VLAN ID (1 to 4094) of the multicast group. "
        ::= { zyxelStaticMulticastForwardByIpEntry 3 }
		

        zyStaticMulticastForwardByIpPort OBJECT-TYPE
        SYNTAX  PortList 
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
		"Enter the port-list of the receive multicast group traffic. "
        ::= { zyxelStaticMulticastForwardByIpEntry 4 }

        zyStaticMulticastForwardByIpRowStatus OBJECT-TYPE
        SYNTAX  RowStatus
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
		"This object allows entries to be created and deleted from the static multicast forwarding by ip Table."
        ::= { zyxelStaticMulticastForwardByIpEntry 5 } 		
		
END

