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

--$Id: fsmgmd.mib,v 1.4 2012/09/07 09:52:05 siva Exp $
SUPERMICRO-MGMD-MIB DEFINITIONS ::= BEGIN
   IMPORTS 
    OBJECT-TYPE,  Counter32, Integer32, enterprises,
    MODULE-IDENTITY FROM SNMPv2-SMI
    InetAddress, InetAddressType FROM INET-ADDRESS-MIB 
    InterfaceIndex FROM IF-MIB; 

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

    DESCRIPTION	 "The MIB module for management of MGMD (Multicast Group 
                  Membership Discovery)modules IGMPv1, IGMPv2 IGMPv3, MLDv1 and 
                  MLDv2"
    REVISION	 "201209050000Z" -- August 25, 2003
    DESCRIPTION	 "Initial Version"
::= { enterprises  supermicro-computer-inc(10876) super-switch(101) basic(2) 62 }
   
fsmgmd		OBJECT IDENTIFIER ::= { fsmgmdMIB 1 }

          fsMgmdIgmpGlobalStatus  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 }
              ::= { fsmgmd 1 }

	  fsMgmdIgmpTraceLevel OBJECT-TYPE
	      SYNTAX  Integer32(0..255)
	      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 }
	      ::= { fsmgmd 2 }

          fsMgmdMldGlobalStatus  OBJECT-TYPE
              SYNTAX  INTEGER { enabled(1), disabled(2) }
              MAX-ACCESS   read-write
              STATUS   current
              DESCRIPTION
                      "This variable controls the global status of
                      the MLD 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 MLD on all the IGMP enabled interfaces.  
                      Default value of this entry will be 'disabled'."
              DEFVAL  { disabled }
              ::= { fsmgmd 3 }

	  fsMgmdMldTraceLevel OBJECT-TYPE
	      SYNTAX  Integer32(0..255)
	      MAX-ACCESS   read-write
	      STATUS   current
	      DESCRIPTION
         	" This is used to enable Trace Statements in MLD 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 }
	      ::= { fsmgmd 4 }
