hostapd: Reintroduce Full Dynamic VLAN support
authorjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Tue, 29 Jul 2014 09:48:02 +0000 (09:48 +0000)
committerjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Tue, 29 Jul 2014 09:48:02 +0000 (09:48 +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>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41872 3c298f89-4303-0410-b956-a3cf2f4a3e73

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

index 6872742..bb5d93f 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 ba43439..c718729 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