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

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

-- MIL2DHCPSNOOPING Proprietary MIB Definition

-- This MIB contains tables used to configure a switch running
-- MI L2 DHCP SNOOPING.

   SUPERMICRO-MI-DHCP-SNOOPING-MIB DEFINITIONS ::= BEGIN
      IMPORTS
         MODULE-IDENTITY, OBJECT-TYPE,
         enterprises, Counter32, Integer32        FROM SNMPv2-SMI
         RowStatus                                FROM SNMPv2-TC;
                                    

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

            DESCRIPTION 
                " The proprietary MIB module is for configuration of DHCP
                snooping feature. DHCP snooping provides security between the 
                untrusted hosts and DHCP servers, by filtering the Untrusted DHCP 
                packets which is received from out of the network and also updates 
                the IP binding database present in the IPDB module. "
            REVISION "201209050000Z"
            DESCRIPTION
               " This mib module is for Proprietory Multiple Instance 
                 DHCP Snooping mib"
            ::=  { enterprises supermicro-computer-inc(10876) super-switch(101)
            basic(2) 49} 

-- ***************************************************************************
--                         Groups in the MIB
-- ***************************************************************************

    fsMIDhcpSnpGlobalConfig          OBJECT IDENTIFIER ::= { fsMIDhcpSnp 1 }
    fsMIDhcpSnpInterface             OBJECT IDENTIFIER ::= { fsMIDhcpSnp 2 }

-- ***************************************************************************
--                      Global Configuration Table 
-- ***************************************************************************
    fsMIDhcpSnpGlobalConfigTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF FsMIDhcpSnpGlobalConfigEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "This table contains the configuration & statistics collection
            parameters of DHCP snooping on a specific VLAN. "
    ::= { fsMIDhcpSnpGlobalConfig 1 } 

    fsMIDhcpSnpGlobalConfigEntry OBJECT-TYPE
        SYNTAX      FsMIDhcpSnpGlobalConfigEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Each row instance gives the DHCP snooping status on VLAN and the
             statistics collected in that VLAN for the DHCP snooping module"
        INDEX { fsMIDhcpSnpContextId }
    ::= { fsMIDhcpSnpGlobalConfigTable 1 }


   FsMIDhcpSnpGlobalConfigEntry ::=
     SEQUENCE {
           fsMIDhcpSnpContextId
              Integer32,
           fsMIDhcpSnpSnoopingAdminStatus
              INTEGER,
           fsMIDhcpSnpMacVerifyStatus
              INTEGER
             }
   fsMIDhcpSnpContextId OBJECT-TYPE
   SYNTAX        Integer32 (0..65535)
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
      "Identifies the Virtual Context."
   ::= { fsMIDhcpSnpGlobalConfigEntry 1 }

    fsMIDhcpSnpSnoopingAdminStatus OBJECT-TYPE
        SYNTAX          INTEGER { enabled(1), disabled(2) }
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
            "Enables or disables Layer 2 DHCP Snooping globally in the system.
             When set to 'enabled', the DHCP Snooping Module will start the 
             protocol operation. Layer 2 DHCP Snooping should be enabled on 
             per VLAN basis also. When set to 'disabled', the DHCP Snooping 
             Module will stop the protocol operation."
        DEFVAL  { disabled }
    ::= { fsMIDhcpSnpGlobalConfigEntry 2 }
    
     fsMIDhcpSnpMacVerifyStatus OBJECT-TYPE
        SYNTAX          INTEGER { enabled(1), disabled(2) }
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
            "Enables or disables the MAC address verification. If this option 
             is enabled, the Layer 2 DHCP snooping module will verify the 
             source MAC Address against the client hardware address in the
             DHCP packets received."
         DEFVAL  { enabled }
     ::= { fsMIDhcpSnpGlobalConfigEntry 3 }


-- ***************************************************************************
--                               GROUPS
-- ***************************************************************************

