FDRY-DHCP-SNOOPING-MIB DEFINITIONS ::= BEGIN

IMPORTS
	MODULE-IDENTITY, OBJECT-TYPE, Unsigned32, IpAddress
	   FROM SNMPv2-SMI
	snSwitch
	   FROM FOUNDRY-SN-SWITCH-GROUP-MIB
	ArpType, ArpState
	   FROM FDRY-DAI-MIB
	MacAddress, TruthValue, TEXTUAL-CONVENTION
	   FROM SNMPv2-TC
	VlanIndex
	   FROM Q-BRIDGE-MIB
	DisplayString
	   FROM FOUNDRY-SN-AGENT-MIB
	ifIndex
	   FROM IF-MIB;
	  
fdryDhcpSnoopMIB MODULE-IDENTITY
	LAST-UPDATED "201708070000Z" -- Aug 7, 2017
	ORGANIZATION "Ruckus Wireless, Inc."
	CONTACT-INFO
		"Technical Support Center
              350 West Java Drive,
              Sunnyvale, CA 94089, USA
              Support URL: https://support.ruckuswireless.com
              Phone: +1-855-782-5871
              ROW TF Numbers: https://support.ruckuswireless.com/contact-us"
	DESCRIPTION
		"Management Information for configuration of DHCP Snooping feature. 
		DHCP Snooping  is a security feature which enables the device to filter
		untrusted DHCP packets in a subnet. It can also stop unauthorized DHCP 
		serves and prevent errors due to user mis-configuration servers.
			
		Copyright 1996-2017 Ruckus Wireless, Inc.  
  		All rights reserved.
  		This Ruckus Wireless, Inc SNMP Management Information Base Specification
 		embodies Ruckus Wireless, Inc' confidential and proprietary
 		intellectual property. Ruckus Wireless, Inc retains all
  		title and ownership in the Specification, including any revisions.
                                                
 		This Specification is supplied AS IS, and Ruckus Wireless, Inc makes
 		no warranty, either express or implied, as to the use,
 		operation, condition, or performance of the specification, and any unintended 
 		consequence it may on the user environment."
 		
 	REVISION        "201007260000Z" -- July 26, 2010
 	DESCRIPTION  
 		"Changed the ORGANIZATION, CONTACT-INFO and DESCRIPTION fields."
 		
	REVISION     "201003220000Z" -- March 22, 2010
	DESCRIPTION
		""
	REVISION     "201708070000Z" -- Aug 7, 2017
	DESCRIPTION
        	     "Modified contact Info, Organization and Description"
   ::= { snSwitch 36}

--
-- Textual Conventions
--

ClearAction ::= TEXTUAL-CONVENTION
	STATUS	  current
	DESCRIPTION
		"Represents action of Clear operation to be used."
	SYNTAX	INTEGER{
		valid(0),
		clear(1)
		}

fdryDhcpSnoopGlobalObjects  OBJECT IDENTIFIER ::= { fdryDhcpSnoopMIB 1 }
fdryDhcpSnoopVlan  OBJECT IDENTIFIER ::= { fdryDhcpSnoopMIB 2 }
fdryDhcpSnoopInterface  OBJECT IDENTIFIER ::= { fdryDhcpSnoopMIB 3 }
fdryDhcpSnoopBind OBJECT IDENTIFIER ::= { fdryDhcpSnoopMIB 4 }

--
-- DHCP Snooping global Scalar Object
--

fdryDhcpSnoopGlobalClearOper OBJECT-TYPE
    SYNTAX     ClearAction
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "valid(0) - this value is always returned when the variable is read. 
         clear(1) - setting the variable to this value clears all entries in the 
         DHCP binding database."
    ::= { fdryDhcpSnoopGlobalObjects 1 }

--
-- DHCP Snooping VLAN configuration table
--

fdryDhcpSnoopVlanConfigTable OBJECT-TYPE
	SYNTAX SEQUENCE OF FdryDhcpSnoopVlanConfigEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"A table provides the mechanism to control DHCP Snooping
		per VLAN. When a VLAN is created in a device
		supporting this table, a corresponding entry of this table
		will be added."
	::= { fdryDhcpSnoopVlan 1 }

fdryDhcpSnoopVlanConfigEntry OBJECT-TYPE
	SYNTAX FdryDhcpSnoopVlanConfigEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"A row instance contains the configuration to enable
		or disable DHCP Snooping at the existing VLAN."
	INDEX { fdryDhcpSnoopVlanVLanId }
	::= { fdryDhcpSnoopVlanConfigTable 1 }

FdryDhcpSnoopVlanConfigEntry ::= SEQUENCE {
	fdryDhcpSnoopVlanVLanId 
		VlanIndex,
	fdryDhcpSnoopVlanDhcpSnoopEnable 
		TruthValue
	}

fdryDhcpSnoopVlanVLanId  OBJECT-TYPE
	SYNTAX		VlanIndex
	MAX-ACCESS	not-accessible
	STATUS 		current
	DESCRIPTION
		"This object indicates the VLAN number on which DHCP
		Snooping feature is configured."
	::= { fdryDhcpSnoopVlanConfigEntry 1 }

