-- This file was included in WWP MIB release 04-07-01-0008
 --
 -- WWP-GENERIC-IGMP-SNOOP-MIB.my
 --
 --

 WWP-GENERIC-IGMP-SNOOP-MIB DEFINITIONS ::= BEGIN

 IMPORTS 		
   IpAddress, Integer32, Unsigned32, OBJECT-TYPE, MODULE-IDENTITY			
	    FROM SNMPv2-SMI		
   DisplayString, MacAddress, DateAndTime, RowStatus, TruthValue			
	    FROM SNMPv2-TC						
   wwpModules			
	    FROM WWP-SMI;
	
	
 wwpGenIgmpSnoopMIB MODULE-IDENTITY
	    LAST-UPDATED "200104031700Z"
	    ORGANIZATION "Ciena, Inc"
	    CONTACT-INFO
		    "   Mib Meister
		  			115 North Sullivan Road
					Spokane Valley, WA 99037
		        	USA		 		
		        	Phone:  +1 509 242 9000
					Email:  support@ciena.com"
            DESCRIPTION
                      "Revised with 2 new objects added, 
                       wwpGenIgmpSnoopLeaveMode
                       wwpGenIgmpSnoopInqLeaveTimeout.0"
            REVISION     "200505240000Z"  -- 24th May. 2005
	    DESCRIPTION
		    "This MIB specifies the managed objects for IGMP per VLAN Snooping specific
                    to the WWP products."
            REVISION     "200305020000Z"  -- 2nd May. 2003  
	    DESCRIPTION
		    "A new object for IGMP snoop packet priority is added."
	    REVISION    "200104031700Z"
	    DESCRIPTION
		    "Initial creation."
	    ::= { wwpModules 19 }
						

 --
 -- Textual conventions/

 --

 PortList ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "Each octet within this value specifies a set of eight
        ports, with the first octet specifying ports 1 through
        8, the second octet specifying ports 9 through 16, etc.
        Within each octet, the most significant bit represents
        the lowest numbered port, and the least significant bit
        represents the highest numbered port.  Thus, each port
        of the bridge is represented by a single bit within the
        value of this object.  If that bit has a value of '1'
        then that port is included in the set of ports; the port
        is not included if its bit has a value of '0'."
    SYNTAX      OCTET STRING (SIZE (0..255))

 
 VlanId ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "A 12-bit VLAN ID used in the VLAN Tag header."
    SYNTAX      INTEGER (1..4094)

 --
 -- Node definitions
 --
	
 wwpGenIgmpSnoopMIBObjects OBJECT IDENTIFIER ::= { wwpGenIgmpSnoopMIB 1 }
 
 --
 -- System Atributes
 --
 wwpGenIgmpSnoop OBJECT IDENTIFIER ::= { wwpGenIgmpSnoopMIBObjects 1 }
 
 
 -- Notifications 
  
 wwpGenIgmpSnoopMIBNotificationPrefix  OBJECT IDENTIFIER ::= { wwpGenIgmpSnoopMIB 2 } 
 wwpGenIgmpSnoopMIBNotifications       OBJECT IDENTIFIER ::=  
                       { wwpGenIgmpSnoopMIBNotificationPrefix 0 }

 -- Conformance information 
 
 wwpGenIgmpSnoopMIBConformance OBJECT IDENTIFIER ::= { wwpGenIgmpSnoopMIB 3 } 
 wwpGenIgmpSnoopMIBCompliances OBJECT IDENTIFIER ::= { wwpGenIgmpSnoopMIBConformance 1 } 		
 wwpGenIgmpSnoopMIBGroups      OBJECT IDENTIFIER ::= { wwpGenIgmpSnoopMIBConformance 2 }


 wwpGenIgmpSnoopGlobalActivate   OBJECT-TYPE
     SYNTAX          TruthValue
     MAX-ACCESS      read-write
     STATUS          current
     DESCRIPTION
    	     "Activate the Generic IGMP Box wide Snooping operation with 
             a value of True(1) or stop it with False(2)."
       DEFVAL { true }                
       ::= { wwpGenIgmpSnoop 1 }

 --
 --  The IGMP Snoop Activation Table
 --

 wwpGenIgmpSnoopActTable OBJECT-TYPE
     SYNTAX     SEQUENCE OF WwpGenIgmpSnoopActEntry
     MAX-ACCESS not-accessible
     STATUS     current
     DESCRIPTION
            "The (conceptual) table listing the VLANs on which the
            IGMP snooping is enabled/disabled."
    ::= { wwpGenIgmpSnoop 2 }

 wwpGenIgmpSnoopActEntry OBJECT-TYPE
    SYNTAX     WwpGenIgmpSnoopActEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "An entry (conceptual row) in the wwpGenIgmpSnoopActTable."
    INDEX      { wwpGenIgmpSnoopActVlanId }
    ::= { wwpGenIgmpSnoopActTable 1 }


 WwpGenIgmpSnoopActEntry ::= SEQUENCE {   
    wwpGenIgmpSnoopActVlanId           VlanId,
    wwpGenIgmpSnoopRouterPort          Integer32,
    wwpGenIgmpSnoopActivate            TruthValue
 }


 wwpGenIgmpSnoopActVlanId OBJECT-TYPE
     SYNTAX     VlanId
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
             "The VLAN for which this IGMP snooping can be enabled/disabled."
     ::= { wwpGenIgmpSnoopActEntry 1 }
 
 wwpGenIgmpSnoopRouterPort OBJECT-TYPE
     SYNTAX      Integer32 (0..65535)
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
	     "The router port from which the IGMP query messages are 
             received, and joins/leaves messages are sent. If there is
             no router port associated, the object will return 0."  
     ::= { wwpGenIgmpSnoopActEntry 2 }

  wwpGenIgmpSnoopActivate  OBJECT-TYPE
     SYNTAX          TruthValue
     MAX-ACCESS      read-write
     STATUS          current
     DESCRIPTION
    	     "Activate the GenIgmp Snooping operation with a value of True(1) or 
             stop it with False(2)."
       DEFVAL { true }                
       ::= { wwpGenIgmpSnoopActEntry 3 }	


 --
 --  The IGMP Snoop Table
 --

 wwpGenIgmpSnoopTable OBJECT-TYPE
     SYNTAX     SEQUENCE OF WwpGenIgmpSnoopEntry
     MAX-ACCESS not-accessible
     STATUS     current
     DESCRIPTION
            "The (conceptual) table listing the IP multicast groups for
            which there are members on particular VLANs."
    ::= { wwpGenIgmpSnoop 3 }

 wwpGenIgmpSnoopEntry OBJECT-TYPE
    SYNTAX     WwpGenIgmpSnoopEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "An entry (conceptual row) in the wwpGenIgmpSnoopTable."
    INDEX      { wwpGenIgmpSnoopVlanId, wwpGenIgmpSnoopGroupAddress }
    ::= { wwpGenIgmpSnoopTable 1 }


 WwpGenIgmpSnoopEntry ::= SEQUENCE {   
    wwpGenIgmpSnoopVlanId           VlanId,
    wwpGenIgmpSnoopGroupAddress     IpAddress,
    wwpGenIgmpSnoopActivePorts      PortList,
    wwpGenIgmpSnoopQueryTime        TimeTicks,
    wwpGenIgmpSnoopNoOfHosts        Integer32
 }

   
 wwpGenIgmpSnoopVlanId OBJECT-TYPE
     SYNTAX     VlanId
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
             "The VLAN for which this entry contains information for
             an IP multicast group address."
     ::= { wwpGenIgmpSnoopEntry 1 }

 wwpGenIgmpSnoopGroupAddress OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The IP multicast group address for which this entry
            contains information."
    ::= { wwpGenIgmpSnoopEntry 2 }


 wwpGenIgmpSnoopActivePorts OBJECT-TYPE
     SYNTAX       PortList
     MAX-ACCESS   read-only
     STATUS       current
     DESCRIPTION
	     "The Port Map of the active ports for the IGMP filter indexed by 
             wwpGenIgmpSnoopVlanId and wwpGenIgmpSnoopGroupAddress."
     ::= { wwpGenIgmpSnoopEntry 3 }

 wwpGenIgmpSnoopQueryTime OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The time at which the last activity was observed on this stream."
    ::= { wwpGenIgmpSnoopEntry 4 }

 wwpGenIgmpSnoopNoOfHosts OBJECT-TYPE
     SYNTAX      Integer32(0..2147483647)
     MAX-ACCESS  read-only
     STATUS      deprecated
     DESCRIPTION
	     "The number of hosts associated with this entry."  
     ::= { wwpGenIgmpSnoopEntry 5 }

 --
 --  The IGMP Snoop Stats Table
 --

 wwpGenIgmpSnoopStatsTable OBJECT-TYPE
     SYNTAX     SEQUENCE OF WwpGenIgmpSnoopStatsEntry
     MAX-ACCESS not-accessible
     STATUS     current
     DESCRIPTION
            "The (conceptual) table listing the IGMP snoop statistics 
            per VLAN."
    ::= { wwpGenIgmpSnoop 4 }

 wwpGenIgmpSnoopStatsEntry OBJECT-TYPE
    SYNTAX     WwpGenIgmpSnoopStatsEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "An entry (conceptual row) in the wwpGenIgmpSnoopStatsTable."
    INDEX      { wwpGenIgmpSnoopStatsVlanId }
    ::= { wwpGenIgmpSnoopStatsTable 1 }


 WwpGenIgmpSnoopStatsEntry ::= SEQUENCE {   
    wwpGenIgmpSnoopStatsVlanId           VlanId,
    wwpGenIgmpSnoopQueryMessages         Counter32,
    wwpGenIgmpSnoopJoinMessages          Counter32,
    wwpGenIgmpSnoopLeaveMessages         Counter32,
    wwpGenIgmpSnoopRouterDiscards        Counter32    
 }

 wwpGenIgmpSnoopStatsVlanId OBJECT-TYPE
     SYNTAX     VlanId
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
             "The VLAN Id for which this IGMP snooping can be enabled/disabled."
     ::= { wwpGenIgmpSnoopStatsEntry 1 }

 wwpGenIgmpSnoopQueryMessages  OBJECT-TYPE
     SYNTAX          Counter32
     MAX-ACCESS      read-only
     STATUS          current
     DESCRIPTION
    	     "The total number of query messages snooped."                              
       ::= { wwpGenIgmpSnoopStatsEntry 2 }	

 wwpGenIgmpSnoopJoinMessages  OBJECT-TYPE
     SYNTAX          Counter32
     MAX-ACCESS      read-only
     STATUS          current
     DESCRIPTION
    	     "The total number of Join messages snooped."                              
       ::= { wwpGenIgmpSnoopStatsEntry 3 }
	
 wwpGenIgmpSnoopLeaveMessages  OBJECT-TYPE
     SYNTAX          Counter32
     MAX-ACCESS      read-only
     STATUS          current
     DESCRIPTION
    	     "The total number of leave messages snooped."                              
       ::= { wwpGenIgmpSnoopStatsEntry 4 }	

 wwpGenIgmpSnoopRouterDiscards  OBJECT-TYPE
     SYNTAX          Counter32
     MAX-ACCESS      read-only
     STATUS          current
     DESCRIPTION
    	     "The total number of messages discarded by the Router."                              
       ::= { wwpGenIgmpSnoopStatsEntry 5 }	

 wwpGenIgmpSnoopLingerTimeout  OBJECT-TYPE
     SYNTAX          Integer32(1..2147483647)
     UNITS           "seconds"
     MAX-ACCESS      read-write
     STATUS          current
     DESCRIPTION
    	     "This value specifies the amount of time that a multicast filter 
             will be in place after the last host has left. In essence it 
             configures how long to filter the stream after all the hosts have left 
             the group. This can tune the system as to how long the router has 
             to remove the stream from the subnet. The minimum value is 1 second, 
             with no maximum value."
       DEFVAL { 20 }                
       ::= { wwpGenIgmpSnoop 5 }	

 wwpGenIgmpSnoopExpiryTimeout  OBJECT-TYPE
     SYNTAX          Integer32(0..2147483647)
     UNITS           "seconds"
     MAX-ACCESS      read-write
     STATUS          current
     DESCRIPTION
    	     "The interval of time for which an IGMP protocol entry,
             is allowed to remain valid without any activity."               
       DEFVAL { 30 }                
       ::= { wwpGenIgmpSnoop 6 }	

 wwpGenIgmpSnoopQueryRespTimeout  OBJECT-TYPE
     SYNTAX          Integer32(0..2147483647)
     UNITS           "seconds"
     MAX-ACCESS      read-write
     STATUS          current
     DESCRIPTION
    	     "The interval of time for which an IGMP protocol entry,
             is allowed to wait for any IGMP query. This refers
             to the default minimum query timeout on WWP devices."               
       DEFVAL { 60 }                
       ::= { wwpGenIgmpSnoop 7 }

 wwpGenIgmpSnoopFilterActivate  OBJECT-TYPE
     SYNTAX          TruthValue
     MAX-ACCESS      read-write
     STATUS          current
     DESCRIPTION
    	     "Activate the GenIgmp Snoop Filtering operation with a value of True(1) or 
             stop it with False(2)."
       DEFVAL { false }                
       ::= { wwpGenIgmpSnoop 8 }	

 wwpGenExtIgmpSnoopActEntryTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF WwpGenExtIgmpSnoopActEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table that contains VLAN Specific
         IGMP configuration information maintained by each VLAN."
    ::= { wwpGenIgmpSnoop 9 }

 wwpGenExtIgmpSnoopActEntry OBJECT-TYPE
    SYNTAX      WwpGenExtIgmpSnoopActEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A list of VLAN specific IGMP configuration parameters 
        maintained by each VLAN."
    AUGMENTS    { wwpGenIgmpSnoopActEntry }
    ::= { wwpGenExtIgmpSnoopActEntryTable  1 }

 WwpGenExtIgmpSnoopActEntry ::= SEQUENCE {
    wwpGenIgmpSnoopMinQueryTimeout           Integer32,
    wwpGenIgmpSnoopUnresolvedMcastFilter     TruthValue,
    wwpGenIgmpSnoopPktPriority               INTEGER,
    wwpGenIgmpSnoopLeaveMode                 INTEGER
 }

 wwpGenIgmpSnoopMinQueryTimeout  OBJECT-TYPE
    SYNTAX      Integer32(0..2147483647)
    UNITS       "seconds"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The minimum interval of time for which an IGMP protocol entry
        associated with this VLAN is allowed to wait for any IGMP query."
    DEFVAL { 5 }
    ::= { wwpGenExtIgmpSnoopActEntry 1 }

 wwpGenIgmpSnoopUnresolvedMcastFilter  OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Setting this object to 'true' will enable the Unresolved Multicast
        Filtering for the VLAN specified by wwpGenIgmpSnoopActVlanId."
    DEFVAL { false }
    ::= { wwpGenExtIgmpSnoopActEntry 2 }

 wwpGenIgmpSnoopPktPriority OBJECT-TYPE
    SYNTAX      INTEGER (0..7)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The 802.1p Priority value for the IGMP snoop
        packets on this VLAN."
    ::= { wwpGenExtIgmpSnoopActEntry 3 }

  wwpGenIgmpSnoopLeaveMode  OBJECT-TYPE
     SYNTAX     INTEGER {
                         fast(1),
                         inquisitive(2)
                        }    
     MAX-ACCESS      read-write
     STATUS          current
     DESCRIPTION
    	    "Setting the IGMP leave mode to 'fast(1)' will cause the 
	     multicast stream to be pruned as soon as a leave is 
	     received. If this object is set to 'inquisitive(2)', then
	     a Group Specific Query is created for the multicast stream 
	     for which the leave was received. If no membership report is 
	     received in the time interval configured by the 
	     wwpGenIgmpSnoopInqLeaveTimeout, then the multicast stream
	     is pruned."            
    ::= { wwpGenExtIgmpSnoopActEntry 4 }
        
  wwpGenIgmpSnoopInqLeaveTimeout   OBJECT-TYPE
     SYNTAX          Integer32(1..255)
     MAX-ACCESS      read-write
     STATUS          current
     DESCRIPTION
    	     "The interval of time in units of 0.1 (tenth) seconds for 
	      which the Group Specific Query, is allowed to wait for any 
	      response. The inquisitive leave timer is started only when the 
	      wwpIgmpSnoopLeaveMode is set to 'inquisitive(2)'."               
       DEFVAL { 20 }                
    ::= { wwpGenIgmpSnoop 10 }
    
   wwpGenIgmpSnoopUMFFilterGlobal   OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Setting this object to 'true' will enable the Unresolved Multicast
        Filtering (UMF) for the device.  When 'true' unresolved multicast 
        packets will not be forwarded.  When 'false' unresolved multicast
        packets will be forwarded to the other ports in the VLAN.
        
        If the device supports per-VLAN UMF, when this object is set to 'true'
        then the per-VLAN UMF setting will take effect.  When this object is
        set to 'false' then unresolved multicast filtering is inhibited on
        all VLANs."
    DEFVAL { false }
    ::= { wwpGenIgmpSnoop 11 }
     
 END
 
 -- 
 -- WWP-GENERIC-IGMP-SNOOP-MIB
 -- 

 
