[RESEND PATCH 00/10] mesh: support for DFS
Markus Theil
markus.theil at tu-ilmenau.de
Fri Jun 26 10:28:12 EDT 2020
This series is based on the remaining patches from Peter Oh's previous series
and is build on top of my previous series
"v3: Fix and unify wpa_supplicant AP/mesh frequency setup".
Masashi Honma previously reported memory leaks when running the
esh_secure_ocv_mix_legacy test. I was not able to reproduce this, with my
patch series.
My additional patches contain the following changes:
(1) Issue:
MESH_GROUP_STARTED gets send before DFS-CAC finishes
Suggested fix:
Send MESH_GROUP_STARTED in mesh join completion callback, which happens
after CAC, if CAC is necessary. Additional, this patch implements a TODO,
which always leaves the mesh on deinit. In order for this to work, some
additional cleanup bool flags are added.
(2) Issue:
Unsuccessfull channel switch -> hostapd calls deinit and init without
wpa_supplicant taking notice
Suggested fix:
add init/deinit callbacks and use them in wpa_supplicant mesh code
(3) Add simple DFS test for wpa_supplicant
(4) Issue:
mesh_oom test fails at allocation failure after 11 allocations
TESTING: fail allocation at wpa_supplicant_mesh_init
backtrace[0] = testing_fail_alloc
backtrace[1] = os_malloc
backtrace[2] = os_realloc
backtrace[3] = phy_info_band
backtrace[4] = phy_info_handler
backtrace[5] = send_and_recv
backtrace[6] = send_and_recv_msgs
backtrace[7] = nl80211_get_hw_feature_data
backtrace[8] = hostapd_get_hw_feature_data
backtrace[9] = hostapd_get_hw_features
backtrace[10] = setup_interface2
backtrace[11] = setup_interface
backtrace[12] = hostapd_setup_interface
backtrace[13] = wpa_supplicant_mesh_init
backtrace[14] = wpa_supplicant_join_mesh
backtrace[15] = wpa_supplicant_associate
If hostapd_get_hw_features fails, ifmsh->freq is not set (0), which leads
to a call to hostapd_set_freq_params with this zero frequency.
Afterwards, mesh join fails, because freq 0 should be joined.
Suggested fix:
Only change the freq params, if we know the old frequency.
Markus Theil (4):
mesh: fixes for mesh init/deinit
mesh: fix DFS deinit/init
tests: DFS test for wpa_supplicant mesh
mesh: fix mesh_oom test
Peter Oh (6):
mesh: use setup completion callback to complete mesh join
mesh: update ssid->frequency as pri/sec channel switch
mesh: Allow DFS channels to be selected if dfs is enabled
mesh: do not set offchanok on DFS channels in non-ETSI
mesh: fix channel switch error during CAC
mesh: inform kernel driver DFS handler in userspace
src/ap/dfs.c | 2 +-
src/ap/hostapd.c | 28 +++++-
src/ap/hostapd.h | 6 ++
src/drivers/driver.h | 1 +
src/drivers/driver_nl80211.c | 22 +++++
tests/hwsim/test_wpas_mesh.py | 51 +++++++++-
wpa_supplicant/mesh.c | 165 +++++++++++++++++++++++++++-----
wpa_supplicant/mesh.h | 6 +-
wpa_supplicant/wpa_supplicant.c | 33 ++++---
9 files changed, 271 insertions(+), 43 deletions(-)
--
2.27.0
More information about the Hostap
mailing list