fdryDhcpSnoopVlanDhcpSnoopEnable	 OBJECT-TYPE
	SYNTAX 		TruthValue
	MAX-ACCESS 	read-write
	STATUS 		current
	DESCRIPTION
		"This object indicates whether DHCP Snooping is enabled in this VLAN.
		
		If this object is set to 'true', DHCP Snooping is enabled.
		If this object is set to 'false', DHCP Snooping is disabled."
	::= { fdryDhcpSnoopVlanConfigEntry 2 }

--
-- DHCP Snooping Interface configuration table
--

fdryDhcpSnoopIfConfigTable OBJECT-TYPE
	SYNTAX SEQUENCE OF FdryDhcpSnoopIfConfigEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"A table provides the mechanism to configure the trust
		state for DHCP Snooping purpose at each physical
		interface."
	::= { fdryDhcpSnoopInterface 1 }

fdryDhcpSnoopIfConfigEntry OBJECT-TYPE
	SYNTAX FdryDhcpSnoopIfConfigEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"A row instance contains the configuration to enable or
		disable trust state for DHCP Snooping at each
		physical interface capable of this feature."
	INDEX { ifIndex }
	::= { fdryDhcpSnoopIfConfigTable 1 }

FdryDhcpSnoopIfConfigEntry ::= SEQUENCE {
	fdryDhcpSnoopIfTrustValue 
		TruthValue
	}

fdryDhcpSnoopIfTrustValue  OBJECT-TYPE
	SYNTAX		TruthValue
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"This object indicates whether the interface is trusted for
		DHCP Snooping.
		If this object is set to 'true', the interface is trusted.
		DHCP packets coming to this interface will be forwarded
		without checking.
		If this object is set to 'false', the interface is not trusted. 
		DHCP packets received on this interface will be subjected 
		to DHCP checks."
	::= { fdryDhcpSnoopIfConfigEntry 1 }

--
-- DHCP Snooping binding database table
-- Use this table to display DHCP Snooping entries
--

fdryDhcpSnoopBindTable OBJECT-TYPE
	SYNTAX SEQUENCE OF FdryDhcpSnoopBindEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"A table provides the information of DHCP snooping 
		binding database learnt by the device"
	::= { fdryDhcpSnoopBind 1 }

fdryDhcpSnoopBindEntry OBJECT-TYPE
	SYNTAX FdryDhcpSnoopBindEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"A row instance contains the information of DHCP snoonping entry."
	INDEX { fdryDhcpSnoopBindIpAddr }
	::= { fdryDhcpSnoopBindTable 1 }

FdryDhcpSnoopBindEntry ::= SEQUENCE {
	fdryDhcpSnoopBindIpAddr 
		IpAddress,
	fdryDhcpSnoopBindMacAddr 
		MacAddress,
	fdryDhcpSnoopBindType
		ArpType,
	fdryDhcpSnoopBindState
		ArpState,
	fdryDhcpSnoopBindPort
		DisplayString,
	fdryDhcpSnoopBindVlanId
		VlanIndex,
	fdryDhcpSnoopBindClearOper
		ClearAction
	}
	
fdryDhcpSnoopBindIpAddr  OBJECT-TYPE
	SYNTAX		IpAddress
	MAX-ACCESS	not-accessible
	STATUS		current
	DESCRIPTION
		"The device IP address."
	::= { fdryDhcpSnoopBindEntry 1}

fdryDhcpSnoopBindMacAddr  OBJECT-TYPE
	SYNTAX		MacAddress
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
		"The device MAC address."
	::= { fdryDhcpSnoopBindEntry 2 }

fdryDhcpSnoopBindType OBJECT-TYPE
	SYNTAX     ArpType
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION
		"The type of the ARP entry"
	::= { fdryDhcpSnoopBindEntry 3 }

fdryDhcpSnoopBindState OBJECT-TYPE
	SYNTAX    ArpState
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION
		"The state of the ARP entry"
	::= { fdryDhcpSnoopBindEntry 4 }

fdryDhcpSnoopBindPort OBJECT-TYPE
	SYNTAX    DisplayString
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION
		"The port of the ARP entry"
	::= { fdryDhcpSnoopBindEntry 5 }

fdryDhcpSnoopBindVlanId  OBJECT-TYPE
	SYNTAX		VlanIndex
	MAX-ACCESS	read-only
	STATUS 		current
	DESCRIPTION
		"This object indicates the VLAN number on which DHCP snooping
		feature is configured."
	::= { fdryDhcpSnoopBindEntry 6 }

fdryDhcpSnoopBindClearOper OBJECT-TYPE
	SYNTAX    ClearAction
	MAX-ACCESS read-write
	STATUS     current
	DESCRIPTION
		 "valid(0) - this value is always returned when the variable is read. 
         	clear(1) - setting the variable to this value clears this entry in the 
        	 DHCP binding database."
	::= {fdryDhcpSnoopBindEntry 7 }


   END