-- SCALAR_TABLE_END fsmgmd


	  --	  ************************************************
	  --		       MGMD INTERFACE TABLE
	  --	  ************************************************

	  fsMgmdInterfaceTable OBJECT-TYPE
	      SYNTAX  SEQUENCE OF FsMgmdInterfaceEntry
	      MAX-ACCESS  not-accessible
	      STATUS  current
	      DESCRIPTION
		      "This table contains the MGMD Statistic information 
                       for all the ports in the system."
	      ::= { fsmgmd 5  }

	  fsMgmdInterfaceEntry OBJECT-TYPE
	      SYNTAX  FsMgmdInterfaceEntry
	      MAX-ACCESS  not-accessible
	      STATUS  current
	      DESCRIPTION
		      "Each entry contains the necessary information of MGMD
		       statistics on a logical interface."
	      INDEX   { fsMgmdInterfaceIfIndex, fsMgmdInterfaceAddrType }
	      ::= { fsMgmdInterfaceTable 1 }

	  FsMgmdInterfaceEntry ::=
	      SEQUENCE {
                  fsMgmdInterfaceIfIndex             InterfaceIndex,
                  fsMgmdInterfaceAddrType            InetAddressType, 
                  fsMgmdInterfaceAdminStatus         INTEGER,
                  fsMgmdInterfaceFastLeaveStatus     INTEGER,
                  fsMgmdInterfaceOperStatus          INTEGER,
                  fsMgmdInterfaceIncomingPkts        Counter32,
                  fsMgmdInterfaceIncomingJoins       Counter32,
                  fsMgmdInterfaceIncomingLeaves      Counter32,
                  fsMgmdInterfaceIncomingQueries     Counter32,
                  fsMgmdInterfaceOutgoingQueries     Counter32,
                  fsMgmdInterfaceRxGenQueries       Counter32, 
                  fsMgmdInterfaceRxGrpQueries       Counter32, 
                  fsMgmdInterfaceRxGrpAndSrcQueries Counter32, 
                  fsMgmdInterfaceRxIgmpv1v2Reports  Counter32, 
                  fsMgmdInterfaceRxIgmpv3Reports    Counter32, 
                  fsMgmdInterfaceRxMldv1Reports     Counter32, 
                  fsMgmdInterfaceRxMldv2Reports     Counter32, 
                  fsMgmdInterfaceTxGenQueries       Counter32, 
                  fsMgmdInterfaceTxGrpQueries       Counter32, 
                  fsMgmdInterfaceTxGrpAndSrcQueries Counter32, 
                  fsMgmdInterfaceTxIgmpv1v2Reports  Counter32, 
                  fsMgmdInterfaceTxIgmpv3Reports    Counter32, 
                  fsMgmdInterfaceTxMldv1Reports     Counter32, 
                  fsMgmdInterfaceTxMldv2Reports     Counter32, 
                  fsMgmdInterfaceTxLeaves           Counter32 
	      }

          fsMgmdInterfaceIfIndex OBJECT-TYPE 
          SYNTAX     InterfaceIndex 
          MAX-ACCESS not-accessible 
          STATUS     current 
          DESCRIPTION 
                  "The ifIndex value of the interface for which IGMP or MLD
                  is enabled.  The table is indexed by the ifIndex value and
                  the InetAddressType to allow for interfaces that may be
                  configured in both IPv4 and IPv6 modes."

          ::= { fsMgmdInterfaceEntry 1 }
 
          fsMgmdInterfaceAddrType OBJECT-TYPE
          SYNTAX     InetAddressType
          MAX-ACCESS not-accessible
          STATUS     current
          DESCRIPTION 
                  "The address type of this interface.  This entry along with
                   the ifIndex value acts as the index to the
                   fsMgmdInterface table.  A physical interface may be
                   configured in multiple modes concurrently, e.g., in IPv4
                   and IPv6 modes connected to the same interface; however,
                   the traffic is considered to be logically separate."
          ::= { fsMgmdInterfaceEntry 2 }
 

	  fsMgmdInterfaceAdminStatus 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 }
	      ::= { fsMgmdInterfaceEntry 3 }

	  fsMgmdInterfaceFastLeaveStatus  OBJECT-TYPE
	      SYNTAX  INTEGER {
		     disable (0),
		     enable  (1)
		    }
	      MAX-ACCESS   read-write
	      STATUS   current
	      DESCRIPTION
    	          "This variable controls the fast leave feature of the 
                  IGMPV3 or MLDv2  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 
                  IGMPv3/MLDv2 hosts in IGMPV3/MLDv2 Mode. "
	      DEFVAL  { disable }
	      ::= { fsMgmdInterfaceEntry 4 }


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

	  fsMgmdInterfaceIncomingPkts OBJECT-TYPE
	      SYNTAX  Counter32
	      MAX-ACCESS  read-only
	      STATUS  current
	      DESCRIPTION
		      "The total number of IGMP/MLD Packets received by the router"
	      ::= { fsMgmdInterfaceEntry 6 }

	  fsMgmdInterfaceIncomingJoins  OBJECT-TYPE
	      SYNTAX  Counter32
	      MAX-ACCESS  read-only
	      STATUS  current
	      DESCRIPTION
		      "The Total Incoming JoinGroupMessage  counter."
	      ::= { fsMgmdInterfaceEntry 7 }

	  fsMgmdInterfaceIncomingLeaves	OBJECT-TYPE
	      SYNTAX  Counter32
	      MAX-ACCESS  read-only
	      STATUS  current
	      DESCRIPTION
		      "The Total Incoming LeaveGroupMessage counter."
	      ::= { fsMgmdInterfaceEntry 8 }

	  fsMgmdInterfaceIncomingQueries	OBJECT-TYPE
	      SYNTAX  Counter32
	      MAX-ACCESS  read-only
	      STATUS  current
	      DESCRIPTION
		      "The Total Incoming Queries counter."
	      ::= { fsMgmdInterfaceEntry 9 }

	  fsMgmdInterfaceOutgoingQueries	OBJECT-TYPE
	      SYNTAX  Counter32
	      MAX-ACCESS  read-only
	      STATUS  current
	      DESCRIPTION
		      "The Total Outgoing Queries counter."
	      ::= { fsMgmdInterfaceEntry 10 }

    fsMgmdInterfaceRxGenQueries OBJECT-TYPE
        SYNTAX  Counter32
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
                "Indicates the number of General Queries received on this
                 interface."
        ::= { fsMgmdInterfaceEntry 11 }
    
    fsMgmdInterfaceRxGrpQueries 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 MGMD Proxy
                 implementation."
        ::= { fsMgmdInterfaceEntry 12 }
               
    fsMgmdInterfaceRxGrpAndSrcQueries 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 MGMD Proxy implementation."
        ::= { fsMgmdInterfaceEntry 13 }
    
    fsMgmdInterfaceRxIgmpv1v2Reports OBJECT-TYPE
        SYNTAX  Counter32
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
                "Indicates the number of IGMPv1 and IGMPv2 reports  
                 reports received on this interface."
        ::= { fsMgmdInterfaceEntry 14 }
    
    fsMgmdInterfaceRxIgmpv3Reports  OBJECT-TYPE
        SYNTAX  Counter32
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
                "Indicates the number of IGMPv3 reports  
                  received on this interface."
        ::= { fsMgmdInterfaceEntry 15 }
    
    fsMgmdInterfaceRxMldv1Reports OBJECT-TYPE
        SYNTAX  Counter32
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
                "Indicates the number of MLDv1  reports  
                 reports received on this interface."
        ::= { fsMgmdInterfaceEntry 16 }
    
    fsMgmdInterfaceRxMldv2Reports  OBJECT-TYPE
        SYNTAX  Counter32
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
                "Indicates the number of MLDv2 reports  
                  received on this interface."
        ::= { fsMgmdInterfaceEntry 17 }

    fsMgmdInterfaceTxGenQueries  OBJECT-TYPE
        SYNTAX  Counter32
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
                "Indicates the number of General queries sent on this 
                 interface."
        ::= { fsMgmdInterfaceEntry 18 }
    
    fsMgmdInterfaceTxGrpQueries OBJECT-TYPE
        SYNTAX  Counter32
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
                "Indicates the number of Group specific queries sent 
                 on this interface."
        ::= { fsMgmdInterfaceEntry 19 }
               
    fsMgmdInterfaceTxGrpAndSrcQueries  OBJECT-TYPE
        SYNTAX  Counter32
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
                "Indicates the number of Group and source specific 
                 queries sent on this interface."
        ::= { fsMgmdInterfaceEntry 20 }
    
    fsMgmdInterfaceTxIgmpv1v2Reports 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 MGMD Proxy implementation."
        ::= { fsMgmdInterfaceEntry 21 }
    
    fsMgmdInterfaceTxIgmpv3Reports  OBJECT-TYPE
        SYNTAX  Counter32
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
                "Indicates the number of IGMPv3 reports 
                 sent on this interface. This object is specific to MGMD
                 Proxy implementation."
        ::= { fsMgmdInterfaceEntry 22 }
    
    fsMgmdInterfaceTxMldv1Reports OBJECT-TYPE
        SYNTAX  Counter32
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
                "Indicates the number of MLD v1 reports 
                 sent on this interface. This object is specific
                 to MGMD Proxy implementation."
        ::= { fsMgmdInterfaceEntry 23 }
    
    fsMgmdInterfaceTxMldv2Reports  OBJECT-TYPE
        SYNTAX  Counter32
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
                "Indicates the number of MLDv2 reports 
                 sent on this interface. This object is specific to MGMD
                 Proxy implementation."
        ::= { fsMgmdInterfaceEntry 24 }

    fsMgmdInterfaceTxLeaves  OBJECT-TYPE
        SYNTAX  Counter32
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
                "Indicates the number of IGMPv2 leaves or MLDv1 leaves sent on 
                 this interface. This object is specific to MGMD Proxy
                 implementation."
        ::= { fsMgmdInterfaceEntry 25 }
    

	  --	  ************************************************
	  --		       MGMD CACHE TABLE
	  --	  ************************************************

	  fsMgmdCacheTable OBJECT-TYPE
	      SYNTAX  SEQUENCE OF FsMgmdCacheEntry
	      MAX-ACCESS  not-accessible
	      STATUS  current
	      DESCRIPTION
		      "This table contains the IGMP/MLD group statistic 
                       information"	
	      ::= { fsmgmd 26  }

	  fsMgmdCacheEntry OBJECT-TYPE
	      SYNTAX  FsMgmdCacheEntry
	      MAX-ACCESS  not-accessible
	      STATUS  current
	      DESCRIPTION
		      "Each entry contains the necessary Statistics of Multicast
		       Groups"
	      INDEX   { fsMgmdCacheAddrType, fsMgmdCacheAddress, 
                        fsMgmdCacheIfIndex }
	      ::= { fsMgmdCacheTable 1 }

	  FsMgmdCacheEntry ::=
	      SEQUENCE {
                  fsMgmdCacheAddrType
                      InetAddressType,
                  fsMgmdCacheAddress    
                      InetAddress, 
                  fsMgmdCacheIfIndex     
                      InterfaceIndex, 
		  fsMgmdCacheGroupCompMode
		      Integer32
	      }


          fsMgmdCacheAddrType OBJECT-TYPE 
          SYNTAX     InetAddressType 
          MAX-ACCESS not-accessible 
          STATUS     current 
          DESCRIPTION 
                  "The address type of this interface. It can be IPv4 or IPv6. 
                   This entry along with
                   the ifIndex and CacheAddress acts as the index to the
                   fsMgmdCache table.  A physical interface may be
                   configured in multiple modes concurrently, e.g., in IPv4
                   and IPv6 modes connected to the same interface; however,
                   the traffic is considered to be logically separate."
          ::= { fsMgmdCacheEntry 1 }
 
          fsMgmdCacheAddress OBJECT-TYPE 
          SYNTAX     InetAddress (SIZE(4|16)) 
          MAX-ACCESS not-accessible 
          STATUS     current 
          DESCRIPTION 
                  "The IP multicast group address for which this entry 
                  contains information." 
          ::= { fsMgmdCacheEntry 2 } 
       
 
          fsMgmdCacheIfIndex 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." 
          ::= { fsMgmdCacheEntry 3 }
 
	  fsMgmdCacheGroupCompMode OBJECT-TYPE
	      SYNTAX  Integer32
	      MAX-ACCESS  read-only
	      STATUS  current
	      DESCRIPTION
		      "The Group Compatibility Mode of the particular Group."
	      ::= { fsMgmdCacheEntry 4 }

END
