2018-05-30 22:10:49 +00:00
|
|
|
From 51e759da5026b3e64f801135b5d53f2198bbd2f0 Mon Sep 17 00:00:00 2001
|
2018-04-12 11:07:22 +00:00
|
|
|
From: Peter Oh <peter.oh@bowerswilkins.com>
|
2018-05-30 22:10:49 +00:00
|
|
|
Date: Tue, 29 May 2018 14:39:10 -0700
|
|
|
|
Subject: [PATCH 06/18] mesh: inform kernel driver DFS handler in userspace
|
2018-04-12 11:07:22 +00:00
|
|
|
|
|
|
|
NL80211_ATTR_HANDLE_DFS is required by kerenel space
|
|
|
|
to enable DFS channels that indicates DFS handler
|
|
|
|
resides in userspace.
|
|
|
|
|
|
|
|
Signed-off-by: Peter Oh <peter.oh@bowerswilkins.com>
|
|
|
|
---
|
|
|
|
src/drivers/driver.h | 1 +
|
|
|
|
src/drivers/driver_nl80211.c | 3 +++
|
|
|
|
wpa_supplicant/mesh.c | 1 +
|
|
|
|
3 files changed, 5 insertions(+)
|
|
|
|
|
|
|
|
--- a/src/drivers/driver.h
|
|
|
|
+++ b/src/drivers/driver.h
|
2018-12-10 22:13:42 +00:00
|
|
|
@@ -1402,6 +1402,7 @@ struct wpa_driver_mesh_join_params {
|
2018-04-12 11:07:22 +00:00
|
|
|
#define WPA_DRIVER_MESH_FLAG_SAE_AUTH 0x00000004
|
|
|
|
#define WPA_DRIVER_MESH_FLAG_AMPE 0x00000008
|
|
|
|
unsigned int flags;
|
|
|
|
+ u8 handle_dfs;
|
|
|
|
};
|
|
|
|
|
|
|
|
/**
|
|
|
|
--- a/src/drivers/driver_nl80211.c
|
|
|
|
+++ b/src/drivers/driver_nl80211.c
|
2018-12-10 22:13:42 +00:00
|
|
|
@@ -9375,6 +9375,9 @@ static int nl80211_join_mesh(struct i802
|
2018-04-12 11:07:22 +00:00
|
|
|
|
|
|
|
wpa_printf(MSG_DEBUG, " * flags=%08X", params->flags);
|
|
|
|
|
|
|
|
+ if (params->handle_dfs)
|
|
|
|
+ if (nla_put_flag(msg, NL80211_ATTR_HANDLE_DFS))
|
|
|
|
+ goto fail;
|
|
|
|
container = nla_nest_start(msg, NL80211_ATTR_MESH_SETUP);
|
|
|
|
if (!container)
|
|
|
|
goto fail;
|
|
|
|
--- a/wpa_supplicant/mesh.c
|
|
|
|
+++ b/wpa_supplicant/mesh.c
|
2018-05-30 22:10:49 +00:00
|
|
|
@@ -262,6 +262,7 @@ static int wpa_supplicant_mesh_init(stru
|
2018-04-12 11:07:22 +00:00
|
|
|
conf->ieee80211d = 1;
|
|
|
|
conf->country[0] = wpa_s->conf->country[0];
|
|
|
|
conf->country[1] = wpa_s->conf->country[1];
|
|
|
|
+ wpa_s->mesh_params->handle_dfs = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
bss->iconf = conf;
|