006-mesh-inform-kernel-driver-DFS-handler-in-userspace.patch 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. From 37bf08621eee53f30b464be71876c02e235077ba Mon Sep 17 00:00:00 2001
  2. From: Peter Oh <[email protected]>
  3. Date: Tue, 17 Apr 2018 21:55:03 -0700
  4. Subject: [PATCH 06/16] mesh: inform kernel driver DFS handler in userspace
  5. NL80211_ATTR_HANDLE_DFS is required by kerenel space
  6. to enable DFS channels that indicates DFS handler
  7. resides in userspace.
  8. Signed-off-by: Peter Oh <[email protected]>
  9. ---
  10. src/drivers/driver.h | 1 +
  11. src/drivers/driver_nl80211.c | 3 +++
  12. wpa_supplicant/mesh.c | 1 +
  13. 3 files changed, 5 insertions(+)
  14. --- a/src/drivers/driver.h
  15. +++ b/src/drivers/driver.h
  16. @@ -1390,6 +1390,7 @@ struct wpa_driver_mesh_join_params {
  17. #define WPA_DRIVER_MESH_FLAG_SAE_AUTH 0x00000004
  18. #define WPA_DRIVER_MESH_FLAG_AMPE 0x00000008
  19. unsigned int flags;
  20. + u8 handle_dfs;
  21. };
  22. /**
  23. --- a/src/drivers/driver_nl80211.c
  24. +++ b/src/drivers/driver_nl80211.c
  25. @@ -9270,6 +9270,9 @@ static int nl80211_join_mesh(struct i802
  26. wpa_printf(MSG_DEBUG, " * flags=%08X", params->flags);
  27. + if (params->handle_dfs)
  28. + if (nla_put_flag(msg, NL80211_ATTR_HANDLE_DFS))
  29. + goto fail;
  30. container = nla_nest_start(msg, NL80211_ATTR_MESH_SETUP);
  31. if (!container)
  32. goto fail;
  33. --- a/wpa_supplicant/mesh.c
  34. +++ b/wpa_supplicant/mesh.c
  35. @@ -261,6 +261,7 @@ static int wpa_supplicant_mesh_init(stru
  36. conf->ieee80211d = 1;
  37. conf->country[0] = wpa_s->conf->country[0];
  38. conf->country[1] = wpa_s->conf->country[1];
  39. + wpa_s->mesh_params->handle_dfs = 1;
  40. }
  41. bss->iconf = conf;