config BR2_PACKAGE_HOSTAPD
	bool "hostapd"
	depends on BR2_TOOLCHAIN_HAS_THREADS # libnl
	depends on BR2_USE_MMU # fork()
	select BR2_PACKAGE_LIBNL
	help
	  User space daemon for wireless access points.

	  It implements IEEE 802.11 access point management,
	  IEEE 802.1X/WPA/WPA2/EAP authenticators, RADIUS client,
	  EAP server and RADIUS authentication server.

	  http://w1.fi/hostapd/

if BR2_PACKAGE_HOSTAPD

config BR2_PACKAGE_HOSTAPD_DRIVER_RTW
	bool "Enable rtl871xdrv driver"
	help
	  Enable support for Realtek wireless chips.

config BR2_PACKAGE_HOSTAPD_ACS
	bool "Enable ACS"
	default y
	help
	  Enable support for standard ACS (Automatic Channel Selection).
	  Some propietary drivers use a custom algorithm which requires
	  channel to be set to '0' (which enables ACS in the config),
	  causing hostapd to use the standard one which doesn't work
	  for those cases.

config BR2_PACKAGE_HOSTAPD_EAP
	bool "Enable EAP"
	depends on !BR2_STATIC_LIBS
	help
	  Enable support for EAP and RADIUS.

comment "hostapd EAP needs a toolchain w/ dynamic library"
	depends on BR2_STATIC_LIBS

config BR2_PACKAGE_HOSTAPD_WPS
	bool "Enable WPS"
	help
	  Enable support for Wi-Fi Protected Setup.

config BR2_PACKAGE_HOSTAPD_VLAN
	bool "Enable VLAN support"
	default y
	help
	  Enable support for VLANs.

config BR2_PACKAGE_HOSTAPD_VLAN_DYNAMIC
	bool "Enable dynamic VLAN support"
	default y
	depends on BR2_PACKAGE_HOSTAPD_VLAN
	help
	  Enable support for fully dynamic VLANs.
	  This enables hostapd to automatically create
	  bridge and VLAN interfaces if necessary.

config BR2_PACKAGE_HOSTAPD_VLAN_NETLINK
	bool "Use netlink-based API for VLAN operations"
	default y
	depends on BR2_PACKAGE_HOSTAPD_VLAN
	help
	  Use netlink-based kernel API for VLAN operations
	  instead of ioctl().

endif

comment "hostapd needs a toolchain w/ threads"
	depends on !BR2_TOOLCHAIN_HAS_THREADS
	depends on BR2_USE_MMU
