OpenWrt – Rev 1

Subversion Repositories:
Rev:
From 51e759da5026b3e64f801135b5d53f2198bbd2f0 Mon Sep 17 00:00:00 2001
From: Peter Oh <peter.oh@bowerswilkins.com>
Date: Tue, 29 May 2018 14:39:10 -0700
Subject: [PATCH 06/18] mesh: inform kernel driver DFS handler in userspace

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
@@ -1402,6 +1402,7 @@ struct wpa_driver_mesh_join_params {
 #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
@@ -9375,6 +9375,9 @@ static int nl80211_join_mesh(struct i802
 
        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
@@ -262,6 +262,7 @@ static int wpa_supplicant_mesh_init(stru
                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;