-- **************************** VLAN Entry ******************************

    fsMIDhcpSnpInterfaceTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF FsMIDhcpSnpInterfaceEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "This table contains the configuration & statistics collection 
            parameters of DHCP snooping on a particular context for a specified
            VLAN. "
    ::= { fsMIDhcpSnpInterface 1 }
                               
    fsMIDhcpSnpInterfaceEntry OBJECT-TYPE
        SYNTAX FsMIDhcpSnpInterfaceEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Each row instance gives the DHCP snooping status on VLAN and the 
	     statistics collected in that VLAN for the DHCP snooping module" 
        INDEX { fsMIDhcpSnpContextId, fsMIDhcpSnpVlanId }
    ::= { fsMIDhcpSnpInterfaceTable 1 }

    FsMIDhcpSnpInterfaceEntry ::= SEQUENCE {
        fsMIDhcpSnpVlanId             Integer32,
        fsMIDhcpSnpVlanSnpStatus      INTEGER,
        fsMIDhcpSnpRxDiscovers        Counter32,
        fsMIDhcpSnpRxRequests         Counter32,
        fsMIDhcpSnpRxReleases         Counter32,
        fsMIDhcpSnpRxDeclines         Counter32,
        fsMIDhcpSnpRxInforms          Counter32,
        fsMIDhcpSnpTxOffers           Counter32,
        fsMIDhcpSnpTxAcks             Counter32,
        fsMIDhcpSnpTxNaks             Counter32,
        fsMIDhcpSnpNoOfDiscards       Counter32,
        fsMIDhcpSnpMacDiscards        Counter32,
        fsMIDhcpSnpServerDiscards     Counter32,
        fsMIDhcpSnpOptionDiscards     Counter32,
        fsMIDhcpSnpInterfaceStatus    RowStatus
    }

   fsMIDhcpSnpVlanId OBJECT-TYPE
        SYNTAX      Integer32 (1..4094)
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Vlan ID of the VLAN to which this table-entry is associated."
    ::= { fsMIDhcpSnpInterfaceEntry 2 }

   fsMIDhcpSnpVlanSnpStatus OBJECT-TYPE
        SYNTAX      INTEGER { enabled (1), disabled (2) }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "setting this object Enables or disables Layer 2 DHCP Snooping 
             in the given VLAN."
        DEFVAL  { disabled }
    ::= { fsMIDhcpSnpInterfaceEntry 3 }

    fsMIDhcpSnpRxDiscovers OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Indicates the total number of DHCP DISCOVERs received 
             from the hosts connected to this VLAN."
    ::= { fsMIDhcpSnpInterfaceEntry 4 }
    
    fsMIDhcpSnpRxRequests OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Indicates the total number of DHCP REQUESTs received from 
             the hosts connected to this VLAN."
    ::= { fsMIDhcpSnpInterfaceEntry 5 }
   
    fsMIDhcpSnpRxReleases OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Indicates the total number of DHCP RELEASEs received from 
             the hosts connected to this VLAN."
    ::= { fsMIDhcpSnpInterfaceEntry 6 }
    
    fsMIDhcpSnpRxDeclines OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Indicates the total number of DHCP DECLINEs received from 
             the hosts connected to this VLAN."
    ::= { fsMIDhcpSnpInterfaceEntry 7 }
    
    fsMIDhcpSnpRxInforms OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Indicates the total number of DHCP INFORMs received from 
             the hosts connected to this VLAN."
    ::= { fsMIDhcpSnpInterfaceEntry 8 }

    fsMIDhcpSnpTxOffers OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Indicates the total number of DHCP OFFERs sent out on this
             VLAN to hosts."
    ::= { fsMIDhcpSnpInterfaceEntry 9 }

    fsMIDhcpSnpTxAcks OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Indicates the total number of DHCP ACKs sent out on this
             VLAN to hosts."
    ::= { fsMIDhcpSnpInterfaceEntry 10 }

    fsMIDhcpSnpTxNaks OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Indicates the total number of DHCP NAKs sent out on this
             VLAN to hosts."
    ::= { fsMIDhcpSnpInterfaceEntry 11 }

    fsMIDhcpSnpNoOfDiscards OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Indicates the total number of DHCP packets from hosts dropped 
             on this VLAN."
    ::= { fsMIDhcpSnpInterfaceEntry 12 }

    fsMIDhcpSnpMacDiscards OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Indicates the total number of DHCP packets from hosts dropped 
             due to failure in MAC Address verification."
    ::= { fsMIDhcpSnpInterfaceEntry 13 }

    fsMIDhcpSnpServerDiscards OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Indicates the total number of DHCP packets from hosts dropped 
             because they are supposed to be the messages from a server. 
             The DHCP packets so dropped will include DHCP ACK, DHCP NAK and 
             DHCP OFFERs received from untrusted host ports."
    ::= { fsMIDhcpSnpInterfaceEntry 14 }

    fsMIDhcpSnpOptionDiscards OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Indicates the total number of DHCP packets from hosts dropped 
             because either option-82 is present in them or giaddr field is 
             set."
    ::= { fsMIDhcpSnpInterfaceEntry 15 }
    
    fsMIDhcpSnpInterfaceStatus OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Row-Status of the interface entry."
    ::= { fsMIDhcpSnpInterfaceEntry 16 }

END
