-- Copyright (C) 2008-2014 Super Micro Computer Inc. All Rights Reserved

-- $Id: fsigmp.mib,v 1.6 2012/09/07 09:52:05 siva Exp $

SUPERMICRO-IGMP-MIB DEFINITIONS ::= BEGIN
   IMPORTS 
    OBJECT-TYPE, IpAddress, Counter32, Integer32, enterprises, 
    MODULE-IDENTITY FROM SNMPv2-SMI
    RowStatus  FROM SNMPv2-TC
    InterfaceIndex FROM IF-MIB; 

fsigmpMIB MODULE-IDENTITY
    LAST-UPDATED "201209050000Z" 
    ORGANIZATION "Super Micro Computer Inc."
    CONTACT-INFO "support@Supermicro.com" 

    DESCRIPTION	 "The MIB module for management of IGMP Routers"
    REVISION	 "201209050000Z"
    DESCRIPTION	 "Initial Version"
::= { enterprises supermicro-computer-inc(10876) super-switch(101) basic(1) 36 }
   
fsigmp		OBJECT IDENTIFIER ::= { fsigmpMIB 1 }

          fsIgmpGlobalStatus  OBJECT-TYPE
              SYNTAX  INTEGER { enabled(1), disabled(2) }
              MAX-ACCESS   read-write
              STATUS   current
              DESCRIPTION
                      "This variable controls the global status of
                      the IGMP protocol in the router. It must be
                      made up for protocol functioning.Making this
                      object 'disabled' will remove all dynamic multicast 
                      entries stop all the timers for route entries and 
                      disables IGMP on all the IGMP enabled interfaces.  
                      Default value of this entry will be 'disabled'."
              DEFVAL  { disabled }
              ::= { fsigmp 1 }

	  fsIgmpTraceLevel OBJECT-TYPE
	      SYNTAX  INTEGER
	      MAX-ACCESS   read-write
	      STATUS   current
	      DESCRIPTION
         	" This is used to enable Trace Statements in IGMP Module.
		A four byte integer value is specified for enabling the level
		of tracing.Each Bit in the four byte integer variable represents
		a level of Trace. The bits represents the levels as
		follows: 0 - Init and Shutdown, 1 - Management, 2 - Data Path,
		3 - Control Plane, 4 - packet Dump, 5 - All resources except
		buffer, 6 - All Failures, 7 - Buffer.  The remaining
		bits are unused. The combination of levels are also allowed.
		For example if the bits 1 and 2 are set, then the Trace
		statements related to management and Data Path will be printed.
		The administrator have to enter the corresponding integer value
		 for the bits set. For example if bits 1 and 2 are set then
		 admin has to give the value 6."
	      DEFVAL  { 0 }
	      ::= { fsigmp 2 }

