 --
 -- WWP-IGMP-SNOOP-MIB.my
 --
 --

 --  This module provides authoritative definitions for WWP's
 --  enterprise-specific SNMP API to transfer the files 
 --  and system images. This MIB uses TFTP to transfer the
 --  file.
 --  This module will be extended, as required.
 
 WWP-IGMP-SNOOP-MIB DEFINITIONS ::= BEGIN

 IMPORTS 		
   Counter32, TimeTicks, IpAddress, Integer32, Unsigned32, OBJECT-TYPE, MODULE-IDENTITY			
	    FROM SNMPv2-SMI		
   DisplayString, MacAddress, DateAndTime, RowStatus, TruthValue, TEXTUAL-CONVENTION			
	    FROM SNMPv2-TC						
   wwpModules			
	    FROM WWP-SMI;
	
	
 wwpIgmpSnoopMIB MODULE-IDENTITY
	    LAST-UPDATED "200104031700Z"
	    ORGANIZATION "World Wide Packets, Inc"
	    CONTACT-INFO
		    "   Mib Meister
		  	Postal: World Wide Packets
		        P.O. Box 950
		        Veradale, WA 99037
		        USA
		 	Phone:  +1 509 242 9000
			Email:  mib.meister@worldwidepackets.com"
	    DESCRIPTION
		    "This MIB specifies the managed objects for IGMP Snooping specific
                    to the WWP products."
	    REVISION    "200104031700Z"
	    DESCRIPTION
		    "Initial creation."
	    ::= { wwpModules 10 }
						

 --
 -- 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
 --
	
 wwpIgmpSnoopMIBObjects OBJECT IDENTIFIER ::= { wwpIgmpSnoopMIB 1 }
 
 --
 -- System Atributes
 --
 wwpIgmpSnoop OBJECT IDENTIFIER ::= { wwpIgmpSnoopMIBObjects 1 }
 
 
 -- Notifications 
  
 wwpIgmpSnoopMIBNotificationPrefix  OBJECT IDENTIFIER ::= { wwpIgmpSnoopMIB 2 } 
 wwpIgmpSnoopMIBNotifications       OBJECT IDENTIFIER ::=  
                       { wwpIgmpSnoopMIBNotificationPrefix 0 }

 -- Conformance information 
 
 wwpIgmpSnoopMIBConformance OBJECT IDENTIFIER ::= { wwpIgmpSnoopMIB 3 } 
 wwpIgmpSnoopMIBCompliances OBJECT IDENTIFIER ::= { wwpIgmpSnoopMIBConformance 1 } 		
 wwpIgmpSnoopMIBGroups      OBJECT IDENTIFIER ::= { wwpIgmpSnoopMIBConformance 2 }


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

  --
 --  The IGMP Snoop Table
 --

 wwpIgmpSnoopTable OBJECT-TYPE
     SYNTAX     SEQUENCE OF WwpIgmpSnoopEntry
     MAX-ACCESS not-accessible
     STATUS     current
     DESCRIPTION
            "The (conceptual) table listing the IP multicast groups for
            which there are members on particular vlans."
    ::= { wwpIgmpSnoop 2 }

 wwpIgmpSnoopEntry OBJECT-TYPE
    SYNTAX     WwpIgmpSnoopEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "An entry (conceptual row) in the wwpIgmpSnoopTable."
    INDEX      { wwpIgmpSnoopVlanId, wwpIgmpSnoopGroupAddress }
    ::= { wwpIgmpSnoopTable 1 }


 WwpIgmpSnoopEntry ::= SEQUENCE { 
    wwpIgmpSnoopVlanId           VlanId,
    wwpIgmpSnoopGroupAddress     IpAddress,
    wwpIgmpSnoopActivePorts      PortList,
    wwpIgmpSnoopRouterPort       Integer32,
    wwpIgmpSnoopQueryTime        TimeTicks
 }

 
 wwpIgmpSnoopVlanId 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."
     ::= { wwpIgmpSnoopEntry 1 }

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

 wwpIgmpSnoopActivePorts OBJECT-TYPE
     SYNTAX       PortList
     MAX-ACCESS   read-only
     STATUS       current
     DESCRIPTION
	     "The Port Map of the active ports for the igmp filter indexed by 
             wwpIgmpSnoopVlanId and wwpIgmpSnoopGroupAddress."
     ::= { wwpIgmpSnoopEntry 3 }

 wwpIgmpSnoopRouterPort OBJECT-TYPE
     SYNTAX      Integer32 (1..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."  
     ::= { wwpIgmpSnoopEntry 4 }

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

 wwpIgmpSnoopLingerTimeout  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 }                
       ::= { wwpIgmpSnoop 3 }	

 wwpIgmpSnoopExpiryTimeout  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 }                
       ::= { wwpIgmpSnoop 4 }	

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

 wwpIgmpSnoopJoinMessages  OBJECT-TYPE
     SYNTAX          Counter32
     MAX-ACCESS      read-only
     STATUS          current
     DESCRIPTION
    	     "The total number of Join messages snooped."                              
       ::= { wwpIgmpSnoop 6 }
	
 wwpIgmpSnoopLeaveMessages  OBJECT-TYPE
     SYNTAX          Counter32
     MAX-ACCESS      read-only
     STATUS          current
     DESCRIPTION
    	     "The total number of leave messages snooped."                              
       ::= { wwpIgmpSnoop 7 }	

 wwpIgmpSnoopRouterDiscards  OBJECT-TYPE
     SYNTAX          Counter32
     MAX-ACCESS      read-only
     STATUS          current
     DESCRIPTION
    	     "The total number of messages discarded by the Router."                              
       ::= { wwpIgmpSnoop 8 }	
 
 wwpIgmpSnoopMinQueryTimeout  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,
             is allowed to wait for any igmp query."               
       DEFVAL { 60 }                
       ::= { wwpIgmpSnoop 9 }
      
 wwpIgmpSnoopLeaveMode  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 
	     wwpIgmpSnoopInqLeaveTimeout, then the multicast stream is pruned."            
       ::= { wwpIgmpSnoop 10 }
       
 wwpIgmpSnoopInqLeaveTimeout   OBJECT-TYPE
     SYNTAX          Integer32(0..2147483647)
     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 }                
       ::= { wwpIgmpSnoop 11 }
       
 wwpIgmpSnoopUnresMcastFilterAdminStatus  OBJECT-TYPE
     SYNTAX          INTEGER {
                         enable(1),
			 disable(2)
		      } 
     MAX-ACCESS      read-write
     STATUS          current
     DESCRIPTION
    	    "The desired state of the unsolicited (unresolved) multicast streams."          
       ::= { wwpIgmpSnoop 12 }
       
 wwpIgmpSnoopUnresMcastFilterOperStatus  OBJECT-TYPE
     SYNTAX          INTEGER {
                         enable(1),
			 disable(2)
		      } 
     MAX-ACCESS      read-only
     STATUS          current
     DESCRIPTION
    	    "The current operational state of the unsolicited (unresolved) multicast 
	     streams. If this object value is 'enable', then unsolicited 
	    (unresolved) multicast streams will not be flooded 
	     to any port."          
       ::= { wwpIgmpSnoop 13 }

 END
 
 -- 
 -- WWP-IGMP-SNOOP-MIB
 -- 

 
