Message ID | d28f1cbc0a91ad18fe5a46e966594b45d5a357e0.1527629631.git.peter.oh@bowerswilkins.com |
---|---|
State | Changes Requested |
Headers | show |
Series | mesh: enable DFS channels in mesh mode | expand |
Hi Peter, On Tue, May 29, 2018 at 02:39:09PM -0700, peter.oh@bowerswilkins.com wrote: > 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 | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/wpa_supplicant/mesh.c b/wpa_supplicant/mesh.c > index 0bc2b98..f457615 100644 > --- a/wpa_supplicant/mesh.c > +++ b/wpa_supplicant/mesh.c > @@ -255,6 +255,14 @@ 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->conf->country[0]) { This should rather be something like: + if (ieee80211_is_dfs(ssid->frequency, wpa_s->hw.modes, + wpa_s->hw.num_modes) && wpa_s->conf->country[0]) { to match the changed function prototype since commit d239ab396 DFS: Mark channels required DFS based on reg-domain info from the driver The same applies to other usage of ieee80211_is_dfs() in [PATCH 15/17] mesh: do not use offchan mgmt tx on DFS where the fix is a bit more tricky so I'll comment in a separate reply. Cheers Daniel > + 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; > > -- > 2.7.4 > > > _______________________________________________ > Hostap mailing list > Hostap@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/hostap
diff --git a/wpa_supplicant/mesh.c b/wpa_supplicant/mesh.c index 0bc2b98..f457615 100644 --- a/wpa_supplicant/mesh.c +++ b/wpa_supplicant/mesh.c @@ -255,6 +255,14 @@ 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->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;