mesh: Inform kernel driver about DFS handler in userspace

The kernel requires indication of DFS handler residing in user space
(NL80211_ATTR_HANDLE_DFS) to enable DFS channels.

Signed-off-by: Peter Oh <peter.oh@bowerswilkins.com>
This commit is contained in:
Peter Oh 2020-06-30 14:19:01 +02:00 committed by Jouni Malinen
parent a27faf2c9a
commit 12ae3e3dba
3 changed files with 5 additions and 0 deletions

View File

@ -1559,6 +1559,7 @@ struct wpa_driver_mesh_join_params {
#define WPA_DRIVER_MESH_FLAG_SAE_AUTH 0x00000004 #define WPA_DRIVER_MESH_FLAG_SAE_AUTH 0x00000004
#define WPA_DRIVER_MESH_FLAG_AMPE 0x00000008 #define WPA_DRIVER_MESH_FLAG_AMPE 0x00000008
unsigned int flags; unsigned int flags;
bool handle_dfs;
}; };
struct wpa_driver_set_key_params { struct wpa_driver_set_key_params {

View File

@ -10247,6 +10247,9 @@ static int nl80211_join_mesh(struct i802_bss *bss,
wpa_printf(MSG_DEBUG, " * flags=%08X", params->flags); wpa_printf(MSG_DEBUG, " * flags=%08X", params->flags);
if (params->handle_dfs && nla_put_flag(msg, NL80211_ATTR_HANDLE_DFS))
goto fail;
container = nla_nest_start(msg, NL80211_ATTR_MESH_SETUP); container = nla_nest_start(msg, NL80211_ATTR_MESH_SETUP);
if (!container) if (!container)
goto fail; goto fail;

View File

@ -361,6 +361,7 @@ static int wpa_supplicant_mesh_init(struct wpa_supplicant *wpa_s,
conf->country[0] = wpa_s->conf->country[0]; conf->country[0] = wpa_s->conf->country[0];
conf->country[1] = wpa_s->conf->country[1]; conf->country[1] = wpa_s->conf->country[1];
conf->country[2] = ' '; conf->country[2] = ' ';
wpa_s->mesh_params->handle_dfs = true;
} }
bss->iconf = conf; bss->iconf = conf;