hostapd: Add optional support for hostapd own_ip_addr in wireless config
[openwrt.git] / package / network / services / hostapd / files / netifd.sh
index 1372b5a..1cc5713 100644 (file)
@@ -51,7 +51,7 @@ hostapd_common_add_device_config() {
        config_add_array basic_rate
 
        config_add_string country
-       config_add_boolean country_ie
+       config_add_boolean country_ie doth
 
        hostapd_add_log_config
 }
@@ -63,14 +63,18 @@ hostapd_prepare_device_config() {
        local base="${config%%.conf}"
        local base_cfg=
 
-       json_get_vars country country_ie beacon_int
+       json_get_vars country country_ie beacon_int doth
 
        hostapd_set_log_options base_cfg
 
        set_default country_ie 1
+       set_default doth 1
+
        [ -n "$country" ] && {
                append base_cfg "country_code=$country" "$N"
+
                [ "$country_ie" -gt 0 ] && append base_cfg "ieee80211d=1" "$N"
+               [ "$hwmode" = "a" -a "$doth" -gt 0 ] && append base_cfg "ieee80211h=1" "$N"
        }
        [ -n "$hwmode" ] && append base_cfg "hw_mode=$hwmode" "$N"
 
@@ -115,6 +119,7 @@ hostapd_common_add_bss_config() {
        config_add_int dae_port
 
        config_add_string nasid
+       config_add_string ownip
        config_add_string iapp_interface
        config_add_string eap_type ca_cert client_cert identity auth priv_key priv_key_pwd
 
@@ -204,7 +209,7 @@ hostapd_set_bss_options() {
                                acct_server acct_secret acct_port \
                                dae_client dae_secret dae_port \
                                nasid rsn_preauth iapp_interface \
-                               eap_reauth_period
+                               ownip eap_reauth_period
 
                        # legacy compatibility
                        [ -n "$auth_server" ] || json_get_var auth_server server
@@ -234,6 +239,7 @@ hostapd_set_bss_options() {
                        }
 
                        append bss_conf "nas_identifier=$nasid" "$N"
+                        [ -n "$ownip" ] && append bss_conf "own_ip_addr=$ownip" "$N"
                        append bss_conf "eapol_key_index_workaround=1" "$N"
                        append bss_conf "ieee8021x=1" "$N"
                        append bss_conf "wpa_key_mgmt=WPA-EAP" "$N"