浏览代码

hostapd: select VLAN support

Add configuration options for hostapd to select which kind
of VLAN support to build.

Signed-off-by: Alexander Mukhin <alexander.i.mukhin@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Alexander Mukhin 7 年之前
父节点
当前提交
b5c97568c6
共有 2 个文件被更改,包括 36 次插入3 次删除
  1. 23 0
      package/hostapd/Config.in
  2. 13 3
      package/hostapd/hostapd.mk

+ 23 - 0
package/hostapd/Config.in

@@ -43,6 +43,29 @@ config BR2_PACKAGE_HOSTAPD_WPS
 	help
 	help
 	  Enable support for Wi-Fi Protected Setup.
 	  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
 endif
 
 
 comment "hostapd needs a toolchain w/ threads"
 comment "hostapd needs a toolchain w/ threads"

+ 13 - 3
package/hostapd/hostapd.mk

@@ -18,15 +18,13 @@ HOSTAPD_LICENSE_FILES = README
 HOSTAPD_CONFIG_SET =
 HOSTAPD_CONFIG_SET =
 
 
 HOSTAPD_CONFIG_ENABLE = \
 HOSTAPD_CONFIG_ENABLE = \
-	CONFIG_FULL_DYNAMIC_VLAN \
 	CONFIG_HS20 \
 	CONFIG_HS20 \
 	CONFIG_IEEE80211AC \
 	CONFIG_IEEE80211AC \
 	CONFIG_IEEE80211N \
 	CONFIG_IEEE80211N \
 	CONFIG_IEEE80211R \
 	CONFIG_IEEE80211R \
 	CONFIG_INTERNAL_LIBTOMMATH \
 	CONFIG_INTERNAL_LIBTOMMATH \
 	CONFIG_INTERWORKING \
 	CONFIG_INTERWORKING \
-	CONFIG_LIBNL32 \
-	CONFIG_VLAN_NETLINK
+	CONFIG_LIBNL32
 
 
 HOSTAPD_CONFIG_DISABLE =
 HOSTAPD_CONFIG_DISABLE =
 
 
@@ -74,6 +72,18 @@ ifeq ($(BR2_PACKAGE_HOSTAPD_WPS),y)
 HOSTAPD_CONFIG_ENABLE += CONFIG_WPS
 HOSTAPD_CONFIG_ENABLE += CONFIG_WPS
 endif
 endif
 
 
+ifeq ($(BR2_PACKAGE_HOSTAPD_VLAN),)
+HOSTAPD_CONFIG_ENABLE += CONFIG_NO_VLAN
+endif
+
+ifeq ($(BR2_PACKAGE_HOSTAPD_VLAN_DYNAMIC),y)
+HOSTAPD_CONFIG_ENABLE += CONFIG_FULL_DYNAMIC_VLAN
+endif
+
+ifeq ($(BR2_PACKAGE_HOSTAPD_VLAN_NETLINK),y)
+HOSTAPD_CONFIG_ENABLE += CONFIG_VLAN_NETLINK
+endif
+
 define HOSTAPD_CONFIGURE_CMDS
 define HOSTAPD_CONFIGURE_CMDS
 	cp $(@D)/hostapd/defconfig $(HOSTAPD_CONFIG)
 	cp $(@D)/hostapd/defconfig $(HOSTAPD_CONFIG)
 	sed -i $(patsubst %,-e 's/^#\(%\)/\1/',$(HOSTAPD_CONFIG_ENABLE)) \
 	sed -i $(patsubst %,-e 's/^#\(%\)/\1/',$(HOSTAPD_CONFIG_ENABLE)) \