config BR2_PACKAGE_NETSNMP
	bool "netsnmp"
	depends on BR2_USE_MMU # fork()
	help
	  Suite of applications used to implement SNMP v1, SNMP v2c, and
	  SNMP v3 using both IPv4 and IPv6.

	  http://net-snmp.sourceforge.net/

if BR2_PACKAGE_NETSNMP

config BR2_PACKAGE_NETSNMP_SERVER
	bool "server"
	default y
	help
	  The snmpd server.

config BR2_PACKAGE_NETSNMP_CLIENTS
	bool "clients"
	default y
	help
	  The net-snmp clients (snmpget, snmpwalk, etc).

config BR2_PACKAGE_NETSNMP_ENABLE_MIBS
	bool "Install MIB files on target and enable MIB loading code"
	default y
	help
	  The net-snmp package contains a selection of MIB files.
	  Say yes if you want those MIB files installed on the target
	  and enable the code that parses the MIB files.

config BR2_PACKAGE_NETSNMP_WITH_MIB_MODULES
	string "Build with these MIB modules"
	default "host ucd-snmp/dlmod agentx" if !BR2_STATIC_LIBS
	default "host agentx" if BR2_STATIC_LIBS
	help
	  Specify which MIB modules to include.

config BR2_PACKAGE_NETSNMP_WITHOUT_MIB_MODULES
	string "Build without these MIB modules"
	default "disman/event disman/schedule utilities"
	help
	  Specify which MIB modules to exclude.

config BR2_PACKAGE_NETSNMP_ENABLE_DEBUGGING
	bool "Enable debugging code"
	help
	  By default net-snmp is compiled without debugging support
	  (--disable-debugging). Enable this options if you need
	  debugging support, including the ability to log with
	  DEBUGMSG(), DEBUGMSGTL() and companion macros.

config BR2_PACKAGE_NETSNMP_OPENSSL_INTERNAL
	bool "Enable minimal internal OpenSSL code"
	depends on !BR2_PACKAGE_OPENSSL
	help
	  Enable a minimal internal copy of OpenSSL usable for USM
	  security. It will not enable the usage of SNMP over (D)TLS.

endif
