aboutsummaryrefslogtreecommitdiffstats
path: root/wpa_supplicant
diff options
context:
space:
mode:
authorJanusz Dziedzic <janusz.dziedzic@tieto.com>2015-02-19 06:15:45 (GMT)
committerJouni Malinen <j@w1.fi>2015-02-21 14:07:53 (GMT)
commit4d9e6fba2a73b2b54df656452c5c872e5d192dd4 (patch)
treeeb07048a585233fdc2ab6b063d2aa16ec9452f4a /wpa_supplicant
parent6f5e1b0bf62e9f85fc8b0d24aa81f32a38bc434c (diff)
downloadhostap-4d9e6fba2a73b2b54df656452c5c872e5d192dd4.zip
hostap-4d9e6fba2a73b2b54df656452c5c872e5d192dd4.tar.gz
hostap-4d9e6fba2a73b2b54df656452c5c872e5d192dd4.tar.bz2
IBSS: Add fixed_freq network parameter
Add fixed_freq=<0/1> network block parameter and pass it to the driver when starting or joining an IBSS. If this flag is set, IBSS should not try to look for other IBSS networks to merge with on different channels. Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com>
Diffstat (limited to 'wpa_supplicant')
-rw-r--r--wpa_supplicant/config.c1
-rw-r--r--wpa_supplicant/config_file.c1
-rw-r--r--wpa_supplicant/config_ssid.h5
-rw-r--r--wpa_supplicant/wpa_supplicant.c1
4 files changed, 8 insertions, 0 deletions
diff --git a/wpa_supplicant/config.c b/wpa_supplicant/config.c
index 6c67f9f..30d9342 100644
--- a/wpa_supplicant/config.c
+++ b/wpa_supplicant/config.c
@@ -1896,6 +1896,7 @@ static const struct parse_data ssid_fields[] = {
{ INT_RANGE(peerkey, 0, 1) },
{ INT_RANGE(mixed_cell, 0, 1) },
{ INT_RANGE(frequency, 0, 65000) },
+ { INT_RANGE(fixed_freq, 0, 1) },
#ifdef CONFIG_MESH
{ FUNC(mesh_basic_rates) },
{ INT(dot11MeshMaxRetries) },
diff --git a/wpa_supplicant/config_file.c b/wpa_supplicant/config_file.c
index ecc5737..c749e21 100644
--- a/wpa_supplicant/config_file.c
+++ b/wpa_supplicant/config_file.c
@@ -736,6 +736,7 @@ static void wpa_config_write_network(FILE *f, struct wpa_ssid *ssid)
#endif /* IEEE8021X_EAPOL */
INT(mode);
INT(frequency);
+ INT(fixed_freq);
write_int(f, "proactive_key_caching", ssid->proactive_key_caching, -1);
INT(disabled);
INT(peerkey);
diff --git a/wpa_supplicant/config_ssid.h b/wpa_supplicant/config_ssid.h
index f744895..7c826cf 100644
--- a/wpa_supplicant/config_ssid.h
+++ b/wpa_supplicant/config_ssid.h
@@ -420,6 +420,11 @@ struct wpa_ssid {
int frequency;
/**
+ * fixed_freq - Use fixed frequency for IBSS
+ */
+ int fixed_freq;
+
+ /**
* mesh_basic_rates - BSS Basic rate set for mesh network
*
*/
diff --git a/wpa_supplicant/wpa_supplicant.c b/wpa_supplicant/wpa_supplicant.c
index 5f67e55..2a0bf39 100644
--- a/wpa_supplicant/wpa_supplicant.c
+++ b/wpa_supplicant/wpa_supplicant.c
@@ -2122,6 +2122,7 @@ static void wpas_start_assoc_cb(struct wpa_radio_work *work, int deinit)
ibss_mesh_setup_freq(wpa_s, ssid, &params.freq);
if (ssid->mode == WPAS_MODE_IBSS) {
+ params.fixed_freq = ssid->fixed_freq;
if (ssid->beacon_int)
params.beacon_int = ssid->beacon_int;
else