[RFC 0/6] Using DFS channels in 802.11s mesh mode
benjamin at sipsolutions.net
Mon Nov 28 07:38:37 PST 2016
I have been working a bit on allowing channels which require DFS to be used
for mesh mode. There are still a number of rough edges, but the following
patches add very limitted DFS support.
What currently works is that wpa_supplicant will start the CAC when required
and will use the channel if it is available. In general it will also correctly
switch the channel if radar is detected (during CAC or operation).
One issue is that wpa_supplicant will go into a bad state in certain conditions.
This is because the DFS code currently disables/enables the hostapd interface.
However, the driver was created and is still used by wpa_supplicant causing
use after free issues.
My plan right now is to add a dfs_ops structure (to hostapd_iface) to allow
changing the default actions for mesh mode. This should allow working around
the interface cleanup issue and implementing alternative channel selection
algorithms that can take scan results into account. At least the following
actions will be needed:
* Selecting a new channel if CAC fails or radar is detected
* Fallback restart action (CSA failed or CAC required for new channel)
* General panic action bringing interface down on error
With regard to the current patchset, does anyone already see major issues
that might be relevant when proceeding with an implementation?
Benjamin Berg (6):
mesh: Enable DFS on mesh hostapd interface
mesh: Allow CAC to be done during mesh initialization before joining
mesh: Allow DFS channels to be selected if dfs is enabled
mesh: Ensure that channels are correctly configured
nl80211: Allow channel switches for mesh point
mesh: Update mesh join parameters from hostapd values before joining
src/drivers/driver_nl80211.c | 3 +-
wpa_supplicant/ap.c | 73 +++++++++------
wpa_supplicant/config_ssid.h | 1 +
wpa_supplicant/mesh.c | 185 +++++++++++++++++++++++---------------
wpa_supplicant/wpa_supplicant.c | 21 +++--
wpa_supplicant/wpa_supplicant_i.h | 2 +
6 files changed, 178 insertions(+), 107 deletions(-)
More information about the Hostap