hostapd: Reintroduce Full Dynamic VLAN support
authorJohn Crispin <john@openwrt.org>
Sun, 3 Aug 2014 11:15:32 +0000 (11:15 +0000)
committerJohn Crispin <john@openwrt.org>
Sun, 3 Aug 2014 11:15:32 +0000 (11:15 +0000)
This patch brings full dynamic vlan support to netifd that existed in hostapd.sh in Attitude Adjustment.

Signed-off-by: Joseph CG Walker <Joe@ChubbyPenguin.net>
[jow@openwrt.org: changed commit message, rebased on top of current hostapd.sh]
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
Backport of r41872

SVN-Revision: 41963

package/network/services/hostapd/Makefile
package/network/services/hostapd/files/netifd.sh

index 6872742edc89f5ccd5ec53875c3bbee79936bde7..bb5d93fedf79c3180062fe62c2c4b2709c4e89c9 100644 (file)
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2006-2012 OpenWrt.org
+# Copyright (C) 2006-2014 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -8,7 +8,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=hostapd
-PKG_VERSION:=2014-06-03
+PKG_VERSION:=2014-07-29
 PKG_RELEASE:=1
 PKG_REV:=84df167554569af8c87f0a8ac1fb508192417d8e
 
index ba43439c4cee2f85d66c24a12d9109304d5e1b4e..c7187293d5ad562740ad2db2f6678ed369f98b45 100644 (file)
@@ -129,6 +129,9 @@ hostapd_common_add_bss_config() {
        config_add_string iapp_interface
        config_add_string eap_type ca_cert client_cert identity auth priv_key priv_key_pwd
 
+       config_add_int dynamic_vlan vlan_naming
+       config_add_string vlan_tagged_interface
+
        config_add_string 'key1:wepkey' 'key2:wepkey' 'key3:wepkey' 'key4:wepkey' 'password:wpakey'
 
        config_add_boolean wps_pushbutton wps_label ext_registrar wps_pbc_in_m1
@@ -215,7 +218,8 @@ hostapd_set_bss_options() {
                                acct_server acct_secret acct_port \
                                dae_client dae_secret dae_port \
                                nasid iapp_interface ownip \
-                               eap_reauth_period
+                               eap_reauth_period dynamic_vlan \
+                               vlan_tagged_interface
 
                        # legacy compatibility
                        [ -n "$auth_server" ] || json_get_var auth_server server
@@ -226,6 +230,8 @@ hostapd_set_bss_options() {
                        set_default acct_port 1813
                        set_default dae_port 3799
 
+                       set_default vlan_naming 1
+
                        append bss_conf "auth_server_addr=$auth_server" "$N"
                        append bss_conf "auth_server_port=$auth_port" "$N"
                        append bss_conf "auth_server_shared_secret=$auth_secret" "$N"
@@ -249,6 +255,13 @@ hostapd_set_bss_options() {
                        append bss_conf "eapol_key_index_workaround=1" "$N"
                        append bss_conf "ieee8021x=1" "$N"
                        append bss_conf "wpa_key_mgmt=WPA-EAP" "$N"
+
+                       [ -n "$dynamic_vlan" ] && {
+                               append bss_conf "dynamic_vlan=$dynamic_vlan" "$N"
+                               append bss_conf "vlan_naming=$vlan_naming" "$N"
+                               [ -n "$vlan_tagged_interface" ] && \
+                                       append bss_conf "vlan_tagged_interface=$vlan_tagged_interface" "$N"
+                       }
                ;;
                wep)
                        local wep_keyidx=0