-- SCALAR_TABLE_END fsigmp


	  --	  ************************************************
	  --		       IGMP INTERFACE TABLE
	  --	  ************************************************

	  fsIgmpInterfaceTable OBJECT-TYPE
	      SYNTAX  SEQUENCE OF FsIgmpInterfaceEntry
	      MAX-ACCESS  not-accessible
	      STATUS  current
	      DESCRIPTION
		      "This table contains the IGMP Statistic information 
                       for all the ports in the system."
	      ::= { fsigmp 3  }

	  fsIgmpInterfaceEntry OBJECT-TYPE
	      SYNTAX  FsIgmpInterfaceEntry
	      MAX-ACCESS  not-accessible
	      STATUS  current
	      DESCRIPTION
		      "Each entry contains the necessary information of IGMP
		       statistics on a logical interface."
	      INDEX   { fsIgmpInterfaceIfIndex }
	      ::= { fsIgmpInterfaceTable 1 }

	  FsIgmpInterfaceEntry ::=
	      SEQUENCE {
                  fsIgmpInterfaceIfIndex             InterfaceIndex, 
                  fsIgmpInterfaceAdminStatus         INTEGER,
                  fsIgmpInterfaceFastLeaveStatus     INTEGER,
                  fsIgmpInterfaceOperStatus          INTEGER,
                  fsIgmpInterfaceIncomingPkts        Counter32,
                  fsIgmpInterfaceIncomingJoins       Counter32,
                  fsIgmpInterfaceIncomingLeaves      Counter32,
                  fsIgmpInterfaceIncomingQueries     Counter32,
                  fsIgmpInterfaceOutgoingQueries     Counter32,
                  fsIgmpInterfaceRxGenQueries       Counter32, 
                  fsIgmpInterfaceRxGrpQueries       Counter32, 
                  fsIgmpInterfaceRxGrpAndSrcQueries Counter32, 
                  fsIgmpInterfaceRxv1v2Reports      Counter32, 
                  fsIgmpInterfaceRxv3Reports        Counter32, 
                  fsIgmpInterfaceTxGenQueries       Counter32, 
                  fsIgmpInterfaceTxGrpQueries       Counter32, 
                  fsIgmpInterfaceTxGrpAndSrcQueries Counter32, 
                  fsIgmpInterfaceTxv1v2Reports      Counter32, 
                  fsIgmpInterfaceTxv3Reports        Counter32, 
                  fsIgmpInterfaceTxv2Leaves         Counter32 
	      }

          fsIgmpInterfaceIfIndex OBJECT-TYPE 
          SYNTAX     InterfaceIndex 
          MAX-ACCESS not-accessible 
          STATUS     current 
          DESCRIPTION 
                  "The ifIndex value of the interface for which IGMP is 
                  enabled." 
          ::= { fsIgmpInterfaceEntry 1 } 

	  fsIgmpInterfaceAdminStatus OBJECT-TYPE
             SYNTAX  INTEGER {
		     up   (1),
		     down  (2)
		    }
	      MAX-ACCESS  read-write
	      STATUS  current
	      DESCRIPTION
                      " This gives the Administrative Status of the Interface."
              DEFVAL { up }
	      ::= { fsIgmpInterfaceEntry 2 }

	  fsIgmpInterfaceFastLeaveStatus  OBJECT-TYPE
	      SYNTAX  INTEGER {
		     disable (0),
		     enable  (1)
		    }
	      MAX-ACCESS   read-write
	      STATUS   current
	      DESCRIPTION
    	          "This variable controls the fast leave feature of the 
                  IGPMV3 protocol. Making this object 'enable'supports
                  immediate intimation to the Multicast Routing  Protocol
                  on the last member leaving the Group. 
                  Making this object 'disable' will not support fast leave
		  support. Default value of this entry will 
                  be 'disable'. This must be enabled only on those interfaces
                  where there is single host. This can also be enabled on
                  those interfaces having more than one hosts only if all are 
                  v3 hosts in V3 Mode. "
	      DEFVAL  { disable }
	      ::= { fsIgmpInterfaceEntry 3 }


	  fsIgmpInterfaceOperStatus OBJECT-TYPE
              SYNTAX      INTEGER {
                 up          (1),
                 down        (2)
              }
	      MAX-ACCESS  read-only
	      STATUS  current
	      DESCRIPTION
                      " This gives the Operational Status of the Interface."
	      ::= { fsIgmpInterfaceEntry 4 }

	  fsIgmpInterfaceIncomingPkts OBJECT-TYPE
	      SYNTAX  Counter32
	      MAX-ACCESS  read-only
	      STATUS  current
	      DESCRIPTION
		      "The total number of IGMP Packets received by the router"
	      ::= { fsIgmpInterfaceEntry 5 }

	  fsIgmpInterfaceIncomingJoins  OBJECT-TYPE
	      SYNTAX  Counter32
	      MAX-ACCESS  read-only
	      STATUS  current
	      DESCRIPTION
		      "The Total Incoming JoinGroupMessage  counter."
	      ::= { fsIgmpInterfaceEntry 6 }

	  fsIgmpInterfaceIncomingLeaves	OBJECT-TYPE
	      SYNTAX  Counter32
	      MAX-ACCESS  read-only
	      STATUS  current
	      DESCRIPTION
		      "The Total Incoming LeaveGroupMessage counter."
	      ::= { fsIgmpInterfaceEntry 7 }

	  fsIgmpInterfaceIncomingQueries	OBJECT-TYPE
	      SYNTAX  Counter32
	      MAX-ACCESS  read-only
	      STATUS  current
	      DESCRIPTION
		      "The Total Incoming Queries counter."
	      ::= { fsIgmpInterfaceEntry 8 }

	  fsIgmpInterfaceOutgoingQueries	OBJECT-TYPE
	      SYNTAX  Counter32
	      MAX-ACCESS  read-only
	      STATUS  current
	      DESCRIPTION
		      "The Total Outgoing Queries counter."
	      ::= { fsIgmpInterfaceEntry 9 }

    fsIgmpInterfaceRxGenQueries OBJECT-TYPE
        SYNTAX  Counter32
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
                "Indicates the number of General Queries received on this
                 interface."
        ::= { fsIgmpInterfaceEntry 10 }
    
    fsIgmpInterfaceRxGrpQueries OBJECT-TYPE
        SYNTAX  Counter32
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
                "Indicates the number of Group specific queries received 
                 on this interface. This object is specific to IGMP Proxy
                 implementation."
        ::= { fsIgmpInterfaceEntry 11 }
               
    fsIgmpInterfaceRxGrpAndSrcQueries OBJECT-TYPE
        SYNTAX  Counter32
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
                "Indicates the number of Group and source specific 
                 queries received on this interface. This object is specific
                 to IGMP Proxy implementation."
        ::= { fsIgmpInterfaceEntry 12 }
    
    fsIgmpInterfaceRxv1v2Reports OBJECT-TYPE
        SYNTAX  Counter32
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
                "Indicates the number of IGMPv1 and IGMPv2 reports 
                 received on this interface."
        ::= { fsIgmpInterfaceEntry 13 }
    
    fsIgmpInterfaceRxv3Reports  OBJECT-TYPE
        SYNTAX  Counter32
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
                "Indicates the number of IGMPv3 reports received 
                 on this interface."
        ::= { fsIgmpInterfaceEntry 14 }
    
    fsIgmpInterfaceTxGenQueries  OBJECT-TYPE
        SYNTAX  Counter32
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
                "Indicates the number of General queries sent on this 
                 interface."
        ::= { fsIgmpInterfaceEntry 15 }
    
    fsIgmpInterfaceTxGrpQueries OBJECT-TYPE
        SYNTAX  Counter32
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
                "Indicates the number of Group specific queries sent 
                 on this interface."
        ::= { fsIgmpInterfaceEntry 16 }
               
    fsIgmpInterfaceTxGrpAndSrcQueries  OBJECT-TYPE
        SYNTAX  Counter32
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
                "Indicates the number of Group and source specific 
                 queries sent on this interface."
        ::= { fsIgmpInterfaceEntry 17 }
    
    fsIgmpInterfaceTxv1v2Reports OBJECT-TYPE
        SYNTAX  Counter32
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
                "Indicates the number of IGMP v1/v2 reports sent
                 on this interface. This object is specific
                 to IGMP Proxy implementation."
        ::= { fsIgmpInterfaceEntry 18 }
    
    fsIgmpInterfaceTxv3Reports  OBJECT-TYPE
        SYNTAX  Counter32
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
                "Indicates the number of IGMP v3 reports sent 
                 on this interface. This object is specific to IGMP Proxy
                 implementation."
        ::= { fsIgmpInterfaceEntry 19 }
    
    fsIgmpInterfaceTxv2Leaves  OBJECT-TYPE
        SYNTAX  Counter32
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
                "Indicates the number of IGMP v2 leaves sent on 
                 this interface. This object is specific to IGMP Proxy
                 implementation."
        ::= { fsIgmpInterfaceEntry 20 }
    

	  --	  ************************************************
	  --		       IGMP CACHE TABLE
	  --	  ************************************************

	  fsIgmpCacheTable OBJECT-TYPE
	      SYNTAX  SEQUENCE OF FsIgmpCacheEntry
	      MAX-ACCESS  not-accessible
	      STATUS  current
	      DESCRIPTION
		      "This table contains the IGMP group statistic information"
	      ::= { fsigmp 4  }

	  fsIgmpCacheEntry OBJECT-TYPE
	      SYNTAX  FsIgmpCacheEntry
	      MAX-ACCESS  not-accessible
	      STATUS  current
	      DESCRIPTION
		      "Each entry contains the necessary Statistics of Multicast
		       Groups"
	      INDEX   { fsIgmpCacheAddress, fsIgmpCacheIfIndex  }
	      ::= { fsIgmpCacheTable 1 }

	  FsIgmpCacheEntry ::=
	      SEQUENCE {
                  fsIgmpCacheAddress    
                      IpAddress, 
                  fsIgmpCacheIfIndex     
                      InterfaceIndex, 
		  fsIgmpCacheGroupCompMode
		      INTEGER
	      }

          fsIgmpCacheAddress OBJECT-TYPE 
          SYNTAX     IpAddress 
          MAX-ACCESS not-accessible 
          STATUS     current 
          DESCRIPTION 
                  "The IP multicast group address for which this entry 
                  contains information." 
          ::= { fsIgmpCacheEntry 1 } 
       
          fsIgmpCacheIfIndex OBJECT-TYPE 
          SYNTAX     InterfaceIndex 
          MAX-ACCESS not-accessible 
          STATUS     current 
          DESCRIPTION 
                  "The interface for which this entry contains information for 
                  an IP multicast group address." 
          ::= { fsIgmpCacheEntry 2 } 
 
	  fsIgmpCacheGroupCompMode OBJECT-TYPE
	      SYNTAX  INTEGER
	      MAX-ACCESS  read-only
	      STATUS  current
	      DESCRIPTION
		      "The Group Compatibility Mode of the particular Group."
	      ::= { fsIgmpCacheEntry 3 }

END
