[v7,05/13] mesh: reflect country setting to mesh configuration

Message ID a8741cbae7762ad1580669479ed1d39cb3fcf722.1530660888.git.peter.oh@bowerswilkins.com
State Superseded
Headers show
Series
  • mesh: enable DFS channels in mesh mode
Related show

Commit Message

Peter Oh July 3, 2018, 11:40 p.m.
From: Peter Oh <peter.oh@bowerswilkins.com>

wpa_supplicant configuration has country parameter that is
supposed to be used in AP mode to indicate supporting 802.11h
and 802.11d. Reflect this configuration to Mesh also since Mesh
is required to support 802.11h and 802.11d to use DFS channels.

Signed-off-by: Peter Oh <peter.oh@bowerswilkins.com>
---
 wpa_supplicant/mesh.c | 9 +++++++++
 1 file changed, 9 insertions(+)

Patch

diff --git a/wpa_supplicant/mesh.c b/wpa_supplicant/mesh.c
index 7b014b7..fe60589 100644
--- a/wpa_supplicant/mesh.c
+++ b/wpa_supplicant/mesh.c
@@ -298,6 +298,15 @@  static int wpa_supplicant_mesh_init(struct wpa_supplicant *wpa_s,
 	bss->conf->start_disabled = 1;
 	bss->conf->mesh = MESH_ENABLED;
 	bss->conf->ap_max_inactivity = wpa_s->conf->mesh_max_inactivity;
+
+	if (ieee80211_is_dfs(ssid->frequency, wpa_s->hw.modes,
+			     wpa_s->hw.num_modes) && wpa_s->conf->country[0]) {
+		conf->ieee80211h = 1;
+		conf->ieee80211d = 1;
+		conf->country[0] = wpa_s->conf->country[0];
+		conf->country[1] = wpa_s->conf->country[1];
+	}
+
 	bss->iconf = conf;
 	ifmsh->conf = conf;